:root {
  color-scheme: light;
  font-family: system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  color: #302a22;
  background: #eee9df;
  font-synthesis: none;
  text-rendering: optimizeLegibility;
  -webkit-font-smoothing: antialiased;
}

* { box-sizing: border-box; }

body {
  min-width: 320px;
  margin: 0;
  padding: clamp(1rem, 4vw, 3rem);
  background:
    radial-gradient(ellipse at 50% 0, rgb(211 181 133 / 22%), transparent 38rem),
    #eee9df;
}

.manual {
  width: min(100%, 56rem);
  margin: 0 auto;
  padding: clamp(1.15rem, 4vw, 3rem);
  border: 1px solid #c8b491;
  border-radius: .55rem;
  background: #f5efdf;
  box-shadow: 0 1.25rem 3rem rgb(53 42 29 / 12%);
}

.manual-header {
  padding-bottom: 1.5rem;
  border-bottom: 1px solid #d1c2a5;
}

.manual-kicker {
  margin: 0 0 .45rem;
  color: #8a4c37;
  font-size: .75rem;
  font-weight: 800;
  letter-spacing: .14em;
}

h1, h2 {
  font-family: Georgia, "Times New Roman", serif;
  color: #302820;
}

h1 {
  margin: 0;
  font-size: clamp(2rem, 6vw, 3.25rem);
  line-height: 1.05;
}

.manual-intro {
  max-width: 42rem;
  margin: .75rem 0 0;
  color: #655a49;
  line-height: 1.6;
}

.manual p:not(.manual-kicker):not(.manual-intro) {
  line-height: 1.6;
}

.manual-actions {
  display: flex;
  flex-wrap: wrap;
  gap: .65rem;
  margin-top: 1rem;
}

.manual-button {
  display: inline-flex;
  min-height: 44px;
  align-items: center;
  justify-content: center;
  padding: .65rem .95rem;
  border: 1px solid #864632;
  border-radius: .3rem;
  background: #9c4a34;
  color: white;
  font: inherit;
  font-weight: 700;
  text-decoration: none;
  cursor: pointer;
}

.manual-button--quiet {
  border-color: #aa9878;
  background: transparent;
  color: #493c2d;
}

.manual-button:hover { filter: brightness(.94); }
.manual-button:focus-visible, .manual a:focus-visible { outline: 3px solid #302a22; outline-offset: 3px; }

.manual-toc {
  display: flex;
  flex-wrap: wrap;
  gap: .4rem .9rem;
  padding: 1rem 0;
  border-bottom: 1px solid #d1c2a5;
}

.manual-toc a, .manual-footer a { color: #83452f; text-underline-offset: .2em; }
.manual-toc a { display:flex; align-items:center; min-height:44px; padding:.15rem 0; }
.manual section { padding-top: 1.45rem; scroll-margin-top: 1rem; }
.manual section + section { margin-top: .15rem; border-top: 1px solid #e1d6c2; }
.manual h2 { margin: 0; font-size: clamp(1.25rem, 3vw, 1.65rem); }
.manual ul, .manual ol { padding-left: 1.3rem; margin: .75rem 0 0; }
.manual li { padding-left: .15rem; line-height: 1.65; }
.manual li + li { margin-top: .45rem; }
.manual-footer { display: flex; flex-wrap: wrap; justify-content: space-between; gap: .5rem; margin-top: 2rem; padding-top: 1rem; border-top: 1px solid #d1c2a5; color: #716552; font-size: .85rem; }

@media (max-width: 480px) {
  body { padding: .65rem; }
  .manual { padding: 1rem; }
  .manual-actions > * { flex: 1 1 auto; }
  .manual-toc { display: grid; grid-template-columns: 1fr 1fr; gap: .65rem; }
}

@media print {
  :root, body { background: white; }
  body { padding: 0; }
  .manual { width: 100%; padding: 0; border: 0; box-shadow: none; }
  .manual-actions, .manual-toc { display: none; }
  .manual section { break-inside: avoid; }
  .manual section, .manual-header, .manual-footer { border-color: #aaa; }
}
