:root {
  color-scheme: light;
  font-family: ui-monospace, "SFMono-Regular", Consolas, "Liberation Mono", monospace;
  font-size: 15px;
  line-height: 1.55;
  color: #202020;
  background: #fafaf8;
}

* { box-sizing: border-box; }

body {
  max-width: 92ch;
  margin: 0;
  padding: 2rem 2rem 1.5rem;
  overflow-wrap: anywhere;
}

.manual-header,
.manual-footer {
  display: flex;
  justify-content: space-between;
  align-items: baseline;
  gap: 1.5ch;
  font-size: 1rem;
}

.manual-header { margin-bottom: 2.5rem; }
.manual-header h1 { margin: 0; font-size: inherit; }
.manual-header p { margin: 0; }
.manual-header > :nth-child(2) { text-align: center; }
.manual-footer { margin-top: 3rem; font-size: 0.85rem; }

h2 {
  font-size: 1rem;
  line-height: inherit;
  margin: 1.7rem 0 0.5rem;
  text-transform: uppercase;
}

section > :not(h2) { margin-left: 4ch; }
p { margin: 0 0 1rem; text-align: left; }
ul, ol { padding-left: 2.5ch; margin-top: 0; margin-bottom: 1rem; }
li { margin-bottom: 0.65rem; }
code { font: inherit; }
strong, h1, h2 { font-weight: 700; }
a { color: inherit; text-underline-offset: 0.18em; }
a:hover { text-decoration-thickness: 2px; }
a:focus-visible { outline: 2px solid currentColor; outline-offset: 4px; }
.section-index { margin: 0 0 2rem 4ch; }
.section-index ul { display: flex; flex-wrap: wrap; gap: 0.4rem 2ch; list-style: none; padding: 0; }
.section-index li { margin: 0; }

@media (max-width: 600px) {
  :root { font-size: 14px; }
  body { padding: 1.25rem 1rem; }
  section > :not(h2), .section-index { margin-left: 2ch; }
  .manual-header { margin-bottom: 2rem; }
  .manual-header .repeat-label { display: none; }
  .manual-header > :nth-child(2) { text-align: right; }
  .manual-footer { flex-wrap: wrap; }
}

@media print {
  :root { color: #000; background: #fff; font-size: 10pt; }
  body { max-width: none; padding: 0; }
  .section-index { display: none; }
  h2 { break-after: avoid; }
  a { text-decoration: none; }
}
