html { background: #fff; color: #111; }
body { max-width: 62rem; margin: 0 auto; padding: 2rem 1.25rem 4rem;
  font: 1.0625rem/1.65 Georgia, "Times New Roman", serif;
  display: grid; grid-template-columns: 11rem minmax(0, 1fr); gap: 2.5rem; }
nav { font: .95rem/1.6 ui-monospace, Menlo, Consolas, monospace; }
nav a { display: block; color: #000; }
nav .top { font-weight: bold; margin-bottom: 1rem; }
main h1 { font-size: 1.8rem; margin-top: 0; line-height: 1.2; }
a { color: #000; text-decoration-color: #c00; text-underline-offset: .2em; }
a.new { text-decoration-style: dotted; color: #555; }
pre { background: #f3f3f3; padding: .8rem 1rem; overflow: auto; }
code { font-size: .92em; }
table { border-collapse: collapse; }
th, td { border: 1px solid #ccc; padding: .3rem .6rem; }
img { max-width: 100%; height: auto; }
footer { margin-top: 3rem; padding-top: 1rem; border-top: 1px solid #ddd; font-size: .9rem; color: #444; }
ul.plain { list-style: none; padding: 0; }
.when { color: #666; font-size: .9rem; }
@media (max-width: 40rem) { body { display: block; } nav { margin-bottom: 2rem; }
  nav a { display: inline; margin-right: .8rem; } }
