--- a
+++ b/docs/assets/stylesheets/extra.css
@@ -0,0 +1,209 @@
+[data-md-color-scheme="default"] {
+    --md-primary-fg-color: #006bb6;
+    --md-primary-fg-color--light: #006bb6;
+    --md-accent-fg-color: #006bb6;
+    --md-accent-fg-color--light: #006bb6;
+}
+
+[data-md-color-scheme="slate"] {
+    --md-primary-fg-color: #006bb6;
+    --md-primary-fg-color--dark: #006bb6;
+    --md-accent-fg-color: #006bb6;
+    --md-accent-fg-color--light: #006bb6;
+}
+
+:root {
+    --md-admonition-icon--aphp: url('data:image/svg+xml;charset=utf-8,<svg width="109" height="116" xmlns="http://www.w3.org/2000/svg" xml:space="preserve"><path fill="%230060AF" d="M55.2 20.2c11.1.5 19.9 11 19.9 23.8 0 13.2-9.3 23.8-20.8 23.8S33.5 57.1 33.5 44c0-12.9 8.9-23.3 20.1-23.8C29.1 3.1 1.9 18.4 0 48.4c.9 42.3 43.8 49.7 54.3 68 11.6-19 52.1-27.3 54.2-67.4C107 13.5 73.3 5.9 55.2 20.2m-24.5 4.5c-1.7 0-3-1.2-3-2.6 0-1.4 1.4-2.6 3-2.6 1.7 0 3 1.2 3 2.6 0 1.4-1.4 2.6-3 2.6" class="st0"/><path fill="%230060AF" d="M40.8 0c-10.4 16.2-8 28.8 6.7 46.6-3.7 4.6-4.6 7.7-4.3 12 4.9-.6 6.7-4 7.4-9.2 5.2 4.6 13.2 6.4 18.4 6.1-1.1-9.2-8.2-16.2-19.6-11-8.9-12-18.1-24.2-7.1-43.2L40.8 0z" class="st0"/></svg>');
+}
+
+
+.md-typeset .admonition.aphp,
+.md-typeset details.aphp {
+    border-color: rgb(0, 107, 182);
+}
+
+.md-typeset .aphp > .admonition-title,
+.md-typeset .aphp > summary {
+    background-color: rgba(0, 107, 182, 0.1);
+    border-color: rgb(0, 107, 182);
+}
+
+.md-typeset .aphp > .admonition-title::before,
+.md-typeset .aphp > summary::before {
+    background-color: rgb(0, 107, 182);
+    -webkit-mask-image: var(--md-admonition-icon--aphp);
+    mask-image: var(--md-admonition-icon--aphp);
+}
+
+
+:root {
+    --md-code-font: Consolas, Roboto Mono, Roboto;
+    --md-code-bg-color: rgba(175, 184, 193, .2);
+
+    --md-typeset-color: #24292e;
+}
+
+
+:root, [data-md-color-scheme=default] {
+    --md-main-bg: #eef4f8;
+}
+
+:root, [data-md-color-scheme=slate] {
+    --md-main-bg: hsl(232deg 15% 25%);;
+}
+
+html {
+}
+
+body, input {
+    font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Oxygen, Ubuntu, Cantarell, "Fira Sans", "Droid Sans", "Helvetica Neue", Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol";;
+    font-weight: 400;
+    font-feature-settings: normal;
+}
+
+.md-typeset h1, .md-typeset h2, .md-typeset h3, .md-typeset h4, .md-typeset h5, .md-typeset h6 {
+    word-wrap: normal;
+    color: var(--md-typeset-color);
+    font-weight: 600;
+    scroll-margin-top: 1.25rem;
+    letter-spacing: 0;
+}
+
+.md-typeset h1 {
+    border-bottom: 1px solid #d8dee4;
+}
+
+.md-nav {
+    font-size: 0.8rem;
+}
+
+.md-typeset code {
+    font-size: 0.95em;
+}
+
+.md-typeset pre > code, .termy > [data-termynal], .highlighttable .linenos {
+    font-size: .75rem;
+}
+
+.termy > [data-termynal] {
+    font-size: 0.8rem;
+    font-family: var(--md-code-font);
+    padding: 45px 45px 25px;
+}
+
+.termy > [data-termynal] {
+
+}
+
+.md-typeset :is(.admonition,details) {
+    font-size: inherit !important;
+}
+
+.highlight span.filename, .quote > summary {
+    font-size: 0.85em;
+    padding-top: 0.3em;
+    padding-bottom: 0.3em;
+}
+
+.md-typeset pre > code, .highlight span.filename {
+    border-top-left-radius: 5px;
+    border-top-right-radius: 5px;
+}
+
+.md-typeset pre > code {
+    border-bottom-left-radius: 5px;
+    border-bottom-right-radius: 5px;
+}
+
+.md-main__inner {
+    margin-top: 0;
+}
+
+.md-typeset__table td > a {
+    white-space: nowrap;
+}
+
+@media screen and (min-width: 76.1875em) {
+    .md-sidebar {
+        margin-top: 1.5rem;
+    }
+}
+
+@media screen and (min-width: 60em) {
+    .md-nav--secondary .md-nav__title {
+        background: var(--md-main-bg) !important;
+        box-shadow: 0 0 0.4rem 0.4rem var(--md-main-bg) !important;
+    }
+}
+
+@media screen and (min-width: 76.25em) {
+    .md-nav--primary .md-nav__title, .md-nav--secondary .md-nav__title, .md-nav--lifted > .md-nav__list > .md-nav__item--active > .md-nav__link {
+        background: var(--md-main-bg) !important;
+        box-shadow: 0 0 0.4rem 0.4rem var(--md-main-bg) !important;
+    }
+}
+
+.md-content {
+    background: var(--md-default-bg-color);
+}
+
+.md-main {
+    background: var(--md-main-bg);
+}
+
+.md-content__inner {
+    margin-top: 1.5rem;
+}
+
+.doc td > code {
+    word-break: normal;
+}
+
+.md-typeset .card-set {
+    grid-template-columns: repeat(auto-fit,minmax(12rem,1fr)) !important;
+}
+
+.md-typeset code a:not(.md-annotation__index) {
+    border-bottom: 1px dashed var(--md-typeset-a-color);
+}
+
+.md-typeset .compact-table.md-typeset__table th, .md-typeset .compact-table.md-typeset__table td {
+    min-width: initial !important;
+    padding: .5em 0.75em;
+}
+
+a.discrete-link {
+    color: inherit !important;
+    border-bottom: 1px dashed var(--md-default-fg-color--lighter) !important;
+}
+
+.sourced-heading {
+    display: flex;
+    flex-direction: row;
+}
+
+.sourced-heading-spacer {
+    flex: 1;
+}
+
+.sourced-heading > a {
+    font-size: 1rem;
+    align-content: center;
+}
+
+.doc-param-details .subdoc {
+    padding: 0;
+    box-shadow: none;
+    border-color: var(--md-typeset-table-color);
+}
+
+.doc-param-details .subdoc > div > div > div>  table {
+    padding: 0;
+    box-shadow: none;
+    border: none;
+}
+
+.doc-param-details .subdoc > summary {
+    margin: 0;
+    font-weight: normal;
+}