/* Zero Mile Instruments: Markdown viewer. ASSEMBLED FILE: do not edit. Written by assemble.mjs from src/page.css (no library injects styles). */
/* Markdown viewer, the page's own rules. Layout: a toolbar (views, files, copy and print), notes, then the body:
   the contents list beside the document in Read, the text box beside the document in Edit. The frame, fonts,
   colours and shared classes come from site.css; only what site.css does not have is here. One light look. */
.mute { color: var(--mute); }
.lbl { font: 500 12.5px var(--mono); color: var(--mute); }
.btn.sm { min-height: 34px; padding: 4px 11px; font-size: 14px; }
.btn.md-mini { min-height: 26px; padding: 1px 8px; font-size: 12.5px; }
.btn.md-view[aria-pressed="true"] { background: var(--ink); color: var(--sheet); font-weight: 600; }

/* ---- the tool ---- */
.md { background: var(--sheet); border: 1px solid var(--ink); display: grid; grid-template-columns: minmax(0, 1fr); }
.md > * { min-width: 0; }
.md-bar { display: flex; flex-wrap: wrap; gap: 10px 18px; align-items: center; padding: 10px 14px; border-bottom: 1px solid var(--ink); position: sticky; top: env(safe-area-inset-top, 0px); z-index: 5; background: var(--sheet); }
.md-group { display: flex; flex-wrap: wrap; gap: 6px 8px; align-items: center; }
.md-out { margin-left: auto; }
.md-hint { font-size: 14px; }
.md-files { display: flex; flex-wrap: wrap; gap: 6px; align-items: center; padding: 8px 14px; border-bottom: 1px solid var(--rule); background: var(--tint); }
.md-note { padding: 8px 14px; font-size: 14px; background: var(--note-bg); color: var(--note); border-bottom: 1px solid var(--rule); }
.md-msg { padding: 8px 14px; font-size: 14px; border-bottom: 1px solid var(--rule); }
.md-msg.ok { background: var(--ok-bg); color: var(--ok); }
.md-msg.bad { background: var(--bad-bg); color: var(--bad); }
.md-msg.warn { background: var(--warn-bg); color: var(--warn); }
.md-ask { display: flex; flex-wrap: wrap; align-items: center; gap: 6px 10px; padding: 8px 14px; font-size: 14px; background: var(--warn-bg); color: var(--warn); border-bottom: 1px solid var(--rule); }
.md-ask .btn { color: var(--ink); }
.md-copybox { display: block; width: 100%; height: 120px; border: 0; border-bottom: 1px solid var(--rule); padding: 8px 14px; font: 13px/1.5 var(--mono); resize: vertical; }
.md-drop { outline: 2px dashed var(--blue); outline-offset: -4px; }

.md-body { display: grid; grid-template-columns: minmax(0, 1fr); align-items: start; }
.md-body > * { min-width: 0; }
.md-toc { border-bottom: 1px solid var(--rule); font-size: 14px; }
.md-toc > summary { cursor: pointer; padding: 10px 14px; font: 600 13px var(--mono); color: var(--ink); }
.md-toc-list { list-style: none; margin: 0; padding: 0 14px 12px; }
.md-toc-list li { margin: 0; padding: 3px 0; line-height: 1.35; }
.md-toc-list a { color: var(--body); text-decoration: none; overflow-wrap: anywhere; }
.md-toc-list a:hover { color: var(--blue); text-decoration: underline; }
.md-toc-list .md-toc-h1 a { color: var(--ink); font-weight: 600; }
.md-toc-list .md-toc-h3 { padding-left: 14px; }
.md-toc-list .md-toc-h4 { padding-left: 28px; font-size: 13.5px; }
.md-edit { border-bottom: 1px solid var(--rule); }
.md-src { display: block; width: 100%; height: 44vh; min-height: 240px; border: 0; padding: 14px; font: 13.5px/1.6 var(--mono); color: var(--ink); background: var(--tint); resize: vertical; tab-size: 4; contain: size layout paint; }
.md-src:focus { outline: 2px solid var(--blue); outline-offset: -2px; }

@media (min-width: 980px) {
  .md-body { grid-template-columns: 230px minmax(0, 1fr); }
  .md-toc { grid-column: 1; grid-row: 1; border-bottom: 0; border-right: 1px solid var(--rule); position: sticky; top: var(--md-bar, 56px); max-height: calc(100vh - var(--md-bar, 56px) - 16px); overflow: auto; align-self: start; }
  .md-toc[hidden] + .md-edit + .md-doc, .md-toc[hidden] ~ .md-doc { grid-column: 1 / -1; }
  .md-doc { grid-column: 2; grid-row: 1; }
  .md-editing .md-body { grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); }
  .md-editing .md-toc { grid-column: 1 / -1; grid-row: 1; position: static; max-height: none; border-right: 0; border-bottom: 1px solid var(--rule); }
  .md-editing .md-edit { grid-column: 1; grid-row: 2; border-bottom: 0; border-right: 1px solid var(--rule); position: sticky; top: var(--md-bar, 56px); }
  .md-editing .md-src { height: calc(100vh - 80px); min-height: 360px; resize: none; }
  .md-editing .md-doc { grid-column: 2; grid-row: 2; }
  /* in Edit the document stays beside the text box when the contents list is hidden (fewer than two headings) */
  .md-editing .md-toc[hidden] + .md-edit + .md-doc, .md-editing .md-toc[hidden] ~ .md-doc { grid-column: 2; }
}

/* ---- the document: a reading column of about 70 characters ---- */
.md-doc { padding: 22px 28px 36px; font-size: 16.5px; line-height: 1.65; color: var(--body); overflow-wrap: break-word; }
/* each part of the document is laid out and painted only near the screen, so a long document stays light to type beside */
.md-c { content-visibility: auto; contain-intrinsic-size: auto 1200px; }
.md-c::after { content: ""; display: table; clear: both; }
/* the placeholder height of a part off the screen, estimated by page.js from the part's length (classes, not a style
   attribute): 38 steps of 25 percent from 96 px to 369779 px */
.md-sz-0 { contain-intrinsic-size: auto 96px; } .md-sz-1 { contain-intrinsic-size: auto 120px; } .md-sz-2 { contain-intrinsic-size: auto 150px; } .md-sz-3 { contain-intrinsic-size: auto 188px; } .md-sz-4 { contain-intrinsic-size: auto 234px; } .md-sz-5 { contain-intrinsic-size: auto 293px; } .md-sz-6 { contain-intrinsic-size: auto 366px; } .md-sz-7 { contain-intrinsic-size: auto 458px; } .md-sz-8 { contain-intrinsic-size: auto 572px; } .md-sz-9 { contain-intrinsic-size: auto 715px; } .md-sz-10 { contain-intrinsic-size: auto 894px; } .md-sz-11 { contain-intrinsic-size: auto 1118px; } .md-sz-12 { contain-intrinsic-size: auto 1397px; } .md-sz-13 { contain-intrinsic-size: auto 1746px; } .md-sz-14 { contain-intrinsic-size: auto 2183px; } .md-sz-15 { contain-intrinsic-size: auto 2728px; } .md-sz-16 { contain-intrinsic-size: auto 3411px; } .md-sz-17 { contain-intrinsic-size: auto 4263px; } .md-sz-18 { contain-intrinsic-size: auto 5329px; } .md-sz-19 { contain-intrinsic-size: auto 6661px; } .md-sz-20 { contain-intrinsic-size: auto 8327px; } .md-sz-21 { contain-intrinsic-size: auto 10408px; } .md-sz-22 { contain-intrinsic-size: auto 13010px; } .md-sz-23 { contain-intrinsic-size: auto 16263px; } .md-sz-24 { contain-intrinsic-size: auto 20329px; } .md-sz-25 { contain-intrinsic-size: auto 25411px; } .md-sz-26 { contain-intrinsic-size: auto 31764px; } .md-sz-27 { contain-intrinsic-size: auto 39705px; } .md-sz-28 { contain-intrinsic-size: auto 49631px; } .md-sz-29 { contain-intrinsic-size: auto 62039px; } .md-sz-30 { contain-intrinsic-size: auto 77548px; } .md-sz-31 { contain-intrinsic-size: auto 96935px; } .md-sz-32 { contain-intrinsic-size: auto 121169px; } .md-sz-33 { contain-intrinsic-size: auto 151461px; } .md-sz-34 { contain-intrinsic-size: auto 189327px; } .md-sz-35 { contain-intrinsic-size: auto 236658px; } .md-sz-36 { contain-intrinsic-size: auto 295823px; } .md-sz-37 { contain-intrinsic-size: auto 369779px; }
.md-doc { --col: 41rem; }
.md-doc > .md-c > * { max-width: min(var(--col), 100%); }
.md-doc > .md-c:first-child > :first-child { margin-top: 0; }
.md-doc p, .md-doc ul, .md-doc ol, .md-doc dl, .md-doc blockquote, .md-doc pre, .md-doc table, .md-doc details, .md-doc figure, .md-doc hr { margin: 0 0 14px; }
.md-doc h1, .md-doc h2, .md-doc h3, .md-doc h4, .md-doc h5, .md-doc h6 { color: var(--ink); font-weight: 600; line-height: 1.25; margin: 28px 0 10px; }
/* every place a link can jump to (headings, footnotes and their references, raw anchors) clears the sticky bar; page.js
   sets --md-bar to the bar's real height */
.md-doc [id] { scroll-margin-top: calc(var(--md-bar, 56px) + 8px); }
.md-doc h1 { font-size: 30px; letter-spacing: -.015em; padding-bottom: 8px; border-bottom: 1px solid var(--rule); }
.md-doc h2 { font-size: 23px; padding-bottom: 6px; border-bottom: 1px solid var(--rule); }
.md-doc h3 { font-size: 19px; }
.md-doc h4 { font-size: 16.5px; }
.md-doc h5 { font-size: 15px; }
.md-doc h6 { font-size: 14px; color: var(--mute); }
.md-anchor { margin-left: 8px; color: var(--rule); text-decoration: none; font-weight: 400; opacity: 0; }
.md-doc :is(h1, h2, h3, h4, h5, h6):hover .md-anchor, .md-anchor:focus-visible { opacity: 1; color: var(--blue); }
.md-doc ul, .md-doc ol { padding-inline-start: 1.6em; }
/* a list whose first item is right-to-left runs right to left (its indent, and so its numbers and bullets, on the right) */
.md-doc :is(ul, ol):has(> li:first-child:dir(rtl)) { direction: rtl; }
.md-doc li + li { margin-top: 4px; }
.md-doc li > p { margin: 0 0 6px; }
.md-doc li > ul, .md-doc li > ol { margin: 4px 0 0; }
.md-doc ul.md-tasks { list-style: none; padding-inline-start: .4em; }
.md-check { width: 15px; height: 15px; margin: 0 4px 0 0; vertical-align: -2px; accent-color: var(--ink); }
.md-doc blockquote { padding: 2px 0 2px 16px; border-left: 3px solid var(--rule); color: var(--mute); }
.md-doc blockquote > :last-child { margin-bottom: 0; }
.md-doc hr { border: 0; border-top: 1px solid var(--rule); margin: 24px 0; }
.md-doc a { overflow-wrap: anywhere; }
.md-doc a.md-dead { color: var(--body); text-decoration: underline dotted var(--field); cursor: help; }
.md-doc code { font-size: .88em; padding: 1px 5px; }
.md-doc pre { background: var(--tint); border: 1px solid var(--rule); padding: 12px 14px; overflow-x: auto; font-size: 13.5px; line-height: 1.55; }
.md-doc pre code { background: none; padding: 0; font-size: inherit; overflow-wrap: normal; white-space: pre; }
/* a block too large or nested too deeply to format, shown as its plain text in pieces (page.js) */
.md-doc pre.md-plain { margin: 0; font-family: var(--mono); white-space: pre-wrap; overflow-wrap: anywhere; overflow-x: visible; }
.md-doc pre.md-plain-more { border-top: 0; padding-top: 0; }
.md-plain-note { font-size: 14px; color: var(--warn); }
.md-doc .md-plain-note { margin: 0 0 6px; }
.md-code-bar { display: flex; align-items: center; gap: 10px; margin: 0 0 -1px; padding: 3px 6px 3px 12px; border: 1px solid var(--rule); background: var(--chip); }
.md-code-lang { font: 500 12px var(--mono); color: var(--mute); }
.md-code-note { font-size: 12.5px; color: var(--warn); }
.md-code-bar .md-copy { margin-left: auto; }
.md-doc table { display: block; overflow-x: auto; width: max-content; max-width: 100%; border-collapse: collapse; font-size: 15px; }
.md-doc th, .md-doc td { padding: 7px 12px; border: 1px solid var(--rule); vertical-align: top; text-align: left; }
/* code in a cell keeps its words whole: a wide table scrolls sideways instead (site.css lets code break anywhere) */
.md-doc th code, .md-doc td code { overflow-wrap: normal; }
.md-doc thead th { font: 600 14px var(--sans); color: var(--ink); background: var(--tint); border-bottom: 1px solid var(--field); }
.md-doc tbody tr:nth-child(even) { background: #fafbfc; }
.md-doc .md-al-center { text-align: center; }
.md-doc .md-al-right { text-align: right; font-variant-numeric: tabular-nums; }
.md-doc table.md-front { font-size: 14px; margin-bottom: 22px; }
.md-doc table.md-front caption { text-align: left; font: 500 12.5px var(--mono); color: var(--mute); padding: 0 0 4px; }
.md-doc table.md-front th { font: 500 13px var(--mono); color: var(--mute); background: var(--tint); white-space: nowrap; }
.md-doc img { max-width: 100%; height: auto; }
.md-doc details { border: 1px solid var(--rule); padding: 0 12px; }
.md-doc details > summary { cursor: pointer; padding: 8px 0; color: var(--ink); font-weight: 500; }
.md-doc details[open] > summary { border-bottom: 1px solid var(--rule); margin-bottom: 10px; }
.md-doc kbd { font-size: 12.5px; }
.md-doc mark { background: #fbf3c4; }
.md-remote { display: inline-flex; flex-wrap: wrap; align-items: baseline; gap: 2px 8px; max-width: 100%; padding: 6px 10px; border: 1px dashed var(--field); background: var(--tint); font-size: 14px; line-height: 1.45; vertical-align: middle; }
.md-remote-alt { color: var(--ink); font-weight: 500; }
.md-remote a, .md-remote code { font: 12.5px var(--mono); overflow-wrap: anywhere; }
.md-remote-why { flex-basis: 100%; color: var(--mute); font-size: 12.5px; }
.md-doc section.md-footnotes { font-size: 14px; color: var(--body); }
.md-doc hr.md-footnotes-sep { margin-top: 32px; }
.md-doc sup.md-footnote-ref a { text-decoration: none; padding: 0 1px; }
.md-doc a.md-footnote-backref { text-decoration: none; }

.md-trust { margin: 0; font-size: 14.5px; color: var(--ink); max-width: 70em; }
.md-trust code { background: var(--code); padding: 1px 5px; font-size: 13px; }

@media (max-width: 640px) {
  /* on a phone the bar wraps to several rows: it scrolls away with the page instead of covering a quarter of the screen */
  .md-bar { position: static; }
  .md-doc [id] { scroll-margin-top: 8px; }
  .btn.sm { min-height: 44px; }
  .btn.md-mini { min-height: 34px; }
  .md-out { margin-left: 0; }
  .md-hint { flex-basis: 100%; }
  .md-doc { padding: 16px 14px 28px; font-size: 16px; }
  .md-doc h1 { font-size: 25px; }
  .md-doc h2 { font-size: 20.5px; }
  .md-toc > summary { min-height: 44px; padding-top: 13px; padding-bottom: 13px; } /* a list item still: its triangle shows that it opens */
  .spec dl { grid-template-columns: minmax(0, 1fr); }
  .spec dt { border-right: 0; border-bottom: 0; padding-bottom: 0; }
}

@media print {
  .top, .foot, .intro, .md-bar, .md-files, .md-note, .md-msg, .md-copybox, .md-toc, .md-edit, .md-trust, .spec, .md-ui, .skip { display: none !important; }
  .page, .wrap, .main { display: block; padding: 0; margin: 0; max-width: none; background: none; }
  .md { border: 0; display: block; }
  .md-body { display: block; }
  .md-doc { padding: 0; font-size: 11.5pt; color: #000; }
  .md-doc > .md-c > * { max-width: none; }
  .md-doc a { color: #000; }
  .md-doc pre, .md-doc table, .md-doc img, .md-remote { break-inside: avoid; }
  /* paper cannot scroll sideways: long code lines and wide tables wrap to the page instead of being cut */
  .md-doc pre { overflow: visible; }
  .md-doc pre code { white-space: pre-wrap; overflow-wrap: anywhere; }
  .md-doc table { display: table; width: auto; max-width: 100%; }
  .md-doc th, .md-doc td, .md-doc th code, .md-doc td code { overflow-wrap: anywhere; }
  .md-doc h1, .md-doc h2, .md-doc h3 { break-after: avoid; }
  .md-doc details > :not(summary) { display: block; }
  .md-doc details::details-content { content-visibility: visible; display: block; } /* a closed block prints open too (page.js also opens them on beforeprint) */
  .md-c { content-visibility: visible; }
}
