.md-typeset .highlight, .md-typeset .highlight pre, .md-typeset .highlight code { background-color: #000; color: #fff; } /* --- Section heading hierarchy ------------------------------------------- * * Goals: * - Every heading level is noticeably larger than its body text. * - Higher-level headings are progressively larger than lower ones. * - H1 is prominent but not oversized. * - Lower-level headings (H4-H6) are bold/italic so they still read as * headings even though their absolute size is smaller. * * Base body text in .md-typeset is 0.8 rem (~12.8 px). * The scale below keeps every heading clearly above that baseline while * maintaining a visible step between adjacent levels. * ----------------------------------------------------------------------- */ .md-typeset h1 { font-size: 2em; /* ~25.6 px */ font-weight: 700; letter-spacing: -0.02em; line-height: 1.25; margin: 0 0 0.75em; color: var(--md-default-fg-color); } .md-typeset h2 { font-size: 1.7em; /* ~21.8 px */ font-weight: 600; letter-spacing: -0.015em; line-height: 1.3; margin: 1.4em 0 0.6em; border-bottom: 1px solid var(--md-default-fg-color--lightest); padding-bottom: 0.3em; } .md-typeset h3 { font-size: 1.4em; /* ~17.9 px */ font-weight: 600; letter-spacing: -0.01em; line-height: 1.35; margin: 1.4em 0 0.6em; border-bottom: 1px solid var(--md-default-fg-color--lightest); padding-bottom: 0.3em; } .md-typeset h4 { font-size: 1.2em; /* ~15.4 px */ font-weight: 700; line-height: 1.4; margin: 1.2em 0 0.5em; border-bottom: 1px solid var(--md-default-fg-color--lightest); padding-bottom: 0.3em; } .md-typeset h5 { font-size: 1.15em; /* ~14.7 px */ font-weight: 700; font-style: italic; text-transform: none; line-height: 1.4; margin: 1.2em 0 0.4em; border-bottom: 1px solid var(--md-default-fg-color--lightest); padding-bottom: 0.3em; } .md-typeset h6 { font-size: 1.1em; /* ~14.1 px */ font-weight: 700; font-style: italic; text-transform: none; letter-spacing: 0.01em; line-height: 1.4; margin: 1.1em 0 0.4em; border-bottom: 1px solid var(--md-default-fg-color--lightest); padding-bottom: 0.3em; color: var(--md-default-fg-color); } /* --- Compact table cells -------------------------------------------------- * * MkDocs Material's default table padding is generous. Tighten it so * wide tables (e.g. the automation-profile matrix) render without * forcing column headers to word-wrap. * ----------------------------------------------------------------------- */ /* First column never wraps — sized to its content. */ .md-typeset table:not([class]) th:first-child, .md-typeset table:not([class]) td:first-child { white-space: nowrap; } .md-typeset table:not([class]) th { min-width: 0; } /* --- Collapsible TOC in integrated sidebar --- */ /* Container for the link row: link text + toggle chevron side by side */ .md-nav--integrated .md-nav__item--nested > .md-nav__link { display: flex; align-items: center; } /* Chevron toggle button injected by JS */ .toc-toggle { display: inline-flex; align-items: center; justify-content: center; flex-shrink: 0; width: 1.2rem; height: 100%; margin-left: auto; padding: 0.2rem; cursor: pointer; border: none; background: none; color: currentColor; opacity: 0.5; transition: opacity 0.15s ease; } .toc-toggle:hover { opacity: 1; } /* The triangle arrow inside the toggle */ .toc-toggle::after { content: ""; display: block; border-left: 0.25rem solid transparent; border-right: 0.25rem solid transparent; border-top: 0.3rem solid currentColor; transition: transform 0.2s ease; transform: rotate(0deg); } /* Rotate arrow when collapsed */ .toc-collapsed > .md-nav__link > .toc-toggle::after { transform: rotate(-90deg); } /* Hide nested nav list when collapsed */ .md-nav--integrated .md-nav__item--nested.toc-collapsed > .md-nav { display: none; } /* Show nested nav when expanded */ .md-nav--integrated .md-nav__item--nested > .md-nav { display: block; } /* --- Diagram lightbox (fullscreen on click) -------------------------------- * * Kroki diagrams (Kroki) get a pointer cursor to hint they are * clickable. Clicking one opens a fullscreen overlay with the diagram * scaled to fill the viewport. An X button or the Escape key closes it. * ----------------------------------------------------------------------- */ /* Make diagram images look clickable */ img[alt="Kroki"] { cursor: zoom-in; transition: opacity 0.15s ease; } img[alt="Kroki"]:hover { opacity: 0.85; } /* Fullscreen overlay */ .diagram-lightbox { position: fixed; inset: 0; z-index: 9999; display: flex; align-items: center; justify-content: center; background: rgba(0, 0, 0, 0.88); backdrop-filter: blur(4px); -webkit-backdrop-filter: blur(4px); opacity: 0; visibility: hidden; transition: opacity 0.2s ease, visibility 0.2s ease; padding: 2rem; } .diagram-lightbox.active { opacity: 1; visibility: visible; } /* The enlarged diagram image */ .diagram-lightbox img { max-width: 95vw; max-height: 92vh; object-fit: contain; border-radius: 4px; /* Invert for dark backgrounds so SVG lines stay visible */ filter: drop-shadow(0 2px 20px rgba(0, 0, 0, 0.5)); background: #fff; padding: 1rem; } /* Close button */ .diagram-lightbox-close { position: absolute; top: 1rem; right: 1.5rem; width: 2.5rem; height: 2.5rem; display: flex; align-items: center; justify-content: center; background: rgba(255, 255, 255, 0.15); border: 1px solid rgba(255, 255, 255, 0.25); border-radius: 50%; color: #fff; font-size: 1.5rem; line-height: 1; cursor: pointer; transition: background 0.15s ease, transform 0.15s ease; z-index: 10000; } .diagram-lightbox-close:hover { background: rgba(255, 255, 255, 0.3); transform: scale(1.1); } .diagram-lightbox-close:active { transform: scale(0.95); }