/* DocBook xslTNG version 1.3.0 * * This is docbook.css. * * See https://xsltng.docbook.org/ * */ :root { --symbol-fonts: "Arial Unicode", "Apple Symbols", "Symbol", "Symbola_hint"; --body-family: "Noto Serif", serif, var(--symbol-fonts); --title-family: "Noto Sans", sans-serif, var(--symbol-fonts); --mono-family: "B612 Mono", monospace, var(--symbol-fonts); /* The default theme. */ --background-color: #fffff8; --surface-color: #fffff8; --primary-color: #7f7f7f; --primary-variant-color: #5f5f5f; --secondary-color: #ffbc42; --error-color: #ffafaf; --error-border-color: #b00020; --on-background-color: #000000; --on-surface-color: #000000; --on-primary-color: #ffffff; --on-primary-variant-color: #ffffff; --on-secondary-color: #000000; --on-error-color: #000000; --enabled-color: rgb(240,240,240); --hovered-color: rgb(235,235,235); --focused-color: rgb(221,221,221); --modal-overlay-color: rgba(255,255,255,0.85); --border-color: var(--primary-color); --header-color: var(--background-color); --on-header-color: var(--on-background-color); --sidebar-color: var(--primary-color); --on-sidebar-color: var(--on-primary-color); --table-border-style: 1px solid var(--primary-color); --numbered-separator-style: 1px solid var(--primary-color); --numbered-number-color: var(--on-surface-color); --numbered-background-color: var(--focused-color); --verbatim-odd-background-color: var(--hovered-color); --verbatim-even-background-color: var(--enabled-color); --verbatim-line-highlight-background-color: var(--primary-color); --verbatim-line-highlight-color: var(--on-primary-color); --revadded-background-color: var(--primary-color); --revadded-color: var(--on-primary-color); --revadded-before: ""; --revadded-after: ""; --revchanged-background-color: var(--secondary-color); --revchanged-color: var(--on-secondary-color); --revchanged-before: ""; --revchanged-after: ""; --revdeleted-background-color: var(--error-color); --revdeleted-color: var(--on-error-color); --revdeleted-before: ""; --revdeleted-after: ""; --note-border-color: var(--primary-color); --note-border-style: 2pt solid var(--note-border-color); --note-color: var(--surface-color); --on-note-color: var(--on-surface-color); --tip-border-color: var(--primary-color); --tip-border-style: 2pt solid var(--tip-border-color); --tip-color: var(--surface-color); --on-tip-color: var(--on-surface-color); --important-border-color: var(--secondary-color); --important-border-style: 2pt solid var(--important-border-color); --important-color: var(--surface-color); --on-important-color: var(--on-surface-color); --caution-border-color: var(--secondary-color); --caution-border-style: 2pt solid var(--caution-border-color); --caution-color: var(--surface-color); --on-caution-color: var(--on-surface-color); --warning-border-color: var(--error-border-color); --warning-border-style: 2pt solid var(--warning-border-color); --warning-color: var(--error-color); --on-warning-color: var(--on-error-color); --danger-border-color: var(--error-border-color); --danger-border-style: 2pt solid var(--danger-border-color); --danger-color: var(--error-color); --on-danger-color: var(--on-error-color); --debug-background-color: var(--error-color); --debug-color: var(--on-error-color); --remark-background-color: var(--primary-color); --remark-color: var(--on-primary-color); --remark-border-color: var(--primary-color); --remark-border-style: 1px solid var(--remark-border-color); --annotation-separator-border-style: 2px dashed var(--border-color); --annotation-header-background-color: var(--surface-color); --annotation-header-color: var(--on-surface-color); --annotation-header-separator-border-style: 1px solid var(--primary-color); --annotation-body-border-style: 1px solid var(--primary-color); --nav-background-color: var(--surface-color); --error-border-style: 1px solid var(--error-border-color); --keycap-box-shadow: 1px 1px 1px 0px rgba(0,0,0,0.75); } /* These choices are inspired by the material design system. Someone with actual graphical design skills would do it better. Pull requests gleefully accepted. */ html.materials-dark { --background-color: #121212; --surface-color: #121212; --primary-color: #bb86fc; --primary-variant-color: #3700b3; --secondary-color: #03dac6; --error-color: #cf6679; --error-border-color: #b00020; --on-background-color: #ffffff; --on-surface-color: #ffffff; --on-primary-color: #000000; --on-primary-variant-color: #ffffff; --on-secondary-color: #000000; --on-error-color: #000000; --enabled-color: rgb(44,33,56); --hovered-color: rgb(49,38,63); --focused-color: rgb(63,51,74); --modal-overlay-color: rgba(18,18,18,0.85); --keycap-box-shadow: 1px 1px 1px 0px rgba(255,255,255,0.75); } html.materials-light { --background-color: #ffffff; --surface-color: #ffffff; --primary-color: #6200ee; --primary-variant-color: #3700b3; --secondary-color: #03dac6; --error-color: #b00020; --error-border-color: #cf6679; --on-background-color: #000000; --on-surface-color: #000000; --on-primary-color: #ffffff; --on-primary-variant-color: #ffffff; --on-secondary-color: #000000; --on-error-color: #ffffff; --enabled-color: rgb(240,240,240); --hovered-color: rgb(235,235,235); --focused-color: rgb(221,221,221); --modal-overlay-color: rgba(255,255,255,0.85); } html { padding: 0; margin-top: 0; margin-bottom: 0; margin-left: auto; margin-right: auto; font-family: var(--body-family); } body { padding-top: 0; padding-left: 0; padding-right: 0; padding-bottom: 0; margin-top: 0; margin-bottom: 0; margin-left: 1rem; margin-right: 1rem; } .error * { background-color: var(--error-color); color: var(--on-error-color); padding-left: 2px; padding-right: 2px; } span.error { display: inline-block; border: var(--error-border-style); border-radius: 4px; padding: 2px; margin-right: 0.5em; } span.error::before { content: " ☞ "; } span.error::after { content: " ☜ "; } span.error.broken-link::after { content: " 🔗 "; } .firstterm { font-weight: bold; } .trademark::after { content: "™"; } .trademark.trade::after { content: "™"; } .trademark.copyright::after { content: "©"; vertical-align: super; font-size: 85%; } .trademark.registered::after { content: "®"; vertical-align: super; font-size: 85%; } .trademark.service::after { content: "℠"; vertical-align: super; } .literal { white-space: nowrap; } .nobreak { white-space: nowrap; } .break { white-space: normal; } .xlink-arc-list { display: none; } /* ============================================================ */ .debug { display: block; padding-top: 1em; padding-bottom: 1em; padding-left: 1em; background-color: var(--debug-background-color); color: var(--debug-color); } .remark { border: var(--remark-border-style); border-radius: 3px; padding-left: 4px; padding-right: 4px; color: var(--on-surface-color); background: repeating-linear-gradient( 135deg, var(--focused-color), var(--focused-color) 5px, var(--enabled-color) 5px, var(--enabled-color) 10px ); } span.remark { margin-left: 0.5em; margin-right: 0.5em; } .keycap { font-family: var(--mono-family); background-color: var(--verbatim-odd-background-color); border: 1px solid var(--numbered-number-color); border-radius: 3px; padding-top: 0.1em; padding-bottom: 0.1em; padding-left: 0.3em; padding-right: 0.3em; margin: 0; font-size: 85%; box-shadow: var(--keycap-box-shadow); } code { font-family: var(--mono-family); background-color: var(--verbatim-odd-background-color); border: 1px solid var(--numbered-number-color); border-radius: 6px; padding-top: 0.1em; padding-bottom: 0.1em; padding-left: 0.3em; padding-right: 0.3em; margin: 0; font-size: 85%; } pre code { border: none; background-color: inherit; padding: inherit; font-size: inherit; margin: inherit; } .userinput { font-weight: bold; } a, a:visited { color: inherit; } a.pmuj { text-decoration: none; } .xref-area, .xref-areaset, .xref-co { text-decoration: none; } .xref { font-style: italic; } .xref-area, .xref-areaset, .xref-co, .xref-step, .xref-listitem { font-style: normal; } .xref .prefix, .xref .sep, .xref-question .label, .xref-answer .label { font-style: normal; } .footnote-number a, .footnote-number a:visited { text-decoration: none; } /* ============================================================ */ h1, h2, h3, h4, h5, h6 { color: var(--on-header-color); background-color: var(--header-color); font-family: var(--title-family); font-weight: 600; font-style: normal; } h1 { font-weight: 400; margin-top: 4rem; margin-bottom: 1.5rem; font-size: 3.2rem; line-height: 1; } h2 { font-weight: 400; margin-top: 2.1rem; margin-bottom: 2rem; font-size: 2.2rem; line-height: 1; } h3 { font-weight: 400; font-size: 1.7rem; margin-top: 2rem; margin-bottom: 0; line-height: 1; } h4 { font-weight: 400; font-size: 1.5rem; margin-top: 2rem; margin-bottom: 0; line-height: 1; } h5 { font-weight: 400; font-size: 1.0rem; margin-top: 1.5rem; margin-bottom: 0; line-height: 1; } h6 { font-weight: 400; font-size: 1.0rem; margin-top: 1.5rem; margin-bottom: 0; line-height: 1; } .title { color: var(--on-header-color); background-color: var(--header-color); font-weight: bold; font-family: var(--title-family); margin-bottom: 0.5em; } .book > .list-of-titles > .lot > .title, .part > .list-of-titles > .lot > .title { font-weight: 400; font-size: 1.5rem; margin-top: 2rem; margin-bottom: 1rem; line-height: 1; } header .authorgroup { margin-bottom: 2rem; } /* ============================================================ */ .article > header { text-align: center; margin-bottom: 2em; } .article > header .abstract { text-align: left; margin-left: 5em; margin-right: 5em; border: 1px solid var(--border-color); padding-left: 1em; padding-right: 1em; border-radius: 0.5em; } .book > header { margin-bottom: 2rem; margin-top: 1rem; padding-left: 1rem; padding-right: 1rem; padding-top: 1rem; padding-bottom: 1rem; border: 1px solid var(--border-color); border-radius: 0.5em; } .book > header h1 { margin-top: 0; } .revhistory .title { border-bottom: 1px solid var(--border-color); } .revhistory td p { margin: 0; padding: 0; } /* ============================================================ */ .toc { margin-top: 1em; } .toc li { text-indent: -2em; padding-left: 2em; } ul.toc, .toc ul { list-style: none; margin-top: 0; margin-bottom: 0; padding-left: 0; } .bibliolist, .glosslist { margin-top: 1em; } /* ============================================================ */ .generated-index ul { list-style: none; padding-left: 2rem; } .generated-index > ul, .generated-indexdiv > ul { padding-left: 0; } /* ============================================================ */ .formalgroup { margin-top: 1em; } .formalgroup.pgwide div { display: inline-block; } table { table-layout: fixed; border-spacing: 0; border-collapse: collapse; } figure.pgwide table { width: 100%; } .inlinemediaobject, .inlinemediaobject div { display: inline-block; } td, th { padding: 0.25em; text-align: left; } td.bottom, th.bottom { vertical-align: bottom; } td.middle, th.middle { vertical-align: middle; } td.top, th.top { vertical-align: top; } td.center, th.center { text-align: center; } td.left, th.left { text-align: left; } td.right, th.right { text-align: right; } td.justify, th.justify { text-align: justify; } td.empty, th.empty { } td.btop, th.btop { border-top: var(--table-border-style); } td.bleft, th.bleft { border-left: var(--table-border-style); } td.colsep, th.colsep { border-right: var(--table-border-style); } td.rowsep, th.rowsep { border-bottom: var(--table-border-style); } td.char, th.char { font-family: monospace; text-align: right; } .media-wrapper { width: 100%; } .media { display: inline-block; } .viewport-table { display: table; } .viewport-row { display: table-row; } .viewport-cell { display: table-cell; } .viewport { display: inline-block; } .intrinsic-width img, .intrinsic-width svg { width: 100%; } .intrinsic-height img, .intrinsic-height svg { height: 100%; } .intrinsic-both img, .intrinsic-both svg { width: 100%; height: 100%; } .admonition { border-radius: 0.5rem; min-height: 3rem; padding-top: 0; margin-bottom: 1rem; margin-top: 1rem; margin-right: 4px; display: table; width: 100%; } .admonition > div { display: table-row; } .admonition .icon { display: table-cell; padding-top: 1.5rem; width: 4.5rem; text-align: center; vertical-align: top; font-size: 3rem; color: var(--note-border-color); } .admonition .body { display: table-cell; padding-right: 1rem; } .admonition header { padding-top: 0.5rem; } .note { border: var(--note-border-style); background-color: var(--note-color); color: var(--on-note-color); } .note .icon { color: var(--note-border-color); } .note .title { background-color: var(--note-color); color: var(--on-note-color); } .note code { border-color: var(--note-border-color); background-color: var(--note-color); } .tip { border: var(--tip-border-style); background-color: var(--tip-color); color: var(--on-tip-color); } .tip .icon { color: var(--tip-border-color); } .tip .title { background-color: var(--tip-color); color: var(--on-tip-color); } .tip code { border-color: var(--tip-border-color); background-color: var(--tip-color); } .important { border: var(--important-border-style); background-color: var(--important-color); color: var(--on-important-color); } .important .icon { padding-top: 2rem; color: var(--important-border-color); } .important .title { background-color: var(--important-color); color: var(--on-important-color); } .important code { background-color: var(--important-color); border-color: var(--important-border-color); } .caution { border: var(--caution-border-style); background-color: var(--caution-color); color: var(--on-caution-color); } .caution .icon { color: var(--caution-border-color); } .caution .title { background-color: var(--caution-color); color: var(--on-caution-color); } .caution code { background-color: var(--caution-color); border-color: var(--caution-border-color); } .warning { border: var(--warning-border-style); background-color: var(--warning-color); color: var(--on-warning-color); } .warning .icon { color: var(--warning-border-color); } .warning .title { background-color: var(--warning-color); color: var(--on-warning-color); } .warning code { background-color: var(--warning-color); border-color: var(--warning-border-color); } .danger { border: var(--danger-border-style); background-color: var(--danger-color); color: var(--on-danger-color); } .danger .icon { color: var(--danger-border-color); } .danger .title { background-color: var(--danger-color); color: var(--on-danger-color); } .danger code { background-color: var(--danger-color); border-color: var(--danger-border-color); } /* ============================================================ */ .pre-wrap { overflow-x: scroll; margin-top: 1em; margin-bottom: 1em; } pre { margin-top: 0; margin-bottom: 0; } pre.address, pre.literallayout { font-family: var(--body-family); } pre.monospaced { font-family: var(--mono-family); } pre.programlisting, pre.screen { line-height: 1.25em; } /* Adapted from https://stackoverflow.com/questions/41306797/html-how-to-add-line-numbers-to-a-source-code-block */ pre.verbatim span.line:nth-child(odd) { background-color: var(--verbatim-odd-background-color); } pre.verbatim span.line:nth-child(even) { background-color: var(--verbatim-even-background-color); } /* Make the background of even lines the same as odd lines for "monochrome" listings. */ pre.verbatim.monochrome span.line:nth-child(even) { background-color: var(--verbatim-odd-background-color); } pre.address span.line:nth-child(odd), pre.literallayout span.line:nth-child(odd) { background-color: inherit; } pre.address span.line:nth-child(even), pre.literallayout span.line:nth-child(even) { background-color: inherit; } pre.verbatim span.ln { font-family: var(--mono-family); width: 0; padding-top: 4px; padding-bottom: 4px; text-align: right; } pre.verbatim { display: table; table-layout: fixed; width: 100%; /* anything but auto, otherwise fixed layout not guaranteed */ white-space: pre; } pre.verbatim span.line { display: table-row; } pre.verbatim span.ln { display: table-cell; } pre.numbered span.ln { background-color: var(--numbered-background-color); user-select: none; } pre.numbered span.ln { width: 4em; padding-right: 0.5em; } pre.verbatim span.ld { display: table-cell; padding-top: 4px; padding-bottom: 4px; } pre.numbered span.ld { border-left: var(--numbered-separator-style); padding-left: 0.25em; } pre.verbatim span.line.highlight { background-color: var(--verbatim-line-highlight-background-color); color: var(--verbatim-line-highlight-color); } /* ============================================================ */ .productionset .productions { display: table; table-layout: fixed; width: 100%; } .productionset .productions .production { display: table-row; } .productionset .productions .production .lhs, .productionset .productions .production .rhs, .productionset .productions .production .lhssep { font-family: var(--mono-family); } .productionset .productions .production .lhs, .productionset .productions .production .lhssep, .productionset .productions .production .rhs, .productionset .productions .production .constraint { display: table-cell; } .productionset .productions .production .lhs { width: 25%; white-space: nowrap; } .productionset .productions .production .lhssep { width: 3em; text-align: center; } .productionset .productions .production .constraint { width: 2em; } .nonterminal { } .lineannotation { font-family: var(--body-family); font-style: italic; } .constraintdef { min-height: 3rem; margin-left: 1rem; padding-top: 1rem; margin-bottom: 1rem; } .constraintdef .title { font-weight: bold; font-family: var(--title-family); } /* ============================================================ */ .qandadiv { margin-top: 1em; } .qandalist .qanda { display: table; table-layout: fixed; width: 100%; } .qandaentry .question, .qandaentry .answer { display: table-row; } .qandaentry .question .label, .qandaentry .answer .label { display: table-cell; width: 3em; } .qandaentry .question .body, .qandaentry .answer .body { display: table-cell; } .question p, .answer p { margin-top: 0; } /* ============================================================ */ .funcprototype table td { padding: 0; } .funcprototype table.params { margin-top: 1em; } .funcprototype table.params td { padding-right: 1em; } .funcprototype { margin-top: 1em; font-family: var(--mono-family); } .funcprototype .paramdef { font-family: var(--mono-family); } .funcprototype .parameter { font-family: var(--body-family); font-style: italic; } .funcprototype .function { font-weight: bold; } /* ============================================================ */ .linegroup { margin-left: 2em; } .speaker::after { content: ":"; } .linegroup .speaker { margin-left: -2em; } /* ============================================================ */ .formalpara .title { display: inline-block; font-weight: bold; } .formalpara .title::after { content: "."; margin-right: 0.5em; } .formalpara .titlepunct::after { content: ""; margin-right: 0.5em; } blockquote { margin-top: 1em; } blockquote p { margin-top: 0; } blockquote .title { font-weight: bold; font-family: var(--title-family); margin-bottom: 0.25em; } blockquote p + .attribution { /* Tuck it back up closer to the preceding paragraph */ margin-top: -1em; } .attribution::before { content: "—"; } .attribution { margin-left: 50%; } /* ============================================================ */ .revhistory .title { font-weight: bold; font-family: var(--title-family); margin-bottom: 0.5em; } /* ============================================================ */ .figure, .example, .equation { padding: 1em; } .figure, .example { border: 1px solid var(--border-color); } .figure .title { font-family: var(--title-family); } .figure .media { width: 100%; text-align: center; } .figure img { margin-left: auto; margin-right: auto; } .floatcenter { text-align: center; } .floatright { float: right; } .floatleft { float: left; } /* ============================================================ */ .cmdsynopsis { margin-top: 1em; margin-bottom: 1em; margin-left: 3em; text-indent: -3em; } .synopfragment { margin-top: 1em; } .synopfragmentref { font-style: italic; } .synopfragmentref a, .synopfragmentref a:visited { text-decoration: none; } .synopfragmentref-number { font-family: var(--mono-family); font-style: normal; font-weight: bold; font-size: 10pt; } .synopfragment .synopfragmentref-number { } .cmdsynopsis .command, .cmdsynopsis .cmdpunct, .cmdsynopsis .group, .cmdsynopsis .arg { font-family: var(--mono-family); } .calloutlist dl dt { clear: both; float: left; width: 1.25em; } .calloutlist dl dd { margin-left: 1.25em; line-height: 1.5rem; /* tuck them together a little */ } .calloutlist dd > p:first-child { margin-top: 0; } a.callout-bug, a.callout-bug:visited { text-decoration: none; } /* ============================================================ */ .revadded { background-color: var(--revadded-background-color); color: var(--revadded-color); } .revadded::before { content: var(--revadded-before); } .revadded::after { content: var(--revadded-after); } .revchanged { background-color: var(--revchanged-background-color); color: var(--revchanged-color); } .revchanged::before { content: var(--revchanged-before); } .revchanged::after { content: var(--revchanged-after); } .revdeleted { background-color: var(--revdeleted-background-color); color: var(--revdeleted-color); } .revdeleted::before { content: var(--revdeleted-before); } .revdeleted::after { content: var(--revdeleted-after); } .revoff .revadded, .revoff .revchanged, .revoff .revdeleted { background-color: inherit; } .revoff .revadded::before, .revoff .revchanged::before, .revoff .revdeleted::before, .revoff .revadded::after, .revoff .revchanged::after, .revoff .revdeleted::after { content: ""; } /* ============================================================ */ ul[db-mark='disc'], li[db-mark='disc'], ul[db-mark='bullet'], li[db-mark='bullet'] { list-style-type: disc; } ul[db-mark='round'], li[db-mark='round'] { list-style-type: circle; } ul[db-mark='box'], li[db-mark='box'] { list-style-type: square; } /* ============================================================ */ .simplelistvert, .simplelisthoriz { display: table; } .simplelist .row { display: table-row; } .simplelist .row span { display: table-cell; } /* ============================================================ */ .glossdiv { margin-top: 1em; } /* ============================================================ */ .sidebar { background-color: var(--sidebar-color); color: var(--on-sidebar-color); padding-left: 1em; padding-right: 1em; padding-bottom: 1em; padding-top: 1em; border-radius: 0.5em; } .sidebar .title { background-color: var(--sidebar-color); color: var(--on-sidebar-color); } /* ============================================================ */ .msgexplan { margin-left: 2rem; } /* ============================================================ */ .foreignphrase { font-style: italic; } .bold { font-weight: bold; } .strikethrough { text-decoration: line-through; } .underline { text-decoration: underline; } em { font-style: italic; } em em { font-style: normal; } em em em { font-style: italic; } em em em em { font-style: normal; } em em em em em { font-style: italic; } em em me em em em { font-style: normal; } /* ============================================================ */ /* Inline annotations */ .annotations { border-top: var(--annotation-separator-border-style); padding-top: 1em; margin-top: 6em; } a.annomark, a.annomark:visited { text-decoration: none; color: inherit; } .annotation-wrapper { margin-bottom: 1em; } .annotation-body { border: var(--annotation-body-border-style); border-bottom-left-radius: 0.25em; border-bottom-right-radius: 0.25em;; } .annotation-header { height: 2em; background-color: var(--annotation-header-background-color); color: var(--annotation-header-color); padding-left: 1em; padding-right: 0.5em; border-bottom: var(--annotation-header-separator-border-style); } .annotation-header .annotation-close { float: right; } .annotation-content { padding-left: 1em; padding-right: 1em; padding-top: 0.5em; padding-bottom: 0.5em; } /* ============================================================ */ /* XLink extended links. The ".js" classes only apply if JavaScript XLink processing is available and enabled. */ .xlink .source { border-bottom: 1px dotted black; cursor: pointer; } .xlink-arc-list { display: inline; font-style: normal; cursor: pointer; font-size: 70%; } .xlink-arc-list.js::before { content: " "; /* thin space */ } .nhrefs.js .xlink-arc-delim { display: none; } .nhrefs.js { font-style: normal; display: none; margin-left: 4px; margin-right: 0; padding-bottom: 1em; border: 2px solid var(--primary-variant-color); border-radius: 4px; z-index: 2; background-color: var(--primary-color); color: var(--on-primary-color); } .nhrefs.js .arc { display: list-item; margin-left: 1.5em; padding-right: 1em; } .nhrefs.js .xlink-arc-title { display: block; background-color: var(--primary-variant-color); color: var(--on-primary-variant-color); margin-left: 0; margin-bottom: 0.5em; text-align: center; }