/* A deliberately simple late-1990s inspired documentation layout. */
:root {
  color-scheme: light;
  --page: #ffffff;
  --ink: #202020;
  --muted: #666666;
  --rule: #c9c9c9;
  --link: #0000cc;
  --link-visited: #551a8b;
}

* { box-sizing: border-box; }

html { background: #eeeeee; }

body {
  margin: 0;
  padding: 22px 14px;
  background: #eeeeee;
  color: var(--ink);
  font-family: "Courier New", Courier, monospace;
  font-size: 14px;
  line-height: 1.55;
}

a { color: var(--link); }
a:visited { color: var(--link-visited); }
a:hover { text-decoration: none; }

.site {
  width: min(780px, 100%);
  min-height: calc(100vh - 44px);
  margin: 0 auto;
  padding: 24px 34px 18px;
  border: 1px solid #bdbdbd;
  background: var(--page);
}

.masthead {
  display: flex;
  align-items: center;
  gap: 17px;
  padding-bottom: 18px;
}

.wordmark {
  color: #111111;
  font-family: Arial, Helvetica, sans-serif;
  font-size: 48px;
  font-weight: 800;
  letter-spacing: -5px;
  line-height: 1;
  text-decoration: none;
}

.wordmark:visited { color: #111111; }
.wordmark-period { color: #0000cc; }

.masthead-text {
  display: flex;
  flex-direction: column;
  gap: 1px;
  padding-left: 16px;
  border-left: 1px solid var(--rule);
}

.masthead-text strong {
  font-family: Arial, Helvetica, sans-serif;
  font-size: 17px;
}

.masthead-text span {
  color: var(--muted);
  font-size: 11px;
}

.topline {
  display: flex;
  flex-wrap: wrap;
  gap: 9px;
  padding: 7px 0;
  border-top: 1px solid var(--rule);
  border-bottom: 1px solid var(--rule);
  color: #444444;
  font-size: 11px;
  font-weight: bold;
  letter-spacing: .04em;
}

.slash { color: #999999; }

main { padding-top: 27px; }

h1, h2 {
  font-family: Arial, Helvetica, sans-serif;
  color: #111111;
}

h1 {
  margin: 0 0 8px;
  font-size: clamp(27px, 5vw, 34px);
  letter-spacing: -1.2px;
}

.intro {
  max-width: 620px;
  margin: 0 0 22px;
  color: var(--muted);
}

hr {
  height: 1px;
  margin: 20px 0;
  border: 0;
  background: var(--rule);
}

h2 {
  margin: 0 0 8px;
  font-size: 17px;
}

.terms-list {
  margin: 0;
  padding-left: 28px;
}

.terms-list li {
  padding: 7px 0 8px 5px;
}

.terms-list li::marker {
  color: #555555;
  font-weight: bold;
}

.terms-list p { margin: 0; }

.notice {
  margin: 0;
  color: #444444;
  font-size: 12px;
}

.notice strong { color: #111111; }

footer {
  margin-top: 35px;
  color: var(--muted);
  font-size: 11px;
}

footer hr { margin-bottom: 11px; }
footer p { margin: 3px 0; }
.footer-separator { padding: 0 5px; color: #aaaaaa; }
.footer-small { color: #888888; }

@media (max-width: 520px) {
  body { padding: 0; }
  .site {
    min-height: 100vh;
    padding: 19px 18px;
    border: 0;
  }
  .wordmark { font-size: 42px; }
  .masthead-text strong { font-size: 15px; }
  .terms-list { padding-left: 23px; }
}
