/* Styles for the preserved source editions and newsletter thumbnails. */
.archive-nav { display: flex; flex-wrap: wrap; gap: 1rem; padding: 1rem; border-bottom: 1px solid var(--gray-200); background: var(--blue-50); }
.archive-nav a, .archive-document a, .archive-page > p a, .archive-notice a { color: var(--blue-700); text-decoration: underline; }
.archive-skip { position: absolute; left: -10000px; }
.archive-skip:focus { position: static; display: block; padding: 1rem; }
.archive-page { max-width: 65rem; padding: 2rem 1rem; margin: 0 auto; }
.archive-page > h1 { margin-bottom: 1.5rem; }
.archive-notice { background: var(--blue-50); border-left: 4px solid var(--blue-600); padding: 1rem; margin: 1rem 0 1.5rem; font-size: .95rem; line-height: 1.6; }
.archive-notice p + p { margin-top: .6rem; }
.archive-document { line-height: 1.7; overflow-wrap: anywhere; }
.archive-document p, .archive-document blockquote, .archive-document ul, .archive-document ol, .archive-document table { margin: 1rem 0; }
.archive-document ul { list-style: disc; padding-left: 1.5rem; }
.archive-document ol { list-style: decimal; padding-left: 1.5rem; }
.archive-document h1, .archive-document h2, .archive-document h3, .archive-document h4 { margin: 1.5rem 0 .75rem; }
.archive-document img { max-width: 100%; height: auto; }
.archive-document table { max-width: 100%; width: 100%; table-layout: fixed; border-collapse: collapse; }
.archive-document td, .archive-document th { padding: .4rem; vertical-align: top; overflow-wrap: anywhere; }
.archive-document pre { white-space: pre-wrap; }
.archive-document blockquote { border-left: 3px solid var(--gray-300); padding-left: 1rem; }
.newsletter-year { margin: 2rem 0; }
.newsletter-card { display: flex; flex-direction: column; align-items: flex-start; scroll-margin-top: 6rem; }
.newsletter-card h4 { color: var(--blue-800); font-size: 1.125rem; margin: .75rem 0; }
.newsletter-cover { width: 100%; height: 15rem; object-fit: contain; background: white; border: 1px solid var(--gray-200); border-radius: .25rem; }
.newsletter-formats { display: flex; flex-wrap: wrap; gap: .75rem; }
.archive-caption { color: var(--gray-600); font-size: .85rem; line-height: 1.5; margin-top: .75rem; }
.archive-document .card-grid { margin-top: 1.5rem; }
.archive-document .card h2 { font-size: 1.25rem; margin-top: 0; }
@media (max-width: 480px) {
  .archive-page { padding-top: 1.25rem; }
  .archive-document table { font-size: .9rem; }
  .archive-nav { gap: .75rem; font-size: .95rem; }
}
