:root {
  font-family: 'Times New Roman', Times, serif;
  color: #111;
  background: #fff;
  font-synthesis: none;
}

* { box-sizing: border-box; }
body { margin: 0; }

.page {
  width: min(40rem, calc(100% - 3rem));
  margin: 3.5rem auto 4rem;
  font-size: 1.125rem;
  line-height: 1.5;
  overflow-wrap: break-word;
}

.site-header { margin-bottom: 1.75rem; }
.site-name {
  margin: 0;
  font-family: 'Times New Roman', Times, serif;
  font-size: 2rem;
  font-weight: bold;
  line-height: 1.2;
}
.site-name a { color: inherit; text-decoration: none; }
.site-name a:hover { text-decoration: underline; }
p { margin: 0 0 1.25rem; }
a { color: #0000ee; text-decoration: underline; }
a:visited { color: #551a8b; }
:focus-visible { outline: 1px solid #111; outline-offset: 5px; }

.article-links { margin: 0; padding: 0; list-style: none; }
.article-links li { margin: 0 0 0.65rem; }
.thoughts-label { margin-bottom: 0.65rem; }

.article h1 {
  margin: 0 0 1.5rem;
  font-size: 1.625rem;
  line-height: 1.25;
  font-weight: bold;
}
.article h2 {
  margin: 2rem 0 1rem;
  font-size: 1.25rem;
  font-weight: bold;
}
.article .author-note { font-style: italic; }
.article .disclosure { margin-top: 2rem; font-size: 1rem; }
.article-footer { margin-top: 2.5rem; }

@media (max-width: 600px) {
  .page { margin-top: 2rem; }
}

@media print {
  .page { width: 100%; margin: 0; font-size: 12pt; }
  .article-footer { display: none; }
  a, a:visited { color: inherit; }
  h1, h2 { break-after: avoid; }
}
