body { font-family: Georgia, 'Times New Roman', serif; line-height: 1.45;
       max-width: 56em; margin: 0 auto; padding: 0 2em 4em; color: #111; }
h1, h2, h3, h4, h5, h6 { font-family: Verdana, Arial, sans-serif; }
h1 { border-bottom: 2px solid #333; padding-bottom: .2em; }
h3.part { margin-bottom: .3em; }
.nav, .footer { font-family: Verdana, Arial, sans-serif; font-size: .8em; }
.nav { border-bottom: 1px solid #999; padding: .4em 0; margin-bottom: 1.5em;
       display: flex; align-items: center; justify-content: space-between;
       gap: 1em; flex-wrap: wrap; }
.nav.bottom { border-bottom: none; border-top: 1px solid #999;
              margin: 3em 0 0; }
.nav a { text-decoration: none; }
.nav .sep { color: #999; margin: 0 .6em; }
.site-search { display: none; position: relative; flex: 0 0 auto; }
.site-search.ready { display: inline-flex; align-items: center; }
.site-search-input { font: inherit; padding: .15em .5em; width: 12em;
                     border: 1px solid #999; border-radius: 3px; }
.site-search-input:focus { outline: none; border-color: #0645ad; }
.site-search-spinner { width: 1em; height: 1em; margin-right: .4em;
                       flex: 0 0 auto; border: 2px solid #ccc;
                       border-top-color: #0645ad; border-radius: 50%;
                       animation: site-search-spin .7s linear infinite; }
@keyframes site-search-spin { to { transform: rotate(360deg); } }
.site-search-results { position: absolute; top: 100%; right: 0; z-index: 20;
                       margin-top: .25em; width: 26em; max-width: 80vw;
                       max-height: 60vh; overflow-y: auto; background: #fff;
                       border: 1px solid #999; border-radius: 3px;
                       box-shadow: 0 2px 8px rgba(0,0,0,.15); }
.sr-item { display: flex; justify-content: space-between; align-items: baseline;
           gap: 1em; padding: .3em .6em; color: #111;
           border-bottom: 1px solid #eee; }
.sr-item:last-child { border-bottom: none; }
.sr-item.sel, .sr-item:hover { background: #eef3fb; }
.sr-key { font-family: 'DejaVu Sans Mono', Menlo, Consolas, monospace;
          font-size: .92em; color: #0645ad; }
.sr-title { color: #777; font-size: .8em; font-style: italic;
            white-space: nowrap; }
.footer { padding-top: .4em; color: #555; }
.letter-nav { font-family: Verdana, Arial, sans-serif; font-size: .9em; }
.letter-nav a { text-decoration: none; margin-right: .5em; }
code, pre, var { font-family: 'DejaVu Sans Mono', Menlo, Consolas, monospace;
                 font-size: .92em; }
pre.code { background: #f5f5f0; border-left: 3px solid #bbb;
           padding: .6em 1em; overflow-x: auto; }
a { color: #0645ad; }
a.term { color: #25527a; text-decoration: none; border-bottom: 1px dotted; }
var, .args { font-style: italic; }
.args code { font-style: normal; }
.arrow { color: #555; }
.defline { margin: .2em 0; }
.ftype { color: #555; font-style: italic; font-size: .9em; }
.entry-title .ftype { font-size: .6em; display: block; }
.figure { margin: 1.2em 0; }
.figure table { border-collapse: collapse; margin: 0 auto; }
.figure td { border: 1px solid #aaa; padding: .15em .6em;
             vertical-align: top; }
.figure td:empty { border: none; }
.figure tr.gap > td { padding-top: .55em; }
.figure tr.gap-sm > td { padding-top: .3em; }
.figure tr.rule > td { border-top: 2px solid #888; }
table.tabbing { margin: .6em 0; border-collapse: collapse; }
table.tabbing td { padding: 0 .5em 0 0; vertical-align: baseline;
                   white-space: nowrap; }
table.tabbing td:empty { padding: 0; }
table.plain { margin: 1em 0; border-collapse: collapse; }
table.plain td { padding: .1em 1.2em .1em 0; vertical-align: baseline; }
table.plain td:first-child { white-space: nowrap; }
.cell-note { color: #777; font-style: italic; font-size: .85em;
             margin-left: .5em; }
.caption { text-align: center; font-size: .9em; }
ul.dictionary, ul.symbol-index { list-style: none; padding-left: 0;
                                 columns: 3; }
ul.toc { font-family: Verdana, Arial, sans-serif; font-size: .9em; }
.bnf { font-family: 'DejaVu Sans Mono', Menlo, Consolas, monospace;
       font-size: .92em; margin: .3em 0 .3em 2em; text-indent: -2em; }
.displaymath { margin: .6em 2em; }
math mi.it { font-style: italic; }
math mtext.tt { font-family: 'DejaVu Sans Mono', Menlo, Consolas, monospace;
                font-size: .92em; }
math mtext.b { font-weight: bold; }
.unresolved { color: #b00; }
ul.errata { list-style: none; padding-left: 0; }
ul.errata li { margin-bottom: .8em; }
.errata-note { color: #555; font-size: .9em; }
.errata-jump { font-family: Verdana, Arial, sans-serif; font-size: .85em;
               color: #555; }
.errata-body h2 { border-bottom: 1px solid #999; padding-bottom: .15em;
                  margin-top: 1.8em; }
.errata-body h3 { font-size: 1em; margin: 1.2em 0 .3em; color: #333; }
.errata-body h3 + ul.errata { margin-top: .2em; }
.com { margin-top: 2em; }
.hdr-link { margin-left: .45em; font-size: .75em; color: #aaa;
            text-decoration: none; opacity: 0; transition: opacity .15s; }
h2:hover .hdr-link, h3:hover .hdr-link, h4:hover .hdr-link,
h5:hover .hdr-link, h6:hover .hdr-link,
.hdr-link:focus { opacity: 1; }
.margin-note { float: right; clear: right; width: 15em;
               margin: 0 -18em .8em 1em;
               font-family: Verdana, Arial, sans-serif; font-size: .72em;
               line-height: 1.35; color: #888; text-indent: 0; }
.margin-note.comment { white-space: pre-wrap; }
.margin-note .note-label { font-weight: bold; text-transform: uppercase;
                           font-size: .9em; letter-spacing: .04em; }
.margin-note.reviewer { color: #7a5c2e; }
.margin-note.editornote { color: #2e5c7a; }
@media (max-width: 94em) {
  .margin-note { margin-right: 0; background: #fafaf5;
                 border-left: 2px solid #ddd; padding: .3em .6em; }
}
