:root {
  color-scheme: light;
  --paper: #f3eddf;
  --ink: #29251f;
  --muted: #766d60;
  --rule: #c9bdab;
  --link: #7a2832;
  --visited: #584365;
}

* { box-sizing: border-box; }

html { font-size: 18px; }

body {
  margin: 0;
  color: var(--ink);
  background:
    repeating-linear-gradient(0deg, rgba(80, 65, 45, .018) 0, rgba(80, 65, 45, .018) 1px, transparent 1px, transparent 4px),
    var(--paper);
  font-family: Georgia, "Times New Roman", serif;
  line-height: 1.7;
}

a { color: var(--link); text-decoration-thickness: 1px; text-underline-offset: .14em; }
a:visited { color: var(--visited); }
a:hover { color: #a13a43; }
a:focus-visible { outline: 2px solid var(--link); outline-offset: 3px; }

.skip-link { position: absolute; left: -9999px; }
.skip-link:focus { left: 1rem; top: 1rem; padding: .4rem .7rem; background: #fff; z-index: 10; }

.page-shell { width: min(100% - 2rem, 980px); margin: 0 auto; }

.masthead {
  padding: 3.6rem 0 2.2rem;
  border-bottom: 3px double var(--rule);
}

.masthead h1 { margin: -.25rem 0 .15rem; font-size: clamp(2.8rem, 8vw, 5.2rem); font-weight: normal; letter-spacing: -.055em; line-height: 1; }
.masthead h1 a { color: var(--ink); text-decoration: none; }
.eyebrow, .entry-date, .permalink, .small, aside, footer {
  font-family: "Courier New", Courier, monospace;
  font-size: .76rem;
}
.eyebrow { margin: 0; color: var(--muted); text-transform: uppercase; letter-spacing: .18em; }
.description { margin: .7rem 0 0; color: var(--muted); font-style: italic; }
.site-nav { margin-top: 1.25rem; font-family: "Courier New", Courier, monospace; font-size: .78rem; }

main { min-width: 0; }
.reading-column { max-width: 700px; }
.entry { padding: 2.8rem 0 3rem; border-bottom: 1px solid var(--rule); }
.entry h2 { margin: 0 0 1.5rem; font-size: 1rem; font-weight: normal; font-family: "Courier New", Courier, monospace; }
.entry h2 a { color: var(--muted); }
.entry-date { color: var(--muted); margin: 0 0 1.5rem; }
.entry-body { font-size: 1.06rem; }
.entry-body p { margin: 0 0 1.25rem; }
.entry-body p:last-child { margin-bottom: 0; }
.entry-body blockquote { margin: 1.5rem 0; padding-left: 1.25rem; border-left: 2px solid var(--rule); color: #504a42; }
.permalink { margin: 1.5rem 0 0; color: var(--muted); }
.entry-single { max-width: 700px; }
.back { margin: 2rem 0; font-family: "Courier New", Courier, monospace; font-size: .8rem; }
.entry-nav, .pagination { display: grid; grid-template-columns: 1fr auto 1fr; gap: 1rem; align-items: start; margin: 2rem 0; padding: 1.25rem 0; border-bottom: 1px solid var(--rule); font-family: "Courier New", Courier, monospace; font-size: .76rem; }
.entry-nav .older, .pagination > :last-child { text-align: right; }
.pagination > span { color: var(--muted); text-align: center; }

.about-page { max-width: 720px; padding: 3rem 0; }
.about-page h2 { margin: 2.4rem 0 .6rem; font-size: 1.35rem; font-weight: normal; }
.about-page header h2 { margin-top: 0; font-size: 2rem; }
.about-page p { margin: 0 0 1.25rem; }
.rules-list { margin: 1rem 0 2rem; padding-left: 1.35rem; }
.rules-list li { margin-bottom: .7rem; padding-left: .35rem; }
.colophon { margin: 1.5rem 0 2rem; border-top: 1px solid var(--rule); }
.colophon div { display: grid; grid-template-columns: 180px 1fr; gap: 1rem; padding: .75rem 0; border-bottom: 1px solid var(--rule); }
.colophon dt { color: var(--muted); font-family: "Courier New", Courier, monospace; font-size: .74rem; }
.colophon dd { margin: 0; overflow-wrap: anywhere; }
.colophon code { font-size: .8rem; }
.about-note { margin-top: 2.5rem !important; padding: 1rem 0; border-top: 1px solid var(--rule); border-bottom: 1px solid var(--rule); color: var(--muted); font-style: italic; }

.archive-page { max-width: 700px; padding: 3rem 0; }
.archive-page > header h2 { margin: 0 0 2rem; font-size: 2rem; font-weight: normal; }
.archive-group { display: grid; grid-template-columns: 180px 1fr; gap: 1rem; padding: 1.4rem 0; border-top: 1px solid var(--rule); }
.archive-group h3 { margin: 0; font-family: "Courier New", Courier, monospace; font-size: .82rem; font-weight: normal; text-transform: uppercase; letter-spacing: .04em; }
.archive-group ol { margin: 0; padding: 0; list-style: none; }
.archive-group li { margin-bottom: .55rem; }
.archive-group time { display: inline-block; width: 6.5rem; color: var(--muted); font-family: "Courier New", Courier, monospace; font-size: .72rem; }

footer { padding: 2.5rem 0 4rem; color: var(--muted); }
footer p { margin: .35rem 0; }

@media (max-width: 720px) {
  html { font-size: 17px; }
  .masthead { padding-top: 2.5rem; }
  .archive-group { display: block; }
  .archive-group h3 { margin-bottom: 1rem; }
  .colophon div { display: block; }
  .colophon dt { margin-bottom: .25rem; }
  .entry-nav, .pagination { grid-template-columns: 1fr 1fr; }
  .pagination > span { display: none; }
}

@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after { scroll-behavior: auto !important; }
}
