/** copyright rsaccess GmbH */
article {width: 100%; padding: 1rem;}
article p {width: 100%;}

.board {padding: 0;}

.btn.btnCommand {padding: 1px; margin: 1px 1px 2px 1px;}
button {text-align: center;}

div.html {border: 2px dotted !important;}
div .remark {padding: 1rem; margin: 1rem;}

div.form.doc.ctr.hFold button.btnFold {margin-left: .5em; margin-right: .5em;}

/* rsaccess page head with logos and title */
div.logo1 {background: inherit; width: 25%; min-width: 10rem; padding: 5px; margin: 0;}
div.logo1 img {background: inherit; width: 100%; padding: 5px; margin: 0;}

div.logo1Text {padding: .2em; margin-top: auto; margin-bottom: auto;}
div.logoTitle {font-size: inherit; text-align: center; line-height: 1.5em; margin: auto;}

div.logo2 {background: inherit; width: 54%; min-width: 12rem; padding: 5px; margin: 0;}
div.logo2 img {background: inherit; width: 100%; padding: 5px 0; margin: 0;}
div.logo3 {background: inherit; width: 30%; min-width: 12rem; padding: 5px; margin: 0;}
div.logo3 img {background: inherit; width: 100%; padding: 5px 0; margin: 0;}

.flexBox {margin-right: auto; margin-left: auto;}
.flexBoxImgText {margin: 0; padding: 0;}
.flexBoxTitleH1 {text-align: start; margin: 0; padding: 1em 1rem;}
.flexBoxText {margin: 0; padding: 1em;}

figcaption {text-align: start; margin: .2rem; padding: .2rem;}
figure {margin: 1rem; padding: .2rem;}

.formFrame {padding: .25rem;}
.formFrame.doc {align-self: center;}
.formBoard {padding: 0;}

.form, .form .tableForm, .form .detailForm {padding: 0;}
.form li ul li {padding: .1rem;}
.form li ul li:first-child {padding-top: .25em;}

.form .formHeader {text-align: center; max-height: 5em; padding: .5em;}
.form .formHeader .formHeaderTitle {font-weight: 900; line-height: normal; width: 60%; padding: .3em 1em; margin: auto 0;}
.form .formHeader .formHeaderText {overflow: auto; font-weight: 200; width: 100%; padding: .3rem 1em; margin: auto 0;}
.form .formHeader .formHeaderBtn >button {max-height: 2em; padding: .3em;}

.form button {font-weight: 200; text-align: center; padding: .3em;}
.form .btnGroup {padding: .3em; margin: .3rem;}
.form .btnGroup button {white-space: nowrap; height: 2em; padding: .3em 1em; margin: 2px;}

.form .formBlock.ctr {justify-content: center; width: 100%;}
.form .formBlock form.ctr {min-width: 25rem; padding: .5rem; margin: .5rem;}
.form .formBlock form.ctr > div {margin-bottom: .3rem;}

.form .checkList {padding: 0; margin: .3em;}

.form .input input {padding: .3em; margin: 0;}

.form .input.check input {-webkit-appearance: none; appearance: none;}

.form input[type='radio'] {height: 1em; width: 1em; margin-top: auto; margin-bottom: auto;}

.form input[type="range"] {height: 1em;}
.form input[type="range"]::-webkit-slider-thumb {width: 1em; height: 1em;}
.form input[type="range"]::-moz-range-thumb {width: 1em; height: 1em;}
.form .input.range input {padding: 2px;}
.form .formFoot {padding: .2em; margin-top: 2px; margin-bottom: 1em;}
.form .title, .form .title label {margin-top: .3em; margin-bottom: .1em;}

.y >div, .footB >div {font-weight: 500; padding: .5em; margin: .5em;}

.z div.z4 {padding: .5em;}
.z .z4 >div {justify-content: space-between;}
.z .z4 div a {text-decoration: none; padding: .5em; margin: .5em;}

img {padding: 1rem; margin: 0;}

.tableForm .tableFormHead >div:not(.tableFormVerticalResize) {padding: .3em; margin: 0;}
.tableForm >div:not(.tableFormVerticalResize) textarea {min-height: 1.7em; padding: .2em; margin: 0;}
.tableForm .mainTable {width: 100%;}

/* ### table settings */
.tableForm tr th.headColumn >div {font-weight: 600; line-height: 1.7rem; padding: .2em; margin: 0; overflow: auto; text-overflow: ellipsis;}
.tableForm tr th.selectColumn >div {line-height: 1.7em; padding: .2em; margin: 0; overflow: auto; text-overflow: ellipsis;}
.tableForm tr td.tableColumn >div {line-height: 1.5em; padding: .2em; margin: 0; overflow: auto; text-overflow: ellipsis;}

.tableForm td.input.check {vertical-align: middle;}
.tableForm .input.check input {display: block; margin: auto;}

.tableForm .tableFormFoot button {padding: .2em .5em; font-size: 1rem;}

.tableForm .tableFormRow >div:not(.input) >div >div {max-height: 8em;}

.tableForm .tableFormVerticalResize >textarea {min-height: 1.5em;}

.tableForm .tableFormCheck >div {display: flex !Important; align-items: center !important;}
.tableForm .tableFormRadio {padding: .3em;}
.tableForm input[type='radio']:first-child {margin-left: auto;}
.tableForm input[type='radio']:last-child {margin-right: auto;}

.tableForm .progress >div {height: 100%; margin: 0; padding: 0;}
.tableForm .progress >div div {font-weight: 200; height: 1.3em; text-align: center; border-radius: 0; margin: 0;}
.detailForm .progress >div >div:first-child, .tableForm .progress >div >div:first-child {margin-left: 2px;}
.detailForm .progress >div >div:last-child, .tableForm .progress >div >div:last-child {margin-right: 2px;}
.tableForm textarea {padding: 0;}

.tableForm td {vertical-align: top; height: 100%; min-height: 1.5rem;}
.tableForm td >div {min-height: 1.5rem;}

.tableFormFoot button {padding: .3em;}

.form .detailForm {padding: .2rem;}
.form .detailForm .block >div {padding: 1em; margin: 0;}
.form .detailForm .tableForm {text-align: start;}
.form .detailForm .formHeader >button {width: 2em;}
.form .detailFormCheck {height: 1.3em; width: 2em; min-width: 1em; max-width: 2em;}
.form .detailForm input {height: 1.8em; padding: .25em; margin: 0;}

.form.doc .textClause {width: 100%; padding: 0; margin: 0;}
.form.doc .textUpdate, .form.doc .textEditable, .form.doc .textEdit div {width: 100%;}
.form.doc .textEditable p {width: 100%; margin: 0;}
.form.doc input.textEditable {min-width: 10em;}
.form.doc .textHint, .textHint p, .textHint div {width: 100%; margin: 0;}
.form.doc .textCommandBlock, .textCommandBlock p, .textCommandBlock div {width: 100%;}

.form .text {padding: .25em;}

/* ### grid layout definitions */
.grid {grid-gap: 0; padding: 0; margin-left: auto; margin-right: auto;}
.gridBox {padding: .5em;}
.gridBox div {font-weight: 900;}
.gridBox.vertical {padding: .5em; margin: 0;}
.gridFrame {padding: .5em; margin: 1rem;}
.gridFrame.gap {padding: 1em;}
.gridHead {padding: 1em;}
.gridGap {height: 10px;}
.gridGap.l {border-left: 4px solid;}
.gridGap.r {border-right: 4px solid;}
.gridItem, .gridItem.vertical >div {padding: .3em;}

.gridLine.b {border-bottom: 4px solid;}
.gridLine.l {border-left: 4px solid;}
.gridLine.r {border-right: 4px solid;}
.gridLine.t {border-top: 4px solid;}

.gridOrganize {padding: .5em 1em;}
.gridOrganize.vertical {padding: 0;}
.gridPickColor .gridItem {min-width: auto; padding: 0;}
.gridPickColor .gridBox {padding: 0; margin: 0;}
.gridPickSymbol >div {padding: 0; margin: 0;}
.gridPickSymbol >div >div {width: fit-content; height: fit-content; padding: .2em; margin: auto;}

.gridWkb .gridItem {min-height: 2em;max-height: 8em; overflow: auto;}

.gridWkb .gridItem.sticky-1,
.gridWkb .gridItem.sticky-top-left,
.gridWkb .gridItem.sticky,
.gridWkb .gridItem.sticky-top,
.gridWkb .gridItem.sticky-left {display: flex; align-items: center; justify-content: center;}

.gridWkb .gridItem.sticky-top-left,
.gridWkb .gridItem.sticky-top-left-1,
.gridWkb .gridItem.sticky-left-top,
.gridWkb .gridItem.sticky-left-1 {left: 3rem;}

.gridWkb .gridItem.sticky-1,
.gridWkb .gridItem.sticky-top-1,
.gridWkb .gridItem.sticky-top-left-1,
.gridWkb .gridItem.sticky-left-top {top: 2rem;}

.gridWkb .gridItem.sticky,
.gridWkb .gridItem.sticky-1,
.gridWkb .gridItem.sticky-left {width: 3rem; min-width: 3rem; max-width: 3rem;}

.gridWkb .gridItem.sticky,
.gridWkb .gridItem.sticky-top,
.gridWkb .gridItem.sticky-top-left{height: 3rem; min-height: 2rem; max-height: 2rem;}


h1 {line-height: 200%; width: 100%; padding: .5em; margin: 1em 0 .5em 0;}
h2 {line-height: 200%; width: 100%; padding: .5em; margin: 1em 0 .5em 0;}
h3 {line-height: 200%; width: 100%; padding: .5em; margin: 1em 0 .5em 0;}
h4 {line-height: 150%; width: 100%; padding: .5em; margin: .5em 0 .3em 0;}
h5 {line-height: 130%; width: 100%; padding: .5em; margin: .5em 0 .3em 0;}
h6 {line-height: 120%; width: 100%; padding: .5em; margin: .5em 0 .3em 0;}

t-1 {line-height: 200%; padding: .5em; margin: 1em 0 .5em 0;}
t-2 {line-height: 200%; padding: .5em; margin: 1em 0 .5em 0;}
t-3 {line-height: 200%; padding: .5em; margin: 1em 0 .5em 0;}
t-4 {line-height: 150%; padding: .5em; margin: .5em 0 .3em 0;}
t-5 {line-height: 130%; padding: .5em; margin: .5em 0 .3em 0;}
t-6 {line-height: 120%; padding: .5em; margin: .5em 0 .3em 0;}

.form.print h1, .form.print t-1 {padding-left: 0;}
.form.print h2, .form.print t-2 {padding-left: 0;}
.form.print h3, .form.print t-3 {padding-left: 0;}
.form.print h4, .form.print t-4 {padding-left: 0;}
.form.print h5, .form.print t-5 {padding-left: 0;}
.form.print h6, .form.print t-6 {padding-left: 0;}

.s-1 {line-height: 200%; padding: .5em; margin: 1em 0 0 0;}
.s-2 {line-height: 200%; padding: .5em; margin: 1em 0 0 0;}
.s-3 {line-height: 200%; padding: .5em; margin: 1em 0 0 0;}
.s-4 {line-height: 150%; padding: .5em; margin: .5em 0 0 0;}
.s-5 {line-height: 130%; padding: .5em; margin: .5em 0 0 0;}
.s-6 {line-height: 120%; padding: .5em; margin: .5em 0 0 0;}
.s-7 {line-height: 120%; padding: .5em; margin: .5em 0 0 0;}
.s-8 {line-height: 120%; padding: .5em; margin: .5em 0 0 0;}

ul.s-1>li {line-height: 200%; padding: .5em; margin: 0;}
ul.s-2>li {line-height: 200%; padding: .5em; margin: 0;}
ul.s-3>li {line-height: 200%; padding: .5em; margin: 0;}
ul.s-4>li {line-height: 150%; padding: .5em; margin: 0;}
ul.s-5>li {line-height: 130%; padding: .5em; margin: 0;}
ul.s-6>li {line-height: 120%; padding: .5em; margin: 0;}
ul.s-7>li {line-height: 120%; padding: .5em; margin: 0;}
ul.s-8>li {line-height: 120%; padding: .5em; margin: 0;}

ul.center>li { width: fit-content; max-width: 85%; margin-left: auto; margin-right: auto;}

header {text-align: start;}
.headerBtn {margin: 2px; padding: 2px;}
.headerTitle {padding: .5em 1rem .5em 1rem;}

label {text-align: start; padding: 1px;}

.winRows div div aside {margin-bottom: .5rem;}
.winRows >.l, .winRows >.r {padding: 1rem;}

.main:not(.barFlag) .winRows {height: 100%;}
/*.main.barFlag .winRows {height: calc(100% - 2em)}*/
.main.barFlag .winRows {height: 100%;}

.main .bar {min-height: 2em;}
.main .bar >div {padding: 0 4px 0 4px;}
.main .bar >div >div {padding: 1px;}
.main .bar .tab >div {margin-top: auto; margin-bottom: auto;}
.ltr .main .bar .tab > div {padding-left: .5em; padding-right: .2em;}
.rtl .main .bar .tab > div {padding-left: .2em; padding-right: .5em;}

.main .bar button, .main .bar button.ctlBar {width: 100%; height: 100%;}
.main .bar button.ctlBar {padding: 0 .5em; margin: auto 0;}
.main .bar button.ctlBar.labelBtn {padding: 0 .2em;}

.main .select >div >div {padding: 0 .5em;}
.main .select .check {margin-top: .1em; margin-bottom: 0;}
.main .cts {max-width: 21.5em; padding: .3rem;}

.nav button:not(.btnNav) {width: fit-content; padding: 2px 4px; margin: auto 2px;}
.nav button.btnNav {margin: 0 .3rem 0 0; padding: 0;}
.nav ul li ul {padding-left: 1rem;}

.nav.btnRowMargin-170 a {padding: 0;}
.nav.btnRowMargin-171 a {padding: 1px;}
.nav.btnRowMargin-172 a {padding: 2px;}
.nav.btnRowMargin-173 a {padding: 3px;}
.nav.btnRowMargin-174 a {padding: 4px;}

.nav.top {padding: .1rem 0;}
.nav.top >ul {padding: 0 .5rem 0 0;}
.nav.top >ul >li {padding-top: 2px; padding-bottom: 2px;}
.nav.top >ul >li >ul {border-radius: 2px; top: 1.8em; }
/* Why: let flex wrapping account for the open submenu before it reaches the viewport edge. */
.nav.top >ul >li >ul, .nav.top >ul >li.toggleBtnFlag {min-width: 18em;}

.nav.edit li.insertElementList {list-style-type: none; margin: 0 .2em;}
.nav.edit div.insertElementList {padding: 0 .5em; margin: 0; max-height: 7em;}

.nav.side .marginBottom-1 {margin-bottom: 1px;}
.nav.side .marginBottom-2 {margin-bottom: 2px;}
.nav.side .marginBottom-3 {margin-bottom: 3px;}
.nav.side .marginBottom-4 {margin-bottom: 4px;}

.ctrNav.toc .nav.side li {margin: .2em 0;}

.main .ln {overflow-y: auto;}
.nav.edit.seg {overflow-x: auto; padding: .2rem; margin: 0;}
.nav.edit.seg button:not(.btnNav) i {padding: 0; margin: 0;}

.nav.btnChar-161:not(.btnEnd) .btnNav {max-height: 1.5em; margin: 0 .5rem 0 .5rem; padding: 0 .5rem;}
.nav.btnChar-162:not(.btnEnd) .btnNav {max-height: 1.5em; margin: 0 .4rem 0 .4rem; padding: 0 .5rem;}
.nav.btnChar-163:not(.btnEnd) .btnNav {max-height: 1.5em; margin: 0 .3rem 0 .3rem; padding: 0 .3rem;}
.nav.btnChar-164:not(.btnEnd) .btnNav {max-height: 1.5em; margin: 0 .3rem 0 .3rem; padding: 0 .3rem;}
.nav.btnChar-165:not(.btnEnd) .btnNav {max-height: 1.5em; margin: 0 .3rem 0 .3rem; padding: 0 .3rem;}

.nav.btnEnd .navToggle {max-height: 1.5em; padding: 0 .5rem; margin-left: .5rem; margin-right: .5rem;}

/* the window resize control is pinned to the visible end of the tab bar, which scrolls: margin-left auto places it
   after the last tab, so with a bar wider than its window it receded with every opened tab, 785px past the window
   edge with nine tabs (240 window width drag control, 220 interaction contract). The end padding keeps the last tab
   clear of it at the scrolled end. */
body.ltr .win .bar {padding-right: 2em;}
body.rtl .win .bar {padding-left: 2em;}
body.ltr .win .bar .tab.resize {padding: 0; margin-left: auto; margin-right: 0; position: sticky; right: 0; left: auto; z-index: 2;}
body.rtl .win .bar .tab.resize {padding: 0; margin-left: 0; margin-right: auto; position: sticky; left: 0; right: auto; z-index: 2;}
.win .bar .btnResize {padding: 1px;}
.nav.side .btnResizeLeft.horizontal, .nav.side .btnResizeRight.horizontal {user-select: none;}
.nav.side .btnResizeLeft.horizontal:hover, .nav.side .btnResizeRight.horizontal:hover {cursor: ew-resize;}
.win .tab .btnResize.horizontal:hover {cursor: ew-resize;}
.win .tab .btnResize.vertical:hover {cursor: ns-resize;}
.win .tab .btnResize.horizontal.vertical:hover {cursor: move;}
.win .tab .btnResize:hover {cursor: inherit;}

p {width: 100%; padding: .3rem; margin: 0;}
pre {overflow: auto;}
pre >code{margin-left:.5em; margin-bottom: 1em;}

.subformResizeBtn {width: .5em; margin: .2em;}
.sidebar {font-weight: 200; padding: 1rem;}

.docInfo .docBaseInfo,.docInfo .docVersionInfo {padding: .5rem; margin: .5rem;}
.docInfo .docBaseInfo >div, .docInfo .docVersionInfo >div {padding: .3rem; margin: .5rem;}

.ltr .form .btnGroup.start >button,
.formFrame .doc.ltr .btnGroup.start >button,
.rtl .form .btnGroup.end >button,
.formFrame .doc.rtl .btnGroup.end >button
{float: left;}
.ltr .form .btnGroup.end >button,
.formFrame .doc.ltr .btnGroup.end >button,
.rtl .form .btnGroup.start >button,
.formFrame .doc.rtl .btnGroup.start >button
{float: right;}

/* Document and website roles, shared by the website and rendered documentation (operator decision 2026-09-29):
   sizes, spacing, weights and layout here, colors in theme-0. Text sizes of the roles are em, so a document follows
   its font scale; the website section anchors its roles at 1rem, because the font-scale files size every div, p and
   li in px. */
.section :where(.note, .card >li, ul.term) {font-size: 1rem;}
.section {position: relative; display: flex; align-items: center; min-height: 100vh; overflow: hidden; isolation: isolate; padding: clamp(4rem, 8vw, 7rem) clamp(1rem, 4vw, 4rem) clamp(5.5rem, 8vw, 7rem);}
/* The documentation root `md` shares the grid and the vignette of the section surface (theme-0). */
:is(.section, .md:not(.tableForm))::before {content: ""; position: absolute; inset: 0; background-size: 3.5rem 3.5rem; mask-image: linear-gradient(to bottom, black, transparent 88%); z-index: -2;}
:is(.section, .md:not(.tableForm))::after {content: ""; position: absolute; inset: 0; z-index: -1;}
.section h2 {max-width: 52rem; padding-block: 0; margin: 0 0 1.2rem; font-size: clamp(2.2rem, 5vw, 4.5rem); line-height: 1.02; font-weight: 800; letter-spacing: 0;}
.section h2 >span {display: block; margin-top: .7rem; font-size: clamp(1rem, 2vw, 1.45rem); line-height: 1.25; font-weight: 750;}
/* Why: rendered documentation is one page on the section surface: the root takes the side padding of a section and
   centers the column of the website's inner width (82rem), headings and text drop the text-block padding of the
   generic elements and keep the measure of the lead, as the note box does; tables take the column. Text sizes stay with the font
   scale of the document. The rules stand before the roles, so a role inside a document keeps its own spacing
   (operator 2026-09-30). */
.md:not(.tableForm) {position: relative; isolation: isolate; width: 100%; min-height: 100vh; padding: clamp(2rem, 5vw, 4rem) max(clamp(1rem, 4vw, 4rem), calc((100% - 82rem) / 2)) clamp(3rem, 6vw, 5rem);}
/* Why: an included Markdown file renders its own root inside the document; only the outermost root is the page. */
.md .md:not(.tableForm) {min-height: 0; padding: 0;}
.md .md:not(.tableForm)::before, .md .md:not(.tableForm)::after {content: none;}
.md :where(h1, h2, h3, h4, h5, h6, t-1, t-2, t-3, t-4, t-5, t-6, t-7, t-8) {max-width: 58rem; padding: 0; line-height: 1.15; font-weight: 800; letter-spacing: 0;}
.md :where(h1) {margin: 0 0 .6em;}
.md :where(h2, h3, t-1, t-2, t-3) {margin: 1.6em 0 .5em;}
.md :where(h4, h5, h6, t-4, t-5, t-6, t-7, t-8) {margin: 1.2em 0 .4em;}
.md :where(p, ul, ol) {max-width: 58rem; margin: 0 0 .8em; line-height: 1.62;}
.md :where(p) {padding: 0;}
.md li >:where(ul, ol) {margin-block: 0;}
.md .tableForm.md {margin: 1.2em 0;}
/* Text header of a document: the label pill of its menu node, the title and the lead. Why: the label and the lead are
   sized in `em` here, so they follow the font scale of the document as every role text in a document does. */
.md .sectionLabel {font-size: .8em;}
.md .lead {margin: 0 0 1.2em; font-size: 1.1em;}
/* `portrait` is a small picture of a person with its caption, above the text it belongs to (About, 2026-09-30). */
figure.portrait {width: 12rem; max-width: 100%; padding: 0; margin: 0 0 1.2em;}
figure.portrait img {display: block; width: 100%; height: auto; padding: 0; margin: 0; border-radius: .6rem;}
figure.portrait figcaption {padding: 0; margin: .5rem 0 0; font-size: .9em; line-height: 1.4;}
/* Page header of a documentation document, the included document A.0.Sys.132: the brand title with the product mark
   at 70 % of the homepage title and the line below it in the subtitle size of the homepage, both centered (operator
   2026-09-30). Sizes are rem and vw as on the homepage, so the header is the same under every font scale. */
.pageHeader {margin: 0 0 clamp(1.5rem, 4vw, 2.4rem); text-align: center;}
/* Why: the Markdown renderer closes an include line with a line break; the header keeps one distance to the title in a Markdown and in an HTML document. */
.pageHeader + br {display: none;}
.pageHeader .brandTitle {display: flex; align-items: center; justify-content: center; gap: .18em; font-size: clamp(2.17rem, 5.6vw, 4.9rem); line-height: .96; font-weight: 800; letter-spacing: 0; white-space: nowrap;}
.pageHeader .brandTitle img {flex: 0 0 auto; width: 1.17em; height: 1.17em; padding: 0; margin: 0; object-fit: contain;}
.pageHeader .brandTitle span {display: inline-block; font-size: inherit;}
.pageHeader p {width: fit-content; max-width: 100%; padding: 0; margin: .7rem auto 0; font-size: clamp(1.5rem, 2.9vw, 2.6rem); line-height: 1.08; font-weight: 750;}
.sectionLabel {width: fit-content; padding: .35rem .8rem; margin: 0 0 1rem; border: 1px solid; border-radius: 9999px; backdrop-filter: blur(12px); font-size: .86rem; font-weight: 750;}
.lead {max-width: 58rem; padding-block: 0; margin: 0 0 clamp(2rem, 5vw, 3.5rem); font-size: clamp(1.05rem, 2vw, 1.32rem); line-height: 1.62;}
.lead p {padding-block: 0;}
.lead p + p {margin-top: 1em;}

.note {padding: 1rem 1.1rem; margin: 0; border: 0; border-left: .22rem solid; backdrop-filter: blur(12px);}
.note :where(h3, h4) {padding-block: 0; margin: 0 0 .55rem; font-size: 1em; line-height: 1.25; font-weight: 800; letter-spacing: 0;}
.note p {padding-block: 0; margin: 0; font-size: .95em; line-height: 1.5;}
.note p + p {margin-top: .7rem;}
/* Why: in rendered documentation the box stands between paragraphs; on the website the page grid places it. */
.md .note {max-width: 58rem; margin: 1rem 0;}
.noteIcon {font-size: 200%;}

.card {display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: .75rem; padding: 0; margin: 0; list-style: none;}
.card.column4 {grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 1rem;}
.card >li {min-width: 0; padding: 1rem; border: 1px solid; border-radius: .5rem; backdrop-filter: blur(14px);}
.card >li::before {content: ""; display: block; width: 2.25rem; height: .18rem; margin-bottom: .7rem; border-radius: 9999px;}
.card h3 {padding-block: 0; margin: 0 0 .55rem; font-size: 1em; line-height: 1.25; font-weight: 800; letter-spacing: 0;}
.card p {padding-block: 0; margin: 0; font-size: .92em; line-height: 1.45;}

ul.term {display: flex; flex-wrap: wrap; gap: .7rem; padding: 0; margin: 0 0 clamp(1.5rem, 4vw, 2.4rem); list-style: none;}
ul.term >li {padding: .45rem .75rem; border: 1px solid; border-radius: 9999px; font-size: .88em; font-weight: 700;}
ul.term >li >a:any-link {text-decoration: none;}
ul.term >li >a:hover {text-decoration: underline;}

.section figure {margin: 0 0 clamp(1.5rem, 4vw, 2.4rem);}
.section figure img {display: block; width: 100%; height: auto; border-radius: .6rem;}
.section figcaption {margin: .6rem 0 0; font-size: .9rem; line-height: 1.48;}

.previous >[role="img"] {margin: 0 .35em;}
.increase {font-weight: 700;}

:where(.section, .md) .tableForm.md {max-width: 100%; overflow-x: auto;}
:where(.section, .md) .tableForm.md:not(.noFrame) {border: 1px solid; border-radius: .5rem;}
/* `fit` sizes a table to its content, for a matrix whose columns speak for themselves (Quest overview, 2026-09-29). */
:where(.section, .md) .tableForm.md.fit {width: fit-content;}
:where(.section, .md) .tableForm.md.fit .mainTable {width: auto;}
/* `noWrap` keeps a short value such as a start month on one line. */
:where(.section, .md) .tableForm.md .mainTable .noWrap {white-space: nowrap;}
/* `minWidth` on the head cell of a text column keeps the column readable: without it the short columns squeeze a
   description to its longest word, about 8em, before the table scrolls inside its frame (operator report 2026-09-30). */
:where(.section, .md) .tableForm.md .mainTable .minWidth {min-width: 18em;}
.section .tableForm.md {font-size: .95rem; line-height: 1.42;}
/* `small` gives a table tighter cells and, in a document, four fifths of the text size, for a matrix that grows by a
   column group per month and a row per project (project overview table, operator 2026-09-30); `em` so it follows the
   font scale. A website section keeps its table size above, which is already below the text size. */
.md .tableForm.md.small {font-size: .8em; line-height: 1.35;}
:where(.section, .md) .tableForm.md.small .mainTable :is(th.headColumn, td.tableColumn) {padding: .4rem .65rem;}
/* Why: the font-scale files size every div in px; the body and the table inherit the size and weight of their frame. */
:where(.section, .md) .tableForm.md .tableFormBody {font-size: inherit;}
:where(.section, .md) .tableForm.md .mainTable {border-collapse: collapse; font-weight: inherit;}
/* Why: alignment at low specificity, so a page-scoped column rule can center a column. */
:where(.section, .md) .tableForm.md :is(th, td) {text-align: start;}
:where(.section, .md) .tableForm.md .mainTable :is(th.headColumn, td.tableColumn) {padding: .6rem .85rem; vertical-align: top;}
:where(.section, .md) .tableForm.md .mainTable :is(th.headColumn, td.tableColumn) >div {min-height: 0; padding: 0; line-height: inherit; overflow: visible;}
:where(.section, .md) .tableForm.md .mainTable th.headColumn, :where(.section, .md) .tableForm.md .mainTable th.headColumn >div {font-weight: 800;}
:where(.section, .md) .tableForm.md .mainTable tbody tr:last-child .tableColumn {border-bottom: 0;}

@media (max-width: 980px) {
  .card.column4 {grid-template-columns: repeat(2, minmax(0, 1fr));}
}
@media (max-width: 760px) {
  .card, .card.column4 {grid-template-columns: minmax(0, 1fr);}
}

.form.print .printBodyHead .headBody >div, form.print .printBodyFoot.headBody >div,
.form.print .printBodyHead >div, form.print .printBodyFoot >div {padding: 0; margin: 0;}
.form.print .printBodyTitle {margin: 1em 0;}
.form.print p {line-height: 1.5em; padding: .3rem 0; margin: .3rem 0;}
.form.print .printFooter >div {margin-top: 5mm;}
.form.print .textCommandBlock {display: none; position: absolute; left: -32768px; top: -32768px; width: 0; height: 0;}
.form.print div, .form.print textarea {overflow: hidden !important;}
