aboutsummaryrefslogtreecommitdiffstatshomepage
path: root/docs/src/templates/assets/stylesheets
diff options
context:
space:
mode:
author简律纯 <i@jyunko.cn>2023-12-15 09:22:24 +0800
committer简律纯 <i@jyunko.cn>2023-12-15 09:22:24 +0800
commitdaa378d6964841d9a5c4bc39815d75c672117dea (patch)
tree8cfc92f73bcbd80a472ecc5f1f65df5b72ff1892 /docs/src/templates/assets/stylesheets
parentefb0730e641f575368e7e80fec80be16a03c95f4 (diff)
downloadinfini-daa378d6964841d9a5c4bc39815d75c672117dea.tar.gz
infini-daa378d6964841d9a5c4bc39815d75c672117dea.zip
refactor(docs/src): delete `material` dir
Diffstat (limited to 'docs/src/templates/assets/stylesheets')
-rw-r--r--docs/src/templates/assets/stylesheets/_config.scss42
-rw-r--r--docs/src/templates/assets/stylesheets/main.bd3936ea.min.css1
-rw-r--r--docs/src/templates/assets/stylesheets/main.bd3936ea.min.css.map1
-rw-r--r--docs/src/templates/assets/stylesheets/main.scss86
-rw-r--r--docs/src/templates/assets/stylesheets/main/_colors.scss153
-rw-r--r--docs/src/templates/assets/stylesheets/main/_icons.scss37
-rw-r--r--docs/src/templates/assets/stylesheets/main/_modifiers.scss48
-rw-r--r--docs/src/templates/assets/stylesheets/main/_resets.scss118
-rw-r--r--docs/src/templates/assets/stylesheets/main/_typeset.scss603
-rw-r--r--docs/src/templates/assets/stylesheets/main/components/_author.scss86
-rw-r--r--docs/src/templates/assets/stylesheets/main/components/_banner.scss68
-rw-r--r--docs/src/templates/assets/stylesheets/main/components/_base.scss182
-rw-r--r--docs/src/templates/assets/stylesheets/main/components/_clipboard.scss102
-rw-r--r--docs/src/templates/assets/stylesheets/main/components/_consent.scss127
-rw-r--r--docs/src/templates/assets/stylesheets/main/components/_content.scss97
-rw-r--r--docs/src/templates/assets/stylesheets/main/components/_dialog.scss65
-rw-r--r--docs/src/templates/assets/stylesheets/main/components/_feedback.scss110
-rw-r--r--docs/src/templates/assets/stylesheets/main/components/_footer.scss201
-rw-r--r--docs/src/templates/assets/stylesheets/main/components/_form.scss83
-rw-r--r--docs/src/templates/assets/stylesheets/main/components/_header.scss270
-rw-r--r--docs/src/templates/assets/stylesheets/main/components/_meta.scss67
-rw-r--r--docs/src/templates/assets/stylesheets/main/components/_nav.scss761
-rw-r--r--docs/src/templates/assets/stylesheets/main/components/_pagination.scss85
-rw-r--r--docs/src/templates/assets/stylesheets/main/components/_post.scss196
-rw-r--r--docs/src/templates/assets/stylesheets/main/components/_progress.scss53
-rw-r--r--docs/src/templates/assets/stylesheets/main/components/_search.scss707
-rw-r--r--docs/src/templates/assets/stylesheets/main/components/_select.scss115
-rw-r--r--docs/src/templates/assets/stylesheets/main/components/_sidebar.scss209
-rw-r--r--docs/src/templates/assets/stylesheets/main/components/_source.scss182
-rw-r--r--docs/src/templates/assets/stylesheets/main/components/_status.scss73
-rw-r--r--docs/src/templates/assets/stylesheets/main/components/_tabs.scss133
-rw-r--r--docs/src/templates/assets/stylesheets/main/components/_tag.scss105
-rw-r--r--docs/src/templates/assets/stylesheets/main/components/_tooltip.scss292
-rw-r--r--docs/src/templates/assets/stylesheets/main/components/_top.scss83
-rw-r--r--docs/src/templates/assets/stylesheets/main/components/_version.scss150
-rw-r--r--docs/src/templates/assets/stylesheets/main/extensions/markdown/_admonition.scss195
-rw-r--r--docs/src/templates/assets/stylesheets/main/extensions/markdown/_footnotes.scss146
-rw-r--r--docs/src/templates/assets/stylesheets/main/extensions/markdown/_toc.scss92
-rw-r--r--docs/src/templates/assets/stylesheets/main/extensions/pymdownx/_arithmatex.scss52
-rw-r--r--docs/src/templates/assets/stylesheets/main/extensions/pymdownx/_critic.scss76
-rw-r--r--docs/src/templates/assets/stylesheets/main/extensions/pymdownx/_details.scss121
-rw-r--r--docs/src/templates/assets/stylesheets/main/extensions/pymdownx/_emoji.scss43
-rw-r--r--docs/src/templates/assets/stylesheets/main/extensions/pymdownx/_highlight.scss382
-rw-r--r--docs/src/templates/assets/stylesheets/main/extensions/pymdownx/_keys.scss115
-rw-r--r--docs/src/templates/assets/stylesheets/main/extensions/pymdownx/_tabbed.scss400
-rw-r--r--docs/src/templates/assets/stylesheets/main/extensions/pymdownx/_tasklist.scss78
-rw-r--r--docs/src/templates/assets/stylesheets/main/integrations/_mermaid.scss67
-rw-r--r--docs/src/templates/assets/stylesheets/palette.356b1318.min.css1
-rw-r--r--docs/src/templates/assets/stylesheets/palette.356b1318.min.css.map1
-rw-r--r--docs/src/templates/assets/stylesheets/palette.scss40
-rw-r--r--docs/src/templates/assets/stylesheets/palette/_accent.scss61
-rw-r--r--docs/src/templates/assets/stylesheets/palette/_primary.scss203
-rw-r--r--docs/src/templates/assets/stylesheets/palette/_scheme.scss145
-rw-r--r--docs/src/templates/assets/stylesheets/utilities/_break.scss219
-rw-r--r--docs/src/templates/assets/stylesheets/utilities/_convert.scss79
55 files changed, 4 insertions, 8203 deletions
diff --git a/docs/src/templates/assets/stylesheets/_config.scss b/docs/src/templates/assets/stylesheets/_config.scss
deleted file mode 100644
index e64b8e29..00000000
--- a/docs/src/templates/assets/stylesheets/_config.scss
+++ /dev/null
@@ -1,42 +0,0 @@
-////
-/// Copyright (c) 2016-2023 Martin Donath <martin.donath@squidfunk.com>
-///
-/// Permission is hereby granted, free of charge, to any person obtaining a
-/// copy of this software and associated documentation files (the "Software"),
-/// to deal in the Software without restriction, including without limitation
-/// the rights to use, copy, modify, merge, publish, distribute, sublicense,
-/// and/or sell copies of the Software, and to permit persons to whom the
-/// Software is furnished to do so, subject to the following conditions:
-///
-/// The above copyright notice and this permission notice shall be included in
-/// all copies or substantial portions of the Software.
-///
-/// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
-/// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
-/// FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT. IN NO EVENT SHALL
-/// THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
-/// LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
-/// FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
-/// DEALINGS
-////
-
-// ----------------------------------------------------------------------------
-// Variables: breakpoints
-// ----------------------------------------------------------------------------
-
-// Device-specific breakpoints
-$break-devices: (
- mobile: (
- portrait: px2em(220px) px2em(479.75px),
- landscape: px2em(480px) px2em(719.75px)
- ),
- tablet: (
- portrait: px2em(720px) px2em(959.75px),
- landscape: px2em(960px) px2em(1219.75px)
- ),
- screen: (
- small: px2em(1220px) px2em(1599.75px),
- medium: px2em(1600px) px2em(1999.75px),
- large: px2em(2000px)
- )
-);
diff --git a/docs/src/templates/assets/stylesheets/main.bd3936ea.min.css b/docs/src/templates/assets/stylesheets/main.bd3936ea.min.css
new file mode 100644
index 00000000..d533893c
--- /dev/null
+++ b/docs/src/templates/assets/stylesheets/main.bd3936ea.min.css
@@ -0,0 +1 @@
+@charset "UTF-8";html{-webkit-text-size-adjust:none;-moz-text-size-adjust:none;text-size-adjust:none;box-sizing:border-box}*,:after,:before{box-sizing:inherit}@media (prefers-reduced-motion){*,:after,:before{transition:none!important}}body{margin:0}a,button,input,label{-webkit-tap-highlight-color:transparent}a{color:inherit;text-decoration:none}hr{border:0;box-sizing:initial;display:block;height:.05rem;overflow:visible;padding:0}small{font-size:80%}sub,sup{line-height:1em}img{border-style:none}table{border-collapse:initial;border-spacing:0}td,th{font-weight:400;vertical-align:top}button{background:#0000;border:0;font-family:inherit;font-size:inherit;margin:0;padding:0}input{border:0;outline:none}:root{--md-primary-fg-color:#4051b5;--md-primary-fg-color--light:#5d6cc0;--md-primary-fg-color--dark:#303fa1;--md-primary-bg-color:#fff;--md-primary-bg-color--light:#ffffffb3;--md-accent-fg-color:#526cfe;--md-accent-fg-color--transparent:#526cfe1a;--md-accent-bg-color:#fff;--md-accent-bg-color--light:#ffffffb3}[data-md-color-scheme=default]{color-scheme:light}[data-md-color-scheme=default] img[src$="#gh-dark-mode-only"],[data-md-color-scheme=default] img[src$="#only-dark"]{display:none}:root,[data-md-color-scheme=default]{--md-hue:225deg;--md-default-fg-color:#000000de;--md-default-fg-color--light:#0000008a;--md-default-fg-color--lighter:#00000052;--md-default-fg-color--lightest:#00000012;--md-default-bg-color:#fff;--md-default-bg-color--light:#ffffffb3;--md-default-bg-color--lighter:#ffffff4d;--md-default-bg-color--lightest:#ffffff1f;--md-code-fg-color:#36464e;--md-code-bg-color:#f5f5f5;--md-code-hl-color:#4287ff;--md-code-hl-color--light:#4287ff1a;--md-code-hl-number-color:#d52a2a;--md-code-hl-special-color:#db1457;--md-code-hl-function-color:#a846b9;--md-code-hl-constant-color:#6e59d9;--md-code-hl-keyword-color:#3f6ec6;--md-code-hl-string-color:#1c7d4d;--md-code-hl-name-color:var(--md-code-fg-color);--md-code-hl-operator-color:var(--md-default-fg-color--light);--md-code-hl-punctuation-color:var(--md-default-fg-color--light);--md-code-hl-comment-color:var(--md-default-fg-color--light);--md-code-hl-generic-color:var(--md-default-fg-color--light);--md-code-hl-variable-color:var(--md-default-fg-color--light);--md-typeset-color:var(--md-default-fg-color);--md-typeset-a-color:var(--md-primary-fg-color);--md-typeset-del-color:#f5503d26;--md-typeset-ins-color:#0bd57026;--md-typeset-kbd-color:#fafafa;--md-typeset-kbd-accent-color:#fff;--md-typeset-kbd-border-color:#b8b8b8;--md-typeset-mark-color:#ffff0080;--md-typeset-table-color:#0000001f;--md-typeset-table-color--light:rgba(0,0,0,.035);--md-admonition-fg-color:var(--md-default-fg-color);--md-admonition-bg-color:var(--md-default-bg-color);--md-warning-fg-color:#000000de;--md-warning-bg-color:#ff9;--md-footer-fg-color:#fff;--md-footer-fg-color--light:#ffffffb3;--md-footer-fg-color--lighter:#ffffff73;--md-footer-bg-color:#000000de;--md-footer-bg-color--dark:#00000052;--md-shadow-z1:0 0.2rem 0.5rem #0000000d,0 0 0.05rem #0000001a;--md-shadow-z2:0 0.2rem 0.5rem #0000001a,0 0 0.05rem #00000040;--md-shadow-z3:0 0.2rem 0.5rem #0003,0 0 0.05rem #00000059}.md-icon svg{fill:currentcolor;display:block;height:1.2rem;width:1.2rem}body{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;--md-text-font-family:var(--md-text-font,_),-apple-system,BlinkMacSystemFont,Helvetica,Arial,sans-serif;--md-code-font-family:var(--md-code-font,_),SFMono-Regular,Consolas,Menlo,monospace}aside,body,input{font-feature-settings:"kern","liga";color:var(--md-typeset-color);font-family:var(--md-text-font-family)}code,kbd,pre{font-feature-settings:"kern";font-family:var(--md-code-font-family)}:root{--md-typeset-table-sort-icon:url('data:image/svg+xml;charset=utf-8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="m18 21-4-4h3V7h-3l4-4 4 4h-3v10h3M2 19v-2h10v2M2 13v-2h7v2M2 7V5h4v2H2Z"/></svg>');--md-typeset-table-sort-icon--asc:url('data:image/svg+xml;charset=utf-8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M19 17h3l-4 4-4-4h3V3h2M2 17h10v2H2M6 5v2H2V5m0 6h7v2H2v-2Z"/></svg>');--md-typeset-table-sort-icon--desc:url('data:image/svg+xml;charset=utf-8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M19 7h3l-4-4-4 4h3v14h2M2 17h10v2H2M6 5v2H2V5m0 6h7v2H2v-2Z"/></svg>')}.md-typeset{-webkit-print-color-adjust:exact;color-adjust:exact;font-size:.8rem;line-height:1.6}@media print{.md-typeset{font-size:.68rem}}.md-typeset blockquote,.md-typeset dl,.md-typeset figure,.md-typeset ol,.md-typeset pre,.md-typeset ul{margin-bottom:1em;margin-top:1em}.md-typeset h1{color:var(--md-default-fg-color--light);font-size:2em;line-height:1.3;margin:0 0 1.25em}.md-typeset h1,.md-typeset h2{font-weight:300;letter-spacing:-.01em}.md-typeset h2{font-size:1.5625em;line-height:1.4;margin:1.6em 0 .64em}.md-typeset h3{font-size:1.25em;font-weight:400;letter-spacing:-.01em;line-height:1.5;margin:1.6em 0 .8em}.md-typeset h2+h3{margin-top:.8em}.md-typeset h4{font-weight:700;letter-spacing:-.01em;margin:1em 0}.md-typeset h5,.md-typeset h6{color:var(--md-default-fg-color--light);font-size:.8em;font-weight:700;letter-spacing:-.01em;margin:1.25em 0}.md-typeset h5{text-transform:uppercase}.md-typeset hr{border-bottom:.05rem solid var(--md-default-fg-color--lightest);display:flow-root;margin:1.5em 0}.md-typeset a{color:var(--md-typeset-a-color);word-break:break-word}.md-typeset a,.md-typeset a:before{transition:color 125ms}.md-typeset a:focus,.md-typeset a:hover{color:var(--md-accent-fg-color)}.md-typeset a:focus code,.md-typeset a:hover code{background-color:var(--md-accent-fg-color--transparent)}.md-typeset a code{color:currentcolor;transition:background-color 125ms}.md-typeset a.focus-visible{outline-color:var(--md-accent-fg-color);outline-offset:.2rem}.md-typeset code,.md-typeset kbd,.md-typeset pre{color:var(--md-code-fg-color);direction:ltr;font-variant-ligatures:none}@media print{.md-typeset code,.md-typeset kbd,.md-typeset pre{white-space:pre-wrap}}.md-typeset code{background-color:var(--md-code-bg-color);border-radius:.1rem;-webkit-box-decoration-break:clone;box-decoration-break:clone;font-size:.85em;padding:0 .2941176471em;word-break:break-word}.md-typeset code:not(.focus-visible){-webkit-tap-highlight-color:transparent;outline:none}.md-typeset pre{display:flow-root;line-height:1.4;position:relative}.md-typeset pre>code{-webkit-box-decoration-break:slice;box-decoration-break:slice;box-shadow:none;display:block;margin:0;outline-color:var(--md-accent-fg-color);overflow:auto;padding:.7720588235em 1.1764705882em;scrollbar-color:var(--md-default-fg-color--lighter) #0000;scrollbar-width:thin;touch-action:auto;word-break:normal}.md-typeset pre>code:hover{scrollbar-color:var(--md-accent-fg-color) #0000}.md-typeset pre>code::-webkit-scrollbar{height:.2rem;width:.2rem}.md-typeset pre>code::-webkit-scrollbar-thumb{background-color:var(--md-default-fg-color--lighter)}.md-typeset pre>code::-webkit-scrollbar-thumb:hover{background-color:var(--md-accent-fg-color)}.md-typeset kbd{background-color:var(--md-typeset-kbd-color);border-radius:.1rem;box-shadow:0 .1rem 0 .05rem var(--md-typeset-kbd-border-color),0 .1rem 0 var(--md-typeset-kbd-border-color),0 -.1rem .2rem var(--md-typeset-kbd-accent-color) inset;color:var(--md-default-fg-color);display:inline-block;font-size:.75em;padding:0 .6666666667em;vertical-align:text-top;word-break:break-word}.md-typeset mark{background-color:var(--md-typeset-mark-color);-webkit-box-decoration-break:clone;box-decoration-break:clone;color:inherit;word-break:break-word}.md-typeset abbr{border-bottom:.05rem dotted var(--md-default-fg-color--light);cursor:help;text-decoration:none}@media (hover:none){.md-typeset abbr[title]:focus:after,.md-typeset abbr[title]:hover:after{background-color:var(--md-default-fg-color);border-radius:.1rem;box-shadow:var(--md-shadow-z3);color:var(--md-default-bg-color);content:attr(title);font-size:.7rem;left:.8rem;margin-top:2em;padding:.2rem .3rem;position:absolute;right:.8rem}}.md-typeset small{opacity:.75}[dir=ltr] .md-typeset sub,[dir=ltr] .md-typeset sup{margin-left:.078125em}[dir=rtl] .md-typeset sub,[dir=rtl] .md-typeset sup{margin-right:.078125em}[dir=ltr] .md-typeset blockquote{padding-left:.6rem}[dir=rtl] .md-typeset blockquote{padding-right:.6rem}[dir=ltr] .md-typeset blockquote{border-left:.2rem solid var(--md-default-fg-color--lighter)}[dir=rtl] .md-typeset blockquote{border-right:.2rem solid var(--md-default-fg-color--lighter)}.md-typeset blockquote{color:var(--md-default-fg-color--light);margin-left:0;margin-right:0}.md-typeset ul{list-style-type:disc}[dir=ltr] .md-typeset ol,[dir=ltr] .md-typeset ul{margin-left:.625em}[dir=rtl] .md-typeset ol,[dir=rtl] .md-typeset ul{margin-right:.625em}.md-typeset ol,.md-typeset ul{padding:0}.md-typeset ol:not([hidden]),.md-typeset ul:not([hidden]){display:flow-root}.md-typeset ol ol,.md-typeset ul ol{list-style-type:lower-alpha}.md-typeset ol ol ol,.md-typeset ul ol ol{list-style-type:lower-roman}[dir=ltr] .md-typeset ol li,[dir=ltr] .md-typeset ul li{margin-left:1.25em}[dir=rtl] .md-typeset ol li,[dir=rtl] .md-typeset ul li{margin-right:1.25em}.md-typeset ol li,.md-typeset ul li{margin-bottom:.5em}.md-typeset ol li blockquote,.md-typeset ol li p,.md-typeset ul li blockquote,.md-typeset ul li p{margin:.5em 0}.md-typeset ol li:last-child,.md-typeset ul li:last-child{margin-bottom:0}[dir=ltr] .md-typeset ol li ol,[dir=ltr] .md-typeset ol li ul,[dir=ltr] .md-typeset ul li ol,[dir=ltr] .md-typeset ul li ul{margin-left:.625em}[dir=rtl] .md-typeset ol li ol,[dir=rtl] .md-typeset ol li ul,[dir=rtl] .md-typeset ul li ol,[dir=rtl] .md-typeset ul li ul{margin-right:.625em}.md-typeset ol li ol,.md-typeset ol li ul,.md-typeset ul li ol,.md-typeset ul li ul{margin-bottom:.5em;margin-top:.5em}[dir=ltr] .md-typeset dd{margin-left:1.875em}[dir=rtl] .md-typeset dd{margin-right:1.875em}.md-typeset dd{margin-bottom:1.5em;margin-top:1em}.md-typeset img,.md-typeset svg,.md-typeset video{height:auto;max-width:100%}.md-typeset img[align=left]{margin:1em 1em 1em 0}.md-typeset img[align=right]{margin:1em 0 1em 1em}.md-typeset img[align]:only-child{margin-top:0}.md-typeset figure{display:flow-root;margin:1em auto;max-width:100%;text-align:center;width:-webkit-fit-content;width:-moz-fit-content;width:fit-content}.md-typeset figure img{display:block}.md-typeset figcaption{font-style:italic;margin:1em auto;max-width:24rem}.md-typeset iframe{max-width:100%}.md-typeset table:not([class]){background-color:var(--md-default-bg-color);border:.05rem solid var(--md-typeset-table-color);border-radius:.1rem;display:inline-block;font-size:.64rem;max-width:100%;overflow:auto;touch-action:auto}@media print{.md-typeset table:not([class]){display:table}}.md-typeset table:not([class])+*{margin-top:1.5em}.md-typeset table:not([class]) td>:first-child,.md-typeset table:not([class]) th>:first-child{margin-top:0}.md-typeset table:not([class]) td>:last-child,.md-typeset table:not([class]) th>:last-child{margin-bottom:0}.md-typeset table:not([class]) td:not([align]),.md-typeset table:not([class]) th:not([align]){text-align:left}[dir=rtl] .md-typeset table:not([class]) td:not([align]),[dir=rtl] .md-typeset table:not([class]) th:not([align]){text-align:right}.md-typeset table:not([class]) th{font-weight:700;min-width:5rem;padding:.9375em 1.25em;vertical-align:top}.md-typeset table:not([class]) td{border-top:.05rem solid var(--md-typeset-table-color);padding:.9375em 1.25em;vertical-align:top}.md-typeset table:not([class]) tbody tr{transition:background-color 125ms}.md-typeset table:not([class]) tbody tr:hover{background-color:var(--md-typeset-table-color--light);box-shadow:0 .05rem 0 var(--md-default-bg-color) inset}.md-typeset table:not([class]) a{word-break:normal}.md-typeset table th[role=columnheader]{cursor:pointer}[dir=ltr] .md-typeset table th[role=columnheader]:after{margin-left:.5em}[dir=rtl] .md-typeset table th[role=columnheader]:after{margin-right:.5em}.md-typeset table th[role=columnheader]:after{content:"";display:inline-block;height:1.2em;-webkit-mask-image:var(--md-typeset-table-sort-icon);mask-image:var(--md-typeset-table-sort-icon);-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat;-webkit-mask-size:contain;mask-size:contain;transition:background-color 125ms;vertical-align:text-bottom;width:1.2em}.md-typeset table th[role=columnheader]:hover:after{background-color:var(--md-default-fg-color--lighter)}.md-typeset table th[role=columnheader][aria-sort=ascending]:after{background-color:var(--md-default-fg-color--light);-webkit-mask-image:var(--md-typeset-table-sort-icon--asc);mask-image:var(--md-typeset-table-sort-icon--asc)}.md-typeset table th[role=columnheader][aria-sort=descending]:after{background-color:var(--md-default-fg-color--light);-webkit-mask-image:var(--md-typeset-table-sort-icon--desc);mask-image:var(--md-typeset-table-sort-icon--desc)}.md-typeset__scrollwrap{margin:1em -.8rem;overflow-x:auto;touch-action:auto}.md-typeset__table{display:inline-block;margin-bottom:.5em;padding:0 .8rem}@media print{.md-typeset__table{display:block}}html .md-typeset__table table{display:table;margin:0;overflow:hidden;width:100%}@media screen and (max-width:44.984375em){.md-content__inner>pre{margin:1em -.8rem}.md-content__inner>pre code{border-radius:0}}.md-typeset .md-author{display:block;flex-shrink:0;height:1.6rem;overflow:hidden;position:relative;transition:color 125ms,transform 125ms;width:1.6rem}.md-typeset .md-author img{border-radius:100%;display:block}.md-typeset .md-author--more{background:var(--md-default-fg-color--lightest);color:var(--md-default-fg-color--lighter);font-size:.6rem;font-weight:700;line-height:1.6rem;text-align:center}.md-typeset .md-author--long{height:2.4rem;width:2.4rem}.md-typeset a.md-author{transform:scale(1)}.md-typeset a.md-author img{filter:grayscale(100%) opacity(75%);transition:filter 125ms}.md-typeset a.md-author:focus,.md-typeset a.md-author:hover{transform:scale(1.1);z-index:1}.md-typeset a.md-author:focus img,.md-typeset a.md-author:hover img{filter:grayscale(0)}.md-banner{background-color:var(--md-footer-bg-color);color:var(--md-footer-fg-color);overflow:auto}@media print{.md-banner{display:none}}.md-banner--warning{background-color:var(--md-warning-bg-color);color:var(--md-warning-fg-color)}.md-banner__inner{font-size:.7rem;margin:.6rem auto;padding:0 .8rem}[dir=ltr] .md-banner__button{float:right}[dir=rtl] .md-banner__button{float:left}.md-banner__button{color:inherit;cursor:pointer;transition:opacity .25s}.no-js .md-banner__button{display:none}.md-banner__button:hover{opacity:.7}html{font-size:125%;height:100%;overflow-x:hidden}@media screen and (min-width:100em){html{font-size:137.5%}}@media screen and (min-width:125em){html{font-size:150%}}body{background-color:var(--md-default-bg-color);display:flex;flex-direction:column;font-size:.5rem;min-height:100%;position:relative;width:100%}@media print{body{display:block}}@media screen and (max-width:59.984375em){body[data-md-scrolllock]{position:fixed}}.md-grid{margin-left:auto;margin-right:auto;max-width:61rem}.md-container{display:flex;flex-direction:column;flex-grow:1}@media print{.md-container{display:block}}.md-main{flex-grow:1}.md-main__inner{display:flex;height:100%;margin-top:1.5rem}.md-ellipsis{overflow:hidden;text-overflow:ellipsis}.md-toggle{display:none}.md-option{height:0;opacity:0;position:absolute;width:0}.md-option:checked+label:not([hidden]){display:block}.md-option.focus-visible+label{outline-color:var(--md-accent-fg-color);outline-style:auto}.md-skip{background-color:var(--md-default-fg-color);border-radius:.1rem;color:var(--md-default-bg-color);font-size:.64rem;margin:.5rem;opacity:0;outline-color:var(--md-accent-fg-color);padding:.3rem .5rem;position:fixed;transform:translateY(.4rem);z-index:-1}.md-skip:focus{opacity:1;transform:translateY(0);transition:transform .25s cubic-bezier(.4,0,.2,1),opacity 175ms 75ms;z-index:10}@page{margin:25mm}:root{--md-clipboard-icon:url('data:image/svg+xml;charset=utf-8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M19 21H8V7h11m0-2H8a2 2 0 0 0-2 2v14a2 2 0 0 0 2 2h11a2 2 0 0 0 2-2V7a2 2 0 0 0-2-2m-3-4H4a2 2 0 0 0-2 2v14h2V3h12V1Z"/></svg>')}.md-clipboard{border-radius:.1rem;color:var(--md-default-fg-color--lightest);cursor:pointer;height:1.5em;outline-color:var(--md-accent-fg-color);outline-offset:.1rem;position:absolute;right:.5em;top:.5em;transition:color .25s;width:1.5em;z-index:1}@media print{.md-clipboard{display:none}}.md-clipboard:not(.focus-visible){-webkit-tap-highlight-color:transparent;outline:none}:hover>.md-clipboard{color:var(--md-default-fg-color--light)}.md-clipboard:focus,.md-clipboard:hover{color:var(--md-accent-fg-color)}.md-clipboard:after{background-color:currentcolor;content:"";display:block;height:1.125em;margin:0 auto;-webkit-mask-image:var(--md-clipboard-icon);mask-image:var(--md-clipboard-icon);-webkit-mask-position:center;mask-position:center;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat;-webkit-mask-size:contain;mask-size:contain;width:1.125em}.md-clipboard--inline{cursor:pointer}.md-clipboard--inline code{transition:color .25s,background-color .25s}.md-clipboard--inline:focus code,.md-clipboard--inline:hover code{background-color:var(--md-accent-fg-color--transparent);color:var(--md-accent-fg-color)}@keyframes consent{0%{opacity:0;transform:translateY(100%)}to{opacity:1;transform:translateY(0)}}@keyframes overlay{0%{opacity:0}to{opacity:1}}.md-consent__overlay{animation:overlay .25s both;-webkit-backdrop-filter:blur(.1rem);backdrop-filter:blur(.1rem);background-color:#0000008a;height:100%;opacity:1;position:fixed;top:0;width:100%;z-index:5}.md-consent__inner{animation:consent .5s cubic-bezier(.1,.7,.1,1) both;background-color:var(--md-default-bg-color);border:0;border-radius:.1rem;bottom:0;box-shadow:0 0 .2rem #0000001a,0 .2rem .4rem #0003;max-height:100%;overflow:auto;padding:0;position:fixed;width:100%;z-index:5}.md-consent__form{padding:.8rem}.md-consent__settings{display:none;margin:1em 0}input:checked+.md-consent__settings{display:block}.md-consent__controls{margin-bottom:.8rem}.md-typeset .md-consent__controls .md-button{display:inline}@media screen and (max-width:44.984375em){.md-typeset .md-consent__controls .md-button{display:block;margin-top:.4rem;text-align:center;width:100%}}.md-consent label{cursor:pointer}.md-content{flex-grow:1;min-width:0}.md-content__inner{margin:0 .8rem 1.2rem;padding-top:.6rem}@media screen and (min-width:76.25em){[dir=ltr] .md-sidebar--primary:not([hidden])~.md-content>.md-content__inner{margin-left:1.2rem}[dir=ltr] .md-sidebar--secondary:not([hidden])~.md-content>.md-content__inner,[dir=rtl] .md-sidebar--primary:not([hidden])~.md-content>.md-content__inner{margin-right:1.2rem}[dir=rtl] .md-sidebar--secondary:not([hidden])~.md-content>.md-content__inner{margin-left:1.2rem}}.md-content__inner:before{content:"";display:block;height:.4rem}.md-content__inner>:last-child{margin-bottom:0}[dir=ltr] .md-content__button{float:right}[dir=rtl] .md-content__button{float:left}[dir=ltr] .md-content__button{margin-left:.4rem}[dir=rtl] .md-content__button{margin-right:.4rem}.md-content__button{margin:.4rem 0;padding:0}@media print{.md-content__button{display:none}}.md-typeset .md-content__button{color:var(--md-default-fg-color--lighter)}.md-content__button svg{display:inline;vertical-align:top}[dir=rtl] .md-content__button svg{transform:scaleX(-1)}[dir=ltr] .md-dialog{right:.8rem}[dir=rtl] .md-dialog{left:.8rem}.md-dialog{background-color:var(--md-default-fg-color);border-radius:.1rem;bottom:.8rem;box-shadow:var(--md-shadow-z3);min-width:11.1rem;opacity:0;padding:.4rem .6rem;pointer-events:none;position:fixed;transform:translateY(100%);transition:transform 0ms .4s,opacity .4s;z-index:4}@media print{.md-dialog{display:none}}.md-dialog--active{opacity:1;pointer-events:auto;transform:translateY(0);transition:transform .4s cubic-bezier(.075,.85,.175,1),opacity .4s}.md-dialog__inner{color:var(--md-default-bg-color);font-size:.7rem}.md-feedback{margin:2em 0 1em;text-align:center}.md-feedback fieldset{border:none;margin:0;padding:0}.md-feedback__title{font-weight:700;margin:1em auto}.md-feedback__inner{position:relative}.md-feedback__list{align-content:baseline;display:flex;flex-wrap:wrap;justify-content:center;position:relative}.md-feedback__list:hover .md-icon:not(:disabled){color:var(--md-default-fg-color--lighter)}:disabled .md-feedback__list{min-height:1.8rem}.md-feedback__icon{color:var(--md-default-fg-color--light);cursor:pointer;flex-shrink:0;margin:0 .1rem;transition:color 125ms}.md-feedback__icon:not(:disabled).md-icon:hover{color:var(--md-accent-fg-color)}.md-feedback__icon:disabled{color:var(--md-default-fg-color--lightest);pointer-events:none}.md-feedback__note{opacity:0;position:relative;transform:translateY(.4rem);transition:transform .4s cubic-bezier(.1,.7,.1,1),opacity .15s}.md-feedback__note>*{margin:0 auto;max-width:16rem}:disabled .md-feedback__note{opacity:1;transform:translateY(0)}.md-footer{background-color:var(--md-footer-bg-color);color:var(--md-footer-fg-color)}@media print{.md-footer{display:none}}.md-footer__inner{justify-content:space-between;overflow:auto;padding:.2rem}.md-footer__inner:not([hidden]){display:flex}.md-footer__link{align-items:end;display:flex;flex-grow:0.01;margin-bottom:.4rem;margin-top:1rem;max-width:100%;outline-color:var(--md-accent-fg-color);overflow:hidden;transition:opacity .25s}.md-footer__link:focus,.md-footer__link:hover{opacity:.7}[dir=rtl] .md-footer__link svg{transform:scaleX(-1)}@media screen and (max-width:44.984375em){.md-footer__link--prev{flex-shrink:0}.md-footer__link--prev .md-footer__title{display:none}}[dir=ltr] .md-footer__link--next{margin-left:auto}[dir=rtl] .md-footer__link--next{margin-right:auto}.md-footer__link--next{text-align:right}[dir=rtl] .md-footer__link--next{text-align:left}.md-footer__title{flex-grow:1;font-size:.9rem;margin-bottom:.7rem;max-width:calc(100% - 2.4rem);padding:0 1rem;white-space:nowrap}.md-footer__button{margin:.2rem;padding:.4rem}.md-footer__direction{font-size:.64rem;opacity:.7}.md-footer-meta{background-color:var(--md-footer-bg-color--dark)}.md-footer-meta__inner{display:flex;flex-wrap:wrap;justify-content:space-between;padding:.2rem}html .md-footer-meta.md-typeset a{color:var(--md-footer-fg-color--light)}html .md-footer-meta.md-typeset a:focus,html .md-footer-meta.md-typeset a:hover{color:var(--md-footer-fg-color)}.md-copyright{color:var(--md-footer-fg-color--lighter);font-size:.64rem;margin:auto .6rem;padding:.4rem 0;width:100%}@media screen and (min-width:45em){.md-copyright{width:auto}}.md-copyright__highlight{color:var(--md-footer-fg-color--light)}.md-social{display:inline-flex;gap:.2rem;margin:0 .4rem;padding:.2rem 0 .6rem}@media screen and (min-width:45em){.md-social{padding:.6rem 0}}.md-social__link{display:inline-block;height:1.6rem;text-align:center;width:1.6rem}.md-social__link:before{line-height:1.9}.md-social__link svg{fill:currentcolor;max-height:.8rem;vertical-align:-25%}.md-typeset .md-button{border:.1rem solid;border-radius:.1rem;color:var(--md-primary-fg-color);cursor:pointer;display:inline-block;font-weight:700;padding:.625em 2em;transition:color 125ms,background-color 125ms,border-color 125ms}.md-typeset .md-button--primary{background-color:var(--md-primary-fg-color);border-color:var(--md-primary-fg-color);color:var(--md-primary-bg-color)}.md-typeset .md-button:focus,.md-typeset .md-button:hover{background-color:var(--md-accent-fg-color);border-color:var(--md-accent-fg-color);color:var(--md-accent-bg-color)}[dir=ltr] .md-typeset .md-input{border-top-left-radius:.1rem}[dir=ltr] .md-typeset .md-input,[dir=rtl] .md-typeset .md-input{border-top-right-radius:.1rem}[dir=rtl] .md-typeset .md-input{border-top-left-radius:.1rem}.md-typeset .md-input{border-bottom:.1rem solid var(--md-default-fg-color--lighter);box-shadow:var(--md-shadow-z1);font-size:.8rem;height:1.8rem;padding:0 .6rem;transition:border .25s,box-shadow .25s}.md-typeset .md-input:focus,.md-typeset .md-input:hover{border-bottom-color:var(--md-accent-fg-color);box-shadow:var(--md-shadow-z2)}.md-typeset .md-input--stretch{width:100%}.md-header{background-color:var(--md-primary-fg-color);box-shadow:0 0 .2rem #0000,0 .2rem .4rem #0000;color:var(--md-primary-bg-color);display:block;left:0;position:sticky;right:0;top:0;z-index:4}@media print{.md-header{display:none}}.md-header[hidden]{transform:translateY(-100%);transition:transform .25s cubic-bezier(.8,0,.6,1),box-shadow .25s}.md-header--shadow{box-shadow:0 0 .2rem #0000001a,0 .2rem .4rem #0003;transition:transform .25s cubic-bezier(.1,.7,.1,1),box-shadow .25s}.md-header__inner{align-items:center;display:flex;padding:0 .2rem}.md-header__button{color:currentcolor;cursor:pointer;margin:.2rem;outline-color:var(--md-accent-fg-color);padding:.4rem;position:relative;transition:opacity .25s;vertical-align:middle;z-index:1}.md-header__button:hover{opacity:.7}.md-header__button:not([hidden]){display:inline-block}.md-header__button:not(.focus-visible){-webkit-tap-highlight-color:transparent;outline:none}.md-header__button.md-logo{margin:.2rem;padding:.4rem}@media screen and (max-width:76.234375em){.md-header__button.md-logo{display:none}}.md-header__button.md-logo img,.md-header__button.md-logo svg{fill:currentcolor;display:block;height:1.2rem;width:auto}@media screen and (min-width:60em){.md-header__button[for=__search]{display:none}}.no-js .md-header__button[for=__search]{display:none}[dir=rtl] .md-header__button[for=__search] svg{transform:scaleX(-1)}@media screen and (min-width:76.25em){.md-header__button[for=__drawer]{display:none}}.md-header__topic{display:flex;max-width:100%;position:absolute;transition:transform .4s cubic-bezier(.1,.7,.1,1),opacity .15s;white-space:nowrap}.md-header__topic+.md-header__topic{opacity:0;pointer-events:none;transform:translateX(1.25rem);transition:transform .4s cubic-bezier(1,.7,.1,.1),opacity .15s;z-index:-1}[dir=rtl] .md-header__topic+.md-header__topic{transform:translateX(-1.25rem)}.md-header__topic:first-child{font-weight:700}[dir=ltr] .md-header__title{margin-left:1rem}[dir=rtl] .md-header__title{margin-right:1rem}[dir=ltr] .md-header__title{margin-right:.4rem}[dir=rtl] .md-header__title{margin-left:.4rem}.md-header__title{flex-grow:1;font-size:.9rem;height:2.4rem;line-height:2.4rem}.md-header__title--active .md-header__topic{opacity:0;pointer-events:none;transform:translateX(-1.25rem);transition:transform .4s cubic-bezier(1,.7,.1,.1),opacity .15s;z-index:-1}[dir=rtl] .md-header__title--active .md-header__topic{transform:translateX(1.25rem)}.md-header__title--active .md-header__topic+.md-header__topic{opacity:1;pointer-events:auto;transform:translateX(0);transition:transform .4s cubic-bezier(.1,.7,.1,1),opacity .15s;z-index:0}.md-header__title>.md-header__ellipsis{height:100%;position:relative;width:100%}.md-header__option{display:flex;flex-shrink:0;max-width:100%;transition:max-width 0ms .25s,opacity .25s .25s;white-space:nowrap}[data-md-toggle=search]:checked~.md-header .md-header__option{max-width:0;opacity:0;transition:max-width 0ms,opacity 0ms}.md-header__option>input{bottom:0}.md-header__source{display:none}@media screen and (min-width:60em){[dir=ltr] .md-header__source{margin-left:1rem}[dir=rtl] .md-header__source{margin-right:1rem}.md-header__source{display:block;max-width:11.7rem;width:11.7rem}}@media screen and (min-width:76.25em){[dir=ltr] .md-header__source{margin-left:1.4rem}[dir=rtl] .md-header__source{margin-right:1.4rem}}.md-meta{color:var(--md-default-fg-color--light);font-size:.7rem;line-height:1.3}.md-meta__list{display:inline-flex;flex-wrap:wrap;list-style:none;margin:0;padding:0}.md-meta__item:not(:last-child):after{content:"·";margin-left:.2rem;margin-right:.2rem}.md-meta__link{color:var(--md-typeset-a-color)}.md-meta__link:focus,.md-meta__link:hover{color:var(--md-accent-fg-color)}.md-draft{background-color:#ff1744;border-radius:.125em;color:#fff;display:inline-block;font-weight:700;padding-left:.5714285714em;padding-right:.5714285714em}:root{--md-nav-icon--prev:url('data:image/svg+xml;charset=utf-8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M20 11v2H8l5.5 5.5-1.42 1.42L4.16 12l7.92-7.92L13.5 5.5 8 11h12Z"/></svg>');--md-nav-icon--next:url('data:image/svg+xml;charset=utf-8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M8.59 16.58 13.17 12 8.59 7.41 10 6l6 6-6 6-1.41-1.42Z"/></svg>');--md-toc-icon:url('data:image/svg+xml;charset=utf-8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M3 9h14V7H3v2m0 4h14v-2H3v2m0 4h14v-2H3v2m16 0h2v-2h-2v2m0-10v2h2V7h-2m0 6h2v-2h-2v2Z"/></svg>')}.md-nav{font-size:.7rem;line-height:1.3}.md-nav__title{color:var(--md-default-fg-color--light);display:block;font-weight:700;overflow:hidden;padding:0 .6rem;text-overflow:ellipsis}.md-nav__title .md-nav__button{display:none}.md-nav__title .md-nav__button img{height:100%;width:auto}.md-nav__title .md-nav__button.md-logo img,.md-nav__title .md-nav__button.md-logo svg{fill:currentcolor;display:block;height:2.4rem;max-width:100%;object-fit:contain;width:auto}.md-nav__list{list-style:none;margin:0;padding:0}.md-nav__link{align-items:flex-start;display:flex;gap:.4rem;margin-top:.625em;scroll-snap-align:start;transition:color 125ms}.md-nav__link--passed{color:var(--md-default-fg-color--light)}.md-nav__item .md-nav__link--active,.md-nav__item .md-nav__link--active code{color:var(--md-typeset-a-color)}.md-nav__link .md-ellipsis{position:relative}[dir=ltr] .md-nav__link .md-icon:last-child{margin-left:auto}[dir=rtl] .md-nav__link .md-icon:last-child{margin-right:auto}.md-nav__link svg{fill:currentcolor;flex-shrink:0;height:1.3em}.md-nav__link[for]:focus,.md-nav__link[for]:hover,.md-nav__link[href]:focus,.md-nav__link[href]:hover{color:var(--md-accent-fg-color);cursor:pointer}.md-nav__link.focus-visible{outline-color:var(--md-accent-fg-color);outline-offset:.2rem}.md-nav--primary .md-nav__link[for=__toc]{display:none}.md-nav--primary .md-nav__link[for=__toc] .md-icon:after{background-color:currentcolor;display:block;height:100%;-webkit-mask-image:var(--md-toc-icon);mask-image:var(--md-toc-icon);width:100%}.md-nav--primary .md-nav__link[for=__toc]~.md-nav{display:none}.md-nav__container>.md-nav__link{margin-top:0}.md-nav__container>.md-nav__link:first-child{flex-grow:1;min-width:0}.md-nav__icon{flex-shrink:0}.md-nav__source{display:none}@media screen and (max-width:76.234375em){.md-nav--primary,.md-nav--primary .md-nav{background-color:var(--md-default-bg-color);display:flex;flex-direction:column;height:100%;left:0;position:absolute;right:0;top:0;z-index:1}.md-nav--primary .md-nav__item,.md-nav--primary .md-nav__title{font-size:.8rem;line-height:1.5}.md-nav--primary .md-nav__title{background-color:var(--md-default-fg-color--lightest);color:var(--md-default-fg-color--light);cursor:pointer;height:5.6rem;line-height:2.4rem;padding:3rem .8rem .2rem;position:relative;white-space:nowrap}[dir=ltr] .md-nav--primary .md-nav__title .md-nav__icon{left:.4rem}[dir=rtl] .md-nav--primary .md-nav__title .md-nav__icon{right:.4rem}.md-nav--primary .md-nav__title .md-nav__icon{display:block;height:1.2rem;margin:.2rem;position:absolute;top:.4rem;width:1.2rem}.md-nav--primary .md-nav__title .md-nav__icon:after{background-color:currentcolor;content:"";display:block;height:100%;-webkit-mask-image:var(--md-nav-icon--prev);mask-image:var(--md-nav-icon--prev);-webkit-mask-position:center;mask-position:center;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat;-webkit-mask-size:contain;mask-size:contain;width:100%}.md-nav--primary .md-nav__title~.md-nav__list{background-color:var(--md-default-bg-color);box-shadow:0 .05rem 0 var(--md-default-fg-color--lightest) inset;overflow-y:auto;scroll-snap-type:y mandatory;touch-action:pan-y}.md-nav--primary .md-nav__title~.md-nav__list>:first-child{border-top:0}.md-nav--primary .md-nav__title[for=__drawer]{background-color:var(--md-primary-fg-color);color:var(--md-primary-bg-color);font-weight:700}.md-nav--primary .md-nav__title .md-logo{display:block;left:.2rem;margin:.2rem;padding:.4rem;position:absolute;right:.2rem;top:.2rem}.md-nav--primary .md-nav__list{flex:1}.md-nav--primary .md-nav__item{border-top:.05rem solid var(--md-default-fg-color--lightest)}.md-nav--primary .md-nav__item--active>.md-nav__link{color:var(--md-typeset-a-color)}.md-nav--primary .md-nav__item--active>.md-nav__link:focus,.md-nav--primary .md-nav__item--active>.md-nav__link:hover{color:var(--md-accent-fg-color)}.md-nav--primary .md-nav__link{margin-top:0;padding:.6rem .8rem}.md-nav--primary .md-nav__link svg{margin-top:.1em}.md-nav--primary .md-nav__link>.md-nav__link{padding:0}[dir=ltr] .md-nav--primary .md-nav__link .md-nav__icon{margin-right:-.2rem}[dir=rtl] .md-nav--primary .md-nav__link .md-nav__icon{margin-left:-.2rem}.md-nav--primary .md-nav__link .md-nav__icon{font-size:1.2rem;height:1.2rem;width:1.2rem}.md-nav--primary .md-nav__link .md-nav__icon:after{background-color:currentcolor;content:"";display:block;height:100%;-webkit-mask-image:var(--md-nav-icon--next);mask-image:var(--md-nav-icon--next);-webkit-mask-position:center;mask-position:center;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat;-webkit-mask-size:contain;mask-size:contain;width:100%}[dir=rtl] .md-nav--primary .md-nav__icon:after{transform:scale(-1)}.md-nav--primary .md-nav--secondary .md-nav{background-color:initial;position:static}[dir=ltr] .md-nav--primary .md-nav--secondary .md-nav .md-nav__link{padding-left:1.4rem}[dir=rtl] .md-nav--primary .md-nav--secondary .md-nav .md-nav__link{padding-right:1.4rem}[dir=ltr] .md-nav--primary .md-nav--secondary .md-nav .md-nav .md-nav__link{padding-left:2rem}[dir=rtl] .md-nav--primary .md-nav--secondary .md-nav .md-nav .md-nav__link{padding-right:2rem}[dir=ltr] .md-nav--primary .md-nav--secondary .md-nav .md-nav .md-nav .md-nav__link{padding-left:2.6rem}[dir=rtl] .md-nav--primary .md-nav--secondary .md-nav .md-nav .md-nav .md-nav__link{padding-right:2.6rem}[dir=ltr] .md-nav--primary .md-nav--secondary .md-nav .md-nav .md-nav .md-nav .md-nav__link{padding-left:3.2rem}[dir=rtl] .md-nav--primary .md-nav--secondary .md-nav .md-nav .md-nav .md-nav .md-nav__link{padding-right:3.2rem}.md-nav--secondary{background-color:initial}.md-nav__toggle~.md-nav{display:flex;opacity:0;transform:translateX(100%);transition:transform .25s cubic-bezier(.8,0,.6,1),opacity 125ms 50ms}[dir=rtl] .md-nav__toggle~.md-nav{transform:translateX(-100%)}.md-nav__toggle:checked~.md-nav{opacity:1;transform:translateX(0);transition:transform .25s cubic-bezier(.4,0,.2,1),opacity 125ms 125ms}.md-nav__toggle:checked~.md-nav>.md-nav__list{-webkit-backface-visibility:hidden;backface-visibility:hidden}}@media screen and (max-width:59.984375em){.md-nav--primary .md-nav__link[for=__toc]{display:flex}.md-nav--primary .md-nav__link[for=__toc] .md-icon:after{content:""}.md-nav--primary .md-nav__link[for=__toc]+.md-nav__link{display:none}.md-nav--primary .md-nav__link[for=__toc]~.md-nav{display:flex}.md-nav__source{background-color:var(--md-primary-fg-color--dark);color:var(--md-primary-bg-color);display:block;padding:0 .2rem}}@media screen and (min-width:60em) and (max-width:76.234375em){.md-nav--integrated .md-nav__link[for=__toc]{display:flex}.md-nav--integrated .md-nav__link[for=__toc] .md-icon:after{content:""}.md-nav--integrated .md-nav__link[for=__toc]+.md-nav__link{display:none}.md-nav--integrated .md-nav__link[for=__toc]~.md-nav{display:flex}}@media screen and (min-width:60em){.md-nav{margin-bottom:-.4rem}.md-nav--secondary .md-nav__title{background:var(--md-default-bg-color);box-shadow:0 0 .4rem .4rem var(--md-default-bg-color);position:sticky;top:0;z-index:1}.md-nav--secondary .md-nav__title[for=__toc]{scroll-snap-align:start}.md-nav--secondary .md-nav__title .md-nav__icon{display:none}[dir=ltr] .md-nav--secondary .md-nav__list{padding-left:.6rem}[dir=rtl] .md-nav--secondary .md-nav__list{padding-right:.6rem}.md-nav--secondary .md-nav__list{padding-bottom:.4rem}[dir=ltr] .md-nav--secondary .md-nav__item>.md-nav__link{margin-right:.4rem}[dir=rtl] .md-nav--secondary .md-nav__item>.md-nav__link{margin-left:.4rem}}@media screen and (min-width:76.25em){.md-nav{margin-bottom:-.4rem;transition:max-height .25s cubic-bezier(.86,0,.07,1)}.md-nav--primary .md-nav__title{background:var(--md-default-bg-color);box-shadow:0 0 .4rem .4rem var(--md-default-bg-color);position:sticky;top:0;z-index:1}.md-nav--primary .md-nav__title[for=__drawer]{scroll-snap-align:start}.md-nav--primary .md-nav__title .md-nav__icon{display:none}[dir=ltr] .md-nav--primary .md-nav__list{padding-left:.6rem}[dir=rtl] .md-nav--primary .md-nav__list{padding-right:.6rem}.md-nav--primary .md-nav__list{padding-bottom:.4rem}[dir=ltr] .md-nav--primary .md-nav__item>.md-nav__link{margin-right:.4rem}[dir=rtl] .md-nav--primary .md-nav__item>.md-nav__link{margin-left:.4rem}.md-nav__toggle~.md-nav{display:grid;grid-template-rows:0fr;opacity:0;transition:grid-template-rows .25s cubic-bezier(.86,0,.07,1),opacity .25s,visibility 0ms .25s;visibility:collapse}.md-nav__toggle~.md-nav>.md-nav__list{overflow:hidden}.md-nav__toggle:checked~.md-nav,.md-nav__toggle:indeterminate~.md-nav{grid-template-rows:1fr;opacity:1;transition:grid-template-rows .25s cubic-bezier(.86,0,.07,1),opacity .15s .1s,visibility 0ms;visibility:visible}.md-nav__item--nested>.md-nav>.md-nav__title{display:none}.md-nav__item--section{display:block;margin:1.25em 0}.md-nav__item--section:last-child{margin-bottom:0}.md-nav__item--section>.md-nav__link{font-weight:700}.md-nav__item--section>.md-nav__link[for]{color:var(--md-default-fg-color--light)}.md-nav__item--section>.md-nav__link:not(.md-nav__container){pointer-events:none}.md-nav__item--section>.md-nav__link .md-icon,.md-nav__item--section>.md-nav__link>[for]{display:none}[dir=ltr] .md-nav__item--section>.md-nav{margin-left:-.6rem}[dir=rtl] .md-nav__item--section>.md-nav{margin-right:-.6rem}.md-nav__item--section>.md-nav{display:block;opacity:1;visibility:visible}.md-nav__item--section>.md-nav>.md-nav__list>.md-nav__item{padding:0}.md-nav__icon{border-radius:100%;height:.9rem;transition:background-color .25s;width:.9rem}.md-nav__icon:hover{background-color:var(--md-accent-fg-color--transparent)}.md-nav__icon:after{background-color:currentcolor;border-radius:100%;content:"";display:inline-block;height:100%;-webkit-mask-image:var(--md-nav-icon--next);mask-image:var(--md-nav-icon--next);-webkit-mask-position:center;mask-position:center;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat;-webkit-mask-size:contain;mask-size:contain;transition:transform .25s;vertical-align:-.1rem;width:100%}[dir=rtl] .md-nav__icon:after{transform:rotate(180deg)}.md-nav__item--nested .md-nav__toggle:checked~.md-nav__link .md-nav__icon:after,.md-nav__item--nested .md-nav__toggle:indeterminate~.md-nav__link .md-nav__icon:after{transform:rotate(90deg)}.md-nav--lifted>.md-nav__list>.md-nav__item,.md-nav--lifted>.md-nav__title{display:none}.md-nav--lifted>.md-nav__list>.md-nav__item--active{display:block}.md-nav--lifted>.md-nav__list>.md-nav__item--active>.md-nav__link{background:var(--md-default-bg-color);box-shadow:0 0 .4rem .4rem var(--md-default-bg-color);margin-top:0;position:sticky;top:0;z-index:1}.md-nav--lifted>.md-nav__list>.md-nav__item--active>.md-nav__link:not(.md-nav__container){pointer-events:none}.md-nav--lifted>.md-nav__list>.md-nav__item--active.md-nav__item--section{margin:0}[dir=ltr] .md-nav--lifted>.md-nav__list>.md-nav__item>.md-nav{margin-left:-.6rem}[dir=rtl] .md-nav--lifted>.md-nav__list>.md-nav__item>.md-nav{margin-right:-.6rem}.md-nav--lifted>.md-nav__list>.md-nav__item>[for]{color:var(--md-default-fg-color--light)}.md-nav--lifted .md-nav[data-md-level="1"]{grid-template-rows:1fr;opacity:1;visibility:visible}.md-nav--integrated>.md-nav__list>.md-nav__item--active:not(.md-nav__item--nested){padding:0 .6rem}.md-nav--integrated>.md-nav__list>.md-nav__item--active:not(.md-nav__item--nested)>.md-nav__link{padding:0}[dir=ltr] .md-nav--integrated>.md-nav__list>.md-nav__item--active .md-nav--secondary{border-left:.05rem solid var(--md-primary-fg-color)}[dir=rtl] .md-nav--integrated>.md-nav__list>.md-nav__item--active .md-nav--secondary{border-right:.05rem solid var(--md-primary-fg-color)}.md-nav--integrated>.md-nav__list>.md-nav__item--active .md-nav--secondary{display:block;margin-bottom:1.25em;opacity:1;visibility:visible}.md-nav--integrated>.md-nav__list>.md-nav__item--active .md-nav--secondary>.md-nav__list{overflow:visible;padding-bottom:0}.md-nav--integrated>.md-nav__list>.md-nav__item--active .md-nav--secondary>.md-nav__title{display:none}}.md-pagination{font-size:.8rem;font-weight:700;gap:.4rem}.md-pagination,.md-pagination>*{align-items:center;display:flex;justify-content:center}.md-pagination>*{border-radius:.2rem;height:1.8rem;min-width:1.8rem;text-align:center}.md-pagination__current{background-color:var(--md-default-fg-color--lightest);color:var(--md-default-fg-color--light)}.md-pagination__link{transition:color 125ms,background-color 125ms}.md-pagination__link:focus,.md-pagination__link:hover{background-color:var(--md-accent-fg-color--transparent);color:var(--md-accent-fg-color)}.md-pagination__link:focus svg,.md-pagination__link:hover svg{color:var(--md-accent-fg-color)}.md-pagination__link.focus-visible{outline-color:var(--md-accent-fg-color);outline-offset:.2rem}.md-pagination__link svg{fill:currentcolor;color:var(--md-default-fg-color--lighter);display:block;max-height:100%;width:1.2rem}.md-post__back{border-bottom:.05rem solid var(--md-default-fg-color--lightest);margin-bottom:1.2rem;padding-bottom:1.2rem}@media screen and (max-width:76.234375em){.md-post__back{display:none}}[dir=rtl] .md-post__back svg{transform:scaleX(-1)}.md-post__authors{display:flex;flex-direction:column;gap:.6rem;margin:0 .6rem 1.2rem}.md-post .md-post__meta a{transition:color 125ms}.md-post .md-post__meta a:focus,.md-post .md-post__meta a:hover{color:var(--md-accent-fg-color)}.md-post__title{color:var(--md-default-fg-color--light);font-weight:700}.md-post--excerpt{margin-bottom:3.2rem}.md-post--excerpt .md-post__header{align-items:center;display:flex;gap:.6rem;min-height:1.6rem}.md-post--excerpt .md-post__authors{align-items:center;display:inline-flex;flex-direction:row;gap:.2rem;margin:0;min-height:2.4rem}[dir=ltr] .md-post--excerpt .md-post__meta .md-meta__list{margin-right:.4rem}[dir=rtl] .md-post--excerpt .md-post__meta .md-meta__list{margin-left:.4rem}.md-post--excerpt .md-post__content>:first-child{--md-scroll-margin:6rem;margin-top:0}.md-post>.md-nav--secondary{margin:1em 0}.md-profile{align-items:center;display:flex;font-size:.7rem;gap:.6rem;line-height:1.4;width:100%}.md-profile__description{flex-grow:1}.md-content--post{display:flex}@media screen and (max-width:76.234375em){.md-content--post{flex-flow:column-reverse}}.md-content--post>.md-content__inner{min-width:0}@media screen and (min-width:76.25em){[dir=ltr] .md-content--post>.md-content__inner{margin-left:1.2rem}[dir=rtl] .md-content--post>.md-content__inner{margin-right:1.2rem}}@media screen and (max-width:76.234375em){.md-sidebar.md-sidebar--post{padding:0;position:static;width:100%}.md-sidebar.md-sidebar--post .md-sidebar__inner{padding:0}.md-sidebar.md-sidebar--post .md-post__meta{margin-left:.6rem;margin-right:.6rem}.md-sidebar.md-sidebar--post .md-nav__item{border:none;display:inline}.md-sidebar.md-sidebar--post .md-nav__list{display:inline-flex;flex-wrap:wrap;gap:.6rem;padding-bottom:.6rem;padding-top:.6rem}.md-sidebar.md-sidebar--post .md-nav__link{padding:0}.md-sidebar.md-sidebar--post .md-nav{position:static}}:root{--md-progress-value:0;--md-progress-delay:400ms}.md-progress{background:var(--md-primary-bg-color);height:.075rem;opacity:min(clamp(0,var(--md-progress-value),1),clamp(0,100 - var(--md-progress-value),1));position:fixed;top:0;transform:scaleX(calc(var(--md-progress-value)*1%));transform-origin:left;transition:transform .5s cubic-bezier(.19,1,.22,1),opacity .25s var(--md-progress-delay);width:100%;z-index:4}:root{--md-search-result-icon:url('data:image/svg+xml;charset=utf-8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M14 2H6a2 2 0 0 0-2 2v16a2 2 0 0 0 2 2h7c-.41-.25-.8-.56-1.14-.9-.33-.33-.61-.7-.86-1.1H6V4h7v5h5v1.18c.71.16 1.39.43 2 .82V8l-6-6m6.31 16.9c1.33-2.11.69-4.9-1.4-6.22-2.11-1.33-4.91-.68-6.22 1.4-1.34 2.11-.69 4.89 1.4 6.22 1.46.93 3.32.93 4.79.02L22 23.39 23.39 22l-3.08-3.1m-3.81.1a2.5 2.5 0 0 1-2.5-2.5 2.5 2.5 0 0 1 2.5-2.5 2.5 2.5 0 0 1 2.5 2.5 2.5 2.5 0 0 1-2.5 2.5Z"/></svg>')}.md-search{position:relative}@media screen and (min-width:60em){.md-search{padding:.2rem 0}}.no-js .md-search{display:none}.md-search__overlay{opacity:0;z-index:1}@media screen and (max-width:59.984375em){[dir=ltr] .md-search__overlay{left:-2.2rem}[dir=rtl] .md-search__overlay{right:-2.2rem}.md-search__overlay{background-color:var(--md-default-bg-color);border-radius:1rem;height:2rem;overflow:hidden;pointer-events:none;position:absolute;top:-1rem;transform-origin:center;transition:transform .3s .1s,opacity .2s .2s;width:2rem}[data-md-toggle=search]:checked~.md-header .md-search__overlay{opacity:1;transition:transform .4s,opacity .1s}}@media screen and (min-width:60em){[dir=ltr] .md-search__overlay{left:0}[dir=rtl] .md-search__overlay{right:0}.md-search__overlay{background-color:#0000008a;cursor:pointer;height:0;position:fixed;top:0;transition:width 0ms .25s,height 0ms .25s,opacity .25s;width:0}[data-md-toggle=search]:checked~.md-header .md-search__overlay{height:200vh;opacity:1;transition:width 0ms,height 0ms,opacity .25s;width:100%}}@media screen and (max-width:29.984375em){[data-md-toggle=search]:checked~.md-header .md-search__overlay{transform:scale(45)}}@media screen and (min-width:30em) and (max-width:44.984375em){[data-md-toggle=search]:checked~.md-header .md-search__overlay{transform:scale(60)}}@media screen and (min-width:45em) and (max-width:59.984375em){[data-md-toggle=search]:checked~.md-header .md-search__overlay{transform:scale(75)}}.md-search__inner{-webkit-backface-visibility:hidden;backface-visibility:hidden}@media screen and (max-width:59.984375em){[dir=ltr] .md-search__inner{left:0}[dir=rtl] .md-search__inner{right:0}.md-search__inner{height:0;opacity:0;overflow:hidden;position:fixed;top:0;transform:translateX(5%);transition:width 0ms .3s,height 0ms .3s,transform .15s cubic-bezier(.4,0,.2,1) .15s,opacity .15s .15s;width:0;z-index:2}[dir=rtl] .md-search__inner{transform:translateX(-5%)}[data-md-toggle=search]:checked~.md-header .md-search__inner{height:100%;opacity:1;transform:translateX(0);transition:width 0ms 0ms,height 0ms 0ms,transform .15s cubic-bezier(.1,.7,.1,1) .15s,opacity .15s .15s;width:100%}}@media screen and (min-width:60em){[dir=ltr] .md-search__inner{float:right}[dir=rtl] .md-search__inner{float:left}.md-search__inner{padding:.1rem 0;position:relative;transition:width .25s cubic-bezier(.1,.7,.1,1);width:11.7rem}}@media screen and (min-width:60em) and (max-width:76.234375em){[data-md-toggle=search]:checked~.md-header .md-search__inner{width:23.4rem}}@media screen and (min-width:76.25em){[data-md-toggle=search]:checked~.md-header .md-search__inner{width:34.4rem}}.md-search__form{background-color:var(--md-default-bg-color);box-shadow:0 0 .6rem #0000;height:2.4rem;position:relative;transition:color .25s,background-color .25s;z-index:2}@media screen and (min-width:60em){.md-search__form{background-color:#00000042;border-radius:.1rem;height:1.8rem}.md-search__form:hover{background-color:#ffffff1f}}[data-md-toggle=search]:checked~.md-header .md-search__form{background-color:var(--md-default-bg-color);border-radius:.1rem .1rem 0 0;box-shadow:0 0 .6rem #00000012;color:var(--md-default-fg-color)}[dir=ltr] .md-search__input{padding-left:3.6rem;padding-right:2.2rem}[dir=rtl] .md-search__input{padding-left:2.2rem;padding-right:3.6rem}.md-search__input{background:#0000;font-size:.9rem;height:100%;position:relative;text-overflow:ellipsis;width:100%;z-index:2}.md-search__input::placeholder{transition:color .25s}.md-search__input::placeholder,.md-search__input~.md-search__icon{color:var(--md-default-fg-color--light)}.md-search__input::-ms-clear{display:none}@media screen and (max-width:59.984375em){.md-search__input{font-size:.9rem;height:2.4rem;width:100%}}@media screen and (min-width:60em){[dir=ltr] .md-search__input{padding-left:2.2rem}[dir=rtl] .md-search__input{padding-right:2.2rem}.md-search__input{color:inherit;font-size:.8rem}.md-search__input::placeholder{color:var(--md-primary-bg-color--light)}.md-search__input+.md-search__icon{color:var(--md-primary-bg-color)}[data-md-toggle=search]:checked~.md-header .md-search__input{text-overflow:clip}[data-md-toggle=search]:checked~.md-header .md-search__input+.md-search__icon{color:var(--md-default-fg-color--light)}[data-md-toggle=search]:checked~.md-header .md-search__input::placeholder{color:#0000}}.md-search__icon{cursor:pointer;display:inline-block;height:1.2rem;transition:color .25s,opacity .25s;width:1.2rem}.md-search__icon:hover{opacity:.7}[dir=ltr] .md-search__icon[for=__search]{left:.5rem}[dir=rtl] .md-search__icon[for=__search]{right:.5rem}.md-search__icon[for=__search]{position:absolute;top:.3rem;z-index:2}[dir=rtl] .md-search__icon[for=__search] svg{transform:scaleX(-1)}@media screen and (max-width:59.984375em){[dir=ltr] .md-search__icon[for=__search]{left:.8rem}[dir=rtl] .md-search__icon[for=__search]{right:.8rem}.md-search__icon[for=__search]{top:.6rem}.md-search__icon[for=__search] svg:first-child{display:none}}@media screen and (min-width:60em){.md-search__icon[for=__search]{pointer-events:none}.md-search__icon[for=__search] svg:last-child{display:none}}[dir=ltr] .md-search__options{right:.5rem}[dir=rtl] .md-search__options{left:.5rem}.md-search__options{pointer-events:none;position:absolute;top:.3rem;z-index:2}@media screen and (max-width:59.984375em){[dir=ltr] .md-search__options{right:.8rem}[dir=rtl] .md-search__options{left:.8rem}.md-search__options{top:.6rem}}[dir=ltr] .md-search__options>.md-icon{margin-left:.2rem}[dir=rtl] .md-search__options>.md-icon{margin-right:.2rem}.md-search__options>.md-icon{color:var(--md-default-fg-color--light);opacity:0;transform:scale(.75);transition:transform .15s cubic-bezier(.1,.7,.1,1),opacity .15s}.md-search__options>.md-icon:not(.focus-visible){-webkit-tap-highlight-color:transparent;outline:none}[data-md-toggle=search]:checked~.md-header .md-search__input:valid~.md-search__options>.md-icon{opacity:1;pointer-events:auto;transform:scale(1)}[data-md-toggle=search]:checked~.md-header .md-search__input:valid~.md-search__options>.md-icon:hover{opacity:.7}[dir=ltr] .md-search__suggest{padding-left:3.6rem;padding-right:2.2rem}[dir=rtl] .md-search__suggest{padding-left:2.2rem;padding-right:3.6rem}.md-search__suggest{align-items:center;color:var(--md-default-fg-color--lighter);display:flex;font-size:.9rem;height:100%;opacity:0;position:absolute;top:0;transition:opacity 50ms;white-space:nowrap;width:100%}@media screen and (min-width:60em){[dir=ltr] .md-search__suggest{padding-left:2.2rem}[dir=rtl] .md-search__suggest{padding-right:2.2rem}.md-search__suggest{font-size:.8rem}}[data-md-toggle=search]:checked~.md-header .md-search__suggest{opacity:1;transition:opacity .3s .1s}[dir=ltr] .md-search__output{border-bottom-left-radius:.1rem}[dir=ltr] .md-search__output,[dir=rtl] .md-search__output{border-bottom-right-radius:.1rem}[dir=rtl] .md-search__output{border-bottom-left-radius:.1rem}.md-search__output{overflow:hidden;position:absolute;width:100%;z-index:1}@media screen and (max-width:59.984375em){.md-search__output{bottom:0;top:2.4rem}}@media screen and (min-width:60em){.md-search__output{opacity:0;top:1.9rem;transition:opacity .4s}[data-md-toggle=search]:checked~.md-header .md-search__output{box-shadow:var(--md-shadow-z3);opacity:1}}.md-search__scrollwrap{-webkit-backface-visibility:hidden;backface-visibility:hidden;background-color:var(--md-default-bg-color);height:100%;overflow-y:auto;touch-action:pan-y}@media (-webkit-max-device-pixel-ratio:1),(max-resolution:1dppx){.md-search__scrollwrap{transform:translateZ(0)}}@media screen and (min-width:60em) and (max-width:76.234375em){.md-search__scrollwrap{width:23.4rem}}@media screen and (min-width:76.25em){.md-search__scrollwrap{width:34.4rem}}@media screen and (min-width:60em){.md-search__scrollwrap{max-height:0;scrollbar-color:var(--md-default-fg-color--lighter) #0000;scrollbar-width:thin}[data-md-toggle=search]:checked~.md-header .md-search__scrollwrap{max-height:75vh}.md-search__scrollwrap:hover{scrollbar-color:var(--md-accent-fg-color) #0000}.md-search__scrollwrap::-webkit-scrollbar{height:.2rem;width:.2rem}.md-search__scrollwrap::-webkit-scrollbar-thumb{background-color:var(--md-default-fg-color--lighter)}.md-search__scrollwrap::-webkit-scrollbar-thumb:hover{background-color:var(--md-accent-fg-color)}}.md-search-result{color:var(--md-default-fg-color);word-break:break-word}.md-search-result__meta{background-color:var(--md-default-fg-color--lightest);color:var(--md-default-fg-color--light);font-size:.64rem;line-height:1.8rem;padding:0 .8rem;scroll-snap-align:start}@media screen and (min-width:60em){[dir=ltr] .md-search-result__meta{padding-left:2.2rem}[dir=rtl] .md-search-result__meta{padding-right:2.2rem}}.md-search-result__list{list-style:none;margin:0;padding:0;-webkit-user-select:none;user-select:none}.md-search-result__item{box-shadow:0 -.05rem var(--md-default-fg-color--lightest)}.md-search-result__item:first-child{box-shadow:none}.md-search-result__link{display:block;outline:none;scroll-snap-align:start;transition:background-color .25s}.md-search-result__link:focus,.md-search-result__link:hover{background-color:var(--md-accent-fg-color--transparent)}.md-search-result__link:last-child p:last-child{margin-bottom:.6rem}.md-search-result__more>summary{cursor:pointer;display:block;outline:none;position:sticky;scroll-snap-align:start;top:0;z-index:1}.md-search-result__more>summary::marker{display:none}.md-search-result__more>summary::-webkit-details-marker{display:none}.md-search-result__more>summary>div{color:var(--md-typeset-a-color);font-size:.64rem;padding:.75em .8rem;transition:color .25s,background-color .25s}@media screen and (min-width:60em){[dir=ltr] .md-search-result__more>summary>div{padding-left:2.2rem}[dir=rtl] .md-search-result__more>summary>div{padding-right:2.2rem}}.md-search-result__more>summary:focus>div,.md-search-result__more>summary:hover>div{background-color:var(--md-accent-fg-color--transparent);color:var(--md-accent-fg-color)}.md-search-result__more[open]>summary{background-color:var(--md-default-bg-color)}.md-search-result__article{overflow:hidden;padding:0 .8rem;position:relative}@media screen and (min-width:60em){[dir=ltr] .md-search-result__article{padding-left:2.2rem}[dir=rtl] .md-search-result__article{padding-right:2.2rem}}[dir=ltr] .md-search-result__icon{left:0}[dir=rtl] .md-search-result__icon{right:0}.md-search-result__icon{color:var(--md-default-fg-color--light);height:1.2rem;margin:.5rem;position:absolute;width:1.2rem}@media screen and (max-width:59.984375em){.md-search-result__icon{display:none}}.md-search-result__icon:after{background-color:currentcolor;content:"";display:inline-block;height:100%;-webkit-mask-image:var(--md-search-result-icon);mask-image:var(--md-search-result-icon);-webkit-mask-position:center;mask-position:center;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat;-webkit-mask-size:contain;mask-size:contain;width:100%}[dir=rtl] .md-search-result__icon:after{transform:scaleX(-1)}.md-search-result .md-typeset{color:var(--md-default-fg-color--light);font-size:.64rem;line-height:1.6}.md-search-result .md-typeset h1{color:var(--md-default-fg-color);font-size:.8rem;font-weight:400;line-height:1.4;margin:.55rem 0}.md-search-result .md-typeset h1 mark{text-decoration:none}.md-search-result .md-typeset h2{color:var(--md-default-fg-color);font-size:.64rem;font-weight:700;line-height:1.6;margin:.5em 0}.md-search-result .md-typeset h2 mark{text-decoration:none}.md-search-result__terms{color:var(--md-default-fg-color);display:block;font-size:.64rem;font-style:italic;margin:.5em 0}.md-search-result mark{background-color:initial;color:var(--md-accent-fg-color);text-decoration:underline}.md-select{position:relative;z-index:1}.md-select__inner{background-color:var(--md-default-bg-color);border-radius:.1rem;box-shadow:var(--md-shadow-z2);color:var(--md-default-fg-color);left:50%;margin-top:.2rem;max-height:0;opacity:0;position:absolute;top:calc(100% - .2rem);transform:translate3d(-50%,.3rem,0);transition:transform .25s 375ms,opacity .25s .25s,max-height 0ms .5s}.md-select:focus-within .md-select__inner,.md-select:hover .md-select__inner{max-height:10rem;opacity:1;transform:translate3d(-50%,0,0);transition:transform .25s cubic-bezier(.1,.7,.1,1),opacity .25s,max-height 0ms}.md-select__inner:after{border-bottom:.2rem solid #0000;border-bottom-color:var(--md-default-bg-color);border-left:.2rem solid #0000;border-right:.2rem solid #0000;border-top:0;content:"";height:0;left:50%;margin-left:-.2rem;margin-top:-.2rem;position:absolute;top:0;width:0}.md-select__list{border-radius:.1rem;font-size:.8rem;list-style-type:none;margin:0;max-height:inherit;overflow:auto;padding:0}.md-select__item{line-height:1.8rem}[dir=ltr] .md-select__link{padding-left:.6rem;padding-right:1.2rem}[dir=rtl] .md-select__link{padding-left:1.2rem;padding-right:.6rem}.md-select__link{cursor:pointer;display:block;outline:none;scroll-snap-align:start;transition:background-color .25s,color .25s;width:100%}.md-select__link:focus,.md-select__link:hover{color:var(--md-accent-fg-color)}.md-select__link:focus{background-color:var(--md-default-fg-color--lightest)}.md-sidebar{align-self:flex-start;flex-shrink:0;padding:1.2rem 0;position:sticky;top:2.4rem;width:12.1rem}@media print{.md-sidebar{display:none}}@media screen and (max-width:76.234375em){[dir=ltr] .md-sidebar--primary{left:-12.1rem}[dir=rtl] .md-sidebar--primary{right:-12.1rem}.md-sidebar--primary{background-color:var(--md-default-bg-color);display:block;height:100%;position:fixed;top:0;transform:translateX(0);transition:transform .25s cubic-bezier(.4,0,.2,1),box-shadow .25s;width:12.1rem;z-index:5}[data-md-toggle=drawer]:checked~.md-container .md-sidebar--primary{box-shadow:var(--md-shadow-z3);transform:translateX(12.1rem)}[dir=rtl] [data-md-toggle=drawer]:checked~.md-container .md-sidebar--primary{transform:translateX(-12.1rem)}.md-sidebar--primary .md-sidebar__scrollwrap{bottom:0;left:0;margin:0;overflow:hidden;position:absolute;right:0;scroll-snap-type:none;top:0}}@media screen and (min-width:76.25em){.md-sidebar{height:0}.no-js .md-sidebar{height:auto}.md-header--lifted~.md-container .md-sidebar{top:4.8rem}}.md-sidebar--secondary{display:none;order:2}@media screen and (min-width:60em){.md-sidebar--secondary{height:0}.no-js .md-sidebar--secondary{height:auto}.md-sidebar--secondary:not([hidden]){display:block}.md-sidebar--secondary .md-sidebar__scrollwrap{touch-action:pan-y}}.md-sidebar__scrollwrap{scrollbar-gutter:stable;-webkit-backface-visibility:hidden;backface-visibility:hidden;margin:0 .2rem;overflow-y:auto;scrollbar-color:var(--md-default-fg-color--lighter) #0000;scrollbar-width:thin}.md-sidebar__scrollwrap::-webkit-scrollbar{height:.2rem;width:.2rem}.md-sidebar__scrollwrap:focus-within,.md-sidebar__scrollwrap:hover{scrollbar-color:var(--md-accent-fg-color) #0000}.md-sidebar__scrollwrap:focus-within::-webkit-scrollbar-thumb,.md-sidebar__scrollwrap:hover::-webkit-scrollbar-thumb{background-color:var(--md-default-fg-color--lighter)}.md-sidebar__scrollwrap:focus-within::-webkit-scrollbar-thumb:hover,.md-sidebar__scrollwrap:hover::-webkit-scrollbar-thumb:hover{background-color:var(--md-accent-fg-color)}@supports selector(::-webkit-scrollbar){.md-sidebar__scrollwrap{scrollbar-gutter:auto}[dir=ltr] .md-sidebar__inner{padding-right:calc(100% - 11.5rem)}[dir=rtl] .md-sidebar__inner{padding-left:calc(100% - 11.5rem)}}@media screen and (max-width:76.234375em){.md-overlay{background-color:#0000008a;height:0;opacity:0;position:fixed;top:0;transition:width 0ms .25s,height 0ms .25s,opacity .25s;width:0;z-index:5}[data-md-toggle=drawer]:checked~.md-overlay{height:100%;opacity:1;transition:width 0ms,height 0ms,opacity .25s;width:100%}}@keyframes facts{0%{height:0}to{height:.65rem}}@keyframes fact{0%{opacity:0;transform:translateY(100%)}50%{opacity:0}to{opacity:1;transform:translateY(0)}}:root{--md-source-forks-icon:url('data:image/svg+xml;charset=utf-8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 16 16"><path d="M5 5.372v.878c0 .414.336.75.75.75h4.5a.75.75 0 0 0 .75-.75v-.878a2.25 2.25 0 1 1 1.5 0v.878a2.25 2.25 0 0 1-2.25 2.25h-1.5v2.128a2.251 2.251 0 1 1-1.5 0V8.5h-1.5A2.25 2.25 0 0 1 3.5 6.25v-.878a2.25 2.25 0 1 1 1.5 0ZM5 3.25a.75.75 0 1 0-1.5 0 .75.75 0 0 0 1.5 0Zm6.75.75a.75.75 0 1 0 0-1.5.75.75 0 0 0 0 1.5Zm-3 8.75a.75.75 0 1 0-1.5 0 .75.75 0 0 0 1.5 0Z"/></svg>');--md-source-repositories-icon:url('data:image/svg+xml;charset=utf-8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 16 16"><path d="M2 2.5A2.5 2.5 0 0 1 4.5 0h8.75a.75.75 0 0 1 .75.75v12.5a.75.75 0 0 1-.75.75h-2.5a.75.75 0 0 1 0-1.5h1.75v-2h-8a1 1 0 0 0-.714 1.7.75.75 0 1 1-1.072 1.05A2.495 2.495 0 0 1 2 11.5Zm10.5-1h-8a1 1 0 0 0-1 1v6.708A2.486 2.486 0 0 1 4.5 9h8ZM5 12.25a.25.25 0 0 1 .25-.25h3.5a.25.25 0 0 1 .25.25v3.25a.25.25 0 0 1-.4.2l-1.45-1.087a.249.249 0 0 0-.3 0L5.4 15.7a.25.25 0 0 1-.4-.2Z"/></svg>');--md-source-stars-icon:url('data:image/svg+xml;charset=utf-8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 16 16"><path d="M8 .25a.75.75 0 0 1 .673.418l1.882 3.815 4.21.612a.75.75 0 0 1 .416 1.279l-3.046 2.97.719 4.192a.751.751 0 0 1-1.088.791L8 12.347l-3.766 1.98a.75.75 0 0 1-1.088-.79l.72-4.194L.818 6.374a.75.75 0 0 1 .416-1.28l4.21-.611L7.327.668A.75.75 0 0 1 8 .25Zm0 2.445L6.615 5.5a.75.75 0 0 1-.564.41l-3.097.45 2.24 2.184a.75.75 0 0 1 .216.664l-.528 3.084 2.769-1.456a.75.75 0 0 1 .698 0l2.77 1.456-.53-3.084a.75.75 0 0 1 .216-.664l2.24-2.183-3.096-.45a.75.75 0 0 1-.564-.41L8 2.694Z"/></svg>');--md-source-version-icon:url('data:image/svg+xml;charset=utf-8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 16 16"><path d="M1 7.775V2.75C1 1.784 1.784 1 2.75 1h5.025c.464 0 .91.184 1.238.513l6.25 6.25a1.75 1.75 0 0 1 0 2.474l-5.026 5.026a1.75 1.75 0 0 1-2.474 0l-6.25-6.25A1.752 1.752 0 0 1 1 7.775Zm1.5 0c0 .066.026.13.073.177l6.25 6.25a.25.25 0 0 0 .354 0l5.025-5.025a.25.25 0 0 0 0-.354l-6.25-6.25a.25.25 0 0 0-.177-.073H2.75a.25.25 0 0 0-.25.25ZM6 5a1 1 0 1 1 0 2 1 1 0 0 1 0-2Z"/></svg>')}.md-source{-webkit-backface-visibility:hidden;backface-visibility:hidden;display:block;font-size:.65rem;line-height:1.2;outline-color:var(--md-accent-fg-color);transition:opacity .25s;white-space:nowrap}.md-source:hover{opacity:.7}.md-source__icon{display:inline-block;height:2.4rem;vertical-align:middle;width:2rem}[dir=ltr] .md-source__icon svg{margin-left:.6rem}[dir=rtl] .md-source__icon svg{margin-right:.6rem}.md-source__icon svg{margin-top:.6rem}[dir=ltr] .md-source__icon+.md-source__repository{padding-left:2rem}[dir=rtl] .md-source__icon+.md-source__repository{padding-right:2rem}[dir=ltr] .md-source__icon+.md-source__repository{margin-left:-2rem}[dir=rtl] .md-source__icon+.md-source__repository{margin-right:-2rem}[dir=ltr] .md-source__repository{margin-left:.6rem}[dir=rtl] .md-source__repository{margin-right:.6rem}.md-source__repository{display:inline-block;max-width:calc(100% - 1.2rem);overflow:hidden;text-overflow:ellipsis;vertical-align:middle}.md-source__facts{display:flex;font-size:.55rem;gap:.4rem;list-style-type:none;margin:.1rem 0 0;opacity:.75;overflow:hidden;padding:0;width:100%}.md-source__repository--active .md-source__facts{animation:facts .25s ease-in}.md-source__fact{overflow:hidden;text-overflow:ellipsis}.md-source__repository--active .md-source__fact{animation:fact .4s ease-out}[dir=ltr] .md-source__fact:before{margin-right:.1rem}[dir=rtl] .md-source__fact:before{margin-left:.1rem}.md-source__fact:before{background-color:currentcolor;content:"";display:inline-block;height:.6rem;-webkit-mask-position:center;mask-position:center;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat;-webkit-mask-size:contain;mask-size:contain;vertical-align:text-top;width:.6rem}.md-source__fact:nth-child(1n+2){flex-shrink:0}.md-source__fact--version:before{-webkit-mask-image:var(--md-source-version-icon);mask-image:var(--md-source-version-icon)}.md-source__fact--stars:before{-webkit-mask-image:var(--md-source-stars-icon);mask-image:var(--md-source-stars-icon)}.md-source__fact--forks:before{-webkit-mask-image:var(--md-source-forks-icon);mask-image:var(--md-source-forks-icon)}.md-source__fact--repositories:before{-webkit-mask-image:var(--md-source-repositories-icon);mask-image:var(--md-source-repositories-icon)}:root{--md-status:url('data:image/svg+xml;charset=utf-8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M11 9h2V7h-2m1 13c-4.41 0-8-3.59-8-8s3.59-8 8-8 8 3.59 8 8-3.59 8-8 8m0-18A10 10 0 0 0 2 12a10 10 0 0 0 10 10 10 10 0 0 0 10-10A10 10 0 0 0 12 2m-1 15h2v-6h-2v6Z"/></svg>');--md-status--new:url('data:image/svg+xml;charset=utf-8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="m23 12-2.44-2.78.34-3.68-3.61-.82-1.89-3.18L12 3 8.6 1.54 6.71 4.72l-3.61.81.34 3.68L1 12l2.44 2.78-.34 3.69 3.61.82 1.89 3.18L12 21l3.4 1.46 1.89-3.18 3.61-.82-.34-3.68L23 12m-10 5h-2v-2h2v2m0-4h-2V7h2v6Z"/></svg>');--md-status--deprecated:url('data:image/svg+xml;charset=utf-8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M9 3v1H4v2h1v13a2 2 0 0 0 2 2h10a2 2 0 0 0 2-2V6h1V4h-5V3H9m0 5h2v9H9V8m4 0h2v9h-2V8Z"/></svg>');--md-status--encrypted:url('data:image/svg+xml;charset=utf-8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M12 1 3 5v6c0 5.55 3.84 10.74 9 12 5.16-1.26 9-6.45 9-12V5l-9-4m0 6c1.4 0 2.8 1.1 2.8 2.5V11c.6 0 1.2.6 1.2 1.3v3.5c0 .6-.6 1.2-1.3 1.2H9.2c-.6 0-1.2-.6-1.2-1.3v-3.5c0-.6.6-1.2 1.2-1.2V9.5C9.2 8.1 10.6 7 12 7m0 1.2c-.8 0-1.5.5-1.5 1.3V11h3V9.5c0-.8-.7-1.3-1.5-1.3Z"/></svg>')}.md-status:after{background-color:var(--md-default-fg-color--light);content:"";display:inline-block;height:1.125em;-webkit-mask-image:var(--md-status);mask-image:var(--md-status);-webkit-mask-position:center;mask-position:center;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat;-webkit-mask-size:contain;mask-size:contain;vertical-align:text-bottom;width:1.125em}.md-status:hover:after{background-color:currentcolor}.md-status--new:after{-webkit-mask-image:var(--md-status--new);mask-image:var(--md-status--new)}.md-status--deprecated:after{-webkit-mask-image:var(--md-status--deprecated);mask-image:var(--md-status--deprecated)}.md-status--encrypted:after{-webkit-mask-image:var(--md-status--encrypted);mask-image:var(--md-status--encrypted)}.md-tabs{background-color:var(--md-primary-fg-color);color:var(--md-primary-bg-color);display:block;line-height:1.3;overflow:auto;width:100%;z-index:3}@media print{.md-tabs{display:none}}@media screen and (max-width:76.234375em){.md-tabs{display:none}}.md-tabs[hidden]{pointer-events:none}[dir=ltr] .md-tabs__list{margin-left:.2rem}[dir=rtl] .md-tabs__list{margin-right:.2rem}.md-tabs__list{contain:content;display:flex;list-style:none;margin:0;overflow:auto;padding:0;scrollbar-width:none;white-space:nowrap}.md-tabs__list::-webkit-scrollbar{display:none}.md-tabs__item{height:2.4rem;padding-left:.6rem;padding-right:.6rem}.md-tabs__item--active .md-tabs__link{color:inherit;opacity:1}.md-tabs__link{-webkit-backface-visibility:hidden;backface-visibility:hidden;display:flex;font-size:.7rem;margin-top:.8rem;opacity:.7;outline-color:var(--md-accent-fg-color);outline-offset:.2rem;transition:transform .4s cubic-bezier(.1,.7,.1,1),opacity .25s}.md-tabs__link:focus,.md-tabs__link:hover{color:inherit;opacity:1}[dir=ltr] .md-tabs__link svg{margin-right:.4rem}[dir=rtl] .md-tabs__link svg{margin-left:.4rem}.md-tabs__link svg{fill:currentcolor;height:1.3em}.md-tabs__item:nth-child(2) .md-tabs__link{transition-delay:20ms}.md-tabs__item:nth-child(3) .md-tabs__link{transition-delay:40ms}.md-tabs__item:nth-child(4) .md-tabs__link{transition-delay:60ms}.md-tabs__item:nth-child(5) .md-tabs__link{transition-delay:80ms}.md-tabs__item:nth-child(6) .md-tabs__link{transition-delay:.1s}.md-tabs__item:nth-child(7) .md-tabs__link{transition-delay:.12s}.md-tabs__item:nth-child(8) .md-tabs__link{transition-delay:.14s}.md-tabs__item:nth-child(9) .md-tabs__link{transition-delay:.16s}.md-tabs__item:nth-child(10) .md-tabs__link{transition-delay:.18s}.md-tabs__item:nth-child(11) .md-tabs__link{transition-delay:.2s}.md-tabs__item:nth-child(12) .md-tabs__link{transition-delay:.22s}.md-tabs__item:nth-child(13) .md-tabs__link{transition-delay:.24s}.md-tabs__item:nth-child(14) .md-tabs__link{transition-delay:.26s}.md-tabs__item:nth-child(15) .md-tabs__link{transition-delay:.28s}.md-tabs__item:nth-child(16) .md-tabs__link{transition-delay:.3s}.md-tabs[hidden] .md-tabs__link{opacity:0;transform:translateY(50%);transition:transform 0ms .1s,opacity .1s}:root{--md-tag-icon:url('data:image/svg+xml;charset=utf-8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="m5.41 21 .71-4h-4l.35-2h4l1.06-6h-4l.35-2h4l.71-4h2l-.71 4h6l.71-4h2l-.71 4h4l-.35 2h-4l-1.06 6h4l-.35 2h-4l-.71 4h-2l.71-4h-6l-.71 4h-2M9.53 9l-1.06 6h6l1.06-6h-6Z"/></svg>')}.md-typeset .md-tags{display:inline-flex;flex-wrap:wrap;gap:.5em;margin-bottom:.75em;margin-top:-.125em}.md-typeset .md-tag{align-items:center;background:var(--md-default-fg-color--lightest);border-radius:2.4rem;display:inline-flex;font-size:.64rem;font-size:min(.8em,.64rem);font-weight:700;gap:.5em;letter-spacing:normal;line-height:1.6;padding:.3125em .78125em}.md-typeset .md-tag[href]{-webkit-tap-highlight-color:transparent;color:inherit;outline:none;transition:color 125ms,background-color 125ms}.md-typeset .md-tag[href]:focus,.md-typeset .md-tag[href]:hover{background-color:var(--md-accent-fg-color);color:var(--md-accent-bg-color)}[id]>.md-typeset .md-tag{vertical-align:text-top}.md-typeset .md-tag-icon:before{background-color:var(--md-default-fg-color--lighter);content:"";display:inline-block;height:1.2em;-webkit-mask-image:var(--md-tag-icon);mask-image:var(--md-tag-icon);-webkit-mask-position:center;mask-position:center;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat;-webkit-mask-size:contain;mask-size:contain;transition:background-color 125ms;vertical-align:text-bottom;width:1.2em}.md-typeset .md-tag-icon[href]:focus:before,.md-typeset .md-tag-icon[href]:hover:before{background-color:var(--md-accent-bg-color)}@keyframes pulse{0%{transform:scale(.95)}75%{transform:scale(1)}to{transform:scale(.95)}}:root{--md-annotation-bg-icon:url('data:image/svg+xml;charset=utf-8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M12 2A10 10 0 0 0 2 12a10 10 0 0 0 10 10 10 10 0 0 0 10-10A10 10 0 0 0 12 2Z"/></svg>');--md-annotation-icon:url('data:image/svg+xml;charset=utf-8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M17 13h-4v4h-2v-4H7v-2h4V7h2v4h4m-5-9A10 10 0 0 0 2 12a10 10 0 0 0 10 10 10 10 0 0 0 10-10A10 10 0 0 0 12 2Z"/></svg>');--md-tooltip-width:20rem}.md-tooltip{-webkit-backface-visibility:hidden;backface-visibility:hidden;background-color:var(--md-default-bg-color);border-radius:.1rem;box-shadow:var(--md-shadow-z2);color:var(--md-default-fg-color);font-family:var(--md-text-font-family);left:clamp(var(--md-tooltip-0,0rem) + .8rem,var(--md-tooltip-x),100vw + var(--md-tooltip-0,0rem) + .8rem - var(--md-tooltip-width) - 2 * .8rem);max-width:calc(100vw - 1.6rem);opacity:0;position:absolute;top:var(--md-tooltip-y);transform:translateY(-.4rem);transition:transform 0ms .25s,opacity .25s,z-index .25s;width:var(--md-tooltip-width);z-index:0}.md-tooltip--active{opacity:1;transform:translateY(0);transition:transform .25s cubic-bezier(.1,.7,.1,1),opacity .25s,z-index 0ms;z-index:2}.focus-visible>.md-tooltip,.md-tooltip:target{outline:var(--md-accent-fg-color) auto}.md-tooltip__inner{font-size:.64rem;padding:.8rem}.md-tooltip__inner.md-typeset>:first-child{margin-top:0}.md-tooltip__inner.md-typeset>:last-child{margin-bottom:0}.md-annotation{font-weight:400;outline:none;vertical-align:text-bottom;white-space:normal}[dir=rtl] .md-annotation{direction:rtl}code .md-annotation{font-family:var(--md-code-font-family);font-size:inherit}.md-annotation:not([hidden]){display:inline-block;line-height:1.25}.md-annotation__index{border-radius:.01px;cursor:pointer;display:inline-block;margin-left:.4ch;margin-right:.4ch;outline:none;overflow:hidden;position:relative;-webkit-user-select:none;user-select:none;vertical-align:text-top;z-index:0}.md-annotation .md-annotation__index{transition:z-index .25s}@media screen{.md-annotation__index{width:2.2ch}[data-md-visible]>.md-annotation__index{animation:pulse 2s infinite}.md-annotation__index:before{background:var(--md-default-bg-color);-webkit-mask-image:var(--md-annotation-bg-icon);mask-image:var(--md-annotation-bg-icon)}.md-annotation__index:after,.md-annotation__index:before{content:"";height:2.2ch;-webkit-mask-position:center;mask-position:center;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat;-webkit-mask-size:contain;mask-size:contain;position:absolute;top:-.1ch;width:2.2ch;z-index:-1}.md-annotation__index:after{background-color:var(--md-default-fg-color--lighter);-webkit-mask-image:var(--md-annotation-icon);mask-image:var(--md-annotation-icon);transform:scale(1.0001);transition:background-color .25s,transform .25s}.md-tooltip--active+.md-annotation__index:after{transform:rotate(45deg)}.md-tooltip--active+.md-annotation__index:after,:hover>.md-annotation__index:after{background-color:var(--md-accent-fg-color)}}.md-tooltip--active+.md-annotation__index{animation-play-state:paused;transition-duration:0ms;z-index:2}.md-annotation__index [data-md-annotation-id]{display:inline-block}@media print{.md-annotation__index [data-md-annotation-id]{background:var(--md-default-fg-color--lighter);border-radius:2ch;color:var(--md-default-bg-color);font-weight:700;padding:0 .6ch;white-space:nowrap}.md-annotation__index [data-md-annotation-id]:after{content:attr(data-md-annotation-id)}}.md-typeset .md-annotation-list{counter-reset:xxx;list-style:none}.md-typeset .md-annotation-list li{position:relative}[dir=ltr] .md-typeset .md-annotation-list li:before{left:-2.125em}[dir=rtl] .md-typeset .md-annotation-list li:before{right:-2.125em}.md-typeset .md-annotation-list li:before{background:var(--md-default-fg-color--lighter);border-radius:2ch;color:var(--md-default-bg-color);content:counter(xxx);counter-increment:xxx;font-size:.8875em;font-weight:700;height:2ch;line-height:1.25;min-width:2ch;padding:0 .6ch;position:absolute;text-align:center;top:.25em}[dir=ltr] .md-top{margin-left:50%}[dir=rtl] .md-top{margin-right:50%}.md-top{background-color:var(--md-default-bg-color);border-radius:1.6rem;box-shadow:var(--md-shadow-z2);color:var(--md-default-fg-color--light);cursor:pointer;display:block;font-size:.7rem;outline:none;padding:.4rem .8rem;position:fixed;top:3.2rem;transform:translate(-50%);transition:color 125ms,background-color 125ms,transform 125ms cubic-bezier(.4,0,.2,1),opacity 125ms;z-index:2}@media print{.md-top{display:none}}[dir=rtl] .md-top{transform:translate(50%)}.md-top[hidden]{opacity:0;pointer-events:none;transform:translate(-50%,.2rem);transition-duration:0ms}[dir=rtl] .md-top[hidden]{transform:translate(50%,.2rem)}.md-top:focus,.md-top:hover{background-color:var(--md-accent-fg-color);color:var(--md-accent-bg-color)}.md-top svg{display:inline-block;vertical-align:-.5em}@keyframes hoverfix{0%{pointer-events:none}}:root{--md-version-icon:url('data:image/svg+xml;charset=utf-8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 320 512"><!--! Font Awesome Free 6.4.2 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License) Copyright 2023 Fonticons, Inc.--><path d="M137.4 374.6c12.5 12.5 32.8 12.5 45.3 0l128-128c9.2-9.2 11.9-22.9 6.9-34.9S301 191.9 288 191.9L32 192c-12.9 0-24.6 7.8-29.6 19.8s-2.2 25.7 6.9 34.9l128 128z"/></svg>')}.md-version{flex-shrink:0;font-size:.8rem;height:2.4rem}[dir=ltr] .md-version__current{margin-left:1.4rem;margin-right:.4rem}[dir=rtl] .md-version__current{margin-left:.4rem;margin-right:1.4rem}.md-version__current{color:inherit;cursor:pointer;outline:none;position:relative;top:.05rem}[dir=ltr] .md-version__current:after{margin-left:.4rem}[dir=rtl] .md-version__current:after{margin-right:.4rem}.md-version__current:after{background-color:currentcolor;content:"";display:inline-block;height:.6rem;-webkit-mask-image:var(--md-version-icon);mask-image:var(--md-version-icon);-webkit-mask-position:center;mask-position:center;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat;-webkit-mask-size:contain;mask-size:contain;width:.4rem}.md-version__list{background-color:var(--md-default-bg-color);border-radius:.1rem;box-shadow:var(--md-shadow-z2);color:var(--md-default-fg-color);list-style-type:none;margin:.2rem .8rem;max-height:0;opacity:0;overflow:auto;padding:0;position:absolute;scroll-snap-type:y mandatory;top:.15rem;transition:max-height 0ms .5s,opacity .25s .25s;z-index:3}.md-version:focus-within .md-version__list,.md-version:hover .md-version__list{max-height:10rem;opacity:1;transition:max-height 0ms,opacity .25s}@media (hover:none),(pointer:coarse){.md-version:hover .md-version__list{animation:hoverfix .25s forwards}.md-version:focus-within .md-version__list{animation:none}}.md-version__item{line-height:1.8rem}[dir=ltr] .md-version__link{padding-left:.6rem;padding-right:1.2rem}[dir=rtl] .md-version__link{padding-left:1.2rem;padding-right:.6rem}.md-version__link{cursor:pointer;display:block;outline:none;scroll-snap-align:start;transition:color .25s,background-color .25s;white-space:nowrap;width:100%}.md-version__link:focus,.md-version__link:hover{color:var(--md-accent-fg-color)}.md-version__link:focus{background-color:var(--md-default-fg-color--lightest)}:root{--md-admonition-icon--note:url('data:image/svg+xml;charset=utf-8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M12 2C6.47 2 2 6.47 2 12s4.47 10 10 10 10-4.47 10-10S17.53 2 12 2m3.1 5.07c.14 0 .28.05.4.16l1.27 1.27c.23.22.23.57 0 .78l-1 1-2.05-2.05 1-1c.1-.11.24-.16.38-.16m-1.97 1.74 2.06 2.06-6.06 6.06H7.07v-2.06l6.06-6.06Z"/></svg>');--md-admonition-icon--abstract:url('data:image/svg+xml;charset=utf-8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M17 9H7V7h10m0 6H7v-2h10m-3 6H7v-2h7M12 3a1 1 0 0 1 1 1 1 1 0 0 1-1 1 1 1 0 0 1-1-1 1 1 0 0 1 1-1m7 0h-4.18C14.4 1.84 13.3 1 12 1c-1.3 0-2.4.84-2.82 2H5a2 2 0 0 0-2 2v14a2 2 0 0 0 2 2h14a2 2 0 0 0 2-2V5a2 2 0 0 0-2-2Z"/></svg>');--md-admonition-icon--info:url('data:image/svg+xml;charset=utf-8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M13 9h-2V7h2m0 10h-2v-6h2m-1-9A10 10 0 0 0 2 12a10 10 0 0 0 10 10 10 10 0 0 0 10-10A10 10 0 0 0 12 2Z"/></svg>');--md-admonition-icon--tip:url('data:image/svg+xml;charset=utf-8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M17.66 11.2c-.23-.3-.51-.56-.77-.82-.67-.6-1.43-1.03-2.07-1.66C13.33 7.26 13 4.85 13.95 3c-.95.23-1.78.75-2.49 1.32-2.59 2.08-3.61 5.75-2.39 8.9.04.1.08.2.08.33 0 .22-.15.42-.35.5-.23.1-.47.04-.66-.12a.58.58 0 0 1-.14-.17c-1.13-1.43-1.31-3.48-.55-5.12C5.78 10 4.87 12.3 5 14.47c.06.5.12 1 .29 1.5.14.6.41 1.2.71 1.73 1.08 1.73 2.95 2.97 4.96 3.22 2.14.27 4.43-.12 6.07-1.6 1.83-1.66 2.47-4.32 1.53-6.6l-.13-.26c-.21-.46-.77-1.26-.77-1.26m-3.16 6.3c-.28.24-.74.5-1.1.6-1.12.4-2.24-.16-2.9-.82 1.19-.28 1.9-1.16 2.11-2.05.17-.8-.15-1.46-.28-2.23-.12-.74-.1-1.37.17-2.06.19.38.39.76.63 1.06.77 1 1.98 1.44 2.24 2.8.04.14.06.28.06.43.03.82-.33 1.72-.93 2.27Z"/></svg>');--md-admonition-icon--success:url('data:image/svg+xml;charset=utf-8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M21 7 9 19l-5.5-5.5 1.41-1.41L9 16.17 19.59 5.59 21 7Z"/></svg>');--md-admonition-icon--question:url('data:image/svg+xml;charset=utf-8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="m15.07 11.25-.9.92C13.45 12.89 13 13.5 13 15h-2v-.5c0-1.11.45-2.11 1.17-2.83l1.24-1.26c.37-.36.59-.86.59-1.41a2 2 0 0 0-2-2 2 2 0 0 0-2 2H8a4 4 0 0 1 4-4 4 4 0 0 1 4 4 3.2 3.2 0 0 1-.93 2.25M13 19h-2v-2h2M12 2A10 10 0 0 0 2 12a10 10 0 0 0 10 10 10 10 0 0 0 10-10c0-5.53-4.5-10-10-10Z"/></svg>');--md-admonition-icon--warning:url('data:image/svg+xml;charset=utf-8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M13 14h-2V9h2m0 9h-2v-2h2M1 21h22L12 2 1 21Z"/></svg>');--md-admonition-icon--failure:url('data:image/svg+xml;charset=utf-8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M19 6.41 17.59 5 12 10.59 6.41 5 5 6.41 10.59 12 5 17.59 6.41 19 12 13.41 17.59 19 19 17.59 13.41 12 19 6.41Z"/></svg>');--md-admonition-icon--danger:url('data:image/svg+xml;charset=utf-8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="m11.5 20 4.86-9.73H13V4l-5 9.73h3.5V20M12 2c2.75 0 5.1 1 7.05 2.95C21 6.9 22 9.25 22 12s-1 5.1-2.95 7.05C17.1 21 14.75 22 12 22s-5.1-1-7.05-2.95C3 17.1 2 14.75 2 12s1-5.1 2.95-7.05C6.9 3 9.25 2 12 2Z"/></svg>');--md-admonition-icon--bug:url('data:image/svg+xml;charset=utf-8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M11 13h2v1h-2v-1m10-8v6c0 5.5-3.8 10.7-9 12-5.2-1.3-9-6.5-9-12V5l9-4 9 4m-4 5h-2.2c-.2-.6-.6-1.1-1.1-1.5l1.2-1.2-.7-.7L12.8 8H12c-.2 0-.5 0-.7.1L9.9 6.6l-.8.8 1.2 1.2c-.5.3-.9.8-1.1 1.4H7v1h2v1H7v1h2v1H7v1h2.2c.4 1.2 1.5 2 2.8 2s2.4-.8 2.8-2H17v-1h-2v-1h2v-1h-2v-1h2v-1m-6 2h2v-1h-2v1Z"/></svg>');--md-admonition-icon--example:url('data:image/svg+xml;charset=utf-8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M7 2v2h1v14a4 4 0 0 0 4 4 4 4 0 0 0 4-4V4h1V2H7m4 14c-.6 0-1-.4-1-1s.4-1 1-1 1 .4 1 1-.4 1-1 1m2-4c-.6 0-1-.4-1-1s.4-1 1-1 1 .4 1 1-.4 1-1 1m1-5h-4V4h4v3Z"/></svg>');--md-admonition-icon--quote:url('data:image/svg+xml;charset=utf-8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M14 17h3l2-4V7h-6v6h3M6 17h3l2-4V7H5v6h3l-2 4Z"/></svg>')}.md-typeset .admonition,.md-typeset details{background-color:var(--md-admonition-bg-color);border:.075rem solid #448aff;border-radius:.2rem;box-shadow:var(--md-shadow-z1);color:var(--md-admonition-fg-color);display:flow-root;font-size:.64rem;margin:1.5625em 0;padding:0 .6rem;page-break-inside:avoid;transition:box-shadow 125ms}@media print{.md-typeset .admonition,.md-typeset details{box-shadow:none}}.md-typeset .admonition:focus-within,.md-typeset details:focus-within{box-shadow:0 0 0 .2rem #448aff1a}.md-typeset .admonition>*,.md-typeset details>*{box-sizing:border-box}.md-typeset .admonition .admonition,.md-typeset .admonition details,.md-typeset details .admonition,.md-typeset details details{margin-bottom:1em;margin-top:1em}.md-typeset .admonition .md-typeset__scrollwrap,.md-typeset details .md-typeset__scrollwrap{margin:1em -.6rem}.md-typeset .admonition .md-typeset__table,.md-typeset details .md-typeset__table{padding:0 .6rem}.md-typeset .admonition>.tabbed-set:only-child,.md-typeset details>.tabbed-set:only-child{margin-top:0}html .md-typeset .admonition>:last-child,html .md-typeset details>:last-child{margin-bottom:.6rem}[dir=ltr] .md-typeset .admonition-title,[dir=ltr] .md-typeset summary{padding-left:2rem;padding-right:.6rem}[dir=rtl] .md-typeset .admonition-title,[dir=rtl] .md-typeset summary{padding-left:.6rem;padding-right:2rem}[dir=ltr] .md-typeset .admonition-title,[dir=ltr] .md-typeset summary{border-left-width:.2rem}[dir=rtl] .md-typeset .admonition-title,[dir=rtl] .md-typeset summary{border-right-width:.2rem}[dir=ltr] .md-typeset .admonition-title,[dir=ltr] .md-typeset summary{border-top-left-radius:.1rem}[dir=ltr] .md-typeset .admonition-title,[dir=ltr] .md-typeset summary,[dir=rtl] .md-typeset .admonition-title,[dir=rtl] .md-typeset summary{border-top-right-radius:.1rem}[dir=rtl] .md-typeset .admonition-title,[dir=rtl] .md-typeset summary{border-top-left-radius:.1rem}.md-typeset .admonition-title,.md-typeset summary{background-color:#448aff1a;border:none;font-weight:700;margin:0 -.6rem;padding-bottom:.4rem;padding-top:.4rem;position:relative}html .md-typeset .admonition-title:last-child,html .md-typeset summary:last-child{margin-bottom:0}[dir=ltr] .md-typeset .admonition-title:before,[dir=ltr] .md-typeset summary:before{left:.6rem}[dir=rtl] .md-typeset .admonition-title:before,[dir=rtl] .md-typeset summary:before{right:.6rem}.md-typeset .admonition-title:before,.md-typeset summary:before{background-color:#448aff;content:"";height:1rem;-webkit-mask-image:var(--md-admonition-icon--note);mask-image:var(--md-admonition-icon--note);-webkit-mask-position:center;mask-position:center;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat;-webkit-mask-size:contain;mask-size:contain;position:absolute;top:.625em;width:1rem}.md-typeset .admonition-title code,.md-typeset summary code{box-shadow:0 0 0 .05rem var(--md-default-fg-color--lightest)}.md-typeset .admonition.note,.md-typeset details.note{border-color:#448aff}.md-typeset .admonition.note:focus-within,.md-typeset details.note:focus-within{box-shadow:0 0 0 .2rem #448aff1a}.md-typeset .note>.admonition-title,.md-typeset .note>summary{background-color:#448aff1a}.md-typeset .note>.admonition-title:before,.md-typeset .note>summary:before{background-color:#448aff;-webkit-mask-image:var(--md-admonition-icon--note);mask-image:var(--md-admonition-icon--note)}.md-typeset .note>.admonition-title:after,.md-typeset .note>summary:after{color:#448aff}.md-typeset .admonition.abstract,.md-typeset details.abstract{border-color:#00b0ff}.md-typeset .admonition.abstract:focus-within,.md-typeset details.abstract:focus-within{box-shadow:0 0 0 .2rem #00b0ff1a}.md-typeset .abstract>.admonition-title,.md-typeset .abstract>summary{background-color:#00b0ff1a}.md-typeset .abstract>.admonition-title:before,.md-typeset .abstract>summary:before{background-color:#00b0ff;-webkit-mask-image:var(--md-admonition-icon--abstract);mask-image:var(--md-admonition-icon--abstract)}.md-typeset .abstract>.admonition-title:after,.md-typeset .abstract>summary:after{color:#00b0ff}.md-typeset .admonition.info,.md-typeset details.info{border-color:#00b8d4}.md-typeset .admonition.info:focus-within,.md-typeset details.info:focus-within{box-shadow:0 0 0 .2rem #00b8d41a}.md-typeset .info>.admonition-title,.md-typeset .info>summary{background-color:#00b8d41a}.md-typeset .info>.admonition-title:before,.md-typeset .info>summary:before{background-color:#00b8d4;-webkit-mask-image:var(--md-admonition-icon--info);mask-image:var(--md-admonition-icon--info)}.md-typeset .info>.admonition-title:after,.md-typeset .info>summary:after{color:#00b8d4}.md-typeset .admonition.tip,.md-typeset details.tip{border-color:#00bfa5}.md-typeset .admonition.tip:focus-within,.md-typeset details.tip:focus-within{box-shadow:0 0 0 .2rem #00bfa51a}.md-typeset .tip>.admonition-title,.md-typeset .tip>summary{background-color:#00bfa51a}.md-typeset .tip>.admonition-title:before,.md-typeset .tip>summary:before{background-color:#00bfa5;-webkit-mask-image:var(--md-admonition-icon--tip);mask-image:var(--md-admonition-icon--tip)}.md-typeset .tip>.admonition-title:after,.md-typeset .tip>summary:after{color:#00bfa5}.md-typeset .admonition.success,.md-typeset details.success{border-color:#00c853}.md-typeset .admonition.success:focus-within,.md-typeset details.success:focus-within{box-shadow:0 0 0 .2rem #00c8531a}.md-typeset .success>.admonition-title,.md-typeset .success>summary{background-color:#00c8531a}.md-typeset .success>.admonition-title:before,.md-typeset .success>summary:before{background-color:#00c853;-webkit-mask-image:var(--md-admonition-icon--success);mask-image:var(--md-admonition-icon--success)}.md-typeset .success>.admonition-title:after,.md-typeset .success>summary:after{color:#00c853}.md-typeset .admonition.question,.md-typeset details.question{border-color:#64dd17}.md-typeset .admonition.question:focus-within,.md-typeset details.question:focus-within{box-shadow:0 0 0 .2rem #64dd171a}.md-typeset .question>.admonition-title,.md-typeset .question>summary{background-color:#64dd171a}.md-typeset .question>.admonition-title:before,.md-typeset .question>summary:before{background-color:#64dd17;-webkit-mask-image:var(--md-admonition-icon--question);mask-image:var(--md-admonition-icon--question)}.md-typeset .question>.admonition-title:after,.md-typeset .question>summary:after{color:#64dd17}.md-typeset .admonition.warning,.md-typeset details.warning{border-color:#ff9100}.md-typeset .admonition.warning:focus-within,.md-typeset details.warning:focus-within{box-shadow:0 0 0 .2rem #ff91001a}.md-typeset .warning>.admonition-title,.md-typeset .warning>summary{background-color:#ff91001a}.md-typeset .warning>.admonition-title:before,.md-typeset .warning>summary:before{background-color:#ff9100;-webkit-mask-image:var(--md-admonition-icon--warning);mask-image:var(--md-admonition-icon--warning)}.md-typeset .warning>.admonition-title:after,.md-typeset .warning>summary:after{color:#ff9100}.md-typeset .admonition.failure,.md-typeset details.failure{border-color:#ff5252}.md-typeset .admonition.failure:focus-within,.md-typeset details.failure:focus-within{box-shadow:0 0 0 .2rem #ff52521a}.md-typeset .failure>.admonition-title,.md-typeset .failure>summary{background-color:#ff52521a}.md-typeset .failure>.admonition-title:before,.md-typeset .failure>summary:before{background-color:#ff5252;-webkit-mask-image:var(--md-admonition-icon--failure);mask-image:var(--md-admonition-icon--failure)}.md-typeset .failure>.admonition-title:after,.md-typeset .failure>summary:after{color:#ff5252}.md-typeset .admonition.danger,.md-typeset details.danger{border-color:#ff1744}.md-typeset .admonition.danger:focus-within,.md-typeset details.danger:focus-within{box-shadow:0 0 0 .2rem #ff17441a}.md-typeset .danger>.admonition-title,.md-typeset .danger>summary{background-color:#ff17441a}.md-typeset .danger>.admonition-title:before,.md-typeset .danger>summary:before{background-color:#ff1744;-webkit-mask-image:var(--md-admonition-icon--danger);mask-image:var(--md-admonition-icon--danger)}.md-typeset .danger>.admonition-title:after,.md-typeset .danger>summary:after{color:#ff1744}.md-typeset .admonition.bug,.md-typeset details.bug{border-color:#f50057}.md-typeset .admonition.bug:focus-within,.md-typeset details.bug:focus-within{box-shadow:0 0 0 .2rem #f500571a}.md-typeset .bug>.admonition-title,.md-typeset .bug>summary{background-color:#f500571a}.md-typeset .bug>.admonition-title:before,.md-typeset .bug>summary:before{background-color:#f50057;-webkit-mask-image:var(--md-admonition-icon--bug);mask-image:var(--md-admonition-icon--bug)}.md-typeset .bug>.admonition-title:after,.md-typeset .bug>summary:after{color:#f50057}.md-typeset .admonition.example,.md-typeset details.example{border-color:#7c4dff}.md-typeset .admonition.example:focus-within,.md-typeset details.example:focus-within{box-shadow:0 0 0 .2rem #7c4dff1a}.md-typeset .example>.admonition-title,.md-typeset .example>summary{background-color:#7c4dff1a}.md-typeset .example>.admonition-title:before,.md-typeset .example>summary:before{background-color:#7c4dff;-webkit-mask-image:var(--md-admonition-icon--example);mask-image:var(--md-admonition-icon--example)}.md-typeset .example>.admonition-title:after,.md-typeset .example>summary:after{color:#7c4dff}.md-typeset .admonition.quote,.md-typeset details.quote{border-color:#9e9e9e}.md-typeset .admonition.quote:focus-within,.md-typeset details.quote:focus-within{box-shadow:0 0 0 .2rem #9e9e9e1a}.md-typeset .quote>.admonition-title,.md-typeset .quote>summary{background-color:#9e9e9e1a}.md-typeset .quote>.admonition-title:before,.md-typeset .quote>summary:before{background-color:#9e9e9e;-webkit-mask-image:var(--md-admonition-icon--quote);mask-image:var(--md-admonition-icon--quote)}.md-typeset .quote>.admonition-title:after,.md-typeset .quote>summary:after{color:#9e9e9e}:root{--md-footnotes-icon:url('data:image/svg+xml;charset=utf-8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M19 7v4H5.83l3.58-3.59L8 6l-6 6 6 6 1.41-1.42L5.83 13H21V7h-2Z"/></svg>')}.md-typeset .footnote{color:var(--md-default-fg-color--light);font-size:.64rem}[dir=ltr] .md-typeset .footnote>ol{margin-left:0}[dir=rtl] .md-typeset .footnote>ol{margin-right:0}.md-typeset .footnote>ol>li{transition:color 125ms}.md-typeset .footnote>ol>li:target{color:var(--md-default-fg-color)}.md-typeset .footnote>ol>li:focus-within .footnote-backref{opacity:1;transform:translateX(0);transition:none}.md-typeset .footnote>ol>li:hover .footnote-backref,.md-typeset .footnote>ol>li:target .footnote-backref{opacity:1;transform:translateX(0)}.md-typeset .footnote>ol>li>:first-child{margin-top:0}.md-typeset .footnote-ref{font-size:.75em;font-weight:700}html .md-typeset .footnote-ref{outline-offset:.1rem}.md-typeset [id^="fnref:"]:target>.footnote-ref{outline:auto}.md-typeset .footnote-backref{color:var(--md-typeset-a-color);display:inline-block;font-size:0;opacity:0;transform:translateX(.25rem);transition:color .25s,transform .25s .25s,opacity 125ms .25s;vertical-align:text-bottom}@media print{.md-typeset .footnote-backref{color:var(--md-typeset-a-color);opacity:1;transform:translateX(0)}}[dir=rtl] .md-typeset .footnote-backref{transform:translateX(-.25rem)}.md-typeset .footnote-backref:hover{color:var(--md-accent-fg-color)}.md-typeset .footnote-backref:before{background-color:currentcolor;content:"";display:inline-block;height:.8rem;-webkit-mask-image:var(--md-footnotes-icon);mask-image:var(--md-footnotes-icon);-webkit-mask-position:center;mask-position:center;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat;-webkit-mask-size:contain;mask-size:contain;width:.8rem}[dir=rtl] .md-typeset .footnote-backref:before svg{transform:scaleX(-1)}[dir=ltr] .md-typeset .headerlink{margin-left:.5rem}[dir=rtl] .md-typeset .headerlink{margin-right:.5rem}.md-typeset .headerlink{color:var(--md-default-fg-color--lighter);display:inline-block;opacity:0;transition:color .25s,opacity 125ms}@media print{.md-typeset .headerlink{display:none}}.md-typeset .headerlink:focus,.md-typeset :hover>.headerlink,.md-typeset :target>.headerlink{opacity:1;transition:color .25s,opacity 125ms}.md-typeset .headerlink:focus,.md-typeset .headerlink:hover,.md-typeset :target>.headerlink{color:var(--md-accent-fg-color)}.md-typeset :target{--md-scroll-margin:3.6rem;--md-scroll-offset:0rem;scroll-margin-top:calc(var(--md-scroll-margin) - var(--md-scroll-offset))}@media screen and (min-width:76.25em){.md-header--lifted~.md-container .md-typeset :target{--md-scroll-margin:6rem}}.md-typeset h1:target,.md-typeset h2:target,.md-typeset h3:target{--md-scroll-offset:0.2rem}.md-typeset h4:target{--md-scroll-offset:0.15rem}.md-typeset div.arithmatex{overflow:auto}@media screen and (max-width:44.984375em){.md-typeset div.arithmatex{margin:0 -.8rem}}.md-typeset div.arithmatex>*{margin-left:auto!important;margin-right:auto!important;padding:0 .8rem;touch-action:auto;width:-webkit-min-content;width:min-content}.md-typeset div.arithmatex>* mjx-container{margin:0!important}.md-typeset del.critic{background-color:var(--md-typeset-del-color)}.md-typeset del.critic,.md-typeset ins.critic{-webkit-box-decoration-break:clone;box-decoration-break:clone}.md-typeset ins.critic{background-color:var(--md-typeset-ins-color)}.md-typeset .critic.comment{-webkit-box-decoration-break:clone;box-decoration-break:clone;color:var(--md-code-hl-comment-color)}.md-typeset .critic.comment:before{content:"/* "}.md-typeset .critic.comment:after{content:" */"}.md-typeset .critic.block{box-shadow:none;display:block;margin:1em 0;overflow:auto;padding-left:.8rem;padding-right:.8rem}.md-typeset .critic.block>:first-child{margin-top:.5em}.md-typeset .critic.block>:last-child{margin-bottom:.5em}:root{--md-details-icon:url('data:image/svg+xml;charset=utf-8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M8.59 16.58 13.17 12 8.59 7.41 10 6l6 6-6 6-1.41-1.42Z"/></svg>')}.md-typeset details{display:flow-root;overflow:visible;padding-top:0}.md-typeset details[open]>summary:after{transform:rotate(90deg)}.md-typeset details:not([open]){box-shadow:none;padding-bottom:0}.md-typeset details:not([open])>summary{border-radius:.1rem}[dir=ltr] .md-typeset summary{padding-right:1.8rem}[dir=rtl] .md-typeset summary{padding-left:1.8rem}[dir=ltr] .md-typeset summary{border-top-left-radius:.1rem}[dir=ltr] .md-typeset summary,[dir=rtl] .md-typeset summary{border-top-right-radius:.1rem}[dir=rtl] .md-typeset summary{border-top-left-radius:.1rem}.md-typeset summary{cursor:pointer;display:block;min-height:1rem}.md-typeset summary.focus-visible{outline-color:var(--md-accent-fg-color);outline-offset:.2rem}.md-typeset summary:not(.focus-visible){-webkit-tap-highlight-color:transparent;outline:none}[dir=ltr] .md-typeset summary:after{right:.4rem}[dir=rtl] .md-typeset summary:after{left:.4rem}.md-typeset summary:after{background-color:currentcolor;content:"";height:1rem;-webkit-mask-image:var(--md-details-icon);mask-image:var(--md-details-icon);-webkit-mask-position:center;mask-position:center;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat;-webkit-mask-size:contain;mask-size:contain;position:absolute;top:.625em;transform:rotate(0deg);transition:transform .25s;width:1rem}[dir=rtl] .md-typeset summary:after{transform:rotate(180deg)}.md-typeset summary::marker{display:none}.md-typeset summary::-webkit-details-marker{display:none}.md-typeset .emojione,.md-typeset .gemoji,.md-typeset .twemoji{display:inline-flex;height:1.125em;vertical-align:text-top}.md-typeset .emojione svg,.md-typeset .gemoji svg,.md-typeset .twemoji svg{fill:currentcolor;max-height:100%;width:1.125em}.highlight .o,.highlight .ow{color:var(--md-code-hl-operator-color)}.highlight .p{color:var(--md-code-hl-punctuation-color)}.highlight .cpf,.highlight .l,.highlight .s,.highlight .s1,.highlight .s2,.highlight .sb,.highlight .sc,.highlight .si,.highlight .ss{color:var(--md-code-hl-string-color)}.highlight .cp,.highlight .se,.highlight .sh,.highlight .sr,.highlight .sx{color:var(--md-code-hl-special-color)}.highlight .il,.highlight .m,.highlight .mb,.highlight .mf,.highlight .mh,.highlight .mi,.highlight .mo{color:var(--md-code-hl-number-color)}.highlight .k,.highlight .kd,.highlight .kn,.highlight .kp,.highlight .kr,.highlight .kt{color:var(--md-code-hl-keyword-color)}.highlight .kc,.highlight .n{color:var(--md-code-hl-name-color)}.highlight .bp,.highlight .nb,.highlight .no{color:var(--md-code-hl-constant-color)}.highlight .nc,.highlight .ne,.highlight .nf,.highlight .nn{color:var(--md-code-hl-function-color)}.highlight .nd,.highlight .ni,.highlight .nl,.highlight .nt{color:var(--md-code-hl-keyword-color)}.highlight .c,.highlight .c1,.highlight .ch,.highlight .cm,.highlight .cs,.highlight .sd{color:var(--md-code-hl-comment-color)}.highlight .na,.highlight .nv,.highlight .vc,.highlight .vg,.highlight .vi{color:var(--md-code-hl-variable-color)}.highlight .ge,.highlight .gh,.highlight .go,.highlight .gp,.highlight .gr,.highlight .gs,.highlight .gt,.highlight .gu{color:var(--md-code-hl-generic-color)}.highlight .gd,.highlight .gi{border-radius:.1rem;margin:0 -.125em;padding:0 .125em}.highlight .gd{background-color:var(--md-typeset-del-color)}.highlight .gi{background-color:var(--md-typeset-ins-color)}.highlight .hll{background-color:var(--md-code-hl-color--light);box-shadow:2px 0 0 0 var(--md-code-hl-color) inset;display:block;margin:0 -1.1764705882em;padding:0 1.1764705882em}.highlight span.filename{background-color:var(--md-code-bg-color);border-bottom:.05rem solid var(--md-default-fg-color--lightest);border-top-left-radius:.1rem;border-top-right-radius:.1rem;display:flow-root;font-size:.85em;font-weight:700;margin-top:1em;padding:.6617647059em 1.1764705882em;position:relative}.highlight span.filename+pre{margin-top:0}.highlight span.filename+pre>code{border-top-left-radius:0;border-top-right-radius:0}.highlight [data-linenos]:before{background-color:var(--md-code-bg-color);box-shadow:-.05rem 0 var(--md-default-fg-color--lightest) inset;color:var(--md-default-fg-color--light);content:attr(data-linenos);float:left;left:-1.1764705882em;margin-left:-1.1764705882em;margin-right:1.1764705882em;padding-left:1.1764705882em;position:sticky;-webkit-user-select:none;user-select:none;z-index:3}.highlight code a[id]{position:absolute;visibility:hidden}.highlight code[data-md-copying] .hll{display:contents}.highlight code[data-md-copying] .md-annotation{display:none}.highlighttable{display:flow-root}.highlighttable tbody,.highlighttable td{display:block;padding:0}.highlighttable tr{display:flex}.highlighttable pre{margin:0}.highlighttable th.filename{flex-grow:1;padding:0;text-align:left}.highlighttable th.filename span.filename{margin-top:0}.highlighttable .linenos{background-color:var(--md-code-bg-color);border-bottom-left-radius:.1rem;border-top-left-radius:.1rem;font-size:.85em;padding:.7720588235em 0 .7720588235em 1.1764705882em;-webkit-user-select:none;user-select:none}.highlighttable .linenodiv{box-shadow:-.05rem 0 var(--md-default-fg-color--lightest) inset;padding-right:.5882352941em}.highlighttable .linenodiv pre{color:var(--md-default-fg-color--light);text-align:right}.highlighttable .code{flex:1;min-width:0}.linenodiv a{color:inherit}.md-typeset .highlighttable{direction:ltr;margin:1em 0}.md-typeset .highlighttable>tbody>tr>.code>div>pre>code{border-bottom-left-radius:0;border-top-left-radius:0}.md-typeset .highlight+.result{border:.05rem solid var(--md-code-bg-color);border-bottom-left-radius:.1rem;border-bottom-right-radius:.1rem;border-top-width:.1rem;margin-top:-1.125em;overflow:visible;padding:0 1em}.md-typeset .highlight+.result:after{clear:both;content:"";display:block}@media screen and (max-width:44.984375em){.md-content__inner>.highlight{margin:1em -.8rem}.md-content__inner>.highlight>.filename,.md-content__inner>.highlight>.highlighttable>tbody>tr>.code>div>pre>code,.md-content__inner>.highlight>.highlighttable>tbody>tr>.filename span.filename,.md-content__inner>.highlight>.highlighttable>tbody>tr>.linenos,.md-content__inner>.highlight>pre>code{border-radius:0}.md-content__inner>.highlight+.result{border-left-width:0;border-radius:0;border-right-width:0;margin-left:-.8rem;margin-right:-.8rem}}.md-typeset .keys kbd:after,.md-typeset .keys kbd:before{-moz-osx-font-smoothing:initial;-webkit-font-smoothing:initial;color:inherit;margin:0;position:relative}.md-typeset .keys span{color:var(--md-default-fg-color--light);padding:0 .2em}.md-typeset .keys .key-alt:before,.md-typeset .keys .key-left-alt:before,.md-typeset .keys .key-right-alt:before{content:"⎇";padding-right:.4em}.md-typeset .keys .key-command:before,.md-typeset .keys .key-left-command:before,.md-typeset .keys .key-right-command:before{content:"⌘";padding-right:.4em}.md-typeset .keys .key-control:before,.md-typeset .keys .key-left-control:before,.md-typeset .keys .key-right-control:before{content:"⌃";padding-right:.4em}.md-typeset .keys .key-left-meta:before,.md-typeset .keys .key-meta:before,.md-typeset .keys .key-right-meta:before{content:"◆";padding-right:.4em}.md-typeset .keys .key-left-option:before,.md-typeset .keys .key-option:before,.md-typeset .keys .key-right-option:before{content:"⌥";padding-right:.4em}.md-typeset .keys .key-left-shift:before,.md-typeset .keys .key-right-shift:before,.md-typeset .keys .key-shift:before{content:"⇧";padding-right:.4em}.md-typeset .keys .key-left-super:before,.md-typeset .keys .key-right-super:before,.md-typeset .keys .key-super:before{content:"❖";padding-right:.4em}.md-typeset .keys .key-left-windows:before,.md-typeset .keys .key-right-windows:before,.md-typeset .keys .key-windows:before{content:"⊞";padding-right:.4em}.md-typeset .keys .key-arrow-down:before{content:"↓";padding-right:.4em}.md-typeset .keys .key-arrow-left:before{content:"←";padding-right:.4em}.md-typeset .keys .key-arrow-right:before{content:"→";padding-right:.4em}.md-typeset .keys .key-arrow-up:before{content:"↑";padding-right:.4em}.md-typeset .keys .key-backspace:before{content:"⌫";padding-right:.4em}.md-typeset .keys .key-backtab:before{content:"⇤";padding-right:.4em}.md-typeset .keys .key-caps-lock:before{content:"⇪";padding-right:.4em}.md-typeset .keys .key-clear:before{content:"⌧";padding-right:.4em}.md-typeset .keys .key-context-menu:before{content:"☰";padding-right:.4em}.md-typeset .keys .key-delete:before{content:"⌦";padding-right:.4em}.md-typeset .keys .key-eject:before{content:"⏏";padding-right:.4em}.md-typeset .keys .key-end:before{content:"⤓";padding-right:.4em}.md-typeset .keys .key-escape:before{content:"⎋";padding-right:.4em}.md-typeset .keys .key-home:before{content:"⤒";padding-right:.4em}.md-typeset .keys .key-insert:before{content:"⎀";padding-right:.4em}.md-typeset .keys .key-page-down:before{content:"⇟";padding-right:.4em}.md-typeset .keys .key-page-up:before{content:"⇞";padding-right:.4em}.md-typeset .keys .key-print-screen:before{content:"⎙";padding-right:.4em}.md-typeset .keys .key-tab:after{content:"⇥";padding-left:.4em}.md-typeset .keys .key-num-enter:after{content:"⌤";padding-left:.4em}.md-typeset .keys .key-enter:after{content:"⏎";padding-left:.4em}:root{--md-tabbed-icon--prev:url('data:image/svg+xml;charset=utf-8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M15.41 16.58 10.83 12l4.58-4.59L14 6l-6 6 6 6 1.41-1.42Z"/></svg>');--md-tabbed-icon--next:url('data:image/svg+xml;charset=utf-8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M8.59 16.58 13.17 12 8.59 7.41 10 6l6 6-6 6-1.41-1.42Z"/></svg>')}.md-typeset .tabbed-set{border-radius:.1rem;display:flex;flex-flow:column wrap;margin:1em 0;position:relative}.md-typeset .tabbed-set>input{height:0;opacity:0;position:absolute;width:0}.md-typeset .tabbed-set>input:target{--md-scroll-offset:0.625em}.md-typeset .tabbed-set>input.focus-visible~.tabbed-labels:before{background-color:var(--md-accent-fg-color)}.md-typeset .tabbed-labels{-ms-overflow-style:none;box-shadow:0 -.05rem var(--md-default-fg-color--lightest) inset;display:flex;max-width:100%;overflow:auto;scrollbar-width:none}@media print{.md-typeset .tabbed-labels{display:contents}}@media screen{.js .md-typeset .tabbed-labels{position:relative}.js .md-typeset .tabbed-labels:before{background:var(--md-default-fg-color);bottom:0;content:"";display:block;height:2px;left:0;position:absolute;transform:translateX(var(--md-indicator-x));transition:width 225ms,background-color .25s,transform .25s;transition-timing-function:cubic-bezier(.4,0,.2,1);width:var(--md-indicator-width)}}.md-typeset .tabbed-labels::-webkit-scrollbar{display:none}.md-typeset .tabbed-labels>label{border-bottom:.1rem solid #0000;border-radius:.1rem .1rem 0 0;color:var(--md-default-fg-color--light);cursor:pointer;flex-shrink:0;font-size:.64rem;font-weight:700;padding:.78125em 1.25em .625em;scroll-margin-inline-start:1rem;transition:background-color .25s,color .25s;white-space:nowrap;width:auto}@media print{.md-typeset .tabbed-labels>label:first-child{order:1}.md-typeset .tabbed-labels>label:nth-child(2){order:2}.md-typeset .tabbed-labels>label:nth-child(3){order:3}.md-typeset .tabbed-labels>label:nth-child(4){order:4}.md-typeset .tabbed-labels>label:nth-child(5){order:5}.md-typeset .tabbed-labels>label:nth-child(6){order:6}.md-typeset .tabbed-labels>label:nth-child(7){order:7}.md-typeset .tabbed-labels>label:nth-child(8){order:8}.md-typeset .tabbed-labels>label:nth-child(9){order:9}.md-typeset .tabbed-labels>label:nth-child(10){order:10}.md-typeset .tabbed-labels>label:nth-child(11){order:11}.md-typeset .tabbed-labels>label:nth-child(12){order:12}.md-typeset .tabbed-labels>label:nth-child(13){order:13}.md-typeset .tabbed-labels>label:nth-child(14){order:14}.md-typeset .tabbed-labels>label:nth-child(15){order:15}.md-typeset .tabbed-labels>label:nth-child(16){order:16}.md-typeset .tabbed-labels>label:nth-child(17){order:17}.md-typeset .tabbed-labels>label:nth-child(18){order:18}.md-typeset .tabbed-labels>label:nth-child(19){order:19}.md-typeset .tabbed-labels>label:nth-child(20){order:20}}.md-typeset .tabbed-labels>label:hover{color:var(--md-default-fg-color)}.md-typeset .tabbed-content{width:100%}@media print{.md-typeset .tabbed-content{display:contents}}.md-typeset .tabbed-block{display:none}@media print{.md-typeset .tabbed-block{display:block}.md-typeset .tabbed-block:first-child{order:1}.md-typeset .tabbed-block:nth-child(2){order:2}.md-typeset .tabbed-block:nth-child(3){order:3}.md-typeset .tabbed-block:nth-child(4){order:4}.md-typeset .tabbed-block:nth-child(5){order:5}.md-typeset .tabbed-block:nth-child(6){order:6}.md-typeset .tabbed-block:nth-child(7){order:7}.md-typeset .tabbed-block:nth-child(8){order:8}.md-typeset .tabbed-block:nth-child(9){order:9}.md-typeset .tabbed-block:nth-child(10){order:10}.md-typeset .tabbed-block:nth-child(11){order:11}.md-typeset .tabbed-block:nth-child(12){order:12}.md-typeset .tabbed-block:nth-child(13){order:13}.md-typeset .tabbed-block:nth-child(14){order:14}.md-typeset .tabbed-block:nth-child(15){order:15}.md-typeset .tabbed-block:nth-child(16){order:16}.md-typeset .tabbed-block:nth-child(17){order:17}.md-typeset .tabbed-block:nth-child(18){order:18}.md-typeset .tabbed-block:nth-child(19){order:19}.md-typeset .tabbed-block:nth-child(20){order:20}}.md-typeset .tabbed-block>.highlight:first-child>pre,.md-typeset .tabbed-block>pre:first-child{margin:0}.md-typeset .tabbed-block>.highlight:first-child>pre>code,.md-typeset .tabbed-block>pre:first-child>code{border-top-left-radius:0;border-top-right-radius:0}.md-typeset .tabbed-block>.highlight:first-child>.filename{border-top-left-radius:0;border-top-right-radius:0;margin:0}.md-typeset .tabbed-block>.highlight:first-child>.highlighttable{margin:0}.md-typeset .tabbed-block>.highlight:first-child>.highlighttable>tbody>tr>.filename span.filename,.md-typeset .tabbed-block>.highlight:first-child>.highlighttable>tbody>tr>.linenos{border-top-left-radius:0;border-top-right-radius:0;margin:0}.md-typeset .tabbed-block>.highlight:first-child>.highlighttable>tbody>tr>.code>div>pre>code{border-top-left-radius:0;border-top-right-radius:0}.md-typeset .tabbed-block>.highlight:first-child+.result{margin-top:-.125em}.md-typeset .tabbed-block>.tabbed-set{margin:0}.md-typeset .tabbed-button{align-self:center;border-radius:100%;color:var(--md-default-fg-color--light);cursor:pointer;display:block;height:.9rem;margin-top:.1rem;pointer-events:auto;transition:background-color .25s;width:.9rem}.md-typeset .tabbed-button:hover{background-color:var(--md-accent-fg-color--transparent);color:var(--md-accent-fg-color)}.md-typeset .tabbed-button:after{background-color:currentcolor;content:"";display:block;height:100%;-webkit-mask-image:var(--md-tabbed-icon--prev);mask-image:var(--md-tabbed-icon--prev);-webkit-mask-position:center;mask-position:center;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat;-webkit-mask-size:contain;mask-size:contain;transition:background-color .25s,transform .25s;width:100%}.md-typeset .tabbed-control{background:linear-gradient(to right,var(--md-default-bg-color) 60%,#0000);display:flex;height:1.9rem;justify-content:start;pointer-events:none;position:absolute;transition:opacity 125ms;width:1.2rem}[dir=rtl] .md-typeset .tabbed-control{transform:rotate(180deg)}.md-typeset .tabbed-control[hidden]{opacity:0}.md-typeset .tabbed-control--next{background:linear-gradient(to left,var(--md-default-bg-color) 60%,#0000);justify-content:end;right:0}.md-typeset .tabbed-control--next .tabbed-button:after{-webkit-mask-image:var(--md-tabbed-icon--next);mask-image:var(--md-tabbed-icon--next)}@media screen and (max-width:44.984375em){[dir=ltr] .md-content__inner>.tabbed-set .tabbed-labels{padding-left:.8rem}[dir=rtl] .md-content__inner>.tabbed-set .tabbed-labels{padding-right:.8rem}.md-content__inner>.tabbed-set .tabbed-labels{margin:0 -.8rem;max-width:100vw;scroll-padding-inline-start:.8rem}[dir=ltr] .md-content__inner>.tabbed-set .tabbed-labels:after{padding-right:.8rem}[dir=rtl] .md-content__inner>.tabbed-set .tabbed-labels:after{padding-left:.8rem}.md-content__inner>.tabbed-set .tabbed-labels:after{content:""}[dir=ltr] .md-content__inner>.tabbed-set .tabbed-labels~.tabbed-control--prev{padding-left:.8rem}[dir=rtl] .md-content__inner>.tabbed-set .tabbed-labels~.tabbed-control--prev{padding-right:.8rem}[dir=ltr] .md-content__inner>.tabbed-set .tabbed-labels~.tabbed-control--prev{margin-left:-.8rem}[dir=rtl] .md-content__inner>.tabbed-set .tabbed-labels~.tabbed-control--prev{margin-right:-.8rem}.md-content__inner>.tabbed-set .tabbed-labels~.tabbed-control--prev{width:2rem}[dir=ltr] .md-content__inner>.tabbed-set .tabbed-labels~.tabbed-control--next{padding-right:.8rem}[dir=rtl] .md-content__inner>.tabbed-set .tabbed-labels~.tabbed-control--next{padding-left:.8rem}[dir=ltr] .md-content__inner>.tabbed-set .tabbed-labels~.tabbed-control--next{margin-right:-.8rem}[dir=rtl] .md-content__inner>.tabbed-set .tabbed-labels~.tabbed-control--next{margin-left:-.8rem}.md-content__inner>.tabbed-set .tabbed-labels~.tabbed-control--next{width:2rem}}@media screen{.md-typeset .tabbed-set>input:first-child:checked~.tabbed-labels>:first-child,.md-typeset .tabbed-set>input:nth-child(10):checked~.tabbed-labels>:nth-child(10),.md-typeset .tabbed-set>input:nth-child(11):checked~.tabbed-labels>:nth-child(11),.md-typeset .tabbed-set>input:nth-child(12):checked~.tabbed-labels>:nth-child(12),.md-typeset .tabbed-set>input:nth-child(13):checked~.tabbed-labels>:nth-child(13),.md-typeset .tabbed-set>input:nth-child(14):checked~.tabbed-labels>:nth-child(14),.md-typeset .tabbed-set>input:nth-child(15):checked~.tabbed-labels>:nth-child(15),.md-typeset .tabbed-set>input:nth-child(16):checked~.tabbed-labels>:nth-child(16),.md-typeset .tabbed-set>input:nth-child(17):checked~.tabbed-labels>:nth-child(17),.md-typeset .tabbed-set>input:nth-child(18):checked~.tabbed-labels>:nth-child(18),.md-typeset .tabbed-set>input:nth-child(19):checked~.tabbed-labels>:nth-child(19),.md-typeset .tabbed-set>input:nth-child(2):checked~.tabbed-labels>:nth-child(2),.md-typeset .tabbed-set>input:nth-child(20):checked~.tabbed-labels>:nth-child(20),.md-typeset .tabbed-set>input:nth-child(3):checked~.tabbed-labels>:nth-child(3),.md-typeset .tabbed-set>input:nth-child(4):checked~.tabbed-labels>:nth-child(4),.md-typeset .tabbed-set>input:nth-child(5):checked~.tabbed-labels>:nth-child(5),.md-typeset .tabbed-set>input:nth-child(6):checked~.tabbed-labels>:nth-child(6),.md-typeset .tabbed-set>input:nth-child(7):checked~.tabbed-labels>:nth-child(7),.md-typeset .tabbed-set>input:nth-child(8):checked~.tabbed-labels>:nth-child(8),.md-typeset .tabbed-set>input:nth-child(9):checked~.tabbed-labels>:nth-child(9){color:var(--md-default-fg-color)}.md-typeset .no-js .tabbed-set>input:first-child:checked~.tabbed-labels>:first-child,.md-typeset .no-js .tabbed-set>input:nth-child(10):checked~.tabbed-labels>:nth-child(10),.md-typeset .no-js .tabbed-set>input:nth-child(11):checked~.tabbed-labels>:nth-child(11),.md-typeset .no-js .tabbed-set>input:nth-child(12):checked~.tabbed-labels>:nth-child(12),.md-typeset .no-js .tabbed-set>input:nth-child(13):checked~.tabbed-labels>:nth-child(13),.md-typeset .no-js .tabbed-set>input:nth-child(14):checked~.tabbed-labels>:nth-child(14),.md-typeset .no-js .tabbed-set>input:nth-child(15):checked~.tabbed-labels>:nth-child(15),.md-typeset .no-js .tabbed-set>input:nth-child(16):checked~.tabbed-labels>:nth-child(16),.md-typeset .no-js .tabbed-set>input:nth-child(17):checked~.tabbed-labels>:nth-child(17),.md-typeset .no-js .tabbed-set>input:nth-child(18):checked~.tabbed-labels>:nth-child(18),.md-typeset .no-js .tabbed-set>input:nth-child(19):checked~.tabbed-labels>:nth-child(19),.md-typeset .no-js .tabbed-set>input:nth-child(2):checked~.tabbed-labels>:nth-child(2),.md-typeset .no-js .tabbed-set>input:nth-child(20):checked~.tabbed-labels>:nth-child(20),.md-typeset .no-js .tabbed-set>input:nth-child(3):checked~.tabbed-labels>:nth-child(3),.md-typeset .no-js .tabbed-set>input:nth-child(4):checked~.tabbed-labels>:nth-child(4),.md-typeset .no-js .tabbed-set>input:nth-child(5):checked~.tabbed-labels>:nth-child(5),.md-typeset .no-js .tabbed-set>input:nth-child(6):checked~.tabbed-labels>:nth-child(6),.md-typeset .no-js .tabbed-set>input:nth-child(7):checked~.tabbed-labels>:nth-child(7),.md-typeset .no-js .tabbed-set>input:nth-child(8):checked~.tabbed-labels>:nth-child(8),.md-typeset .no-js .tabbed-set>input:nth-child(9):checked~.tabbed-labels>:nth-child(9),.no-js .md-typeset .tabbed-set>input:first-child:checked~.tabbed-labels>:first-child,.no-js .md-typeset .tabbed-set>input:nth-child(10):checked~.tabbed-labels>:nth-child(10),.no-js .md-typeset .tabbed-set>input:nth-child(11):checked~.tabbed-labels>:nth-child(11),.no-js .md-typeset .tabbed-set>input:nth-child(12):checked~.tabbed-labels>:nth-child(12),.no-js .md-typeset .tabbed-set>input:nth-child(13):checked~.tabbed-labels>:nth-child(13),.no-js .md-typeset .tabbed-set>input:nth-child(14):checked~.tabbed-labels>:nth-child(14),.no-js .md-typeset .tabbed-set>input:nth-child(15):checked~.tabbed-labels>:nth-child(15),.no-js .md-typeset .tabbed-set>input:nth-child(16):checked~.tabbed-labels>:nth-child(16),.no-js .md-typeset .tabbed-set>input:nth-child(17):checked~.tabbed-labels>:nth-child(17),.no-js .md-typeset .tabbed-set>input:nth-child(18):checked~.tabbed-labels>:nth-child(18),.no-js .md-typeset .tabbed-set>input:nth-child(19):checked~.tabbed-labels>:nth-child(19),.no-js .md-typeset .tabbed-set>input:nth-child(2):checked~.tabbed-labels>:nth-child(2),.no-js .md-typeset .tabbed-set>input:nth-child(20):checked~.tabbed-labels>:nth-child(20),.no-js .md-typeset .tabbed-set>input:nth-child(3):checked~.tabbed-labels>:nth-child(3),.no-js .md-typeset .tabbed-set>input:nth-child(4):checked~.tabbed-labels>:nth-child(4),.no-js .md-typeset .tabbed-set>input:nth-child(5):checked~.tabbed-labels>:nth-child(5),.no-js .md-typeset .tabbed-set>input:nth-child(6):checked~.tabbed-labels>:nth-child(6),.no-js .md-typeset .tabbed-set>input:nth-child(7):checked~.tabbed-labels>:nth-child(7),.no-js .md-typeset .tabbed-set>input:nth-child(8):checked~.tabbed-labels>:nth-child(8),.no-js .md-typeset .tabbed-set>input:nth-child(9):checked~.tabbed-labels>:nth-child(9){border-color:var(--md-default-fg-color)}}.md-typeset .tabbed-set>input:first-child.focus-visible~.tabbed-labels>:first-child,.md-typeset .tabbed-set>input:nth-child(10).focus-visible~.tabbed-labels>:nth-child(10),.md-typeset .tabbed-set>input:nth-child(11).focus-visible~.tabbed-labels>:nth-child(11),.md-typeset .tabbed-set>input:nth-child(12).focus-visible~.tabbed-labels>:nth-child(12),.md-typeset .tabbed-set>input:nth-child(13).focus-visible~.tabbed-labels>:nth-child(13),.md-typeset .tabbed-set>input:nth-child(14).focus-visible~.tabbed-labels>:nth-child(14),.md-typeset .tabbed-set>input:nth-child(15).focus-visible~.tabbed-labels>:nth-child(15),.md-typeset .tabbed-set>input:nth-child(16).focus-visible~.tabbed-labels>:nth-child(16),.md-typeset .tabbed-set>input:nth-child(17).focus-visible~.tabbed-labels>:nth-child(17),.md-typeset .tabbed-set>input:nth-child(18).focus-visible~.tabbed-labels>:nth-child(18),.md-typeset .tabbed-set>input:nth-child(19).focus-visible~.tabbed-labels>:nth-child(19),.md-typeset .tabbed-set>input:nth-child(2).focus-visible~.tabbed-labels>:nth-child(2),.md-typeset .tabbed-set>input:nth-child(20).focus-visible~.tabbed-labels>:nth-child(20),.md-typeset .tabbed-set>input:nth-child(3).focus-visible~.tabbed-labels>:nth-child(3),.md-typeset .tabbed-set>input:nth-child(4).focus-visible~.tabbed-labels>:nth-child(4),.md-typeset .tabbed-set>input:nth-child(5).focus-visible~.tabbed-labels>:nth-child(5),.md-typeset .tabbed-set>input:nth-child(6).focus-visible~.tabbed-labels>:nth-child(6),.md-typeset .tabbed-set>input:nth-child(7).focus-visible~.tabbed-labels>:nth-child(7),.md-typeset .tabbed-set>input:nth-child(8).focus-visible~.tabbed-labels>:nth-child(8),.md-typeset .tabbed-set>input:nth-child(9).focus-visible~.tabbed-labels>:nth-child(9){color:var(--md-accent-fg-color)}.md-typeset .tabbed-set>input:first-child:checked~.tabbed-content>:first-child,.md-typeset .tabbed-set>input:nth-child(10):checked~.tabbed-content>:nth-child(10),.md-typeset .tabbed-set>input:nth-child(11):checked~.tabbed-content>:nth-child(11),.md-typeset .tabbed-set>input:nth-child(12):checked~.tabbed-content>:nth-child(12),.md-typeset .tabbed-set>input:nth-child(13):checked~.tabbed-content>:nth-child(13),.md-typeset .tabbed-set>input:nth-child(14):checked~.tabbed-content>:nth-child(14),.md-typeset .tabbed-set>input:nth-child(15):checked~.tabbed-content>:nth-child(15),.md-typeset .tabbed-set>input:nth-child(16):checked~.tabbed-content>:nth-child(16),.md-typeset .tabbed-set>input:nth-child(17):checked~.tabbed-content>:nth-child(17),.md-typeset .tabbed-set>input:nth-child(18):checked~.tabbed-content>:nth-child(18),.md-typeset .tabbed-set>input:nth-child(19):checked~.tabbed-content>:nth-child(19),.md-typeset .tabbed-set>input:nth-child(2):checked~.tabbed-content>:nth-child(2),.md-typeset .tabbed-set>input:nth-child(20):checked~.tabbed-content>:nth-child(20),.md-typeset .tabbed-set>input:nth-child(3):checked~.tabbed-content>:nth-child(3),.md-typeset .tabbed-set>input:nth-child(4):checked~.tabbed-content>:nth-child(4),.md-typeset .tabbed-set>input:nth-child(5):checked~.tabbed-content>:nth-child(5),.md-typeset .tabbed-set>input:nth-child(6):checked~.tabbed-content>:nth-child(6),.md-typeset .tabbed-set>input:nth-child(7):checked~.tabbed-content>:nth-child(7),.md-typeset .tabbed-set>input:nth-child(8):checked~.tabbed-content>:nth-child(8),.md-typeset .tabbed-set>input:nth-child(9):checked~.tabbed-content>:nth-child(9){display:block}:root{--md-tasklist-icon:url('data:image/svg+xml;charset=utf-8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M1 12C1 5.925 5.925 1 12 1s11 4.925 11 11-4.925 11-11 11S1 18.075 1 12Zm16.28-2.72a.751.751 0 0 0-.018-1.042.751.751 0 0 0-1.042-.018l-5.97 5.97-2.47-2.47a.751.751 0 0 0-1.042.018.751.751 0 0 0-.018 1.042l3 3a.75.75 0 0 0 1.06 0Z"/></svg>');--md-tasklist-icon--checked:url('data:image/svg+xml;charset=utf-8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M1 12C1 5.925 5.925 1 12 1s11 4.925 11 11-4.925 11-11 11S1 18.075 1 12Zm16.28-2.72a.751.751 0 0 0-.018-1.042.751.751 0 0 0-1.042-.018l-5.97 5.97-2.47-2.47a.751.751 0 0 0-1.042.018.751.751 0 0 0-.018 1.042l3 3a.75.75 0 0 0 1.06 0Z"/></svg>')}.md-typeset .task-list-item{list-style-type:none;position:relative}[dir=ltr] .md-typeset .task-list-item [type=checkbox]{left:-2em}[dir=rtl] .md-typeset .task-list-item [type=checkbox]{right:-2em}.md-typeset .task-list-item [type=checkbox]{position:absolute;top:.45em}.md-typeset .task-list-control [type=checkbox]{opacity:0;z-index:-1}[dir=ltr] .md-typeset .task-list-indicator:before{left:-1.5em}[dir=rtl] .md-typeset .task-list-indicator:before{right:-1.5em}.md-typeset .task-list-indicator:before{background-color:var(--md-default-fg-color--lightest);content:"";height:1.25em;-webkit-mask-image:var(--md-tasklist-icon);mask-image:var(--md-tasklist-icon);-webkit-mask-position:center;mask-position:center;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat;-webkit-mask-size:contain;mask-size:contain;position:absolute;top:.15em;width:1.25em}.md-typeset [type=checkbox]:checked+.task-list-indicator:before{background-color:#00e676;-webkit-mask-image:var(--md-tasklist-icon--checked);mask-image:var(--md-tasklist-icon--checked)}:root>*{--md-mermaid-font-family:var(--md-text-font-family),sans-serif;--md-mermaid-edge-color:var(--md-code-fg-color);--md-mermaid-node-bg-color:var(--md-accent-fg-color--transparent);--md-mermaid-node-fg-color:var(--md-accent-fg-color);--md-mermaid-label-bg-color:var(--md-default-bg-color);--md-mermaid-label-fg-color:var(--md-code-fg-color);--md-mermaid-sequence-actor-bg-color:var(--md-mermaid-label-bg-color);--md-mermaid-sequence-actor-fg-color:var(--md-mermaid-label-fg-color);--md-mermaid-sequence-actor-border-color:var(--md-mermaid-node-fg-color);--md-mermaid-sequence-actor-line-color:var(--md-default-fg-color--lighter);--md-mermaid-sequence-actorman-bg-color:var(--md-mermaid-label-bg-color);--md-mermaid-sequence-actorman-line-color:var(--md-mermaid-node-fg-color);--md-mermaid-sequence-box-bg-color:var(--md-mermaid-node-bg-color);--md-mermaid-sequence-box-fg-color:var(--md-mermaid-edge-color);--md-mermaid-sequence-label-bg-color:var(--md-mermaid-node-bg-color);--md-mermaid-sequence-label-fg-color:var(--md-mermaid-node-fg-color);--md-mermaid-sequence-loop-bg-color:var(--md-mermaid-node-bg-color);--md-mermaid-sequence-loop-fg-color:var(--md-mermaid-edge-color);--md-mermaid-sequence-loop-border-color:var(--md-mermaid-node-fg-color);--md-mermaid-sequence-message-fg-color:var(--md-mermaid-edge-color);--md-mermaid-sequence-message-line-color:var(--md-mermaid-edge-color);--md-mermaid-sequence-note-bg-color:var(--md-mermaid-label-bg-color);--md-mermaid-sequence-note-fg-color:var(--md-mermaid-edge-color);--md-mermaid-sequence-note-border-color:var(--md-mermaid-label-fg-color);--md-mermaid-sequence-number-bg-color:var(--md-mermaid-node-fg-color);--md-mermaid-sequence-number-fg-color:var(--md-accent-bg-color)}.mermaid{line-height:normal;margin:1em 0}@media screen and (min-width:45em){[dir=ltr] .md-typeset .inline{float:left}[dir=rtl] .md-typeset .inline{float:right}[dir=ltr] .md-typeset .inline{margin-right:.8rem}[dir=rtl] .md-typeset .inline{margin-left:.8rem}.md-typeset .inline{margin-bottom:.8rem;margin-top:0;width:11.7rem}[dir=ltr] .md-typeset .inline.end{float:right}[dir=rtl] .md-typeset .inline.end{float:left}[dir=ltr] .md-typeset .inline.end{margin-left:.8rem;margin-right:0}[dir=rtl] .md-typeset .inline.end{margin-left:0;margin-right:.8rem}} \ No newline at end of file
diff --git a/docs/src/templates/assets/stylesheets/main.bd3936ea.min.css.map b/docs/src/templates/assets/stylesheets/main.bd3936ea.min.css.map
new file mode 100644
index 00000000..990beedf
--- /dev/null
+++ b/docs/src/templates/assets/stylesheets/main.bd3936ea.min.css.map
@@ -0,0 +1 @@
+{"version":3,"sources":["src/templates/assets/stylesheets/main/components/_meta.scss","../../../../src/templates/assets/stylesheets/main.scss","src/templates/assets/stylesheets/main/_resets.scss","src/templates/assets/stylesheets/main/_colors.scss","src/templates/assets/stylesheets/main/_icons.scss","src/templates/assets/stylesheets/main/_typeset.scss","src/templates/assets/stylesheets/utilities/_break.scss","src/templates/assets/stylesheets/main/components/_author.scss","src/templates/assets/stylesheets/main/components/_banner.scss","src/templates/assets/stylesheets/main/components/_base.scss","src/templates/assets/stylesheets/main/components/_clipboard.scss","src/templates/assets/stylesheets/main/components/_consent.scss","src/templates/assets/stylesheets/main/components/_content.scss","src/templates/assets/stylesheets/main/components/_dialog.scss","src/templates/assets/stylesheets/main/components/_feedback.scss","src/templates/assets/stylesheets/main/components/_footer.scss","src/templates/assets/stylesheets/main/components/_form.scss","src/templates/assets/stylesheets/main/components/_header.scss","node_modules/material-design-color/material-color.scss","src/templates/assets/stylesheets/main/components/_nav.scss","src/templates/assets/stylesheets/main/components/_pagination.scss","src/templates/assets/stylesheets/main/components/_post.scss","src/templates/assets/stylesheets/main/components/_progress.scss","src/templates/assets/stylesheets/main/components/_search.scss","src/templates/assets/stylesheets/main/components/_select.scss","src/templates/assets/stylesheets/main/components/_sidebar.scss","src/templates/assets/stylesheets/main/components/_source.scss","src/templates/assets/stylesheets/main/components/_status.scss","src/templates/assets/stylesheets/main/components/_tabs.scss","src/templates/assets/stylesheets/main/components/_tag.scss","src/templates/assets/stylesheets/main/components/_tooltip.scss","src/templates/assets/stylesheets/main/components/_top.scss","src/templates/assets/stylesheets/main/components/_version.scss","src/templates/assets/stylesheets/main/extensions/markdown/_admonition.scss","src/templates/assets/stylesheets/main/extensions/markdown/_footnotes.scss","src/templates/assets/stylesheets/main/extensions/markdown/_toc.scss","src/templates/assets/stylesheets/main/extensions/pymdownx/_arithmatex.scss","src/templates/assets/stylesheets/main/extensions/pymdownx/_critic.scss","src/templates/assets/stylesheets/main/extensions/pymdownx/_details.scss","src/templates/assets/stylesheets/main/extensions/pymdownx/_emoji.scss","src/templates/assets/stylesheets/main/extensions/pymdownx/_highlight.scss","src/templates/assets/stylesheets/main/extensions/pymdownx/_keys.scss","src/templates/assets/stylesheets/main/extensions/pymdownx/_tabbed.scss","src/templates/assets/stylesheets/main/extensions/pymdownx/_tasklist.scss","src/templates/assets/stylesheets/main/integrations/_mermaid.scss","src/templates/assets/stylesheets/main/_modifiers.scss"],"names":[],"mappings":"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","file":"main.css"} \ No newline at end of file
diff --git a/docs/src/templates/assets/stylesheets/main.scss b/docs/src/templates/assets/stylesheets/main.scss
deleted file mode 100644
index 2b203d3d..00000000
--- a/docs/src/templates/assets/stylesheets/main.scss
+++ /dev/null
@@ -1,86 +0,0 @@
-////
-/// Copyright (c) 2016-2023 Martin Donath <martin.donath@squidfunk.com>
-///
-/// Permission is hereby granted, free of charge, to any person obtaining a
-/// copy of this software and associated documentation files (the "Software"),
-/// to deal in the Software without restriction, including without limitation
-/// the rights to use, copy, modify, merge, publish, distribute, sublicense,
-/// and/or sell copies of the Software, and to permit persons to whom the
-/// Software is furnished to do so, subject to the following conditions:
-///
-/// The above copyright notice and this permission notice shall be included in
-/// all copies or substantial portions of the Software.
-///
-/// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
-/// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
-/// FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT. IN NO EVENT SHALL
-/// THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
-/// LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
-/// FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
-/// DEALINGS
-////
-
-// ----------------------------------------------------------------------------
-// Dependencies
-// ----------------------------------------------------------------------------
-
-@import "material-color";
-@import "material-shadows";
-
-// ----------------------------------------------------------------------------
-// Local imports
-// ----------------------------------------------------------------------------
-
-@import "utilities/break";
-@import "utilities/convert";
-
-@import "config";
-
-@import "main/resets";
-@import "main/colors";
-@import "main/icons";
-@import "main/typeset";
-
-@import "main/components/author";
-@import "main/components/banner";
-@import "main/components/base";
-@import "main/components/clipboard";
-@import "main/components/consent";
-@import "main/components/content";
-@import "main/components/dialog";
-@import "main/components/feedback";
-@import "main/components/footer";
-@import "main/components/form";
-@import "main/components/header";
-@import "main/components/meta";
-@import "main/components/nav";
-@import "main/components/pagination";
-@import "main/components/post";
-@import "main/components/progress";
-@import "main/components/search";
-@import "main/components/select";
-@import "main/components/sidebar";
-@import "main/components/source";
-@import "main/components/status";
-@import "main/components/tabs";
-@import "main/components/tag";
-@import "main/components/tooltip";
-@import "main/components/top";
-@import "main/components/version";
-
-@import "main/extensions/markdown/admonition";
-@import "main/extensions/markdown/footnotes";
-@import "main/extensions/markdown/toc";
-
-@import "main/extensions/pymdownx/arithmatex";
-@import "main/extensions/pymdownx/critic";
-@import "main/extensions/pymdownx/details";
-@import "main/extensions/pymdownx/emoji";
-@import "main/extensions/pymdownx/highlight";
-@import "main/extensions/pymdownx/keys";
-@import "main/extensions/pymdownx/tabbed";
-@import "main/extensions/pymdownx/tasklist";
-
-@import "main/integrations/mermaid";
-
-@import "main/modifiers";
diff --git a/docs/src/templates/assets/stylesheets/main/_colors.scss b/docs/src/templates/assets/stylesheets/main/_colors.scss
deleted file mode 100644
index 68969fe9..00000000
--- a/docs/src/templates/assets/stylesheets/main/_colors.scss
+++ /dev/null
@@ -1,153 +0,0 @@
-////
-/// Copyright (c) 2016-2023 Martin Donath <martin.donath@squidfunk.com>
-///
-/// Permission is hereby granted, free of charge, to any person obtaining a
-/// copy of this software and associated documentation files (the "Software"),
-/// to deal in the Software without restriction, including without limitation
-/// the rights to use, copy, modify, merge, publish, distribute, sublicense,
-/// and/or sell copies of the Software, and to permit persons to whom the
-/// Software is furnished to do so, subject to the following conditions:
-///
-/// The above copyright notice and this permission notice shall be included in
-/// all copies or substantial portions of the Software.
-///
-/// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
-/// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
-/// FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT. IN NO EVENT SHALL
-/// THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
-/// LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
-/// FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
-/// DEALINGS
-////
-
-// ----------------------------------------------------------------------------
-// Rules
-// ----------------------------------------------------------------------------
-
-// Color variables
-:root {
- @extend %root;
-
- // Primary color shades
- --md-primary-fg-color: hsla(#{hex2hsl($clr-indigo-500)}, 1);
- --md-primary-fg-color--light: hsla(#{hex2hsl($clr-indigo-400)}, 1);
- --md-primary-fg-color--dark: hsla(#{hex2hsl($clr-indigo-700)}, 1);
- --md-primary-bg-color: hsla(0, 0%, 100%, 1);
- --md-primary-bg-color--light: hsla(0, 0%, 100%, 0.7);
-
- // Accent color shades
- --md-accent-fg-color: hsla(#{hex2hsl($clr-indigo-a200)}, 1);
- --md-accent-fg-color--transparent: hsla(#{hex2hsl($clr-indigo-a200)}, 0.1);
- --md-accent-bg-color: hsla(0, 0%, 100%, 1);
- --md-accent-bg-color--light: hsla(0, 0%, 100%, 0.7);
-}
-
-// ----------------------------------------------------------------------------
-
-// Allow to explicitly use color schemes in nested content
-[data-md-color-scheme="default"] {
- @extend %root;
-
- // Indicate that the site is rendered with a light color scheme
- color-scheme: light;
-
- // Hide images for dark mode
- img[src$="#only-dark"],
- img[src$="#gh-dark-mode-only"] {
- display: none;
- }
-}
-
-// ----------------------------------------------------------------------------
-// Placeholders
-// ----------------------------------------------------------------------------
-
-// Default theme, i.e. light mode
-%root {
-
- // Color hue in the range [0,360] - change this variable to alter the tone
- // of the theme, e.g. to make it more redish or greenish
- --md-hue: 225deg;
-
- // Default color shades
- --md-default-fg-color: hsla(0, 0%, 0%, 0.87);
- --md-default-fg-color--light: hsla(0, 0%, 0%, 0.54);
- --md-default-fg-color--lighter: hsla(0, 0%, 0%, 0.32);
- --md-default-fg-color--lightest: hsla(0, 0%, 0%, 0.07);
- --md-default-bg-color: hsla(0, 0%, 100%, 1);
- --md-default-bg-color--light: hsla(0, 0%, 100%, 0.7);
- --md-default-bg-color--lighter: hsla(0, 0%, 100%, 0.3);
- --md-default-bg-color--lightest: hsla(0, 0%, 100%, 0.12);
-
- // Code color shades
- --md-code-fg-color: hsla(200, 18%, 26%, 1);
- --md-code-bg-color: hsla(200, 0%, 96%, 1);
-
- // Code highlighting color shades
- --md-code-hl-color: hsla(#{hex2hsl($clr-blue-a200)}, 1);
- --md-code-hl-color--light: hsla(#{hex2hsl($clr-blue-a200)}, 0.1);
- --md-code-hl-number-color: hsla(0, 67%, 50%, 1);
- --md-code-hl-special-color: hsla(340, 83%, 47%, 1);
- --md-code-hl-function-color: hsla(291, 45%, 50%, 1);
- --md-code-hl-constant-color: hsla(250, 63%, 60%, 1);
- --md-code-hl-keyword-color: hsla(219, 54%, 51%, 1);
- --md-code-hl-string-color: hsla(150, 63%, 30%, 1);
- --md-code-hl-name-color: var(--md-code-fg-color);
- --md-code-hl-operator-color: var(--md-default-fg-color--light);
- --md-code-hl-punctuation-color: var(--md-default-fg-color--light);
- --md-code-hl-comment-color: var(--md-default-fg-color--light);
- --md-code-hl-generic-color: var(--md-default-fg-color--light);
- --md-code-hl-variable-color: var(--md-default-fg-color--light);
-
- // Typeset color shades
- --md-typeset-color: var(--md-default-fg-color);
-
- // Typeset `a` color shades
- --md-typeset-a-color: var(--md-primary-fg-color);
-
- // Typeset `del` and `ins` color shades
- --md-typeset-del-color: hsla(6, 90%, 60%, 0.15);
- --md-typeset-ins-color: hsla(150, 90%, 44%, 0.15);
-
- // Typeset `kbd` color shades
- --md-typeset-kbd-color: hsla(0, 0%, 98%, 1);
- --md-typeset-kbd-accent-color: hsla(0, 100%, 100%, 1);
- --md-typeset-kbd-border-color: hsla(0, 0%, 72%, 1);
-
- // Typeset `mark` color shades
- --md-typeset-mark-color: hsla(#{hex2hsl($clr-yellow-a200)}, 0.5);
-
- // Typeset `table` color shades
- --md-typeset-table-color: hsla(0, 0%, 0%, 0.12);
- --md-typeset-table-color--light: hsla(0, 0%, 0%, 0.035);
-
- // Admonition color shades
- --md-admonition-fg-color: var(--md-default-fg-color);
- --md-admonition-bg-color: var(--md-default-bg-color);
-
- // Warning color shades
- --md-warning-fg-color: hsla(0, 0%, 0%, 0.87);
- --md-warning-bg-color: hsla(60, 100%, 80%, 1);
-
- // Footer color shades
- --md-footer-fg-color: hsla(0, 0%, 100%, 1);
- --md-footer-fg-color--light: hsla(0, 0%, 100%, 0.7);
- --md-footer-fg-color--lighter: hsla(0, 0%, 100%, 0.45);
- --md-footer-bg-color: hsla(0, 0%, 0%, 0.87);
- --md-footer-bg-color--dark: hsla(0, 0%, 0%, 0.32);
-
- // Shadow depth 1
- --md-shadow-z1:
- 0 #{px2rem(4px)} #{px2rem(10px)} hsla(0, 0%, 0%, 0.05),
- 0 0 #{px2rem(1px)} hsla(0, 0%, 0%, 0.1);
-
- // Shadow depth 2
- --md-shadow-z2:
- 0 #{px2rem(4px)} #{px2rem(10px)} hsla(0, 0%, 0%, 0.1),
- 0 0 #{px2rem(1px)} hsla(0, 0%, 0%, 0.25);
-
- // Shadow depth 3
- --md-shadow-z3:
- 0 #{px2rem(4px)} #{px2rem(10px)} hsla(0, 0%, 0%, 0.2),
- 0 0 #{px2rem(1px)} hsla(0, 0%, 0%, 0.35);
-}
diff --git a/docs/src/templates/assets/stylesheets/main/_icons.scss b/docs/src/templates/assets/stylesheets/main/_icons.scss
deleted file mode 100644
index 9853e93d..00000000
--- a/docs/src/templates/assets/stylesheets/main/_icons.scss
+++ /dev/null
@@ -1,37 +0,0 @@
-////
-/// Copyright (c) 2016-2023 Martin Donath <martin.donath@squidfunk.com>
-///
-/// Permission is hereby granted, free of charge, to any person obtaining a
-/// copy of this software and associated documentation files (the "Software"),
-/// to deal in the Software without restriction, including without limitation
-/// the rights to use, copy, modify, merge, publish, distribute, sublicense,
-/// and/or sell copies of the Software, and to permit persons to whom the
-/// Software is furnished to do so, subject to the following conditions:
-///
-/// The above copyright notice and this permission notice shall be included in
-/// all copies or substantial portions of the Software.
-///
-/// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
-/// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
-/// FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT. IN NO EVENT SHALL
-/// THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
-/// LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
-/// FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
-/// DEALINGS
-////
-
-// ----------------------------------------------------------------------------
-// Rules
-// ----------------------------------------------------------------------------
-
-// Icon
-.md-icon {
-
- // SVG defaults
- svg {
- display: block;
- width: px2rem(24px);
- height: px2rem(24px);
- fill: currentcolor;
- }
-}
diff --git a/docs/src/templates/assets/stylesheets/main/_modifiers.scss b/docs/src/templates/assets/stylesheets/main/_modifiers.scss
deleted file mode 100644
index 4b2b046a..00000000
--- a/docs/src/templates/assets/stylesheets/main/_modifiers.scss
+++ /dev/null
@@ -1,48 +0,0 @@
-////
-/// Copyright (c) 2016-2023 Martin Donath <martin.donath@squidfunk.com>
-///
-/// Permission is hereby granted, free of charge, to any person obtaining a
-/// copy of this software and associated documentation files (the "Software"),
-/// to deal in the Software without restriction, including without limitation
-/// the rights to use, copy, modify, merge, publish, distribute, sublicense,
-/// and/or sell copies of the Software, and to permit persons to whom the
-/// Software is furnished to do so, subject to the following conditions:
-///
-/// The above copyright notice and this permission notice shall be included in
-/// all copies or substantial portions of the Software.
-///
-/// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
-/// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
-/// FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT. IN NO EVENT SHALL
-/// THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
-/// LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
-/// FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
-/// DEALINGS
-////
-
-// ----------------------------------------------------------------------------
-// Rules
-// ----------------------------------------------------------------------------
-
-// Scoped in typesetted content to match specificity of regular content
-.md-typeset {
-
- // [tablet +]: Allow for rendering content as sidebars
- @include break-from-device(tablet) {
-
- // Modifier to float block elements
- .inline {
- float: inline-start;
- width: px2rem(234px);
- margin-inline-end: px2rem(16px);
- margin-top: 0;
- margin-bottom: px2rem(16px);
-
- // Modifier to move to end (ltr: right, rtl: left)
- &.end {
- float: inline-end;
- margin-inline: px2rem(16px) 0;
- }
- }
- }
-}
diff --git a/docs/src/templates/assets/stylesheets/main/_resets.scss b/docs/src/templates/assets/stylesheets/main/_resets.scss
deleted file mode 100644
index c6fc4b28..00000000
--- a/docs/src/templates/assets/stylesheets/main/_resets.scss
+++ /dev/null
@@ -1,118 +0,0 @@
-////
-/// Copyright (c) 2016-2023 Martin Donath <martin.donath@squidfunk.com>
-///
-/// Permission is hereby granted, free of charge, to any person obtaining a
-/// copy of this software and associated documentation files (the "Software"),
-/// to deal in the Software without restriction, including without limitation
-/// the rights to use, copy, modify, merge, publish, distribute, sublicense,
-/// and/or sell copies of the Software, and to permit persons to whom the
-/// Software is furnished to do so, subject to the following conditions:
-///
-/// The above copyright notice and this permission notice shall be included in
-/// all copies or substantial portions of the Software.
-///
-/// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
-/// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
-/// FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT. IN NO EVENT SHALL
-/// THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
-/// LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
-/// FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
-/// DEALINGS
-////
-
-// ----------------------------------------------------------------------------
-// Rules
-// ----------------------------------------------------------------------------
-
-// Enforce correct box model and prevent adjustments of font size after
-// orientation changes in IE and iOS
-html {
- box-sizing: border-box;
- text-size-adjust: none;
-}
-
-// All elements shall inherit the document default
-*,
-*::before,
-*::after {
- box-sizing: inherit;
-
- // [reduced motion]: Disable all transitions
- @media (prefers-reduced-motion) {
- transition: none !important; // stylelint-disable-line
- }
-}
-
-// Remove margin in all browsers
-body {
- margin: 0;
-}
-
-// Reset tap outlines on iOS and Android
-a,
-button,
-label,
-input {
- -webkit-tap-highlight-color: transparent;
-}
-
-// Reset link styles
-a {
- color: inherit;
- text-decoration: none;
-}
-
-// Normalize horizontal separator styles
-hr {
- box-sizing: content-box;
- display: block;
- height: px2rem(1px);
- padding: 0;
- overflow: visible;
- border: 0;
-}
-
-// Normalize font-size in all browsers
-small {
- font-size: 80%;
-}
-
-// Prevent subscript and superscript from affecting line-height
-sub,
-sup {
- line-height: 1em;
-}
-
-// Remove border on image
-img {
- border-style: none;
-}
-
-// Reset table styles
-table {
- border-spacing: 0;
- border-collapse: separate;
-}
-
-// Reset table cell styles
-td,
-th {
- font-weight: 400;
- vertical-align: top;
-}
-
-// Reset button styles
-button {
- padding: 0;
- margin: 0;
- font-family: inherit;
- font-size: inherit;
- background: transparent;
- border: 0;
-}
-
-// Reset input styles
-input {
- border: 0;
- outline: none;
-}
diff --git a/docs/src/templates/assets/stylesheets/main/_typeset.scss b/docs/src/templates/assets/stylesheets/main/_typeset.scss
deleted file mode 100644
index 1c322859..00000000
--- a/docs/src/templates/assets/stylesheets/main/_typeset.scss
+++ /dev/null
@@ -1,603 +0,0 @@
-////
-/// Copyright (c) 2016-2023 Martin Donath <martin.donath@squidfunk.com>
-///
-/// Permission is hereby granted, free of charge, to any person obtaining a
-/// copy of this software and associated documentation files (the "Software"),
-/// to deal in the Software without restriction, including without limitation
-/// the rights to use, copy, modify, merge, publish, distribute, sublicense,
-/// and/or sell copies of the Software, and to permit persons to whom the
-/// Software is furnished to do so, subject to the following conditions:
-///
-/// The above copyright notice and this permission notice shall be included in
-/// all copies or substantial portions of the Software.
-///
-/// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
-/// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
-/// FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT. IN NO EVENT SHALL
-/// THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
-/// LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
-/// FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
-/// DEALINGS
-////
-
-// ----------------------------------------------------------------------------
-// Rules: font definitions
-// ----------------------------------------------------------------------------
-
-// Enable font-smoothing in Webkit and FF
-body {
- -webkit-font-smoothing: antialiased;
- -moz-osx-font-smoothing: grayscale;
-
- // Font with fallback for body copy
- --md-text-font-family:
- var(--md-text-font, _),
- -apple-system, BlinkMacSystemFont, Helvetica, Arial, sans-serif;
-
- // Font with fallback for code
- --md-code-font-family:
- var(--md-code-font, _),
- SFMono-Regular, Consolas, Menlo, monospace;
-}
-
-// Define default fonts
-body,
-input,
-aside {
- font-family: var(--md-text-font-family);
- font-feature-settings: "kern", "liga";
- color: var(--md-typeset-color);
-}
-
-// Define monospaced fonts
-code,
-pre,
-kbd {
- font-family: var(--md-code-font-family);
- font-feature-settings: "kern";
-}
-
-// ----------------------------------------------------------------------------
-// Rules: typesetted content
-// ----------------------------------------------------------------------------
-
-// General variables
-:root {
- --md-typeset-table-sort-icon: svg-load("material/sort.svg");
- --md-typeset-table-sort-icon--asc: svg-load("material/sort-ascending.svg");
- --md-typeset-table-sort-icon--desc: svg-load("material/sort-descending.svg");
-}
-
-// ----------------------------------------------------------------------------
-
-// Content that is typeset - if possible, all margins, paddings and font sizes
-// should be set in ems, so nested blocks (e.g. admonitions) render correctly.
-.md-typeset {
- font-size: px2rem(16px);
- line-height: 1.6;
- color-adjust: exact;
-
- // [print]: We'll use a smaller `font-size` for printing, so code examples
- // don't break too early, and `16px` looks too big anyway.
- @media print {
- font-size: px2rem(13.6px);
- }
-
- // Default spacing
- ul,
- ol,
- dl,
- figure,
- blockquote,
- pre {
- margin-block: 1em;
- }
-
- // Headline on level 1
- h1 {
- margin: 0 0 px2em(40px, 32px);
- font-size: px2em(32px);
- font-weight: 300;
- line-height: 1.3;
- color: var(--md-default-fg-color--light);
- letter-spacing: -0.01em;
- }
-
- // Headline on level 2
- h2 {
- margin: px2em(40px, 25px) 0 px2em(16px, 25px);
- font-size: px2em(25px);
- font-weight: 300;
- line-height: 1.4;
- letter-spacing: -0.01em;
- }
-
- // Headline on level 3
- h3 {
- margin: px2em(32px, 20px) 0 px2em(16px, 20px);
- font-size: px2em(20px);
- font-weight: 400;
- line-height: 1.5;
- letter-spacing: -0.01em;
- }
-
- // Headline on level 3 following level 2
- h2 + h3 {
- margin-top: px2em(16px, 20px);
- }
-
- // Headline on level 4
- h4 {
- margin: px2em(16px) 0;
- font-weight: 700;
- letter-spacing: -0.01em;
- }
-
- // Headline on level 5-6
- h5,
- h6 {
- margin: px2em(16px, 12.8px) 0;
- font-size: px2em(12.8px);
- font-weight: 700;
- color: var(--md-default-fg-color--light);
- letter-spacing: -0.01em;
- }
-
- // Headline on level 5
- h5 {
- text-transform: uppercase;
- }
-
- // Horizontal separator
- hr {
- display: flow-root;
- margin: 1.5em 0;
- border-bottom: px2rem(1px) solid var(--md-default-fg-color--lightest);
- }
-
- // Text link
- a {
- color: var(--md-typeset-a-color);
- word-break: break-word;
-
- // Also enable color transition on pseudo elements
- &,
- &::before {
- transition: color 125ms;
- }
-
- // Text link on focus/hover
- &:is(:focus, :hover) {
- color: var(--md-accent-fg-color);
-
- // Inline code block
- code {
- background-color: var(--md-accent-fg-color--transparent);
- }
- }
-
- // Inline code block
- code {
- color: currentcolor;
- transition: background-color 125ms;
- }
-
- // Show outline for keyboard devices
- &.focus-visible {
- outline-color: var(--md-accent-fg-color);
- outline-offset: px2rem(4px);
- }
- }
-
- // Code block
- code,
- pre,
- kbd {
- font-variant-ligatures: none;
- color: var(--md-code-fg-color);
- direction: ltr;
-
- // [print]: Wrap text and hide scollbars
- @media print {
- white-space: pre-wrap;
- }
- }
-
- // Inline code block
- code {
- padding: 0 px2em(4px, 13.6px);
- font-size: px2em(13.6px);
- word-break: break-word;
- background-color: var(--md-code-bg-color);
- border-radius: px2rem(2px);
- box-decoration-break: clone;
-
- // Hide outline for pointer devices
- &:not(.focus-visible) {
- outline: none;
- -webkit-tap-highlight-color: transparent;
- }
- }
-
- // Unformatted content
- pre {
- position: relative;
- display: flow-root;
- line-height: 1.4;
-
- // Code block
- > code {
- display: block;
- padding: px2em(10.5px, 13.6px) px2em(16px, 13.6px);
- margin: 0;
- overflow: auto;
- word-break: normal;
- touch-action: auto;
- outline-color: var(--md-accent-fg-color);
- box-shadow: none;
- box-decoration-break: slice;
- scrollbar-width: thin;
- scrollbar-color: var(--md-default-fg-color--lighter) transparent;
-
- // Code block on hover
- &:hover {
- scrollbar-color: var(--md-accent-fg-color) transparent;
- }
-
- // Webkit scrollbar
- &::-webkit-scrollbar {
- width: px2rem(4px);
- height: px2rem(4px);
- }
-
- // Webkit scrollbar thumb
- &::-webkit-scrollbar-thumb {
- background-color: var(--md-default-fg-color--lighter);
-
- // Webkit scrollbar thumb on hover
- &:hover {
- background-color: var(--md-accent-fg-color);
- }
- }
- }
- }
-
- // Keyboard key
- kbd {
- display: inline-block;
- padding: 0 px2em(8px, 12px);
- font-size: px2em(12px);
- color: var(--md-default-fg-color);
- word-break: break-word;
- vertical-align: text-top;
- background-color: var(--md-typeset-kbd-color);
- border-radius: px2rem(2px);
- box-shadow:
- 0 px2rem(2px) 0 px2rem(1px) var(--md-typeset-kbd-border-color),
- 0 px2rem(2px) 0 var(--md-typeset-kbd-border-color),
- 0 px2rem(-2px) px2rem(4px) var(--md-typeset-kbd-accent-color) inset;
- }
-
- // Text highlighting marker
- mark {
- color: inherit;
- word-break: break-word;
- background-color: var(--md-typeset-mark-color);
- box-decoration-break: clone;
- }
-
- // Abbreviation
- abbr {
- text-decoration: none;
- cursor: help;
- border-bottom: px2rem(1px) dotted var(--md-default-fg-color--light);
-
- // Show tooltip for touch devices
- @media (hover: none) {
-
- // Tooltip
- &[title]:is(:focus, :hover)::after {
- position: absolute;
- inset-inline: px2rem(16px);
- padding: px2rem(4px) px2rem(6px);
- margin-top: 2em;
- font-size: px2rem(14px);
- color: var(--md-default-bg-color);
- content: attr(title);
- background-color: var(--md-default-fg-color);
- border-radius: px2rem(2px);
- box-shadow: var(--md-shadow-z3);
- }
- }
- }
-
- // Small text
- small {
- opacity: 0.75;
- }
-
- // Superscript and subscript
- sup,
- sub {
- margin-inline-start: px2em(1px, 12.8px);
- }
-
- // Blockquotes, possibly nested
- blockquote {
- padding-inline-start: px2rem(12px);
- margin-inline: 0;
- color: var(--md-default-fg-color--light);
- border-inline-start: px2rem(4px) solid var(--md-default-fg-color--lighter);
- }
-
- // Unordered list
- ul {
- list-style-type: disc;
- }
-
- // Unordered and ordered list
- ul,
- ol {
- padding: 0;
- margin-inline-start: px2em(10px);
-
- // Adjust display mode if not hidden
- &:not([hidden]) {
- display: flow-root;
- }
-
- // Nested ordered list
- ol {
- list-style-type: lower-alpha;
-
- // Triply nested ordered list
- ol {
- list-style-type: lower-roman;
- }
- }
-
- // List element
- li {
- margin-inline-start: px2em(20px);
- margin-bottom: 0.5em;
-
- // Adjust spacing
- p,
- blockquote {
- margin: 0.5em 0;
- }
-
- // Adjust spacing on last child
- &:last-child {
- margin-bottom: 0;
- }
-
- // Nested list
- :is(ul, ol) {
- margin-block: 0.5em;
- margin-inline-start: px2em(10px);
- }
- }
- }
-
- // Definition list
- dd {
- margin-block: 1em 1.5em;
- margin-inline-start: px2em(30px);
- }
-
- // Image or video
- img,
- svg,
- video {
- max-width: 100%;
- height: auto;
- }
-
- // Image
- img {
-
- // Adjust spacing when left-aligned
- &[align="left"] {
- margin: 1em;
- margin-left: 0;
- }
-
- // Adjust spacing when right-aligned
- &[align="right"] {
- margin: 1em;
- margin-right: 0;
- }
-
- // Adjust spacing when sole children
- &[align]:only-child {
- margin-top: 0;
- }
- }
-
- // Figure
- figure {
- display: flow-root;
- width: fit-content;
- max-width: 100%;
- margin: 1em auto;
- text-align: center;
-
- // Figure images
- img {
- display: block;
- }
- }
-
- // Figure caption
- figcaption {
- max-width: px2rem(480px);
- margin: 1em auto;
- font-style: italic;
- }
-
- // Limit width to container
- iframe {
- max-width: 100%;
- }
-
- // Data table
- table:not([class]) {
- display: inline-block;
- max-width: 100%;
- overflow: auto;
- font-size: px2rem(12.8px);
- touch-action: auto;
- background-color: var(--md-default-bg-color);
- border: px2rem(1px) solid var(--md-typeset-table-color);
- border-radius: px2rem(2px);
-
- // [print]: Reset display mode so table header wraps when printing
- @media print {
- display: table;
- }
-
- // Due to margin collapse because of the necessary inline-block hack, we
- // cannot increase the bottom margin on the table, so we just increase the
- // top margin on the following element
- + * {
- margin-top: 1.5em;
- }
-
- // Elements in table heading and cell
- :is(th, td) > * {
-
- // Adjust spacing on first child
- &:first-child {
- margin-top: 0;
- }
-
- // Adjust spacing on last child
- &:last-child {
- margin-bottom: 0;
- }
- }
-
- // Table heading and cell
- :is(th, td):not([align]) {
- text-align: left;
-
- // Adjust for right-to-left languages
- [dir="rtl"] & {
- text-align: right;
- }
- }
-
- // Table heading
- th {
- min-width: px2rem(100px);
- padding: px2em(12px, 12.8px) px2em(16px, 12.8px);
- font-weight: 700;
- vertical-align: top;
- }
-
- // Table cell
- td {
- padding: px2em(12px, 12.8px) px2em(16px, 12.8px);
- vertical-align: top;
- border-top: px2rem(1px) solid var(--md-typeset-table-color);
- }
-
- // Table body row
- tbody tr {
- transition: background-color 125ms;
-
- // Table row on hover
- &:hover {
- background-color: var(--md-typeset-table-color--light);
- box-shadow: 0 px2rem(1px) 0 var(--md-default-bg-color) inset;
- }
- }
-
- // Text link in table
- a {
- word-break: normal;
- }
- }
-
- // Sortable table
- table th[role="columnheader"] {
- cursor: pointer;
-
- // Sort icon
- &::after {
- display: inline-block;
- width: 1.2em;
- height: 1.2em;
- margin-inline-start: 0.5em;
- vertical-align: text-bottom;
- content: "";
- transition: background-color 125ms;
- mask-image: var(--md-typeset-table-sort-icon);
- mask-repeat: no-repeat;
- mask-size: contain;
- }
-
- // Show sort icon on hover
- &:hover::after {
- background-color: var(--md-default-fg-color--lighter);
- }
-
- // Sort ascending icon
- &[aria-sort="ascending"]::after {
- background-color: var(--md-default-fg-color--light);
- mask-image: var(--md-typeset-table-sort-icon--asc);
- }
-
- // Sort descending icon
- &[aria-sort="descending"]::after {
- background-color: var(--md-default-fg-color--light);
- mask-image: var(--md-typeset-table-sort-icon--desc);
- }
- }
-
- // Data table scroll wrapper
- &__scrollwrap {
- margin: 1em px2rem(-16px);
- overflow-x: auto;
- touch-action: auto;
- }
-
- // Data table wrapper
- &__table {
- display: inline-block;
- padding: 0 px2rem(16px);
- margin-bottom: 0.5em;
-
- // [print]: Reset display mode so table header wraps when printing
- @media print {
- display: block;
- }
-
- // Data table
- html & table {
- display: table;
- width: 100%;
- margin: 0;
- overflow: hidden;
- }
- }
-}
-
-// ----------------------------------------------------------------------------
-// Rules: top-level
-// ----------------------------------------------------------------------------
-
-// [mobile -]: Align with body copy
-@include break-to-device(mobile) {
-
- // Top-level unformatted content
- .md-content__inner > pre {
- margin: 1em px2rem(-16px);
-
- // Code block
- code {
- border-radius: 0;
- }
- }
-}
diff --git a/docs/src/templates/assets/stylesheets/main/components/_author.scss b/docs/src/templates/assets/stylesheets/main/components/_author.scss
deleted file mode 100644
index 111baf40..00000000
--- a/docs/src/templates/assets/stylesheets/main/components/_author.scss
+++ /dev/null
@@ -1,86 +0,0 @@
-////
-/// Copyright (c) 2016-2023 Martin Donath <martin.donath@squidfunk.com>
-///
-/// Permission is hereby granted, free of charge, to any person obtaining a
-/// copy of this software and associated documentation files (the "Software"),
-/// to deal in the Software without restriction, including without limitation
-/// the rights to use, copy, modify, merge, publish, distribute, sublicense,
-/// and/or sell copies of the Software, and to permit persons to whom the
-/// Software is furnished to do so, subject to the following conditions:
-///
-/// The above copyright notice and this permission notice shall be included in
-/// all copies or substantial portions of the Software.
-///
-/// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
-/// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
-/// FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT. IN NO EVENT SHALL
-/// THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
-/// LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
-/// FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
-/// DEALINGS
-////
-
-// ----------------------------------------------------------------------------
-// Rules
-// ----------------------------------------------------------------------------
-
-// Scoped in typesetted content to match specificity of regular content
-.md-typeset {
-
- // Author, i.e., GitHub user
- .md-author {
- position: relative;
- display: block;
- flex-shrink: 0;
- width: px2rem(32px);
- height: px2rem(32px);
- overflow: hidden;
- transition:
- color 125ms,
- transform 125ms;
-
- // Author image
- img {
- display: block;
- border-radius: 100%;
- }
-
- // More authors
- &--more {
- font-size: px2rem(12px);
- font-weight: 700;
- line-height: px2rem(32px);
- color: var(--md-default-fg-color--lighter);
- text-align: center;
- background: var(--md-default-fg-color--lightest);
- }
-
- // Enlarge image
- &--long {
- width: px2rem(48px);
- height: px2rem(48px);
- }
- }
-
- // Author link
- a.md-author {
- transform: scale(1);
-
- // Author image
- img {
- filter: grayscale(100%) opacity(75%);
- transition: filter 125ms;
- }
-
- // Author on focus/hover
- &:is(:focus, :hover) {
- z-index: 1;
- transform: scale(1.1);
-
- // Author image
- img {
- filter: grayscale(0%);
- }
- }
- }
-}
diff --git a/docs/src/templates/assets/stylesheets/main/components/_banner.scss b/docs/src/templates/assets/stylesheets/main/components/_banner.scss
deleted file mode 100644
index 8fe08c0f..00000000
--- a/docs/src/templates/assets/stylesheets/main/components/_banner.scss
+++ /dev/null
@@ -1,68 +0,0 @@
-////
-/// Copyright (c) 2016-2023 Martin Donath <martin.donath@squidfunk.com>
-///
-/// Permission is hereby granted, free of charge, to any person obtaining a
-/// copy of this software and associated documentation files (the "Software"),
-/// to deal in the Software without restriction, including without limitation
-/// the rights to use, copy, modify, merge, publish, distribute, sublicense,
-/// and/or sell copies of the Software, and to permit persons to whom the
-/// Software is furnished to do so, subject to the following conditions:
-///
-/// The above copyright notice and this permission notice shall be included in
-/// all copies or substantial portions of the Software.
-///
-/// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
-/// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
-/// FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT. IN NO EVENT SHALL
-/// THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
-/// LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
-/// FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
-/// DEALINGS
-////
-
-// ----------------------------------------------------------------------------
-// Rules
-// ----------------------------------------------------------------------------
-
-// Banner for announcements and warnings
-.md-banner {
- overflow: auto;
- color: var(--md-footer-fg-color);
- background-color: var(--md-footer-bg-color);
-
- // [print]: Hide banner
- @media print {
- display: none;
- }
-
- // Banner with warning
- &--warning {
- color: var(--md-warning-fg-color);
- background-color: var(--md-warning-bg-color);
- }
-
- // Banner wrapper
- &__inner {
- padding: 0 px2rem(16px);
- margin: px2rem(12px) auto;
- font-size: px2rem(14px);
- }
-
- // Banner button
- &__button {
- float: inline-end;
- color: inherit;
- cursor: pointer;
- transition: opacity 250ms;
-
- // [no-js]: Hide button
- .no-js & {
- display: none;
- }
-
- // Button on hover
- &:hover {
- opacity: 0.7;
- }
- }
-}
diff --git a/docs/src/templates/assets/stylesheets/main/components/_base.scss b/docs/src/templates/assets/stylesheets/main/components/_base.scss
deleted file mode 100644
index 33f834ed..00000000
--- a/docs/src/templates/assets/stylesheets/main/components/_base.scss
+++ /dev/null
@@ -1,182 +0,0 @@
-////
-/// Copyright (c) 2016-2023 Martin Donath <martin.donath@squidfunk.com>
-///
-/// Permission is hereby granted, free of charge, to any person obtaining a
-/// copy of this software and associated documentation files (the "Software"),
-/// to deal in the Software without restriction, including without limitation
-/// the rights to use, copy, modify, merge, publish, distribute, sublicense,
-/// and/or sell copies of the Software, and to permit persons to whom the
-/// Software is furnished to do so, subject to the following conditions:
-///
-/// The above copyright notice and this permission notice shall be included in
-/// all copies or substantial portions of the Software.
-///
-/// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
-/// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
-/// FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT. IN NO EVENT SHALL
-/// THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
-/// LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
-/// FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
-/// DEALINGS
-////
-
-// ----------------------------------------------------------------------------
-// Rules: base grid and containers
-// ----------------------------------------------------------------------------
-
-// Stretch container to viewport and set base `font-size`
-html {
- height: 100%;
- overflow-x: hidden;
- // Hack: normally, we would set the base `font-size` to `62.5%`, so we can
- // base all calculations on `10px`, but Chromium and Chrome define a minimal
- // `font-size` of `12px` if the system language is set to Chinese. For this
- // reason we just double the `font-size` and set it to `20px`.
- //
- // See https://github.com/squidfunk/mkdocs-material/issues/911
- font-size: 125%;
-
- // [screen medium +]: Set base `font-size` to `11px`
- @include break-from-device(screen medium) {
- font-size: 137.5%;
- }
-
- // [screen large +]: Set base `font-size` to `12px`
- @include break-from-device(screen large) {
- font-size: 150%;
- }
-}
-
-// Stretch body to container - flexbox is used, so the footer will always be
-// aligned to the bottom of the viewport
-body {
- position: relative;
- display: flex;
- flex-direction: column;
- width: 100%;
- min-height: 100%;
- // Hack: reset `font-size` to `10px`, so the spacing for all inline elements
- // is correct again. Otherwise the spacing would be based on `20px`.
- font-size: px2rem(10px);
- background-color: var(--md-default-bg-color);
-
- // [print]: Omit flexbox layout due to a Firefox bug (https://mzl.la/39DgR3m)
- @media print {
- display: block;
- }
-
- // Body in locked state
- &[data-md-scrolllock] {
-
- // [tablet portrait -]: Omit scroll bubbling
- @include break-to-device(tablet portrait) {
- position: fixed;
- }
- }
-}
-
-// ----------------------------------------------------------------------------
-
-// Grid container - this class is applied to wrapper elements within the
-// header, content area and footer, and makes sure that their width is limited
-// to `1220px`, and they are rendered centered if the screen is larger.
-.md-grid {
- max-width: px2rem(1220px);
- margin-inline: auto;
-}
-
-// Main container
-.md-container {
- display: flex;
- flex-direction: column;
- flex-grow: 1;
-
- // [print]: Omit flexbox layout due to a Firefox bug (https://mzl.la/39DgR3m)
- @media print {
- display: block;
- }
-}
-
-// Main area - stretch to remaining space of container
-.md-main {
- flex-grow: 1;
-
- // Main area wrapper
- &__inner {
- display: flex;
- height: 100%;
- margin-top: px2rem(24px + 6px);
- }
-}
-
-// Add ellipsis in case of overflowing text
-.md-ellipsis {
- overflow: hidden;
- text-overflow: ellipsis;
-}
-
-// ----------------------------------------------------------------------------
-// Rules: navigational elements
-// ----------------------------------------------------------------------------
-
-// Toggle - this class is applied to checkbox elements, which are used to
-// implement the CSS-only drawer and navigation, as well as the search
-.md-toggle {
- display: none;
-}
-
-// Option - this class is applied to radio elements, which are used to
-// implement the color palette toggle
-.md-option {
- position: absolute;
- width: 0;
- height: 0;
- opacity: 0;
-
- // Option label for checked radio button
- &:checked + label:not([hidden]) {
- display: block;
- }
-
- // Show outline for keyboard devices
- &.focus-visible + label {
- outline-style: auto;
- outline-color: var(--md-accent-fg-color);
- }
-}
-
-// Skip link
-.md-skip {
- position: fixed;
- // Hack: if we don't set the negative `z-index`, the skip link will force the
- // creation of new layers when code blocks are near the header on scrolling
- z-index: -1;
- padding: px2rem(6px) px2rem(10px);
- margin: px2rem(10px);
- font-size: px2rem(12.8px);
- color: var(--md-default-bg-color);
- background-color: var(--md-default-fg-color);
- border-radius: px2rem(2px);
- outline-color: var(--md-accent-fg-color);
- opacity: 0;
- transform: translateY(px2rem(8px));
-
- // Show skip link on focus
- &:focus {
- z-index: 10;
- opacity: 1;
- transition:
- transform 250ms cubic-bezier(0.4, 0, 0.2, 1),
- opacity 175ms 75ms;
- transform: translateY(0);
- }
-}
-
-// ----------------------------------------------------------------------------
-// Rules: print styles
-// ----------------------------------------------------------------------------
-
-// Add margins to page
-@page {
- margin: 25mm;
-}
diff --git a/docs/src/templates/assets/stylesheets/main/components/_clipboard.scss b/docs/src/templates/assets/stylesheets/main/components/_clipboard.scss
deleted file mode 100644
index c07c9c67..00000000
--- a/docs/src/templates/assets/stylesheets/main/components/_clipboard.scss
+++ /dev/null
@@ -1,102 +0,0 @@
-////
-/// Copyright (c) 2016-2023 Martin Donath <martin.donath@squidfunk.com>
-///
-/// Permission is hereby granted, free of charge, to any person obtaining a
-/// copy of this software and associated documentation files (the "Software"),
-/// to deal in the Software without restriction, including without limitation
-/// the rights to use, copy, modify, merge, publish, distribute, sublicense,
-/// and/or sell copies of the Software, and to permit persons to whom the
-/// Software is furnished to do so, subject to the following conditions:
-///
-/// The above copyright notice and this permission notice shall be included in
-/// all copies or substantial portions of the Software.
-///
-/// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
-/// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
-/// FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT. IN NO EVENT SHALL
-/// THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
-/// LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
-/// FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
-/// DEALINGS
-////
-
-// ----------------------------------------------------------------------------
-// Rules
-// ----------------------------------------------------------------------------
-
-// Clipboard button variables
-:root {
- --md-clipboard-icon: svg-load("material/content-copy.svg");
-}
-
-// ----------------------------------------------------------------------------
-
-// Clipboard button
-.md-clipboard {
- position: absolute;
- top: px2em(8px);
- right: px2em(8px);
- z-index: 1;
- width: px2em(24px);
- height: px2em(24px);
- color: var(--md-default-fg-color--lightest);
- cursor: pointer;
- border-radius: px2rem(2px);
- outline-color: var(--md-accent-fg-color);
- outline-offset: px2rem(2px);
- transition: color 250ms;
-
- // [print]: Hide button
- @media print {
- display: none;
- }
-
- // Hide outline for pointer devices
- &:not(.focus-visible) {
- outline: none;
- -webkit-tap-highlight-color: transparent;
- }
-
- // Darken color on code block hover
- :hover > & {
- color: var(--md-default-fg-color--light);
- }
-
- // Button on focus/hover
- &:is(:focus, :hover) {
- color: var(--md-accent-fg-color);
- }
-
- // Button icon - the width and height are defined in `em`, so the size is
- // automatically adjusted for nested code blocks (e.g. in admonitions)
- &::after {
- display: block;
- width: px2em(18px);
- height: px2em(18px);
- margin: 0 auto;
- content: "";
- background-color: currentcolor;
- mask-image: var(--md-clipboard-icon);
- mask-position: center;
- mask-repeat: no-repeat;
- mask-size: contain;
- }
-
- // Inline clipboard button
- &--inline {
- cursor: pointer;
-
- // Code block
- code {
- transition:
- color 250ms,
- background-color 250ms;
- }
-
- // Code block on focus/hover
- &:is(:focus, :hover) code {
- color: var(--md-accent-fg-color);
- background-color: var(--md-accent-fg-color--transparent);
- }
- }
-}
diff --git a/docs/src/templates/assets/stylesheets/main/components/_consent.scss b/docs/src/templates/assets/stylesheets/main/components/_consent.scss
deleted file mode 100644
index 5502460c..00000000
--- a/docs/src/templates/assets/stylesheets/main/components/_consent.scss
+++ /dev/null
@@ -1,127 +0,0 @@
-////
-/// Copyright (c) 2016-2023 Martin Donath <martin.donath@squidfunk.com>
-///
-/// Permission is hereby granted, free of charge, to any person obtaining a
-/// copy of this software and associated documentation files (the "Software"),
-/// to deal in the Software without restriction, including without limitation
-/// the rights to use, copy, modify, merge, publish, distribute, sublicense,
-/// and/or sell copies of the Software, and to permit persons to whom the
-/// Software is furnished to do so, subject to the following conditions:
-///
-/// The above copyright notice and this permission notice shall be included in
-/// all copies or substantial portions of the Software.
-///
-/// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
-/// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
-/// FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT. IN NO EVENT SHALL
-/// THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
-/// LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
-/// FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
-/// DEALINGS
-////
-
-// ----------------------------------------------------------------------------
-// Keyframes
-// ----------------------------------------------------------------------------
-
-// Show consent
-@keyframes consent {
- 0% {
- opacity: 0;
- transform: translateY(100%);
- }
-
- 100% {
- opacity: 1;
- transform: translateY(0);
- }
-}
-
-// Show consent overlay
-@keyframes overlay {
- 0% {
- opacity: 0;
- }
-
- 100% {
- opacity: 1;
- }
-}
-
-// ----------------------------------------------------------------------------
-// Rules
-// ----------------------------------------------------------------------------
-
-// Consent
-.md-consent {
-
- // Consent overlay
- &__overlay {
- position: fixed;
- top: 0;
- z-index: 5;
- width: 100%;
- height: 100%;
- background-color: hsla(0, 0%, 0%, 0.54);
- opacity: 1;
- backdrop-filter: blur(px2rem(2px));
- animation: overlay 250ms both;
- }
-
- // Consent wrapper
- &__inner {
- position: fixed;
- bottom: 0;
- z-index: 5;
- width: 100%;
- max-height: 100%;
- padding: 0;
- overflow: auto;
- background-color: var(--md-default-bg-color);
- border: 0;
- border-radius: px2rem(2px);
- box-shadow:
- 0 0 px2rem(4px) rgba(0, 0, 0, 0.1),
- 0 px2rem(4px) px2rem(8px) rgba(0, 0, 0, 0.2);
- animation: consent 500ms cubic-bezier(0.1, 0.7, 0.1, 1) both;
- }
-
- // Consent form
- &__form {
- padding: px2rem(16px);
- }
-
- // Consent settings
- &__settings {
- display: none;
- margin: 1em 0;
-
- // Show settings
- input:checked + & {
- display: block;
- }
- }
-
- // Consent controls
- &__controls {
- margin-bottom: px2rem(16px);
-
- // Consent control button
- .md-typeset & .md-button {
- display: inline;
-
- // [tablet +]: Align buttons horizontally
- @include break-to-device(mobile) {
- display: block;
- width: 100%;
- margin-top: px2rem(8px);
- text-align: center;
- }
- }
- }
-
- // Ensure users realize that labels are clickaböe
- label {
- cursor: pointer;
- }
-}
diff --git a/docs/src/templates/assets/stylesheets/main/components/_content.scss b/docs/src/templates/assets/stylesheets/main/components/_content.scss
deleted file mode 100644
index 7c945749..00000000
--- a/docs/src/templates/assets/stylesheets/main/components/_content.scss
+++ /dev/null
@@ -1,97 +0,0 @@
-////
-/// Copyright (c) 2016-2023 Martin Donath <martin.donath@squidfunk.com>
-///
-/// Permission is hereby granted, free of charge, to any person obtaining a
-/// copy of this software and associated documentation files (the "Software"),
-/// to deal in the Software without restriction, including without limitation
-/// the rights to use, copy, modify, merge, publish, distribute, sublicense,
-/// and/or sell copies of the Software, and to permit persons to whom the
-/// Software is furnished to do so, subject to the following conditions:
-///
-/// The above copyright notice and this permission notice shall be included in
-/// all copies or substantial portions of the Software.
-///
-/// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
-/// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
-/// FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT. IN NO EVENT SHALL
-/// THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
-/// LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
-/// FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
-/// DEALINGS
-////
-
-// ----------------------------------------------------------------------------
-// Rules
-// ----------------------------------------------------------------------------
-
-// Content area
-.md-content {
- flex-grow: 1;
- // Hack: we must use `min-width: 0`, so the content area is capped by the
- // dimensions of its parent. Otherwise, long code blocks might lead to a
- // wider content area which will overflow. See https://bit.ly/3bP3f8k
- min-width: 0;
-
- // Content wrapper
- &__inner {
- padding-top: px2rem(12px);
- margin: 0 px2rem(16px) px2rem(24px);
-
- // [screen +]: Adjust spacing between content area and sidebars
- @include break-from-device(screen) {
-
- // Sidebar with navigation is visible
- .md-sidebar--primary:not([hidden]) ~ .md-content > & {
- margin-inline-start: px2rem(24px);
- }
-
- // Sidebar with table of contents is visible
- .md-sidebar--secondary:not([hidden]) ~ .md-content > & {
- margin-inline-end: px2rem(24px);
- }
- }
-
- // Hack: add pseudo element for spacing, as the overflow of the content
- // container may not be hidden due to an imminent offset error on targets
- &::before {
- display: block;
- height: px2rem(8px);
- content: "";
- }
-
- // Adjust spacing on last child
- > :last-child {
- margin-bottom: 0;
- }
- }
-
- // Button inside of the content area - these buttons are meant for actions on
- // a document-level, i.e. linking to related source code files, printing etc.
- &__button {
- float: inline-end;
- padding: 0;
- margin: px2rem(8px) 0;
- margin-inline-start: px2rem(8px);
-
- // [print]: Hide buttons
- @media print {
- display: none;
- }
-
- // Adjust default link color for icons
- .md-typeset & {
- color: var(--md-default-fg-color--lighter);
- }
-
- // Align with body copy located next to icon
- svg {
- display: inline;
- vertical-align: top;
-
- // Adjust for right-to-left languages
- [dir="rtl"] & {
- transform: scaleX(-1);
- }
- }
- }
-}
diff --git a/docs/src/templates/assets/stylesheets/main/components/_dialog.scss b/docs/src/templates/assets/stylesheets/main/components/_dialog.scss
deleted file mode 100644
index 16782ede..00000000
--- a/docs/src/templates/assets/stylesheets/main/components/_dialog.scss
+++ /dev/null
@@ -1,65 +0,0 @@
-////
-/// Copyright (c) 2016-2023 Martin Donath <martin.donath@squidfunk.com>
-///
-/// Permission is hereby granted, free of charge, to any person obtaining a
-/// copy of this software and associated documentation files (the "Software"),
-/// to deal in the Software without restriction, including without limitation
-/// the rights to use, copy, modify, merge, publish, distribute, sublicense,
-/// and/or sell copies of the Software, and to permit persons to whom the
-/// Software is furnished to do so, subject to the following conditions:
-///
-/// The above copyright notice and this permission notice shall be included in
-/// all copies or substantial portions of the Software.
-///
-/// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
-/// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
-/// FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT. IN NO EVENT SHALL
-/// THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
-/// LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
-/// FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
-/// DEALINGS
-////
-
-// ----------------------------------------------------------------------------
-// Rules
-// ----------------------------------------------------------------------------
-
-// Dialog
-.md-dialog {
- position: fixed;
- bottom: px2rem(16px);
- z-index: 4;
- min-width: px2rem(222px);
- padding: px2rem(8px) px2rem(12px);
- pointer-events: none;
- background-color: var(--md-default-fg-color);
- border-radius: px2rem(2px);
- box-shadow: var(--md-shadow-z3);
- opacity: 0;
- transition:
- transform 0ms 400ms,
- opacity 400ms;
- transform: translateY(100%);
- inset-inline-end: px2rem(16px);
-
- // [print]: Hide dialog
- @media print {
- display: none;
- }
-
- // Active dialog
- &--active {
- pointer-events: initial;
- opacity: 1;
- transition:
- transform 400ms cubic-bezier(0.075, 0.85, 0.175, 1),
- opacity 400ms;
- transform: translateY(0);
- }
-
- // Dialog wrapper
- &__inner {
- font-size: px2rem(14px);
- color: var(--md-default-bg-color);
- }
-}
diff --git a/docs/src/templates/assets/stylesheets/main/components/_feedback.scss b/docs/src/templates/assets/stylesheets/main/components/_feedback.scss
deleted file mode 100644
index bbcd00e9..00000000
--- a/docs/src/templates/assets/stylesheets/main/components/_feedback.scss
+++ /dev/null
@@ -1,110 +0,0 @@
-////
-/// Copyright (c) 2016-2023 Martin Donath <martin.donath@squidfunk.com>
-///
-/// Permission is hereby granted, free of charge, to any person obtaining a
-/// copy of this software and associated documentation files (the "Software"),
-/// to deal in the Software without restriction, including without limitation
-/// the rights to use, copy, modify, merge, publish, distribute, sublicense,
-/// and/or sell copies of the Software, and to permit persons to whom the
-/// Software is furnished to do so, subject to the following conditions:
-///
-/// The above copyright notice and this permission notice shall be included in
-/// all copies or substantial portions of the Software.
-///
-/// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
-/// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
-/// FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT. IN NO EVENT SHALL
-/// THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
-/// LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
-/// FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
-/// DEALINGS
-////
-
-// ----------------------------------------------------------------------------
-// Rules
-// ----------------------------------------------------------------------------
-
-// Was this page helpful?
-.md-feedback {
- margin: 2em 0 1em;
- text-align: center;
-
- // Feedback fieldset
- fieldset {
- padding: 0;
- margin: 0;
- border: none;
- }
-
- // Feedback title
- &__title {
- margin: 1em auto;
- font-weight: 700;
- }
-
- // Feedback wrapper
- &__inner {
- position: relative;
- }
-
- // Feedback list
- &__list {
- position: relative;
- display: flex;
- flex-wrap: wrap;
- align-content: baseline;
- justify-content: center;
-
- // Feedback icon on hover
- &:hover .md-icon:not(:disabled) {
- color: var(--md-default-fg-color--lighter);
- }
-
- // Adjust height after submission
- :disabled & {
- min-height: px2rem(36px);
- }
- }
-
- // Feedback icon
- &__icon {
- flex-shrink: 0;
- margin: 0 px2rem(2px);
- color: var(--md-default-fg-color--light);
- cursor: pointer;
- transition: color 125ms;
-
- // Feedback icon on hover
- &:not(:disabled).md-icon:hover {
- color: var(--md-accent-fg-color);
- }
-
- // Feedback icon after submit
- &:disabled {
- color: var(--md-default-fg-color--lightest);
- pointer-events: none;
- }
- }
-
- // Feedback note
- &__note {
- position: relative;
- opacity: 0;
- transition:
- transform 400ms cubic-bezier(0.1, 0.7, 0.1, 1),
- opacity 150ms;
- transform: translateY(px2rem(8px));
-
- // Feedback note value
- > * {
- max-width: px2rem(320px);
- margin: 0 auto;
- }
-
- // Show after submission
- :disabled & {
- opacity: 1;
- transform: translateY(0);
- }
- }
-}
diff --git a/docs/src/templates/assets/stylesheets/main/components/_footer.scss b/docs/src/templates/assets/stylesheets/main/components/_footer.scss
deleted file mode 100644
index 9fabc05b..00000000
--- a/docs/src/templates/assets/stylesheets/main/components/_footer.scss
+++ /dev/null
@@ -1,201 +0,0 @@
-////
-/// Copyright (c) 2016-2023 Martin Donath <martin.donath@squidfunk.com>
-///
-/// Permission is hereby granted, free of charge, to any person obtaining a
-/// copy of this software and associated documentation files (the "Software"),
-/// to deal in the Software without restriction, including without limitation
-/// the rights to use, copy, modify, merge, publish, distribute, sublicense,
-/// and/or sell copies of the Software, and to permit persons to whom the
-/// Software is furnished to do so, subject to the following conditions:
-///
-/// The above copyright notice and this permission notice shall be included in
-/// all copies or substantial portions of the Software.
-///
-/// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
-/// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
-/// FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT. IN NO EVENT SHALL
-/// THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
-/// LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
-/// FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
-/// DEALINGS
-////
-
-// ----------------------------------------------------------------------------
-// Rules
-// ----------------------------------------------------------------------------
-
-// Footer
-.md-footer {
- color: var(--md-footer-fg-color);
- background-color: var(--md-footer-bg-color);
-
- // [print]: Hide footer
- @media print {
- display: none;
- }
-
- // Footer wrapper
- &__inner {
- justify-content: space-between;
- padding: px2rem(4px);
- overflow: auto;
-
- // Footer is visible
- &:not([hidden]) {
- display: flex;
- }
- }
-
- // Footer link to previous and next page
- &__link {
- display: flex;
- // Hack: some browsers induce ellipsis on flex children that are set to
- // `overflow: hidden` and `text-overflow: ellipsis`. Enforcing growth by
- // a tiny factor seems to get rid of the ellipsis and renders the text as
- // it should - see https://bit.ly/2ZUCXQ8
- flex-grow: 0.01;
- align-items: end;
- max-width: 100%;
- margin-block: px2rem(20px) px2rem(8px);
- overflow: hidden;
- outline-color: var(--md-accent-fg-color);
- transition: opacity 250ms;
-
- // Footer link on focus/hover
- &:is(:focus, :hover) {
- opacity: 0.7;
- }
-
- // Adjust for right-to-left languages
- [dir="rtl"] & svg {
- transform: scaleX(-1);
- }
-
- // [mobile -]: Adjust width to 25/75 and hide title
- @include break-to-device(mobile) {
-
- // Footer link to previous page
- &--prev {
- flex-shrink: 0;
-
- // Hide footer title
- .md-footer__title {
- display: none;
- }
- }
- }
-
- // Footer link to next page
- &--next {
- margin-inline-start: auto;
- text-align: right;
-
- // Adjust for right-to-left languages
- [dir="rtl"] & {
- text-align: left;
- }
- }
- }
-
- // Footer title
- &__title {
- flex-grow: 1;
- max-width: calc(100% - #{px2rem(48px)});
- padding: 0 px2rem(20px);
- margin-bottom: px2rem(14px);
- font-size: px2rem(18px);
- white-space: nowrap;
- }
-
- // Footer link button
- &__button {
- padding: px2rem(8px);
- margin: px2rem(4px);
- }
-
- // Footer link direction (i.e. prev and next)
- &__direction {
- font-size: px2rem(12.8px);
- opacity: 0.7;
- }
-}
-
-// Footer metadata
-.md-footer-meta {
- background-color: var(--md-footer-bg-color--dark);
-
- // Footer metadata wrapper
- &__inner {
- display: flex;
- flex-wrap: wrap;
- justify-content: space-between;
- padding: px2rem(4px);
- }
-
- // Lighten color for non-hovered text links
- html &.md-typeset a {
- color: var(--md-footer-fg-color--light);
-
- // Text link on focus/hover
- &:is(:focus, :hover) {
- color: var(--md-footer-fg-color);
- }
- }
-}
-
-// ----------------------------------------------------------------------------
-
-// Copyright and theme information
-.md-copyright {
- width: 100%;
- padding: px2rem(8px) 0;
- margin: auto px2rem(12px);
- font-size: px2rem(12.8px);
- color: var(--md-footer-fg-color--lighter);
-
- // [tablet portrait +]: Show copyright and social links in one line
- @include break-from-device(tablet portrait) {
- width: auto;
- }
-
- // Footer copyright highlight - this is the upper part of the copyright and
- // theme information, which will include a darker color than the theme link
- &__highlight {
- color: var(--md-footer-fg-color--light);
- }
-}
-
-// ----------------------------------------------------------------------------
-
-// Social links
-.md-social {
- display: inline-flex;
- gap: px2rem(4px);
- padding: px2rem(4px) 0 px2rem(12px);
- margin: 0 px2rem(8px);
-
- // [tablet portrait +]: Show copyright and social links in one line
- @include break-from-device(tablet portrait) {
- padding: px2rem(12px) 0;
- }
-
- // Footer social link
- &__link {
- display: inline-block;
- width: px2rem(32px);
- height: px2rem(32px);
- text-align: center;
-
- // Adjust line-height to match height for correct alignment
- &::before {
- line-height: 1.9;
- }
-
- // Fill icon with current color
- svg {
- max-height: px2rem(16px);
- vertical-align: -25%;
- fill: currentcolor;
- }
- }
-}
diff --git a/docs/src/templates/assets/stylesheets/main/components/_form.scss b/docs/src/templates/assets/stylesheets/main/components/_form.scss
deleted file mode 100644
index 49b59e42..00000000
--- a/docs/src/templates/assets/stylesheets/main/components/_form.scss
+++ /dev/null
@@ -1,83 +0,0 @@
-////
-/// Copyright (c) 2016-2023 Martin Donath <martin.donath@squidfunk.com>
-///
-/// Permission is hereby granted, free of charge, to any person obtaining a
-/// copy of this software and associated documentation files (the "Software"),
-/// to deal in the Software without restriction, including without limitation
-/// the rights to use, copy, modify, merge, publish, distribute, sublicense,
-/// and/or sell copies of the Software, and to permit persons to whom the
-/// Software is furnished to do so, subject to the following conditions:
-///
-/// The above copyright notice and this permission notice shall be included in
-/// all copies or substantial portions of the Software.
-///
-/// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
-/// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
-/// FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT. IN NO EVENT SHALL
-/// THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
-/// LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
-/// FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
-/// DEALINGS
-////
-
-// ----------------------------------------------------------------------------
-// Rules
-// ----------------------------------------------------------------------------
-
-// Scoped in typesetted content to match specificity of regular content
-.md-typeset {
-
- // Form button
- .md-button {
- display: inline-block;
- padding: px2em(10px) px2em(32px);
- font-weight: 700;
- color: var(--md-primary-fg-color);
- cursor: pointer;
- border: px2rem(2px) solid currentcolor;
- border-radius: px2rem(2px);
- transition:
- color 125ms,
- background-color 125ms,
- border-color 125ms;
-
- // Primary button
- &--primary {
- color: var(--md-primary-bg-color);
- background-color: var(--md-primary-fg-color);
- border-color: var(--md-primary-fg-color);
- }
-
- // Button on focus/hover
- &:is(:focus, :hover) {
- color: var(--md-accent-bg-color);
- background-color: var(--md-accent-fg-color);
- border-color: var(--md-accent-fg-color);
- }
- }
-
- // Form input
- .md-input {
- height: px2rem(36px);
- padding: 0 px2rem(12px);
- font-size: px2rem(16px);
- border-bottom: px2rem(2px) solid var(--md-default-fg-color--lighter);
- border-start-start-radius: px2rem(2px);
- border-start-end-radius: px2rem(2px);
- box-shadow: var(--md-shadow-z1);
- transition:
- border 250ms,
- box-shadow 250ms;
-
- // Input on focus/hover
- &:is(:focus, :hover) {
- border-bottom-color: var(--md-accent-fg-color);
- box-shadow: var(--md-shadow-z2);
- }
-
- // Stretch to full width
- &--stretch {
- width: 100%;
- }
- }
-}
diff --git a/docs/src/templates/assets/stylesheets/main/components/_header.scss b/docs/src/templates/assets/stylesheets/main/components/_header.scss
deleted file mode 100644
index e51f3f99..00000000
--- a/docs/src/templates/assets/stylesheets/main/components/_header.scss
+++ /dev/null
@@ -1,270 +0,0 @@
-////
-/// Copyright (c) 2016-2023 Martin Donath <martin.donath@squidfunk.com>
-///
-/// Permission is hereby granted, free of charge, to any person obtaining a
-/// copy of this software and associated documentation files (the "Software"),
-/// to deal in the Software without restriction, including without limitation
-/// the rights to use, copy, modify, merge, publish, distribute, sublicense,
-/// and/or sell copies of the Software, and to permit persons to whom the
-/// Software is furnished to do so, subject to the following conditions:
-///
-/// The above copyright notice and this permission notice shall be included in
-/// all copies or substantial portions of the Software.
-///
-/// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
-/// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
-/// FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT. IN NO EVENT SHALL
-/// THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
-/// LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
-/// FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
-/// DEALINGS
-////
-
-// ----------------------------------------------------------------------------
-// Rules
-// ----------------------------------------------------------------------------
-
-// Header - by default, the header will be sticky and stay always on top of the
-// viewport. If this behavior is not desired, just set `position: static`.
-.md-header {
- position: sticky;
- inset-inline: 0;
- top: 0;
- z-index: 4;
- display: block;
- color: var(--md-primary-bg-color);
- background-color: var(--md-primary-fg-color);
- // Hack: reduce jitter by adding a transparent box shadow of the same size
- // so the size of the layer doesn't change during animation
- box-shadow:
- 0 0 px2rem(4px) rgba(0, 0, 0, 0),
- 0 px2rem(4px) px2rem(8px) rgba(0, 0, 0, 0);
-
- // [print]: Hide header
- @media print {
- display: none;
- }
-
- // Header is hidden
- &[hidden] {
- transition:
- transform 250ms cubic-bezier(0.8, 0, 0.6, 1),
- box-shadow 250ms;
- transform: translateY(-100%);
- }
-
- // Header in shadow state, i.e. shadow is visible
- &--shadow {
- box-shadow:
- 0 0 px2rem(4px) rgba(0, 0, 0, 0.1),
- 0 px2rem(4px) px2rem(8px) rgba(0, 0, 0, 0.2);
- transition:
- transform 250ms cubic-bezier(0.1, 0.7, 0.1, 1),
- box-shadow 250ms;
- }
-
- // Header wrapper
- &__inner {
- display: flex;
- align-items: center;
- padding: 0 px2rem(4px);
- }
-
- // Header button
- &__button {
- position: relative;
- z-index: 1;
- padding: px2rem(8px);
- margin: px2rem(4px);
- color: currentcolor;
- vertical-align: middle;
- cursor: pointer;
- outline-color: var(--md-accent-fg-color);
- transition: opacity 250ms;
-
- // Button on hover
- &:hover {
- opacity: 0.7;
- }
-
- // Header button is visible
- &:not([hidden]) {
- display: inline-block;
- }
-
- // Hide outline for pointer devices
- &:not(.focus-visible) {
- outline: none;
- -webkit-tap-highlight-color: transparent;
- }
-
- // Button with logo, pointing to `config.site_url`
- &.md-logo {
- padding: px2rem(8px);
- margin: px2rem(4px);
-
- // [tablet -]: Hide button
- @include break-to-device(tablet) {
- display: none;
- }
-
- // Image or icon
- :is(img, svg) {
- display: block;
- width: auto;
- height: px2rem(24px);
- fill: currentcolor;
- }
- }
-
- // Button for search
- &[for="__search"] {
-
- // [tablet landscape +]: Hide button
- @include break-from-device(tablet landscape) {
- display: none;
- }
-
- // [no-js]: Hide button
- .no-js & {
- display: none;
- }
-
- // Adjust for right-to-left languages
- [dir="rtl"] & svg {
- transform: scaleX(-1);
- }
- }
-
- // Button for drawer
- &[for="__drawer"] {
-
- // [screen +]: Hide button
- @include break-from-device(screen) {
- display: none;
- }
- }
- }
-
- // Header topic
- &__topic {
- position: absolute;
- display: flex;
- max-width: 100%;
- white-space: nowrap;
- transition:
- transform 400ms cubic-bezier(0.1, 0.7, 0.1, 1),
- opacity 150ms;
-
- // Second header topic - title of the current page
- & + & {
- z-index: -1;
- pointer-events: none;
- opacity: 0;
- transition:
- transform 400ms cubic-bezier(1, 0.7, 0.1, 0.1),
- opacity 150ms;
- transform: translateX(px2rem(25px));
-
- // Adjust for right-to-left languages
- [dir="rtl"] & {
- transform: translateX(px2rem(-25px));
- }
- }
-
- // Adjust font weight of site title
- &:first-child {
- font-weight: 700;
- }
- }
-
- // Header title
- &__title {
- flex-grow: 1;
- height: px2rem(48px);
- margin-inline-start: px2rem(20px);
- margin-inline-end: px2rem(8px);
- font-size: px2rem(18px);
- line-height: px2rem(48px);
-
- // Header title in active state, i.e. page title is visible
- &--active .md-header__topic {
- z-index: -1;
- pointer-events: none;
- opacity: 0;
- transition:
- transform 400ms cubic-bezier(1, 0.7, 0.1, 0.1),
- opacity 150ms;
- transform: translateX(px2rem(-25px));
-
- // Adjust for right-to-left languages
- [dir="rtl"] & {
- transform: translateX(px2rem(25px));
- }
-
- // Second header topic - title of the current page
- + .md-header__topic {
- z-index: 0;
- pointer-events: initial;
- opacity: 1;
- transition:
- transform 400ms cubic-bezier(0.1, 0.7, 0.1, 1),
- opacity 150ms;
- transform: translateX(0);
- }
- }
-
- // Add ellipsis in case of overflowing text
- > .md-header__ellipsis {
- position: relative;
- width: 100%;
- height: 100%;
- }
- }
-
- // Header option
- &__option {
- display: flex;
- flex-shrink: 0;
- max-width: 100%;
- white-space: nowrap;
- transition:
- max-width 0ms 250ms,
- opacity 250ms 250ms;
-
- // Hide toggle when search is active
- [data-md-toggle="search"]:checked ~ .md-header & {
- max-width: 0;
- opacity: 0;
- transition:
- max-width 0ms,
- opacity 0ms;
- }
-
- // Hack: Firefox 117 introduces a bug where the browser scrolls the page by
- // a small amount to the top every time the header button is focused. After
- // investigating, we're confident that it seems to be caused by the input
- // field being too close to the border - see https://t.ly/APO8l
- > input {
- bottom: 0;
- }
- }
-
- // Repository information container
- &__source {
- display: none;
-
- // [tablet landscape +]: Show repository information
- @include break-from-device(tablet landscape) {
- display: block;
- width: px2rem(234px);
- max-width: px2rem(234px);
- margin-inline-start: px2rem(20px);
- }
-
- // [screen +]: Adjust spacing of search bar
- @include break-from-device(screen) {
- margin-inline-start: px2rem(28px);
- }
- }
-}
diff --git a/docs/src/templates/assets/stylesheets/main/components/_meta.scss b/docs/src/templates/assets/stylesheets/main/components/_meta.scss
deleted file mode 100644
index aaeae8df..00000000
--- a/docs/src/templates/assets/stylesheets/main/components/_meta.scss
+++ /dev/null
@@ -1,67 +0,0 @@
-////
-/// Copyright (c) 2016-2023 Martin Donath <martin.donath@squidfunk.com>
-///
-/// Permission is hereby granted, free of charge, to any person obtaining a
-/// copy of this software and associated documentation files (the "Software"),
-/// to deal in the Software without restriction, including without limitation
-/// the rights to use, copy, modify, merge, publish, distribute, sublicense,
-/// and/or sell copies of the Software, and to permit persons to whom the
-/// Software is furnished to do so, subject to the following conditions:
-///
-/// The above copyright notice and this permission notice shall be included in
-/// all copies or substantial portions of the Software.
-///
-/// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
-/// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
-/// FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT. IN NO EVENT SHALL
-/// THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
-/// LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
-/// FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
-/// DEALINGS
-////
-
-// ----------------------------------------------------------------------------
-// Rules
-// ----------------------------------------------------------------------------
-
-// Metadata
-.md-meta {
- font-size: px2rem(14px);
- line-height: 1.3;
- color: var(--md-default-fg-color--light);
-
- // Metadata list
- &__list {
- display: inline-flex;
- flex-wrap: wrap;
- padding: 0;
- margin: 0;
- list-style: none;
- }
-
- // Metadata item separator
- &__item:not(:last-child)::after {
- margin-inline: px2rem(4px);
- content: "·";
- }
-
- // Metadata link
- &__link {
- color: var(--md-typeset-a-color);
-
- // Metadata link on focus/hover
- &:is(:focus, :hover) {
- color: var(--md-accent-fg-color);
- }
- }
-}
-
-// Draft
-.md-draft {
- display: inline-block;
- padding-inline: px2em(8px, 14px);
- font-weight: 700;
- color: hsla(255, 100%, 100%);
- background-color: $clr-red-a400;
- border-radius: px2em(2px);
-}
diff --git a/docs/src/templates/assets/stylesheets/main/components/_nav.scss b/docs/src/templates/assets/stylesheets/main/components/_nav.scss
deleted file mode 100644
index 673918af..00000000
--- a/docs/src/templates/assets/stylesheets/main/components/_nav.scss
+++ /dev/null
@@ -1,761 +0,0 @@
-////
-/// Copyright (c) 2016-2023 Martin Donath <martin.donath@squidfunk.com>
-///
-/// Permission is hereby granted, free of charge, to any person obtaining a
-/// copy of this software and associated documentation files (the "Software"),
-/// to deal in the Software without restriction, including without limitation
-/// the rights to use, copy, modify, merge, publish, distribute, sublicense,
-/// and/or sell copies of the Software, and to permit persons to whom the
-/// Software is furnished to do so, subject to the following conditions:
-///
-/// The above copyright notice and this permission notice shall be included in
-/// all copies or substantial portions of the Software.
-///
-/// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
-/// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
-/// FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT. IN NO EVENT SHALL
-/// THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
-/// LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
-/// FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
-/// DEALINGS
-////
-
-// ----------------------------------------------------------------------------
-// Rules
-// ----------------------------------------------------------------------------
-
-// Navigation variables
-:root {
- --md-nav-icon--prev: svg-load("material/arrow-left.svg");
- --md-nav-icon--next: svg-load("material/chevron-right.svg");
- --md-toc-icon: svg-load("material/table-of-contents.svg");
-}
-
-// ----------------------------------------------------------------------------
-
-// Navigation
-.md-nav {
- font-size: px2rem(14px);
- line-height: 1.3;
-
- // Navigation title
- &__title {
- display: block;
- padding: 0 px2rem(12px);
- overflow: hidden;
- font-weight: 700;
- color: var(--md-default-fg-color--light);
- text-overflow: ellipsis;
-
- // Navigaton button
- .md-nav__button {
- display: none;
-
- // Stretch images based on height, as it's the smaller dimension
- img {
- width: auto;
- height: 100%;
- }
-
- // Button with logo, pointing to `config.site_url`
- &.md-logo {
-
- // Image or icon
- :is(img, svg) {
- display: block;
- width: auto;
- max-width: 100%;
- height: px2rem(48px);
- object-fit: contain;
- fill: currentcolor;
- }
- }
- }
- }
-
- // Navigation list
- &__list {
- padding: 0;
- margin: 0;
- list-style: none;
- }
-
- // Navigation link
- &__link {
- display: flex;
- gap: px2rem(8px);
- align-items: flex-start;
- margin-top: 0.625em;
- transition: color 125ms;
- scroll-snap-align: start;
-
- // Navigation link that was passed
- &--passed {
- color: var(--md-default-fg-color--light);
- }
-
- // Active link
- .md-nav__item &--active {
-
- // Also enable color transitions on inline code blocks
- &,
- code {
- color: var(--md-typeset-a-color);
- }
- }
-
- // Navigation link title
- .md-ellipsis {
- // Hack: Safari exhibits a bug where the text will sometimes disappear
- // and the element will become unclickable. Setting `position: relative`
- // seems to fix the issue - see https://bit.ly/3HljM1T
- position: relative;
- }
-
- // Always align navigation icons to the end
- .md-icon:last-child {
- margin-inline-start: auto;
- }
-
- // Navigation link icon
- svg {
- flex-shrink: 0;
- height: 1.3em;
- fill: currentcolor;
- }
-
- // Navigation link on focus/hover
- &:is([href], [for]):is(:focus, :hover) {
- color: var(--md-accent-fg-color);
- cursor: pointer;
- }
-
- // Show outline for keyboard devices
- &.focus-visible {
- outline-color: var(--md-accent-fg-color);
- outline-offset: px2rem(4px);
- }
-
- // Navigation link for table of contents
- .md-nav--primary &[for="__toc"] {
- display: none;
-
- // Table of contents icon
- .md-icon::after {
- display: block;
- width: 100%;
- height: 100%;
- mask-image: var(--md-toc-icon);
- background-color: currentcolor;
- }
-
- // Hide table of contents
- ~ .md-nav {
- display: none;
- }
- }
- }
-
- // Navigation container (for section index pages)
- &__container > .md-nav__link {
- margin-top: 0;
-
- // Stretch first child
- &:first-child {
- flex-grow: 1;
- // Hack: if a very long word is used, it can push the arrow out of sight.
- // Setting this property contains the text - see https://t.ly/E02vp
- min-width: 0;
- }
- }
-
- // Navigation icon
- &__icon {
- flex-shrink: 0;
- }
-
- // Repository information container
- &__source {
- display: none;
- }
-
- // [tablet -]: Layered navigation
- @include break-to-device(tablet) {
-
- // Primary and nested navigation
- &--primary,
- &--primary & {
- position: absolute;
- inset-inline: 0;
- top: 0;
- z-index: 1;
- display: flex;
- flex-direction: column;
- height: 100%;
- background-color: var(--md-default-bg-color);
- }
-
- // Primary navigation
- &--primary {
-
- // Navigation title and item
- :is(.md-nav__title, .md-nav__item) {
- font-size: px2rem(16px);
- line-height: 1.5;
- }
-
- // Navigation title
- .md-nav__title {
- position: relative;
- height: px2rem(112px);
- padding: px2rem(60px) px2rem(16px) px2rem(4px);
- line-height: px2rem(48px);
- color: var(--md-default-fg-color--light);
- white-space: nowrap;
- cursor: pointer;
- background-color: var(--md-default-fg-color--lightest);
-
- // Navigation icon
- .md-nav__icon {
- position: absolute;
- top: px2rem(8px);
- inset-inline-start: px2rem(8px);
- display: block;
- width: px2rem(24px);
- height: px2rem(24px);
- margin: px2rem(4px);
-
- // Navigation icon in link to previous level
- &::after {
- display: block;
- width: 100%;
- height: 100%;
- content: "";
- background-color: currentcolor;
- mask-image: var(--md-nav-icon--prev);
- mask-position: center;
- mask-repeat: no-repeat;
- mask-size: contain;
- }
- }
-
- // Navigation list
- ~ .md-nav__list {
- overflow-y: auto;
- touch-action: pan-y;
- background-color: var(--md-default-bg-color);
- box-shadow:
- 0 px2rem(1px) 0 var(--md-default-fg-color--lightest) inset;
- scroll-snap-type: y mandatory;
-
- // Omit border on first child
- > :first-child {
- border-top: 0;
- }
- }
-
- // Top-level navigation title
- &[for="__drawer"] {
- font-weight: 700;
- color: var(--md-primary-bg-color);
- background-color: var(--md-primary-fg-color);
- }
-
- // Button with logo, pointing to `config.site_url`
- .md-logo {
- position: absolute;
- inset-inline: px2rem(4px);
- top: px2rem(4px);
- display: block;
- padding: px2rem(8px);
- margin: px2rem(4px);
- }
- }
-
- // Navigation list
- .md-nav__list {
- flex: 1;
- }
-
- // Navigation item
- .md-nav__item {
- border-top: px2rem(1px) solid var(--md-default-fg-color--lightest);
-
- // Navigation link in active navigation
- &--active > .md-nav__link {
- color: var(--md-typeset-a-color);
-
- // Navigation link on focus/hover
- &:is(:focus, :hover) {
- color: var(--md-accent-fg-color);
- }
- }
- }
-
- // Navigation link
- .md-nav__link {
- padding: px2rem(12px) px2rem(16px);
- margin-top: 0;
-
- // Navigation link icon
- svg {
- margin-top: 0.1em;
- }
-
- // Adjust spacing on nested link
- > .md-nav__link {
- padding: 0;
- }
-
- // Navigation icon
- .md-nav__icon {
- width: px2rem(24px);
- height: px2rem(24px);
- margin-inline-end: px2rem(-4px);
- font-size: px2rem(24px);
-
- // Navigation icon in link to next level
- &::after {
- display: block;
- width: 100%;
- height: 100%;
- content: "";
- background-color: currentcolor;
- mask-image: var(--md-nav-icon--next);
- mask-position: center;
- mask-repeat: no-repeat;
- mask-size: contain;
- }
- }
- }
-
- // Flip icon vertically
- .md-nav__icon {
-
- // Adjust for right-to-left languages
- [dir="rtl"] &::after {
- transform: scale(-1);
- }
- }
-
- // Table of contents contained in primary navigation
- .md-nav--secondary {
-
- // Navigation on level 2-6
- .md-nav {
- position: static;
- background-color: transparent;
-
- // Navigation link on level 3
- .md-nav__link {
- padding-inline-start: px2rem(28px);
- }
-
- // Navigation link on level 4
- .md-nav .md-nav__link {
- padding-inline-start: px2rem(40px);
- }
-
- // Navigation link on level 5
- .md-nav .md-nav .md-nav__link {
- padding-inline-start: px2rem(52px);
- }
-
- // Navigation link on level 6
- .md-nav .md-nav .md-nav .md-nav__link {
- padding-inline-start: px2rem(64px);
- }
- }
- }
- }
-
- // Table of contents
- &--secondary {
- background-color: transparent;
- }
-
- // Hide nested navigation
- &__toggle ~ & {
- display: flex;
- opacity: 0;
- transition:
- transform 250ms cubic-bezier(0.8, 0, 0.6, 1),
- opacity 125ms 50ms;
- transform: translateX(100%);
-
- // Adjust for right-to-left languages
- [dir="rtl"] & {
- transform: translateX(-100%);
- }
- }
-
- // Show nested navigation when toggle is active
- &__toggle:checked ~ & {
- opacity: 1;
- transition:
- transform 250ms cubic-bezier(0.4, 0, 0.2, 1),
- opacity 125ms 125ms;
- transform: translateX(0);
-
- // Navigation list
- > .md-nav__list {
- // Hack: promote to own layer to reduce jitter
- backface-visibility: hidden;
- }
- }
- }
-
- // [tablet portrait -]: Layered navigation with table of contents
- @include break-to-device(tablet portrait) {
-
- // Show link to table of contents
- &--primary &__link[for="__toc"] {
- display: flex;
-
- // Show table of contents icon
- .md-icon::after {
- content: "";
- }
-
- // Hide navigation link to current page
- + .md-nav__link {
- display: none;
- }
-
- // Show table of contents
- ~ .md-nav {
- display: flex;
- }
- }
-
- // Repository information container
- &__source {
- display: block;
- padding: 0 px2rem(4px);
- color: var(--md-primary-bg-color);
- background-color: var(--md-primary-fg-color--dark);
- }
- }
-
- // [tablet landscape]: Layered navigation with table of contents
- @include break-at-device(tablet landscape) {
-
- // Show link to integrated table of contents
- &--integrated &__link[for="__toc"] {
- display: flex;
-
- // Show table of contents icon
- .md-icon::after {
- content: "";
- }
-
- // Hide navigation link to current page
- + .md-nav__link {
- display: none;
- }
-
- // Show table of contents
- ~ .md-nav {
- display: flex;
- }
- }
- }
-
- // [tablet landscape +]: Tree-like table of contents
- @include break-from-device(tablet landscape) {
- margin-bottom: px2rem(-8px);
-
- // Table of contents
- &--secondary {
-
- // Navigation title
- .md-nav__title {
- position: sticky;
- top: 0;
- // Hack: because of the hack that we need to make .md-ellipsis work in
- // Safari, we need to set `z-index` here as - see https://bit.ly/3s5M2jm
- z-index: 1;
- background: var(--md-default-bg-color);
- box-shadow: 0 0 px2rem(8px) px2rem(8px) var(--md-default-bg-color);
-
- // Adjust snapping behavior
- &[for="__toc"] {
- scroll-snap-align: start;
- }
-
- // Hide navigation icon
- .md-nav__icon {
- display: none;
- }
- }
-
- // Adjust spacing for navigation list - same reason as below
- .md-nav__list {
- padding-inline-start: px2rem(12px);
- padding-bottom: px2rem(8px);
- }
-
- // Adjust spacing for navigation link - before this change, we set spacing
- // on the left and right of a navigation item, but this led to the problem
- // of cropped focus outlines, because we must set `overflow: hidden` on
- // the navigation list for smooth expand and collapse transitions.
- .md-nav__item > .md-nav__link {
- margin-inline-end: px2rem(8px);
- }
- }
- }
-
- // [screen +]: Tree-like navigation
- @include break-from-device(screen) {
- margin-bottom: px2rem(-8px);
- transition: max-height 250ms cubic-bezier(0.86, 0, 0.07, 1);
-
- // Primary navigation
- &--primary {
-
- // Navigation title
- .md-nav__title {
- position: sticky;
- top: 0;
- // Hack: because of the hack that we need to make .md-ellipsis work in
- // Safari, we need to set `z-index` here as - see https://bit.ly/3s5M2jm
- z-index: 1;
- background: var(--md-default-bg-color);
- box-shadow: 0 0 px2rem(8px) px2rem(8px) var(--md-default-bg-color);
-
- // Adjust snapping behavior
- &[for="__drawer"] {
- scroll-snap-align: start;
- }
-
- // Hide navigation icon
- .md-nav__icon {
- display: none;
- }
- }
-
- // Adjust spacing for navigation list - same reason as below
- .md-nav__list {
- padding-inline-start: px2rem(12px);
- padding-bottom: px2rem(8px);
- }
-
- // Adjust spacing for navigation link - before this change, we set spacing
- // on the left and right of a navigation item, but this led to the problem
- // of cropped focus outlines, because we must set `overflow: hidden` on
- // the navigation list for smooth expand and collapse transitions.
- .md-nav__item > .md-nav__link {
- margin-inline-end: px2rem(8px);
- }
- }
-
- // Hide nested navigation
- &__toggle ~ & {
- display: grid;
- grid-template-rows: 0fr;
- visibility: collapse;
- opacity: 0;
- transition:
- grid-template-rows 250ms cubic-bezier(0.86, 0, 0.07, 1),
- opacity 250ms,
- visibility 0ms 250ms;
-
- // Navigation list
- > .md-nav__list {
- overflow: hidden;
- }
- }
-
- // Show nested navigation when toggle is active or indeterminate
- &__toggle:is(:checked, :indeterminate) ~ & {
- grid-template-rows: 1fr;
- visibility: visible;
- opacity: 1;
- transition:
- grid-template-rows 250ms cubic-bezier(0.86, 0, 0.07, 1),
- opacity 150ms 100ms,
- visibility 0ms;
- }
-
- // Hide navigation title in nested navigation
- &__item--nested > & > &__title {
- display: none;
- }
-
- // Navigation section
- &__item--section {
- display: block;
- margin: 1.25em 0;
-
- // Adjust spacing on last child
- &:last-child {
- margin-bottom: 0;
- }
-
- // Show navigation link as title
- > .md-nav__link {
- font-weight: 700;
-
- // Make labels discernable from links
- &[for] {
- color: var(--md-default-fg-color--light);
- }
-
- // Omit clicks if not a section index page
- &:not(.md-nav__container) {
- pointer-events: none;
- }
-
- // Hide navigation icon
- > [for],
- .md-icon {
- display: none;
- }
- }
-
- // Navigation
- > .md-nav {
- display: block;
- margin-inline-start: px2rem(-12px);
- visibility: visible;
- opacity: 1;
-
- // Adjust spacing on next level item
- > .md-nav__list > .md-nav__item {
- padding: 0;
- }
- }
- }
-
- // Navigation icon
- &__icon {
- width: px2rem(18px);
- height: px2rem(18px);
- border-radius: 100%;
- transition: background-color 250ms;
-
- // Navigation icon on hover
- &:hover {
- background-color: var(--md-accent-fg-color--transparent);
- }
-
- // Navigation icon content
- &::after {
- display: inline-block;
- width: 100%;
- height: 100%;
- vertical-align: px2rem(-2px);
- content: "";
- background-color: currentcolor;
- border-radius: 100%;
- transition: transform 250ms;
- mask-image: var(--md-nav-icon--next);
- mask-position: center;
- mask-repeat: no-repeat;
- mask-size: contain;
-
- // Adjust for right-to-left languages
- [dir="rtl"] & {
- transform: rotate(180deg);
- }
-
- // Navigation icon - rotate icon when toggle is active or indeterminate
- .md-nav__item--nested .md-nav__toggle:checked ~ .md-nav__link &,
- .md-nav__item--nested .md-nav__toggle:indeterminate ~ .md-nav__link & {
- transform: rotate(90deg);
- }
- }
- }
-
- // Modifier for when navigation tabs are rendered
- &--lifted {
-
- // Hide site title
- > .md-nav__title {
- display: none;
- }
-
- // Hide level 0 navigation items
- > .md-nav__list > .md-nav__item {
- display: none;
-
- // Active parent navigation item
- &--active {
- display: block;
-
- // Show navigation link as title
- > .md-nav__link {
- position: sticky;
- top: 0;
- z-index: 1;
- margin-top: 0;
- background: var(--md-default-bg-color);
- box-shadow: 0 0 px2rem(8px) px2rem(8px) var(--md-default-bg-color);
-
- // Omit clicks if not a section index page
- &:not(.md-nav__container) {
- pointer-events: none;
- }
- }
-
- // Adjust spacing for navigation section
- &.md-nav__item--section {
- margin: 0;
- }
- }
-
- // Adjust spacing for nested navigation
- > .md-nav {
- margin-inline-start: px2rem(-12px);
- }
-
- // Make labels discernable from links
- > [for] {
- color: var(--md-default-fg-color--light);
- }
- }
-
- // Hack: Always show active navigation tab on breakpoint screen, despite
- // of checkbox being checked or not - see https://t.ly/Qc311
- .md-nav[data-md-level="1"] {
- grid-template-rows: 1fr;
- visibility: visible;
- opacity: 1;
- }
- }
-
- // Modifier for when table of contents is rendered in primary navigation
- &--integrated > .md-nav__list > .md-nav__item--active {
-
- // Add spacing to container for non-nested navigation items
- &:not(.md-nav__item--nested) {
- padding: 0 px2rem(12px);
-
- // Remove padding as it's given by container
- > .md-nav__link {
- padding: 0;
- }
- }
-
- // Show integrated table of contents
- .md-nav--secondary {
- display: block;
- margin-bottom: 1.25em;
- visibility: visible;
- border-inline-start: px2rem(1px) solid var(--md-primary-fg-color);
- opacity: 1;
-
- // Navigation list
- > .md-nav__list {
- padding-bottom: 0;
- overflow: visible;
- }
-
- // Hide table of contents title
- > .md-nav__title {
- display: none;
- }
- }
- }
- }
-}
diff --git a/docs/src/templates/assets/stylesheets/main/components/_pagination.scss b/docs/src/templates/assets/stylesheets/main/components/_pagination.scss
deleted file mode 100644
index a010bf43..00000000
--- a/docs/src/templates/assets/stylesheets/main/components/_pagination.scss
+++ /dev/null
@@ -1,85 +0,0 @@
-////
-/// Copyright (c) 2016-2023 Martin Donath <martin.donath@squidfunk.com>
-///
-/// Permission is hereby granted, free of charge, to any person obtaining a
-/// copy of this software and associated documentation files (the "Software"),
-/// to deal in the Software without restriction, including without limitation
-/// the rights to use, copy, modify, merge, publish, distribute, sublicense,
-/// and/or sell copies of the Software, and to permit persons to whom the
-/// Software is furnished to do so, subject to the following conditions:
-///
-/// The above copyright notice and this permission notice shall be included in
-/// all copies or substantial portions of the Software.
-///
-/// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
-/// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
-/// FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT. IN NO EVENT SHALL
-/// THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
-/// LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
-/// FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
-/// DEALINGS
-////
-
-// ----------------------------------------------------------------------------
-// Rules
-// ----------------------------------------------------------------------------
-
-// Pagination
-.md-pagination {
- display: flex;
- gap: px2rem(8px);
- align-items: center;
- justify-content: center;
- font-size: px2rem(16px);
- font-weight: 700;
-
- // Pagination item
- > * {
- display: flex;
- align-items: center;
- justify-content: center;
- min-width: px2rem(36px);
- height: px2rem(36px);
- text-align: center;
- border-radius: px2rem(4px);
- }
-
- // Active pagination item
- &__current {
- color: var(--md-default-fg-color--light);
- background-color: var(--md-default-fg-color--lightest);
- }
-
- // Pagination link
- &__link {
- transition:
- color 125ms,
- background-color 125ms;
-
- // Pagination link on focus/hover
- &:is(:focus, :hover) {
- color: var(--md-accent-fg-color);
- background-color: var(--md-accent-fg-color--transparent);
-
- // Pagination icon
- svg {
- color: var(--md-accent-fg-color);
- }
- }
-
- // Show outline for keyboard devices
- &.focus-visible {
- outline-color: var(--md-accent-fg-color);
- outline-offset: px2rem(4px);
- }
-
- // Pagination icon
- svg {
- display: block;
- width: px2rem(24px);
- max-height: 100%;
- color: var(--md-default-fg-color--lighter);
- fill: currentcolor;
- }
- }
-}
diff --git a/docs/src/templates/assets/stylesheets/main/components/_post.scss b/docs/src/templates/assets/stylesheets/main/components/_post.scss
deleted file mode 100644
index cf6ce019..00000000
--- a/docs/src/templates/assets/stylesheets/main/components/_post.scss
+++ /dev/null
@@ -1,196 +0,0 @@
-////
-/// Copyright (c) 2016-2023 Martin Donath <martin.donath@squidfunk.com>
-///
-/// Permission is hereby granted, free of charge, to any person obtaining a
-/// copy of this software and associated documentation files (the "Software"),
-/// to deal in the Software without restriction, including without limitation
-/// the rights to use, copy, modify, merge, publish, distribute, sublicense,
-/// and/or sell copies of the Software, and to permit persons to whom the
-/// Software is furnished to do so, subject to the following conditions:
-///
-/// The above copyright notice and this permission notice shall be included in
-/// all copies or substantial portions of the Software.
-///
-/// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
-/// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
-/// FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT. IN NO EVENT SHALL
-/// THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
-/// LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
-/// FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
-/// DEALINGS
-////
-
-// ----------------------------------------------------------------------------
-// Rules
-// ----------------------------------------------------------------------------
-
-// Post
-.md-post {
-
- // Post backlink
- &__back {
- padding-bottom: px2rem(24px);
- margin-bottom: px2rem(24px);
- border-bottom: px2rem(1px) solid var(--md-default-fg-color--lightest);
-
- // [tablet -]: Hide post backlink
- @include break-to-device(tablet) {
- display: none;
- }
-
- // Adjust for right-to-left languages
- [dir="rtl"] & {
-
- // Flip icon vertically
- svg {
- transform: scaleX(-1);
- }
- }
- }
-
- // Post authors
- &__authors {
- display: flex;
- flex-direction: column;
- gap: px2rem(12px);
- margin: 0 px2rem(12px) px2rem(24px);
- }
-
- // Post metadata
- .md-post__meta {
-
- // Navigation link
- a {
- transition: color 125ms;
-
- // Navigation link on focus/hover
- &:is(:focus, :hover) {
- color: var(--md-accent-fg-color);
- }
- }
- }
-
- // Post navigation title @todo - generalize
- &__title {
- font-weight: 700;
- color: var(--md-default-fg-color--light);
- }
-
- // Post excerpt
- &--excerpt {
- margin-bottom: px2rem(64px);
-
- // Post excerpt header
- .md-post__header {
- display: flex;
- gap: px2rem(12px);
- align-items: center;
- min-height: px2rem(32px);
- }
-
- // Post excerpt authors
- .md-post__authors {
- display: inline-flex;
- flex-direction: row;
- gap: px2rem(4px);
- align-items: center;
- min-height: px2rem(48px);
- margin: 0;
- }
-
- // Post excerpt metadata
- .md-post__meta .md-meta__list {
- margin-inline-end: px2rem(8px);
- }
-
- // Post excerpt content
- .md-post__content > :first-child {
- --md-scroll-margin: #{px2rem(120px)};
-
- margin-top: 0;
- }
- }
-
- // Add margin to table of contents
- > .md-nav--secondary {
- margin: 1em 0;
- }
-}
-
-// ----------------------------------------------------------------------------
-
-// Post author profile
-.md-profile {
- display: flex;
- gap: px2rem(12px);
- align-items: center;
- width: 100%;
- font-size: px2rem(14px);
- line-height: 1.4;
-
- // Post author description
- &__description {
- flex-grow: 1;
- }
-}
-
-// ----------------------------------------------------------------------------
-
-// Content area for post
-.md-content--post {
- display: flex;
-
- // [tablet -]: Switch to inverted column layout
- @include break-to-device(tablet) {
- flex-flow: column-reverse;
- }
-
- // Content wrapper
- > .md-content__inner {
- min-width: 0;
-
- // [screen +]: Adjust spacing between content area and sidebars
- @include break-from-device(screen) {
- margin-inline-start: px2rem(24px);
- }
- }
-}
-
-// Sidebar for post
-.md-sidebar.md-sidebar--post {
-
- // [tablet -]: Adjust spacing
- @include break-to-device(tablet) {
- position: initial;
- width: 100%;
- padding: 0;
-
- .md-sidebar__inner {
- padding: 0;
- }
-
- .md-post__meta {
- margin-inline: px2rem(12px);
- }
-
- .md-nav__item {
- display: inline;
- border: none;
- }
-
- .md-nav__list {
- display: inline-flex;
- flex-wrap: wrap;
- gap: px2rem(12px);
- padding-block: px2rem(12px);
- }
-
- .md-nav__link {
- padding: 0;
- }
-
- .md-nav {
- position: initial;
- }
- }
-}
diff --git a/docs/src/templates/assets/stylesheets/main/components/_progress.scss b/docs/src/templates/assets/stylesheets/main/components/_progress.scss
deleted file mode 100644
index 7386ae33..00000000
--- a/docs/src/templates/assets/stylesheets/main/components/_progress.scss
+++ /dev/null
@@ -1,53 +0,0 @@
-////
-/// Copyright (c) 2016-2023 Martin Donath <martin.donath@squidfunk.com>
-///
-/// Permission is hereby granted, free of charge, to any person obtaining a
-/// copy of this software and associated documentation files (the "Software"),
-/// to deal in the Software without restriction, including without limitation
-/// the rights to use, copy, modify, merge, publish, distribute, sublicense,
-/// and/or sell copies of the Software, and to permit persons to whom the
-/// Software is furnished to do so, subject to the following conditions:
-///
-/// The above copyright notice and this permission notice shall be included in
-/// all copies or substantial portions of the Software.
-///
-/// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
-/// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
-/// FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT. IN NO EVENT SHALL
-/// THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
-/// LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
-/// FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
-/// DEALINGS
-////
-
-// ----------------------------------------------------------------------------
-// Rules
-// ----------------------------------------------------------------------------
-
-// Progress variables
-:root {
- --md-progress-value: 0;
- --md-progress-delay: 400ms;
-}
-
-// ----------------------------------------------------------------------------
-
-// Progress indicator
-.md-progress {
- position: fixed;
- top: 0;
- z-index: 4;
- width: 100%;
- height: px2rem(1.5px);
- background: var(--md-primary-bg-color);
- opacity:
- min(
- clamp(0, var(--md-progress-value), 1),
- clamp(0, 100 - var(--md-progress-value), 1)
- );
- transition:
- transform 500ms cubic-bezier(0.19, 1, 0.22, 1),
- opacity 250ms var(--md-progress-delay);
- transform: scaleX(calc(var(--md-progress-value) * 1%));
- transform-origin: left;
-}
diff --git a/docs/src/templates/assets/stylesheets/main/components/_search.scss b/docs/src/templates/assets/stylesheets/main/components/_search.scss
deleted file mode 100644
index e0f36b0c..00000000
--- a/docs/src/templates/assets/stylesheets/main/components/_search.scss
+++ /dev/null
@@ -1,707 +0,0 @@
-////
-/// Copyright (c) 2016-2023 Martin Donath <martin.donath@squidfunk.com>
-///
-/// Permission is hereby granted, free of charge, to any person obtaining a
-/// copy of this software and associated documentation files (the "Software"),
-/// to deal in the Software without restriction, including without limitation
-/// the rights to use, copy, modify, merge, publish, distribute, sublicense,
-/// and/or sell copies of the Software, and to permit persons to whom the
-/// Software is furnished to do so, subject to the following conditions:
-///
-/// The above copyright notice and this permission notice shall be included in
-/// all copies or substantial portions of the Software.
-///
-/// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
-/// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
-/// FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT. IN NO EVENT SHALL
-/// THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
-/// LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
-/// FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
-/// DEALINGS
-////
-
-// ----------------------------------------------------------------------------
-// Rules
-// ----------------------------------------------------------------------------
-
-// Search variables
-:root {
- --md-search-result-icon: svg-load("material/file-search-outline.svg");
-}
-
-// ----------------------------------------------------------------------------
-
-// Search
-.md-search {
- position: relative;
-
- // [tablet landscape +]: Header-embedded search
- @include break-from-device(tablet landscape) {
- padding: px2rem(4px) 0;
- }
-
- // [no-js]: Hide search
- .no-js & {
- display: none;
- }
-
- // Search overlay
- &__overlay {
- z-index: 1;
- opacity: 0;
-
- // [tablet portrait -]: Search modal
- @include break-to-device(tablet portrait) {
- position: absolute;
- top: px2rem(-20px);
- width: px2rem(40px);
- height: px2rem(40px);
- overflow: hidden;
- pointer-events: none;
- background-color: var(--md-default-bg-color);
- border-radius: px2rem(20px);
- transition:
- transform 300ms 100ms,
- opacity 200ms 200ms;
- transform-origin: center;
- inset-inline-start: px2rem(-44px);
-
- // Show overlay when search is active
- [data-md-toggle="search"]:checked ~ .md-header & {
- opacity: 1;
- transition:
- transform 400ms,
- opacity 100ms;
- }
- }
-
- // [tablet landscape +]: Header-embedded search
- @include break-from-device(tablet landscape) {
- position: fixed;
- top: 0;
- width: 0;
- height: 0;
- cursor: pointer;
- background-color: hsla(0, 0%, 0%, 0.54);
- transition:
- width 0ms 250ms,
- height 0ms 250ms,
- opacity 250ms;
- inset-inline-start: 0;
-
- // Show overlay when search is active
- [data-md-toggle="search"]:checked ~ .md-header & {
- width: 100%;
- // Hack: when the header is translated upon scrolling, a new layer is
- // induced, which means that the height will now refer to the height of
- // the header, albeit positioning is fixed. This should be mitigated
- // in all cases when setting the height to 2x the viewport.
- height: 200vh;
- opacity: 1;
- transition:
- width 0ms,
- height 0ms,
- opacity 250ms;
- }
- }
-
- // Adjust appearance when search is active
- [data-md-toggle="search"]:checked ~ .md-header & {
-
- // [mobile portrait -]: Scale up 45 times
- @include break-to-device(mobile portrait) {
- transform: scale(45);
- }
-
- // [mobile landscape]: Scale up 60 times
- @include break-at-device(mobile landscape) {
- transform: scale(60);
- }
-
- // [tablet portrait]: Scale up 75 times
- @include break-at-device(tablet portrait) {
- transform: scale(75);
- }
- }
- }
-
- // Search wrapper
- &__inner {
- // Hack: promote to own layer to reduce jitter
- backface-visibility: hidden;
-
- // [tablet portrait -]: Search modal
- @include break-to-device(tablet portrait) {
- position: fixed;
- top: 0;
- z-index: 2;
- width: 0;
- height: 0;
- overflow: hidden;
- opacity: 0;
- transition:
- width 0ms 300ms,
- height 0ms 300ms,
- transform 150ms 150ms cubic-bezier(0.4, 0, 0.2, 1),
- opacity 150ms 150ms;
- transform: translateX(5%);
- inset-inline-start: 0;
-
- // Adjust for right-to-left languages
- [dir="rtl"] & {
- transform: translateX(-5%);
- }
-
- // Adjust appearance when search is active
- [data-md-toggle="search"]:checked ~ .md-header & {
- width: 100%;
- height: 100%;
- opacity: 1;
- transition:
- width 0ms 0ms,
- height 0ms 0ms,
- transform 150ms 150ms cubic-bezier(0.1, 0.7, 0.1, 1),
- opacity 150ms 150ms;
- transform: translateX(0);
- }
- }
-
- // [tablet landscape +]: Header-embedded search
- @include break-from-device(tablet landscape) {
- position: relative;
- float: inline-end;
- width: px2rem(234px);
- padding: px2rem(2px) 0;
- transition: width 250ms cubic-bezier(0.1, 0.7, 0.1, 1);
- }
-
- // Adjust appearance when search is active
- [data-md-toggle="search"]:checked ~ .md-header & {
-
- // [tablet landscape]: Omit overlaying header title
- @include break-at-device(tablet landscape) {
- width: px2rem(468px);
- }
-
- // [screen +]: Match width of content area
- @include break-from-device(screen) {
- width: px2rem(688px);
- }
- }
- }
-
- // Search form
- &__form {
- position: relative;
- z-index: 2;
- height: px2rem(48px);
- background-color: var(--md-default-bg-color);
- box-shadow: 0 0 px2rem(12px) transparent;
- transition:
- color 250ms,
- background-color 250ms;
-
- // [tablet landscape +]: Header-embedded search
- @include break-from-device(tablet landscape) {
- height: px2rem(36px);
- background-color: hsla(0, 0%, 0%, 0.26);
- border-radius: px2rem(2px);
-
- // Search form on hover
- &:hover {
- background-color: hsla(0, 0%, 100%, 0.12);
- }
- }
-
- // Adjust appearance when search is active
- [data-md-toggle="search"]:checked ~ .md-header & {
- color: var(--md-default-fg-color);
- background-color: var(--md-default-bg-color);
- border-radius: px2rem(2px) px2rem(2px) 0 0;
- box-shadow: 0 0 px2rem(12px) hsla(0, 0%, 0%, 0.07);
- }
- }
-
- // Search input
- &__input {
- position: relative;
- z-index: 2;
- width: 100%;
- height: 100%;
- padding-inline: px2rem(72px) px2rem(44px);
- font-size: px2rem(18px);
- text-overflow: ellipsis;
- background: transparent;
-
- // Search placeholder
- &::placeholder {
- transition: color 250ms;
- }
-
- // Search icon and placeholder
- ~ .md-search__icon,
- &::placeholder {
- color: var(--md-default-fg-color--light);
- }
-
- // Remove the "x" rendered by Internet Explorer
- &::-ms-clear {
- display: none;
- }
-
- // [tablet portrait -]: Search modal
- @include break-to-device(tablet portrait) {
- width: 100%;
- height: px2rem(48px);
- font-size: px2rem(18px);
- }
-
- // [tablet landscape +]: Header-embedded search
- @include break-from-device(tablet landscape) {
- padding-inline-start: px2rem(44px);
- font-size: px2rem(16px);
- color: inherit;
-
- // Search placeholder
- &::placeholder {
- color: var(--md-primary-bg-color--light);
- }
-
- // Search icon
- + .md-search__icon {
- color: var(--md-primary-bg-color);
- }
-
- // Adjust appearance when search is active
- [data-md-toggle="search"]:checked ~ .md-header & {
- text-overflow: clip;
-
- // Search icon and placeholder
- + .md-search__icon {
- color: var(--md-default-fg-color--light);
- }
-
- // Search placeholder
- &::placeholder {
- color: transparent;
- }
- }
- }
- }
-
- // Search icon
- &__icon {
- display: inline-block;
- width: px2rem(24px);
- height: px2rem(24px);
- cursor: pointer;
- transition:
- color 250ms,
- opacity 250ms;
-
- // Search icon on hover
- &:hover {
- opacity: 0.7;
- }
-
- // Search focus button
- &[for="__search"] {
- position: absolute;
- top: px2rem(6px);
- inset-inline-start: px2rem(10px);
- z-index: 2;
-
- // Adjust for right-to-left languages
- [dir="rtl"] & svg {
- transform: scaleX(-1);
- }
-
- // [tablet portrait -]: Search modal
- @include break-to-device(tablet portrait) {
- top: px2rem(12px);
- inset-inline-start: px2rem(16px);
-
- // Hide the magnifying glass
- svg:first-child {
- display: none;
- }
- }
-
- // [tablet landscape +]: Header-embedded search
- @include break-from-device(tablet landscape) {
- pointer-events: none;
-
- // Hide the back arrow
- svg:last-child {
- display: none;
- }
- }
- }
- }
-
- // Search options
- &__options {
- position: absolute;
- top: px2rem(6px);
- inset-inline-end: px2rem(10px);
- z-index: 2;
- pointer-events: none;
-
- // [tablet portrait -]: Search modal
- @include break-to-device(tablet portrait) {
- top: px2rem(12px);
- inset-inline-end: px2rem(16px);
- }
-
- // Search option buttons
- > .md-icon {
- margin-inline-start: px2rem(4px);
- color: var(--md-default-fg-color--light);
- opacity: 0;
- transition:
- transform 150ms cubic-bezier(0.1, 0.7, 0.1, 1),
- opacity 150ms;
- transform: scale(0.75);
-
- // Hide outline for pointer devices
- &:not(.focus-visible) {
- outline: none;
- -webkit-tap-highlight-color: transparent;
- }
-
- // Show buttons when search is active and input non-empty
- [data-md-toggle="search"]:checked ~ .md-header // stylelint-disable-line
- .md-search__input:valid ~ & {
- pointer-events: initial;
- opacity: 1;
- transform: scale(1);
-
- // Search focus icon
- &:hover {
- opacity: 0.7;
- }
- }
- }
- }
-
- // Search suggestions
- &__suggest {
- position: absolute;
- top: 0;
- display: flex;
- align-items: center;
- width: 100%;
- height: 100%;
- padding-inline: px2rem(72px) px2rem(44px);
- font-size: px2rem(18px);
- color: var(--md-default-fg-color--lighter);
- white-space: nowrap;
- opacity: 0;
- transition: opacity 50ms;
-
- // [tablet landscape +]: Header-embedded search
- @include break-from-device(tablet landscape) {
- padding-inline-start: px2rem(44px);
- font-size: px2rem(16px);
- }
-
- // Show suggestions when search is active
- [data-md-toggle="search"]:checked ~ .md-header & {
- opacity: 1;
- transition: opacity 300ms 100ms;
- }
- }
-
- // Search output
- &__output {
- position: absolute;
- z-index: 1;
- width: 100%;
- overflow: hidden;
- border-end-start-radius: px2rem(2px);
- border-end-end-radius: px2rem(2px);
-
- // [tablet portrait -]: Search modal
- @include break-to-device(tablet portrait) {
- top: px2rem(48px);
- bottom: 0;
- }
-
- // [tablet landscape +]: Header-embedded search
- @include break-from-device(tablet landscape) {
- top: px2rem(38px);
- opacity: 0;
- transition: opacity 400ms;
-
- // Show output when search is active
- [data-md-toggle="search"]:checked ~ .md-header & {
- box-shadow: var(--md-shadow-z3);
- opacity: 1;
- }
- }
- }
-
- // Search scroll wrapper
- &__scrollwrap {
- height: 100%;
- overflow-y: auto;
- // Hack: Chrome 88+ has weird overscroll behavior. Overall, scroll snapping
- // seems to be something that is not ready for prime time on some browsers.
- // scroll-snap-type: y mandatory;
- touch-action: pan-y;
- background-color: var(--md-default-bg-color);
- // Hack: promote to own layer to reduce jitter
- backface-visibility: hidden;
-
- // Mitigiate excessive repaints on non-retina devices
- @media (max-resolution: 1dppx) {
- transform: translateZ(0);
- }
-
- // [tablet landscape]: Set fixed width to omit unnecessary reflow
- @include break-at-device(tablet landscape) {
- width: px2rem(468px);
- }
-
- // [screen +]: Set fixed width to omit unnecessary reflow
- @include break-from-device(screen) {
- width: px2rem(688px);
- }
-
- // [tablet landscape +]: Limit height to viewport
- @include break-from-device(tablet landscape) {
- max-height: 0;
- scrollbar-width: thin;
- scrollbar-color: var(--md-default-fg-color--lighter) transparent;
-
- // Show scroll wrapper when search is active
- [data-md-toggle="search"]:checked ~ .md-header & {
- max-height: 75vh;
- }
-
- // Search scroll wrapper on hover
- &:hover {
- scrollbar-color: var(--md-accent-fg-color) transparent;
- }
-
- // Webkit scrollbar
- &::-webkit-scrollbar {
- width: px2rem(4px);
- height: px2rem(4px);
- }
-
- // Webkit scrollbar thumb
- &::-webkit-scrollbar-thumb {
- background-color: var(--md-default-fg-color--lighter);
-
- // Webkit scrollbar thumb on hover
- &:hover {
- background-color: var(--md-accent-fg-color);
- }
- }
- }
- }
-}
-
-// Search result
-.md-search-result {
- color: var(--md-default-fg-color);
- word-break: break-word;
-
- // Search result metadata
- &__meta {
- padding: 0 px2rem(16px);
- font-size: px2rem(12.8px);
- line-height: px2rem(36px);
- color: var(--md-default-fg-color--light);
- background-color: var(--md-default-fg-color--lightest);
- scroll-snap-align: start;
-
- // [tablet landscape +]: Adjust spacing
- @include break-from-device(tablet landscape) {
- padding-inline-start: px2rem(44px);
- }
- }
-
- // Search result list
- &__list {
- padding: 0;
- margin: 0;
- list-style: none;
- // Hack: omit accidental text selection on fast toggle of more button
- user-select: none;
- }
-
- // Search result item
- &__item {
- box-shadow: 0 px2rem(-1px) var(--md-default-fg-color--lightest);
-
- // Omit border on first child
- &:first-child {
- box-shadow: none;
- }
- }
-
- // Search result link
- &__link {
- display: block;
- outline: none;
- transition: background-color 250ms;
- scroll-snap-align: start;
-
- // Search result link on focus/hover
- &:is(:focus, :hover) {
- background-color: var(--md-accent-fg-color--transparent);
- }
-
- // Adjust spacing on last child of last link
- &:last-child p:last-child {
- margin-bottom: px2rem(12px);
- }
- }
-
- // Search result more container
- &__more > summary {
- position: sticky;
- top: 0;
- z-index: 1;
- display: block;
- cursor: pointer;
- outline: none;
- scroll-snap-align: start;
-
- // Hide native details marker
- &::marker {
- display: none;
- }
-
- // Hide native details marker - legacy, must be split into a seprate rule,
- // so older browsers don't consider the selector list as invalid
- &::-webkit-details-marker {
- display: none;
- }
-
- // Search result more button
- > div {
- padding: px2em(12px) px2rem(16px);
- font-size: px2rem(12.8px);
- color: var(--md-typeset-a-color);
- transition:
- color 250ms,
- background-color 250ms;
-
- // [tablet landscape +]: Adjust spacing
- @include break-from-device(tablet landscape) {
- padding-inline-start: px2rem(44px);
- }
- }
-
- // Search result more link on focus/hover
- &:is(:focus, :hover) > div {
- color: var(--md-accent-fg-color);
- background-color: var(--md-accent-fg-color--transparent);
- }
- }
-
- // Adjust background for more container in open state
- &__more[open] > summary {
- background-color: var(--md-default-bg-color);
- // box-shadow: 0 px2rem(-1px) hsla(0, 0%, 0%, 0.07) inset;
- }
-
- // Search result article
- &__article {
- position: relative;
- padding: 0 px2rem(16px);
- overflow: hidden;
-
- // [tablet landscape +]: Adjust spacing
- @include break-from-device(tablet landscape) {
- padding-inline-start: px2rem(44px);
- }
- }
-
- // Search result icon
- &__icon {
- position: absolute;
- inset-inline-start: 0;
- width: px2rem(24px);
- height: px2rem(24px);
- margin: px2rem(10px);
- color: var(--md-default-fg-color--light);
-
- // [tablet portrait -]: Hide icon
- @include break-to-device(tablet portrait) {
- display: none;
- }
-
- // Search result icon content
- &::after {
- display: inline-block;
- width: 100%;
- height: 100%;
- content: "";
- background-color: currentcolor;
- mask-image: var(--md-search-result-icon);
- mask-position: center;
- mask-repeat: no-repeat;
- mask-size: contain;
-
- // Adjust for right-to-left languages
- [dir="rtl"] & {
- transform: scaleX(-1);
- }
- }
- }
-
- // Typesetted content
- .md-typeset {
- font-size: px2rem(12.8px);
- line-height: 1.6;
- color: var(--md-default-fg-color--light);
-
- // Search result article title
- h1 {
- margin: px2rem(11px) 0;
- font-size: px2rem(16px);
- font-weight: 400;
- line-height: 1.4;
- color: var(--md-default-fg-color);
-
- // Search term highlighting
- mark {
- text-decoration: none;
- }
- }
-
- // Search result section title
- h2 {
- margin: 0.5em 0;
- font-size: px2rem(12.8px);
- font-weight: 700;
- line-height: 1.6;
- color: var(--md-default-fg-color);
-
- // Search term highlighting
- mark {
- text-decoration: none;
- }
- }
- }
-
- // Search result terms
- &__terms {
- display: block;
- margin: 0.5em 0;
- font-size: px2rem(12.8px);
- font-style: italic;
- color: var(--md-default-fg-color);
- }
-
- // Search term highlighting
- mark {
- color: var(--md-accent-fg-color);
- text-decoration: underline;
- background-color: transparent;
- }
-}
diff --git a/docs/src/templates/assets/stylesheets/main/components/_select.scss b/docs/src/templates/assets/stylesheets/main/components/_select.scss
deleted file mode 100644
index ed597a39..00000000
--- a/docs/src/templates/assets/stylesheets/main/components/_select.scss
+++ /dev/null
@@ -1,115 +0,0 @@
-////
-/// Copyright (c) 2016-2023 Martin Donath <martin.donath@squidfunk.com>
-///
-/// Permission is hereby granted, free of charge, to any person obtaining a
-/// copy of this software and associated documentation files (the "Software"),
-/// to deal in the Software without restriction, including without limitation
-/// the rights to use, copy, modify, merge, publish, distribute, sublicense,
-/// and/or sell copies of the Software, and to permit persons to whom the
-/// Software is furnished to do so, subject to the following conditions:
-///
-/// The above copyright notice and this permission notice shall be included in
-/// all copies or substantial portions of the Software.
-///
-/// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
-/// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
-/// FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT. IN NO EVENT SHALL
-/// THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
-/// LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
-/// FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
-/// DEALINGS
-////
-
-// ----------------------------------------------------------------------------
-// Rules
-// ----------------------------------------------------------------------------
-
-// Selection
-.md-select {
- position: relative;
- z-index: 1;
-
- // Selection tooltip
- &__inner {
- position: absolute;
- top: calc(100% - #{px2rem(4px)});
- left: 50%;
- max-height: 0;
- margin-top: px2rem(4px);
- color: var(--md-default-fg-color);
- background-color: var(--md-default-bg-color);
- border-radius: px2rem(2px);
- box-shadow: var(--md-shadow-z2);
- opacity: 0;
- transition:
- transform 250ms 375ms,
- opacity 250ms 250ms,
- max-height 0ms 500ms;
- transform: translate3d(-50%, px2rem(6px), 0);
-
- // Selection bubble on parent focus/hover
- .md-select:is(:focus-within, :hover) & {
- max-height: px2rem(200px);
- opacity: 1;
- transition:
- transform 250ms cubic-bezier(0.1, 0.7, 0.1, 1),
- opacity 250ms,
- max-height 0ms;
- transform: translate3d(-50%, 0, 0);
- }
-
- // Selection bubble handle
- &::after {
- position: absolute;
- top: 0;
- left: 50%;
- width: 0;
- height: 0;
- margin-top: px2rem(-4px);
- margin-left: px2rem(-4px);
- content: "";
- border: px2rem(4px) solid transparent;
- border-top: 0;
- border-bottom-color: var(--md-default-bg-color);
- }
- }
-
- // Selection list
- &__list {
- max-height: inherit;
- padding: 0;
- margin: 0;
- overflow: auto;
- font-size: px2rem(16px);
- list-style-type: none;
- border-radius: px2rem(2px);
- }
-
- // Selection item
- &__item {
- line-height: px2rem(36px);
- }
-
- // Selection link
- &__link {
- display: block;
- width: 100%;
- padding-inline: px2rem(12px) px2rem(24px);
- cursor: pointer;
- outline: none;
- transition:
- background-color 250ms,
- color 250ms;
- scroll-snap-align: start;
-
- // Link on focus/hover
- &:is(:focus, :hover) {
- color: var(--md-accent-fg-color);
- }
-
- // Link on focus
- &:focus {
- background-color: var(--md-default-fg-color--lightest);
- }
- }
-}
diff --git a/docs/src/templates/assets/stylesheets/main/components/_sidebar.scss b/docs/src/templates/assets/stylesheets/main/components/_sidebar.scss
deleted file mode 100644
index 8a320c04..00000000
--- a/docs/src/templates/assets/stylesheets/main/components/_sidebar.scss
+++ /dev/null
@@ -1,209 +0,0 @@
-////
-/// Copyright (c) 2016-2023 Martin Donath <martin.donath@squidfunk.com>
-///
-/// Permission is hereby granted, free of charge, to any person obtaining a
-/// copy of this software and associated documentation files (the "Software"),
-/// to deal in the Software without restriction, including without limitation
-/// the rights to use, copy, modify, merge, publish, distribute, sublicense,
-/// and/or sell copies of the Software, and to permit persons to whom the
-/// Software is furnished to do so, subject to the following conditions:
-///
-/// The above copyright notice and this permission notice shall be included in
-/// all copies or substantial portions of the Software.
-///
-/// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
-/// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
-/// FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT. IN NO EVENT SHALL
-/// THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
-/// LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
-/// FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
-/// DEALINGS
-////
-
-// ----------------------------------------------------------------------------
-// Rules
-// ----------------------------------------------------------------------------
-
-// Sidebar
-.md-sidebar {
- position: sticky;
- top: px2rem(48px);
- flex-shrink: 0;
- align-self: flex-start;
- width: px2rem(242px);
- padding: px2rem(24px) 0;
-
- // [print]: Hide sidebar
- @media print {
- display: none;
- }
-
- // Primary sidebar with navigation
- &--primary {
-
- // [tablet -]: Show navigation as drawer
- @include break-to-device(tablet) {
- position: fixed;
- top: 0;
- z-index: 5;
- display: block;
- width: px2rem(242px);
- height: 100%;
- background-color: var(--md-default-bg-color);
- transition:
- transform 250ms cubic-bezier(0.4, 0, 0.2, 1),
- box-shadow 250ms;
- transform: translateX(0);
- inset-inline-start: px2rem(-242px);
-
- // Show sidebar when drawer is active
- [data-md-toggle="drawer"]:checked ~ .md-container & {
- box-shadow: var(--md-shadow-z3);
- transform: translateX(px2rem(242px));
-
- // Adjust for right-to-left languages
- [dir="rtl"] & {
- transform: translateX(px2rem(-242px));
- }
- }
-
- // Stretch scroll wrapper for primary sidebar
- .md-sidebar__scrollwrap {
- position: absolute;
- inset: 0;
- margin: 0;
- scroll-snap-type: none;
- overflow: hidden;
- }
- }
- }
-
- // [screen +]: Show navigation as sidebar
- @include break-from-device(screen) {
- height: 0;
-
- // [no-js]: Switch to native sticky behavior
- .no-js & {
- height: auto;
- }
-
- // Adjust spacing for sticky navigation tabs
- .md-header--lifted ~ .md-container & {
- top: px2rem(96px);
- }
- }
-
- // Secondary sidebar with table of contents
- &--secondary {
- display: none;
- order: 2;
-
- // [tablet landscape +]: Show table of contents as sidebar
- @include break-from-device(tablet landscape) {
- height: 0;
-
- // [no-js]: Switch to native sticky behavior
- .no-js & {
- height: auto;
- }
-
- // Sidebar is visible
- &:not([hidden]) {
- display: block;
- }
-
- // Ensure smooth scrolling on iOS
- .md-sidebar__scrollwrap {
- touch-action: pan-y;
- }
- }
- }
-
- // Sidebar scroll wrapper
- &__scrollwrap {
- margin: 0 px2rem(4px);
- overflow-y: auto;
- // Hack: promote to own layer to reduce jitter
- backface-visibility: hidden;
- // Hack: Chrome 81+ exhibits a strange bug, where it scrolls the container
- // to the bottom if `scroll-snap-type` is set on the initial render. For
- // this reason, we disable scroll snapping until this is resolved (#1667).
- // scroll-snap-type: y mandatory;
- scrollbar-width: thin;
- scrollbar-gutter: stable;
- scrollbar-color: var(--md-default-fg-color--lighter) transparent;
-
- // Webkit scrollbar
- &::-webkit-scrollbar {
- width: px2rem(4px);
- height: px2rem(4px);
- }
-
- // Sidebar scroll wrapper on focus/hover
- &:is(:focus-within, :hover) {
- scrollbar-color: var(--md-accent-fg-color) transparent;
-
- // Webkit scrollbar thumb
- &::-webkit-scrollbar-thumb {
- background-color: var(--md-default-fg-color--lighter);
-
- // Webkit scrollbar thumb on hover
- &:hover {
- background-color: var(--md-accent-fg-color);
- }
- }
- }
- }
-
- // Hack: the scrollbar is only visible when the sidebar's contents overflow,
- // which is nice, but leads to the problem where the chevrons of expandable
- // sections will jump by `4px` when the sidebar is shown. We wanted to fix
- // this problem for so long, but haven't found a clean way of doing it.
- // Until now. The following declaration is only applied to Webkit browsers
- // (e.g. Chrome and Safari), which support styling of scrollbars. The trick
- // is to add conditional padding on the side of the scrollbar only if the
- // sidebar's content doesn't overflow. This hack is inspired and adapted
- // from Ayke van Laëthem's year old trick – see https://bit.ly/3Sb1qql
- @supports selector(::-webkit-scrollbar) {
-
- // Sidebar scroll wrapper
- &__scrollwrap {
- scrollbar-gutter: auto;
- }
-
- // Sidebar wrapper
- &__inner {
- padding-inline-end: calc(100% - #{px2rem(230px)});
- }
- }
-}
-
-// [tablet -]: Show overlay on active drawer
-@include break-to-device(tablet) {
-
- // Drawer overlay
- .md-overlay {
- position: fixed;
- top: 0;
- z-index: 5;
- width: 0;
- height: 0;
- background-color: hsla(0, 0%, 0%, 0.54);
- opacity: 0;
- transition:
- width 0ms 250ms,
- height 0ms 250ms,
- opacity 250ms;
-
- // Show overlay when drawer is active
- [data-md-toggle="drawer"]:checked ~ & {
- width: 100%;
- height: 100%;
- opacity: 1;
- transition:
- width 0ms,
- height 0ms,
- opacity 250ms;
- }
- }
-}
diff --git a/docs/src/templates/assets/stylesheets/main/components/_source.scss b/docs/src/templates/assets/stylesheets/main/components/_source.scss
deleted file mode 100644
index a2b72009..00000000
--- a/docs/src/templates/assets/stylesheets/main/components/_source.scss
+++ /dev/null
@@ -1,182 +0,0 @@
-////
-/// Copyright (c) 2016-2023 Martin Donath <martin.donath@squidfunk.com>
-///
-/// Permission is hereby granted, free of charge, to any person obtaining a
-/// copy of this software and associated documentation files (the "Software"),
-/// to deal in the Software without restriction, including without limitation
-/// the rights to use, copy, modify, merge, publish, distribute, sublicense,
-/// and/or sell copies of the Software, and to permit persons to whom the
-/// Software is furnished to do so, subject to the following conditions:
-///
-/// The above copyright notice and this permission notice shall be included in
-/// all copies or substantial portions of the Software.
-///
-/// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
-/// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
-/// FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT. IN NO EVENT SHALL
-/// THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
-/// LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
-/// FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
-/// DEALINGS
-////
-
-// ----------------------------------------------------------------------------
-// Keyframes
-// ----------------------------------------------------------------------------
-
-// Show repository facts
-@keyframes facts {
- 0% {
- height: 0;
- }
-
- 100% {
- height: px2rem(13px);
- }
-}
-
-// Show repository fact
-@keyframes fact {
- 0% {
- opacity: 0;
- transform: translateY(100%);
- }
-
- 50% {
- opacity: 0;
- }
-
- 100% {
- opacity: 1;
- transform: translateY(0%);
- }
-}
-
-// ----------------------------------------------------------------------------
-// Rules
-// ----------------------------------------------------------------------------
-
-// Repository information variables
-:root {
- --md-source-forks-icon: svg-load("octicons/repo-forked-16.svg");
- --md-source-repositories-icon: svg-load("octicons/repo-16.svg");
- --md-source-stars-icon: svg-load("octicons/star-16.svg");
- --md-source-version-icon: svg-load("octicons/tag-16.svg");
-}
-
-// ----------------------------------------------------------------------------
-
-// Repository information
-.md-source {
- display: block;
- font-size: px2rem(13px);
- line-height: 1.2;
- white-space: nowrap;
- outline-color: var(--md-accent-fg-color);
- // Hack: promote to own layer to reduce jitter
- backface-visibility: hidden;
- transition: opacity 250ms;
-
- // Repository information on hover
- &:hover {
- opacity: 0.7;
- }
-
- // Repository icon
- &__icon {
- display: inline-block;
- width: px2rem(40px);
- height: px2rem(48px);
- vertical-align: middle;
-
- // Align with margin only (as opposed to normal button alignment)
- svg {
- margin-inline-start: px2rem(12px);
- margin-top: px2rem(12px);
- }
-
- // Adjust spacing if icon is present
- + .md-source__repository {
- padding-inline-start: px2rem(40px);
- margin-inline-start: px2rem(-40px);
- }
- }
-
- // Repository name
- &__repository {
- display: inline-block;
- max-width: calc(100% - #{px2rem(24px)});
- margin-inline-start: px2rem(12px);
- overflow: hidden;
- text-overflow: ellipsis;
- vertical-align: middle;
- }
-
- // Repository facts
- &__facts {
- display: flex;
- gap: px2rem(8px);
- width: 100%;
- padding: 0;
- margin: px2rem(2px) 0 0;
- overflow: hidden;
- font-size: px2rem(11px);
- list-style-type: none;
- opacity: 0.75;
-
- // Show after the data was loaded
- .md-source__repository--active & {
- animation: facts 250ms ease-in;
- }
- }
-
- // Repository fact
- &__fact {
- overflow: hidden;
- text-overflow: ellipsis;
-
- // Show after the data was loaded
- .md-source__repository--active & {
- animation: fact 400ms ease-out;
- }
-
- // Repository fact icon
- &::before {
- display: inline-block;
- width: px2rem(12px);
- height: px2rem(12px);
- margin-inline-end: px2rem(2px);
- vertical-align: text-top;
- content: "";
- background-color: currentcolor;
- mask-position: center;
- mask-repeat: no-repeat;
- mask-size: contain;
- }
-
- // Adjust spacing for 2nd+ fact
- &:nth-child(1n+2) {
- flex-shrink: 0;
- }
-
- // Repository fact: version
- &--version::before {
- mask-image: var(--md-source-version-icon);
- }
-
- // Repository fact: stars
- &--stars::before {
- mask-image: var(--md-source-stars-icon);
- }
-
- // Repository fact: forks
- &--forks::before {
- mask-image: var(--md-source-forks-icon);
- }
-
- // Repository fact: repositories
- &--repositories::before {
- mask-image: var(--md-source-repositories-icon);
- }
- }
-}
diff --git a/docs/src/templates/assets/stylesheets/main/components/_status.scss b/docs/src/templates/assets/stylesheets/main/components/_status.scss
deleted file mode 100644
index 9e096021..00000000
--- a/docs/src/templates/assets/stylesheets/main/components/_status.scss
+++ /dev/null
@@ -1,73 +0,0 @@
-////
-/// Copyright (c) 2016-2023 Martin Donath <martin.donath@squidfunk.com>
-///
-/// Permission is hereby granted, free of charge, to any person obtaining a
-/// copy of this software and associated documentation files (the "Software"),
-/// to deal in the Software without restriction, including without limitation
-/// the rights to use, copy, modify, merge, publish, distribute, sublicense,
-/// and/or sell copies of the Software, and to permit persons to whom the
-/// Software is furnished to do so, subject to the following conditions:
-///
-/// The above copyright notice and this permission notice shall be included in
-/// all copies or substantial portions of the Software.
-///
-/// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
-/// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
-/// FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT. IN NO EVENT SHALL
-/// THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
-/// LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
-/// FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
-/// DEALINGS
-////
-
-// ----------------------------------------------------------------------------
-// Rules
-// ----------------------------------------------------------------------------
-
-// Status variables
-:root {
- --md-status: svg-load("material/information-outline.svg");
- --md-status--new: svg-load("material/alert-decagram.svg");
- --md-status--deprecated: svg-load("material/trash-can.svg");
- --md-status--encrypted: svg-load("material/shield-lock.svg");
-}
-
-// ----------------------------------------------------------------------------
-
-// Status
-.md-status {
-
- // Status icon
- &::after {
- display: inline-block;
- width: px2em(18px);
- height: px2em(18px);
- vertical-align: text-bottom;
- content: "";
- background-color: var(--md-default-fg-color--light);
- mask-image: var(--md-status);
- mask-position: center;
- mask-repeat: no-repeat;
- mask-size: contain;
- }
-
- // Status icon on hover
- &:hover::after {
- background-color: currentcolor;
- }
-
- // Status: new
- &--new::after {
- mask-image: var(--md-status--new);
- }
-
- // Status: deprecated
- &--deprecated::after {
- mask-image: var(--md-status--deprecated);
- }
-
- // Status: encrypted
- &--encrypted::after {
- mask-image: var(--md-status--encrypted);
- }
-}
diff --git a/docs/src/templates/assets/stylesheets/main/components/_tabs.scss b/docs/src/templates/assets/stylesheets/main/components/_tabs.scss
deleted file mode 100644
index 0da3384b..00000000
--- a/docs/src/templates/assets/stylesheets/main/components/_tabs.scss
+++ /dev/null
@@ -1,133 +0,0 @@
-////
-/// Copyright (c) 2016-2023 Martin Donath <martin.donath@squidfunk.com>
-///
-/// Permission is hereby granted, free of charge, to any person obtaining a
-/// copy of this software and associated documentation files (the "Software"),
-/// to deal in the Software without restriction, including without limitation
-/// the rights to use, copy, modify, merge, publish, distribute, sublicense,
-/// and/or sell copies of the Software, and to permit persons to whom the
-/// Software is furnished to do so, subject to the following conditions:
-///
-/// The above copyright notice and this permission notice shall be included in
-/// all copies or substantial portions of the Software.
-///
-/// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
-/// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
-/// FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT. IN NO EVENT SHALL
-/// THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
-/// LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
-/// FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
-/// DEALINGS
-////
-
-// ----------------------------------------------------------------------------
-// Rules
-// ----------------------------------------------------------------------------
-
-// Navigation tabs
-.md-tabs {
- // Must be higher than the z-index of the back-to-top button, or the button
- // will overlay the navigation tabs bar when scrolling up fast.
- z-index: 3;
- display: block;
- width: 100%;
- overflow: auto;
- line-height: 1.3;
- color: var(--md-primary-bg-color);
- background-color: var(--md-primary-fg-color);
-
- // [print]: Hide tabs
- @media print {
- display: none;
- }
-
- // [tablet -]: Hide tabs
- @include break-to-device(tablet) {
- display: none;
- }
-
- // Navigation tabs are hidden
- &[hidden] {
- pointer-events: none;
- }
-
- // Navigation tabs list
- &__list {
- display: flex;
- padding: 0;
- margin: 0;
- margin-inline-start: px2rem(4px);
- overflow: auto;
- white-space: nowrap;
- list-style: none;
- contain: content;
- // Hack: don't show scrollbar when navigation tabs overflow, which should
- // only happen in rare occasions, as adding too many top level sections is
- // discouraged, since hiding content on horitontal axis doesn't lead to a
- // good user experience. It's just harder to discover.
- scrollbar-width: none;
-
- // Hack: see above
- &::-webkit-scrollbar {
- display: none;
- }
- }
-
- // Navigation tabs item
- &__item {
- height: px2rem(48px);
- padding-inline: px2rem(12px);
-
- // Navigation tabs link in active navigation
- &--active .md-tabs__link {
- color: inherit;
- opacity: 1;
- }
- }
-
- // Navigation tabs link - could be defined as block elements and aligned via
- // line height, but this would imply more repaints when scrolling
- &__link {
- display: flex;
- margin-top: px2rem(16px);
- font-size: px2rem(14px);
- outline-color: var(--md-accent-fg-color);
- outline-offset: px2rem(4px);
- // Hack: save a repaint when tabs are appearing on scrolling up
- backface-visibility: hidden;
- opacity: 0.7;
- transition:
- transform 400ms cubic-bezier(0.1, 0.7, 0.1, 1),
- opacity 250ms;
-
- // Navigation tabs link on focus/hover
- &:is(:focus, :hover) {
- color: inherit;
- opacity: 1;
- }
-
- // Navigation tabs link icon
- svg {
- height: 1.3em;
- margin-inline-end: px2rem(8px);
- fill: currentcolor;
- }
-
- // Delay transitions by a small amount
- @for $i from 2 through 16 {
- .md-tabs__item:nth-child(#{$i}) & {
- transition-delay: 20ms * ($i - 1);
- }
- }
-
- // Hide tabs upon scrolling - disable transition to minimizes repaints
- // while scrolling down, while scrolling up seems to be okay
- .md-tabs[hidden] & {
- opacity: 0;
- transition:
- transform 0ms 100ms,
- opacity 100ms;
- transform: translateY(50%);
- }
- }
-}
diff --git a/docs/src/templates/assets/stylesheets/main/components/_tag.scss b/docs/src/templates/assets/stylesheets/main/components/_tag.scss
deleted file mode 100644
index 9f31829d..00000000
--- a/docs/src/templates/assets/stylesheets/main/components/_tag.scss
+++ /dev/null
@@ -1,105 +0,0 @@
-////
-/// Copyright (c) 2016-2023 Martin Donath <martin.donath@squidfunk.com>
-///
-/// Permission is hereby granted, free of charge, to any person obtaining a
-/// copy of this software and associated documentation files (the "Software"),
-/// to deal in the Software without restriction, including without limitation
-/// the rights to use, copy, modify, merge, publish, distribute, sublicense,
-/// and/or sell copies of the Software, and to permit persons to whom the
-/// Software is furnished to do so, subject to the following conditions:
-///
-/// The above copyright notice and this permission notice shall be included in
-/// all copies or substantial portions of the Software.
-///
-/// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
-/// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
-/// FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT. IN NO EVENT SHALL
-/// THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
-/// LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
-/// FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
-/// DEALINGS
-////
-
-// ----------------------------------------------------------------------------
-// Rules
-// ----------------------------------------------------------------------------
-
-// Tag variables
-:root {
- --md-tag-icon: svg-load("material/pound.svg");
-}
-
-// ----------------------------------------------------------------------------
-
-// Scoped in typesetted content to match specificity of regular content
-.md-typeset {
-
- // Tag list
- .md-tags {
- display: inline-flex;
- flex-wrap: wrap;
- gap: px2em(8px);
- margin-top: px2em(-2px);
- margin-bottom: px2em(12px);
- }
-
- // Tag
- .md-tag {
- display: inline-flex;
- gap: px2em(8px);
- align-items: center;
- padding: px2em(4px, 12.8px) px2em(10px, 12.8px);
- font-size: px2rem(12.8px); // Fallback
- font-size: min(px2em(12.8px), px2rem(12.8px));
- font-weight: 700;
- line-height: 1.6;
- letter-spacing: initial;
- background: var(--md-default-fg-color--lightest);
- border-radius: px2rem(48px);
-
- // Linked tag
- &[href] {
- color: inherit;
- outline: none;
- -webkit-tap-highlight-color: transparent;
- transition:
- color 125ms,
- background-color 125ms;
-
- // Linked tag on focus/hover
- &:is(:focus, :hover) {
- color: var(--md-accent-bg-color);
- background-color: var(--md-accent-fg-color);
- }
- }
-
- // Tag inside headline
- [id] > & {
- vertical-align: text-top;
- }
- }
-
- // Tag icon
- .md-tag-icon {
-
- // Tag icon content
- &::before {
- display: inline-block;
- width: 1.2em;
- height: 1.2em;
- vertical-align: text-bottom;
- content: "";
- background-color: var(--md-default-fg-color--lighter);
- transition: background-color 125ms;
- mask-image: var(--md-tag-icon);
- mask-position: center;
- mask-repeat: no-repeat;
- mask-size: contain;
- }
-
- // Linked tag on focus/hover
- &[href]:is(:focus, :hover)::before {
- background-color: var(--md-accent-bg-color);
- }
- }
-}
diff --git a/docs/src/templates/assets/stylesheets/main/components/_tooltip.scss b/docs/src/templates/assets/stylesheets/main/components/_tooltip.scss
deleted file mode 100644
index 421e5858..00000000
--- a/docs/src/templates/assets/stylesheets/main/components/_tooltip.scss
+++ /dev/null
@@ -1,292 +0,0 @@
-////
-/// Copyright (c) 2016-2023 Martin Donath <martin.donath@squidfunk.com>
-///
-/// Permission is hereby granted, free of charge, to any person obtaining a
-/// copy of this software and associated documentation files (the "Software"),
-/// to deal in the Software without restriction, including without limitation
-/// the rights to use, copy, modify, merge, publish, distribute, sublicense,
-/// and/or sell copies of the Software, and to permit persons to whom the
-/// Software is furnished to do so, subject to the following conditions:
-///
-/// The above copyright notice and this permission notice shall be included in
-/// all copies or substantial portions of the Software.
-///
-/// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
-/// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
-/// FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT. IN NO EVENT SHALL
-/// THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
-/// LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
-/// FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
-/// DEALINGS
-////
-
-// ----------------------------------------------------------------------------
-// Keyframes
-// ----------------------------------------------------------------------------
-
-// Continuous pulse animation
-@keyframes pulse {
- 0% {
- transform: scale(0.95);
- }
-
- 75% {
- transform: scale(1);
- }
-
- 100% {
- transform: scale(0.95);
- }
-}
-
-// ----------------------------------------------------------------------------
-// Rules
-// ----------------------------------------------------------------------------
-
-// Tooltip variables
-:root {
- --md-annotation-bg-icon: svg-load("material/circle.svg");
- --md-annotation-icon: svg-load("material/plus-circle.svg");
- --md-tooltip-width: #{px2rem(400px)};
-}
-
-// ----------------------------------------------------------------------------
-
-// Tooltip
-.md-tooltip {
- position: absolute;
- top: var(--md-tooltip-y);
- left:
- clamp(
- var(--md-tooltip-0, #{px2rem(0px)}) + #{px2rem(16px)},
- var(--md-tooltip-x),
- 100vw +
- var(--md-tooltip-0, #{px2rem(0px)}) + #{px2rem(16px)} -
- var(--md-tooltip-width) -
- 2 * #{px2rem(16px)}
- );
- // Hack: set an explicit `z-index` so we can transition it to ensure that any
- // following elements are not overlaying the tooltip during the transition.
- z-index: 0;
- width: var(--md-tooltip-width);
- max-width: calc(100vw - 2 * #{px2rem(16px)});
- font-family: var(--md-text-font-family);
- color: var(--md-default-fg-color);
- background-color: var(--md-default-bg-color);
- border-radius: px2rem(2px);
- box-shadow: var(--md-shadow-z2);
- opacity: 0;
- transition:
- transform 0ms 250ms,
- opacity 250ms,
- z-index 250ms;
- transform: translateY(px2rem(-8px));
- // Hack: promote to own layer to reduce jitter
- backface-visibility: hidden;
-
- // Active tooltip
- &--active {
- z-index: 2;
- opacity: 1;
- transition:
- transform 250ms cubic-bezier(0.1, 0.7, 0.1, 1),
- opacity 250ms,
- z-index 0ms;
- transform: translateY(0);
- }
-
- // Show outline on target and for keyboard devices
- :is(.focus-visible > &, &:target) {
- outline: var(--md-accent-fg-color) auto;
- }
-
- // Tooltip wrapper
- &__inner {
- padding: px2rem(16px);
- font-size: px2rem(12.8px);
-
- // Adjust spacing on first child
- &.md-typeset > :first-child {
- margin-top: 0;
- }
-
- // Adjust spacing on last child
- &.md-typeset > :last-child {
- margin-bottom: 0;
- }
- }
-}
-
-// ----------------------------------------------------------------------------
-
-// Annotation
-.md-annotation {
- font-weight: 400;
- white-space: normal;
- vertical-align: text-bottom;
- outline: none;
-
- // Adjust for right-to-left languages
- [dir="rtl"] & {
- direction: rtl;
- }
-
- // Annotation index in code block
- code & {
- font-family: var(--md-code-font-family);
- font-size: inherit;
- }
-
- // Annotation is not hidden (e.g. when copying)
- &:not([hidden]) {
- display: inline-block;
- // Hack: ensure that the line height doesn't exceed the line height of the
- // hosting line, because it will lead to dancing pixels.
- line-height: 1.25;
- }
-
- // Annotation index
- &__index {
- position: relative;
- z-index: 0;
- display: inline-block;
- margin-inline: 0.4ch;
- vertical-align: text-top;
- cursor: pointer;
- user-select: none;
- outline: none;
-
- // Hack: increase specificity to override default for anchors in typesetted
- // content, because transitions are defined on anchor elements
- .md-annotation & {
- transition: z-index 250ms;
- }
-
- // Hack: Work around Firefox bug that renders a subpixel outline when
- // rotating a mask image element.
- // https://bugzilla.mozilla.org/show_bug.cgi?id=1671784
- overflow: hidden; // stylelint-disable-line order/properties-order
- border-radius: 0.01px;
-
- // [screen]: Render annotation markers as icons
- @media screen {
- width: 2.2ch;
-
- // Annotation is visible
- [data-md-visible] > & {
- animation: pulse 2000ms infinite;
- }
-
- // Annotation marker background
- &::before {
- position: absolute;
- top: -0.1ch;
- z-index: -1;
- width: 2.2ch;
- height: 2.2ch;
- content: "";
- background: var(--md-default-bg-color);
- mask-image: var(--md-annotation-bg-icon);
- mask-position: center;
- mask-repeat: no-repeat;
- mask-size: contain;
- }
-
- // Annotation marker – the marker must be positioned absolutely behind
- // the index, because it shouldn't impact the rendering of a code block.
- // Otherwise, small rounding differences in browsers can sometimes mess up
- // alignment of text following an annotation.
- &::after {
- position: absolute;
- top: -0.1ch;
- z-index: -1;
- width: 2.2ch;
- height: 2.2ch;
- content: "";
- background-color: var(--md-default-fg-color--lighter);
- transition:
- background-color 250ms,
- transform 250ms;
- // Hack: promote to own layer to reduce jitter
- transform: scale(1.0001);
- mask-image: var(--md-annotation-icon);
- mask-position: center;
- mask-repeat: no-repeat;
- mask-size: contain;
-
- // Annotation marker for active tooltip
- .md-tooltip--active + & {
- transform: rotate(45deg);
- }
-
- // Annotation marker for active tooltip or on hover
- :is(.md-tooltip--active + &, :hover > &) {
- background-color: var(--md-accent-fg-color);
- }
- }
- }
-
- // Annotation index for active tooltip
- .md-tooltip--active + & {
- z-index: 2;
- transition-duration: 0ms;
- animation-play-state: paused;
- }
-
- // Annotation marker
- [data-md-annotation-id] {
- display: inline-block;
-
- // [print]: Render annotation markers as numbers
- @media print {
- padding: 0 0.6ch;
- font-weight: 700;
- color: var(--md-default-bg-color);
- white-space: nowrap;
- background: var(--md-default-fg-color--lighter);
- border-radius: 2ch;
-
- // Annotation marker content
- &::after {
- content: attr(data-md-annotation-id);
- }
- }
- }
- }
-}
-
-// ----------------------------------------------------------------------------
-
-// Scoped in typesetted content to match specificity of regular content
-.md-typeset {
-
- // Annotation list
- .md-annotation-list {
- list-style: none;
- counter-reset: xxx;
-
- // Annotation list item
- li {
- position: relative;
-
- // Annotation list marker
- &::before {
- position: absolute;
- top: px2em(4px);
- inset-inline-start: px2em(-34px);
- min-width: 2ch;
- height: 2ch;
- padding: 0 0.6ch;
- font-size: px2em(14.2px);
- font-weight: 700;
- line-height: 1.25;
- color: var(--md-default-bg-color);
- text-align: center;
- content: counter(xxx);
- counter-increment: xxx;
- background: var(--md-default-fg-color--lighter);
- border-radius: 2ch;
- }
- }
- }
-}
diff --git a/docs/src/templates/assets/stylesheets/main/components/_top.scss b/docs/src/templates/assets/stylesheets/main/components/_top.scss
deleted file mode 100644
index c24d44d1..00000000
--- a/docs/src/templates/assets/stylesheets/main/components/_top.scss
+++ /dev/null
@@ -1,83 +0,0 @@
-////
-/// Copyright (c) 2016-2023 Martin Donath <martin.donath@squidfunk.com>
-///
-/// Permission is hereby granted, free of charge, to any person obtaining a
-/// copy of this software and associated documentation files (the "Software"),
-/// to deal in the Software without restriction, including without limitation
-/// the rights to use, copy, modify, merge, publish, distribute, sublicense,
-/// and/or sell copies of the Software, and to permit persons to whom the
-/// Software is furnished to do so, subject to the following conditions:
-///
-/// The above copyright notice and this permission notice shall be included in
-/// all copies or substantial portions of the Software.
-///
-/// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
-/// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
-/// FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT. IN NO EVENT SHALL
-/// THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
-/// LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
-/// FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
-/// DEALINGS
-////
-
-// ----------------------------------------------------------------------------
-// Rules
-// ----------------------------------------------------------------------------
-
-// Back-to-top button
-.md-top {
- position: fixed;
- top: px2rem(48px + 16px);
- z-index: 2;
- display: block;
- padding: px2rem(8px) px2rem(16px);
- margin-inline-start: 50%;
- font-size: px2rem(14px);
- color: var(--md-default-fg-color--light);
- cursor: pointer;
- background-color: var(--md-default-bg-color);
- border-radius: px2rem(32px);
- outline: none;
- box-shadow: var(--md-shadow-z2);
- transition:
- color 125ms,
- background-color 125ms,
- transform 125ms cubic-bezier(0.4, 0, 0.2, 1),
- opacity 125ms;
- transform: translate(-50%, 0);
-
- // [print]: Hide back-to-top button
- @media print {
- display: none;
- }
-
- // Adjust for right-to-left languages
- [dir="rtl"] & {
- transform: translate(50%, 0);
- }
-
- // Back-to-top button is hidden
- &[hidden] {
- pointer-events: none;
- opacity: 0;
- transition-duration: 0ms;
- transform: translate(-50%, px2rem(4px));
-
- // Adjust for right-to-left languages
- [dir="rtl"] & {
- transform: translate(50%, px2rem(4px));
- }
- }
-
- // Back-to-top button on focus/hover
- &:is(:focus, :hover) {
- color: var(--md-accent-bg-color);
- background-color: var(--md-accent-fg-color);
- }
-
- // Inline icon
- svg {
- display: inline-block;
- vertical-align: -0.5em;
- }
-}
diff --git a/docs/src/templates/assets/stylesheets/main/components/_version.scss b/docs/src/templates/assets/stylesheets/main/components/_version.scss
deleted file mode 100644
index 3f85d6cd..00000000
--- a/docs/src/templates/assets/stylesheets/main/components/_version.scss
+++ /dev/null
@@ -1,150 +0,0 @@
-////
-/// Copyright (c) 2016-2023 Martin Donath <martin.donath@squidfunk.com>
-///
-/// Permission is hereby granted, free of charge, to any person obtaining a
-/// copy of this software and associated documentation files (the "Software"),
-/// to deal in the Software without restriction, including without limitation
-/// the rights to use, copy, modify, merge, publish, distribute, sublicense,
-/// and/or sell copies of the Software, and to permit persons to whom the
-/// Software is furnished to do so, subject to the following conditions:
-///
-/// The above copyright notice and this permission notice shall be included in
-/// all copies or substantial portions of the Software.
-///
-/// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
-/// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
-/// FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT. IN NO EVENT SHALL
-/// THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
-/// LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
-/// FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
-/// DEALINGS
-////
-
-// ----------------------------------------------------------------------------
-// Keyframes
-// ----------------------------------------------------------------------------
-
-// See https://github.com/squidfunk/mkdocs-material/issues/2429
-@keyframes hoverfix {
- 0% {
- pointer-events: none;
- }
-}
-
-// ----------------------------------------------------------------------------
-// Rules
-// ----------------------------------------------------------------------------
-
-// Version selection variables
-:root {
- --md-version-icon: svg-load("fontawesome/solid/caret-down.svg");
-}
-
-// ----------------------------------------------------------------------------
-
-// Version selection
-.md-version {
- flex-shrink: 0;
- height: px2rem(48px);
- font-size: px2rem(16px);
-
- // Current selection
- &__current {
- position: relative;
- // Hack: in general, we would use `vertical-align` to align the version at
- // the bottom with the title, but since the list uses absolute positioning,
- // this won't work consistently. Furthermore, we would need to use inline
- // positioning to align the links, which looks jagged.
- top: px2rem(1px);
- margin-inline: px2rem(28px) px2rem(8px);
- color: inherit;
- cursor: pointer;
- outline: none;
-
- // Version selection icon
- &::after {
- display: inline-block;
- width: px2rem(8px);
- height: px2rem(12px);
- margin-inline-start: px2rem(8px);
- content: "";
- background-color: currentcolor;
- mask-image: var(--md-version-icon);
- mask-position: center;
- mask-repeat: no-repeat;
- mask-size: contain;
- }
- }
-
- // Version selection list
- &__list {
- position: absolute;
- top: px2rem(3px);
- z-index: 3;
- max-height: 0;
- padding: 0;
- margin: px2rem(4px) px2rem(16px);
- overflow: auto;
- color: var(--md-default-fg-color);
- list-style-type: none;
- background-color: var(--md-default-bg-color);
- border-radius: px2rem(2px);
- box-shadow: var(--md-shadow-z2);
- opacity: 0;
- transition:
- max-height 0ms 500ms,
- opacity 250ms 250ms;
- scroll-snap-type: y mandatory;
-
- // Version selection list on parent focus/hover
- .md-version:is(:focus-within, :hover) & {
- max-height: px2rem(200px);
- opacity: 1;
- transition:
- max-height 0ms,
- opacity 250ms;
- }
-
- // Fix hover on touch devices
- @media (pointer: coarse), (hover: none) {
- // Switch off on hover
- .md-version:hover & {
- animation: hoverfix 250ms forwards;
- }
-
- // Enable on focus
- .md-version:focus-within & {
- animation: none;
- }
- }
- }
-
- // Version selection item
- &__item {
- line-height: px2rem(36px);
- }
-
- // Version selection link
- &__link {
- display: block;
- width: 100%;
- padding-inline: px2rem(12px) px2rem(24px);
- white-space: nowrap;
- cursor: pointer;
- outline: none;
- transition:
- color 250ms,
- background-color 250ms;
- scroll-snap-align: start;
-
- // Link on focus/hover
- &:is(:focus, :hover) {
- color: var(--md-accent-fg-color);
- }
-
- // Link on focus
- &:focus {
- background-color: var(--md-default-fg-color--lightest);
- }
- }
-}
diff --git a/docs/src/templates/assets/stylesheets/main/extensions/markdown/_admonition.scss b/docs/src/templates/assets/stylesheets/main/extensions/markdown/_admonition.scss
deleted file mode 100644
index bf517989..00000000
--- a/docs/src/templates/assets/stylesheets/main/extensions/markdown/_admonition.scss
+++ /dev/null
@@ -1,195 +0,0 @@
-////
-/// Copyright (c) 2016-2023 Martin Donath <martin.donath@squidfunk.com>
-///
-/// Permission is hereby granted, free of charge, to any person obtaining a
-/// copy of this software and associated documentation files (the "Software"),
-/// to deal in the Software without restriction, including without limitation
-/// the rights to use, copy, modify, merge, publish, distribute, sublicense,
-/// and/or sell copies of the Software, and to permit persons to whom the
-/// Software is furnished to do so, subject to the following conditions:
-///
-/// The above copyright notice and this permission notice shall be included in
-/// all copies or substantial portions of the Software.
-///
-/// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
-/// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
-/// FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT. IN NO EVENT SHALL
-/// THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
-/// LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
-/// FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
-/// DEALINGS
-////
-
-@use "sass:color";
-@use "sass:list";
-
-// ----------------------------------------------------------------------------
-// Variables
-// ----------------------------------------------------------------------------
-
-/// Admonition flavours
-$admonitions: (
- "note": pencil-circle $clr-blue-a200,
- "abstract": clipboard-text $clr-light-blue-a400,
- "info": information $clr-cyan-a700,
- "tip": fire $clr-teal-a700,
- "success": check $clr-green-a700,
- "question": help-circle $clr-light-green-a700,
- "warning": alert $clr-orange-a400,
- "failure": close $clr-red-a200,
- "danger": lightning-bolt-circle $clr-red-a400,
- "bug": shield-bug $clr-pink-a400,
- "example": test-tube $clr-deep-purple-a200,
- "quote": format-quote-close $clr-grey
-) !default;
-
-// ----------------------------------------------------------------------------
-// Rules: layout
-// ----------------------------------------------------------------------------
-
-// Admonition variables
-:root {
- @each $name, $props in $admonitions {
- --md-admonition-icon--#{$name}:
- svg-load("material/#{list.nth($props, 1)}.svg");
- }
-}
-
-// ----------------------------------------------------------------------------
-
-// Scoped in typesetted content to match specificity of regular content
-.md-typeset {
-
- // Admonition - note that all styles also apply to details tags, which are
- // rendered as collapsible admonitions with summary elements as titles.
- .admonition {
- display: flow-root;
- padding: 0 px2rem(12px);
- margin: px2em(20px, 12.8px) 0;
- font-size: px2rem(12.8px);
- color: var(--md-admonition-fg-color);
- background-color: var(--md-admonition-bg-color);
- border: px2rem(1.5px) solid $clr-blue-a200;
- border-radius: px2rem(4px);
- box-shadow: var(--md-shadow-z1);
- transition: box-shadow 125ms;
- page-break-inside: avoid;
-
- // [print]: Omit shadow as it may lead to rendering errors
- @media print {
- box-shadow: none;
- }
-
- // Admonition on focus
- &:focus-within {
- box-shadow: 0 0 0 px2rem(4px) color.adjust($clr-blue-a200, $alpha: -0.9);
- }
-
- // Hack: Chrome exhibits a weird issue where it will set nested elements to
- // content-box. Doesn't happen in other browsers, so looks like a bug.
- > * {
- box-sizing: border-box;
- }
-
- // Adjust vertical spacing for nested admonitions
- .admonition {
- margin-top: 1em;
- margin-bottom: 1em;
- }
-
- // Adjust spacing for contained table wrappers
- .md-typeset__scrollwrap {
- margin: 1em px2rem(-12px);
- }
-
- // Adjust spacing for contained tables
- .md-typeset__table {
- padding: 0 px2rem(12px);
- }
-
- // Adjust spacing for single-child tabbed block container
- > .tabbed-set:only-child {
- margin-top: 0;
- }
-
- // Adjust spacing on last child
- html & > :last-child {
- margin-bottom: px2rem(12px);
- }
- }
-
- // Admonition title
- .admonition-title {
- position: relative;
- padding-block: px2rem(8px);
- padding-inline: px2rem(40px) px2rem(12px);
- margin-block: 0;
- margin-inline: px2rem(-12px);
- font-weight: 700;
- background-color: color.adjust($clr-blue-a200, $alpha: -0.9);
- border: none;
- border-inline-start-width: px2rem(4px);
- border-start-start-radius: px2rem(2px);
- border-start-end-radius: px2rem(2px);
-
- // Adjust spacing for title-only admonitions
- html &:last-child {
- margin-bottom: 0;
- }
-
- // Admonition icon
- &::before {
- position: absolute;
- top: px2em(10px);
- width: px2rem(20px);
- height: px2rem(20px);
- content: "";
- background-color: $clr-blue-a200;
- inset-inline-start: px2rem(12px);
- mask-image: var(--md-admonition-icon--note);
- mask-position: center;
- mask-repeat: no-repeat;
- mask-size: contain;
- }
-
- // Inline code block
- code {
- box-shadow: 0 0 0 px2rem(1px) var(--md-default-fg-color--lightest);
- }
- }
-}
-
-// ----------------------------------------------------------------------------
-// Rules: flavours
-// ----------------------------------------------------------------------------
-
-// Define admonition flavors
-@each $name, $props in $admonitions {
- $tint: list.nth($props, 2);
-
- // Admonition flavour
- .md-typeset .admonition.#{$name} {
- border-color: $tint;
-
- // Admonition on focus
- &:focus-within {
- box-shadow: 0 0 0 px2rem(4px) color.adjust($tint, $alpha: -0.9);
- }
- }
-
- // Admonition flavour title
- .md-typeset .#{$name} > .admonition-title {
- background-color: color.adjust($tint, $alpha: -0.9);
-
- // Admonition icon
- &::before {
- background-color: $tint;
- mask-image: var(--md-admonition-icon--#{$name});
- }
-
- // Details marker
- &::after {
- color: $tint;
- }
- }
-}
diff --git a/docs/src/templates/assets/stylesheets/main/extensions/markdown/_footnotes.scss b/docs/src/templates/assets/stylesheets/main/extensions/markdown/_footnotes.scss
deleted file mode 100644
index 59447d89..00000000
--- a/docs/src/templates/assets/stylesheets/main/extensions/markdown/_footnotes.scss
+++ /dev/null
@@ -1,146 +0,0 @@
-////
-/// Copyright (c) 2016-2023 Martin Donath <martin.donath@squidfunk.com>
-///
-/// Permission is hereby granted, free of charge, to any person obtaining a
-/// copy of this software and associated documentation files (the "Software"),
-/// to deal in the Software without restriction, including without limitation
-/// the rights to use, copy, modify, merge, publish, distribute, sublicense,
-/// and/or sell copies of the Software, and to permit persons to whom the
-/// Software is furnished to do so, subject to the following conditions:
-///
-/// The above copyright notice and this permission notice shall be included in
-/// all copies or substantial portions of the Software.
-///
-/// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
-/// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
-/// FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT. IN NO EVENT SHALL
-/// THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
-/// LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
-/// FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
-/// DEALINGS
-////
-
-// ----------------------------------------------------------------------------
-// Rules
-// ----------------------------------------------------------------------------
-
-// Footnotes variables
-:root {
- --md-footnotes-icon: svg-load("material/keyboard-return.svg");
-}
-
-// ----------------------------------------------------------------------------
-
-// Scoped in typesetted content to match specificity of regular content
-.md-typeset {
-
- // Footnote container
- .footnote {
- font-size: px2rem(12.8px);
- color: var(--md-default-fg-color--light);
-
- // Footnote list - omit left indentation
- > ol {
- margin-inline-start: 0;
-
- // Footnote item - footnote items can contain lists, so we need to scope
- // the spacing adjustments to the top-level footnote item.
- > li {
- transition: color 125ms;
-
- // Darken color on target
- &:target {
- color: var(--md-default-fg-color);
- }
-
- // Show backreferences on footnote focus without transition
- &:focus-within .footnote-backref {
- opacity: 1;
- transition: none;
- transform: translateX(0);
- }
-
- // Show backreferences on footnote hover/target
- &:is(:hover, :target) .footnote-backref {
- opacity: 1;
- transform: translateX(0);
- }
-
- // Adjust spacing on first child
- > :first-child {
- margin-top: 0;
- }
- }
- }
- }
-
- // Footnote reference
- .footnote-ref {
- font-size: px2em(12px, 16px);
- font-weight: 700;
-
- // Hack: increase specificity to override default
- html & {
- outline-offset: px2rem(2px);
- }
- }
-
- // Show outline for all devices
- [id^="fnref:"]:target > .footnote-ref {
- outline: auto;
- }
-
- // Footnote backreference
- .footnote-backref {
- display: inline-block;
- // Hack: omit Unicode arrow for replacement with icon
- font-size: 0;
- color: var(--md-typeset-a-color);
- vertical-align: text-bottom;
- opacity: 0;
- transition:
- color 250ms,
- transform 250ms 250ms,
- opacity 125ms 250ms;
- transform: translateX(px2rem(5px));
-
- // [print]: Show footnote backreferences
- @media print {
- color: var(--md-typeset-a-color);
- opacity: 1;
- transform: translateX(0);
- }
-
- // Adjust for right-to-left languages
- [dir="rtl"] & {
- transform: translateX(px2rem(-5px));
- }
-
- // Adjust color on hover
- &:hover {
- color: var(--md-accent-fg-color);
- }
-
- // Footnote backreference icon
- &::before {
- display: inline-block;
- width: px2rem(16px);
- height: px2rem(16px);
- content: "";
- background-color: currentcolor;
- mask-image: var(--md-footnotes-icon);
- mask-position: center;
- mask-repeat: no-repeat;
- mask-size: contain;
-
- // Adjust for right-to-left languages
- [dir="rtl"] & {
-
- // Flip icon vertically
- svg {
- transform: scaleX(-1);
- }
- }
- }
- }
-}
diff --git a/docs/src/templates/assets/stylesheets/main/extensions/markdown/_toc.scss b/docs/src/templates/assets/stylesheets/main/extensions/markdown/_toc.scss
deleted file mode 100644
index 8284a5c0..00000000
--- a/docs/src/templates/assets/stylesheets/main/extensions/markdown/_toc.scss
+++ /dev/null
@@ -1,92 +0,0 @@
-////
-/// Copyright (c) 2016-2023 Martin Donath <martin.donath@squidfunk.com>
-///
-/// Permission is hereby granted, free of charge, to any person obtaining a
-/// copy of this software and associated documentation files (the "Software"),
-/// to deal in the Software without restriction, including without limitation
-/// the rights to use, copy, modify, merge, publish, distribute, sublicense,
-/// and/or sell copies of the Software, and to permit persons to whom the
-/// Software is furnished to do so, subject to the following conditions:
-///
-/// The above copyright notice and this permission notice shall be included in
-/// all copies or substantial portions of the Software.
-///
-/// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
-/// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
-/// FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT. IN NO EVENT SHALL
-/// THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
-/// LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
-/// FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
-/// DEALINGS
-////
-
-// ----------------------------------------------------------------------------
-// Rules
-// ----------------------------------------------------------------------------
-
-// Scoped in typesetted content to match specificity of regular content
-.md-typeset {
-
- // Headerlink
- .headerlink {
- display: inline-block;
- margin-inline-start: px2rem(10px);
- color: var(--md-default-fg-color--lighter);
- opacity: 0;
- transition:
- color 250ms,
- opacity 125ms;
-
- // [print]: Hide headerlinks
- @media print {
- display: none;
- }
- }
-
- // Show headerlinks on parent hover
- :is(:hover, :target) > .headerlink,
- .headerlink:focus {
- opacity: 1;
- transition:
- color 250ms,
- opacity 125ms;
- }
-
- // Adjust color on parent target or focus/hover
- :target > .headerlink,
- .headerlink:is(:focus, :hover) {
- color: var(--md-accent-fg-color);
- }
-
- // Adjust scroll margin for all elements with `id` attributes
- :target {
- --md-scroll-margin: #{px2rem(48px + 24px)};
- --md-scroll-offset: #{px2rem(0px)};
- // Scroll margin is finally ready for prime time - before, we used a hack
- // for anchor correction based on pseudo elements but those times are gone.
- scroll-margin-top:
- calc(
- var(--md-scroll-margin) -
- var(--md-scroll-offset)
- );
-
- // [screen +]: Sticky navigation tabs
- @include break-from-device(screen) {
-
- // Adjust scroll margin for sticky navigation tabs
- .md-header--lifted ~ .md-container & {
- --md-scroll-margin: #{px2rem(96px + 24px)};
- }
- }
- }
-
- // Adjust scroll offset for headlines of level 1-3
- :is(h1, h2, h3):target {
- --md-scroll-offset: #{px2rem(4px)};
- }
-
- // Adjust scroll offset for headlines of level 4
- h4:target {
- --md-scroll-offset: #{px2rem(3px)};
- }
-}
diff --git a/docs/src/templates/assets/stylesheets/main/extensions/pymdownx/_arithmatex.scss b/docs/src/templates/assets/stylesheets/main/extensions/pymdownx/_arithmatex.scss
deleted file mode 100644
index fe8ffd62..00000000
--- a/docs/src/templates/assets/stylesheets/main/extensions/pymdownx/_arithmatex.scss
+++ /dev/null
@@ -1,52 +0,0 @@
-////
-/// Copyright (c) 2016-2023 Martin Donath <martin.donath@squidfunk.com>
-///
-/// Permission is hereby granted, free of charge, to any person obtaining a
-/// copy of this software and associated documentation files (the "Software"),
-/// to deal in the Software without restriction, including without limitation
-/// the rights to use, copy, modify, merge, publish, distribute, sublicense,
-/// and/or sell copies of the Software, and to permit persons to whom the
-/// Software is furnished to do so, subject to the following conditions:
-///
-/// The above copyright notice and this permission notice shall be included in
-/// all copies or substantial portions of the Software.
-///
-/// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
-/// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
-/// FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT. IN NO EVENT SHALL
-/// THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
-/// LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
-/// FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
-/// DEALINGS
-////
-
-// ----------------------------------------------------------------------------
-// Rules
-// ----------------------------------------------------------------------------
-
-// Scoped in typesetted content to match specificity of regular content
-.md-typeset {
-
- // Arithmatex container
- div.arithmatex {
- overflow: auto;
-
- // [mobile -]: Align with body copy
- @include break-to-device(mobile) {
- margin: 0 px2rem(-16px);
- }
-
- // Arithmatex content
- > * {
- width: min-content;
- padding: 0 px2rem(16px);
- margin-inline: auto !important; // stylelint-disable-line
- touch-action: auto;
-
- // MathJax container - see https://bit.ly/3HR8YJ5
- mjx-container {
- margin: 0 !important; // stylelint-disable-line
- }
- }
- }
-}
diff --git a/docs/src/templates/assets/stylesheets/main/extensions/pymdownx/_critic.scss b/docs/src/templates/assets/stylesheets/main/extensions/pymdownx/_critic.scss
deleted file mode 100644
index 683705ce..00000000
--- a/docs/src/templates/assets/stylesheets/main/extensions/pymdownx/_critic.scss
+++ /dev/null
@@ -1,76 +0,0 @@
-////
-/// Copyright (c) 2016-2023 Martin Donath <martin.donath@squidfunk.com>
-///
-/// Permission is hereby granted, free of charge, to any person obtaining a
-/// copy of this software and associated documentation files (the "Software"),
-/// to deal in the Software without restriction, including without limitation
-/// the rights to use, copy, modify, merge, publish, distribute, sublicense,
-/// and/or sell copies of the Software, and to permit persons to whom the
-/// Software is furnished to do so, subject to the following conditions:
-///
-/// The above copyright notice and this permission notice shall be included in
-/// all copies or substantial portions of the Software.
-///
-/// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
-/// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
-/// FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT. IN NO EVENT SHALL
-/// THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
-/// LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
-/// FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
-/// DEALINGS
-////
-
-// ----------------------------------------------------------------------------
-// Rules
-// ----------------------------------------------------------------------------
-
-// Scoped in typesetted content to match specificity of regular content
-.md-typeset {
-
- // Deletion
- del.critic {
- background-color: var(--md-typeset-del-color);
- box-decoration-break: clone;
- }
-
- // Addition
- ins.critic {
- background-color: var(--md-typeset-ins-color);
- box-decoration-break: clone;
- }
-
- // Comment
- .critic.comment {
- color: var(--md-code-hl-comment-color);
- box-decoration-break: clone;
-
- // Comment opening mark
- &::before {
- content: "/* ";
- }
-
- // Comment closing mark
- &::after {
- content: " */";
- }
- }
-
- // Critic block
- .critic.block {
- display: block;
- padding-inline: px2rem(16px);
- margin: 1em 0;
- overflow: auto;
- box-shadow: none;
-
- // Adjust spacing on first child
- > :first-child {
- margin-top: 0.5em;
- }
-
- // Adjust spacing on last child
- > :last-child {
- margin-bottom: 0.5em;
- }
- }
-}
diff --git a/docs/src/templates/assets/stylesheets/main/extensions/pymdownx/_details.scss b/docs/src/templates/assets/stylesheets/main/extensions/pymdownx/_details.scss
deleted file mode 100644
index 8eea678a..00000000
--- a/docs/src/templates/assets/stylesheets/main/extensions/pymdownx/_details.scss
+++ /dev/null
@@ -1,121 +0,0 @@
-////
-/// Copyright (c) 2016-2023 Martin Donath <martin.donath@squidfunk.com>
-///
-/// Permission is hereby granted, free of charge, to any person obtaining a
-/// copy of this software and associated documentation files (the "Software"),
-/// to deal in the Software without restriction, including without limitation
-/// the rights to use, copy, modify, merge, publish, distribute, sublicense,
-/// and/or sell copies of the Software, and to permit persons to whom the
-/// Software is furnished to do so, subject to the following conditions:
-///
-/// The above copyright notice and this permission notice shall be included in
-/// all copies or substantial portions of the Software.
-///
-/// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
-/// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
-/// FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT. IN NO EVENT SHALL
-/// THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
-/// LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
-/// FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
-/// DEALINGS
-////
-
-// ----------------------------------------------------------------------------
-// Rules
-// ----------------------------------------------------------------------------
-
-// Details variables
-:root {
- --md-details-icon: svg-load("material/chevron-right.svg");
-}
-
-// ----------------------------------------------------------------------------
-
-// Scoped in typesetted content to match specificity of regular content
-.md-typeset {
-
- // Details
- details {
- @extend .admonition;
-
- display: flow-root;
- padding-top: 0;
- overflow: visible;
-
- // Details title icon - rotate icon on transition to open state
- &[open] > summary::after {
- transform: rotate(90deg);
- }
-
- // Adjust spacing for details in closed state
- &:not([open]) {
- padding-bottom: 0;
- box-shadow: none;
-
- // Hack: we cannot set `overflow: hidden` on the `details` element (which
- // is why we set it to `overflow: visible`, as the outline would not be
- // visible when focusing. Therefore, we must set the border radius on the
- // summary explicitly.
- > summary {
- border-radius: px2rem(2px);
- }
- }
- }
-
- // Details title
- summary {
- @extend .admonition-title;
-
- display: block;
- min-height: px2rem(20px);
- padding-inline-end: px2rem(36px);
- cursor: pointer;
- border-start-start-radius: px2rem(2px);
- border-start-end-radius: px2rem(2px);
-
- // Show outline for keyboard devices
- &.focus-visible {
- outline-color: var(--md-accent-fg-color);
- outline-offset: px2rem(4px);
- }
-
- // Hide outline for pointer devices
- &:not(.focus-visible) {
- outline: none;
- -webkit-tap-highlight-color: transparent;
- }
-
- // Details marker
- &::after {
- position: absolute;
- top: px2em(10px);
- width: px2rem(20px);
- height: px2rem(20px);
- content: "";
- background-color: currentcolor;
- transition: transform 250ms;
- transform: rotate(0deg);
- inset-inline-end: px2rem(8px);
- mask-image: var(--md-details-icon);
- mask-position: center;
- mask-repeat: no-repeat;
- mask-size: contain;
-
- // Adjust for right-to-left languages
- [dir="rtl"] & {
- transform: rotate(180deg);
- }
- }
-
- // Hide native details marker - modern
- &::marker {
- display: none;
- }
-
- // Hide native details marker - legacy, must be split into a seprate rule,
- // so older browsers don't consider the selector list as invalid
- &::-webkit-details-marker {
- display: none;
- }
- }
-}
diff --git a/docs/src/templates/assets/stylesheets/main/extensions/pymdownx/_emoji.scss b/docs/src/templates/assets/stylesheets/main/extensions/pymdownx/_emoji.scss
deleted file mode 100644
index 8b351013..00000000
--- a/docs/src/templates/assets/stylesheets/main/extensions/pymdownx/_emoji.scss
+++ /dev/null
@@ -1,43 +0,0 @@
-////
-/// Copyright (c) 2016-2023 Martin Donath <martin.donath@squidfunk.com>
-///
-/// Permission is hereby granted, free of charge, to any person obtaining a
-/// copy of this software and associated documentation files (the "Software"),
-/// to deal in the Software without restriction, including without limitation
-/// the rights to use, copy, modify, merge, publish, distribute, sublicense,
-/// and/or sell copies of the Software, and to permit persons to whom the
-/// Software is furnished to do so, subject to the following conditions:
-///
-/// The above copyright notice and this permission notice shall be included in
-/// all copies or substantial portions of the Software.
-///
-/// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
-/// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
-/// FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT. IN NO EVENT SHALL
-/// THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
-/// LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
-/// FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
-/// DEALINGS
-////
-
-// ----------------------------------------------------------------------------
-// Rules
-// ----------------------------------------------------------------------------
-
-// Scoped in typesetted content to match specificity of regular content
-.md-typeset {
-
- // Emoji and icon container
- :is(.emojione, .twemoji, .gemoji) {
- display: inline-flex;
- height: px2em(18px);
- vertical-align: text-top;
-
- // Icon - inlined via mkdocs-material-extensions
- svg {
- width: px2em(18px);
- max-height: 100%;
- fill: currentcolor;
- }
- }
-}
diff --git a/docs/src/templates/assets/stylesheets/main/extensions/pymdownx/_highlight.scss b/docs/src/templates/assets/stylesheets/main/extensions/pymdownx/_highlight.scss
deleted file mode 100644
index 7d297677..00000000
--- a/docs/src/templates/assets/stylesheets/main/extensions/pymdownx/_highlight.scss
+++ /dev/null
@@ -1,382 +0,0 @@
-////
-/// Copyright (c) 2016-2023 Martin Donath <martin.donath@squidfunk.com>
-///
-/// Permission is hereby granted, free of charge, to any person obtaining a
-/// copy of this software and associated documentation files (the "Software"),
-/// to deal in the Software without restriction, including without limitation
-/// the rights to use, copy, modify, merge, publish, distribute, sublicense,
-/// and/or sell copies of the Software, and to permit persons to whom the
-/// Software is furnished to do so, subject to the following conditions:
-///
-/// The above copyright notice and this permission notice shall be included in
-/// all copies or substantial portions of the Software.
-///
-/// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
-/// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
-/// FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT. IN NO EVENT SHALL
-/// THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
-/// LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
-/// FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
-/// DEALINGS
-////
-
-// ----------------------------------------------------------------------------
-// Rules: syntax highlighting
-// ----------------------------------------------------------------------------
-
-// Code block
-.highlight {
-
- // .o = Operator
- // .ow = Operator, word
- :is(.o, .ow) {
- color: var(--md-code-hl-operator-color);
- }
-
- .p { // Punctuation
- color: var(--md-code-hl-punctuation-color);
- }
-
- // .cpf = Comment, preprocessor file
- // .l = Literal
- // .s = Literal, string
- // .sb = Literal, string backticks
- // .sc = Literal, string char
- // .s2 = Literal, string double
- // .si = Literal, string interpol
- // .s1 = Literal, string single
- // .ss = Literal, string symbol
- :is(.cpf, .l, .s, .sb, .sc, .s2, .si, .s1, .ss) {
- color: var(--md-code-hl-string-color);
- }
-
- // .cp = Comment, pre-processor
- // .se = Literal, string escape
- // .sh = Literal, string heredoc
- // .sr = Literal, string regex
- // .sx = Literal, string other
- :is(.cp, .se, .sh, .sr, .sx) {
- color: var(--md-code-hl-special-color);
- }
-
- // .m = Number
- // .mb = Number, binary
- // .mf = Number, float
- // .mh = Number, hex
- // .mi = Number, integer
- // .il = Number, integer long
- // .mo = Number, octal
- :is(.m, .mb, .mf, .mh, .mi, .il, .mo) {
- color: var(--md-code-hl-number-color);
- }
-
- // .k = Keyword,
- // .kd = Keyword, declaration
- // .kn = Keyword, namespace
- // .kp = Keyword, pseudo
- // .kr = Keyword, reserved
- // .kt = Keyword, type
- :is(.k, .kd, .kn, .kp, .kr, .kt) {
- color: var(--md-code-hl-keyword-color);
- }
-
- // .kc = Keyword, constant
- // .n = Name
- :is(.kc, .n) {
- color: var(--md-code-hl-name-color);
- }
-
- // .no = Name, constant
- // .nb = Name, builtin
- // .bp = Name, builtin pseudo
- :is(.no, .nb, .bp) {
- color: var(--md-code-hl-constant-color);
- }
-
- // .nc = Name, class
- // .ne = Name, exception
- // .nf = Name, function
- // .nn = Name, namespace
- :is(.nc, .ne, .nf, .nn) {
- color: var(--md-code-hl-function-color);
- }
-
- // .nd = Name, decorator
- // .ni = Name, entity
- // .nl = Name, label
- // .nt = Name, tag
- :is(.nd, .ni, .nl, .nt) {
- color: var(--md-code-hl-keyword-color);
- }
-
- // .c = Comment
- // .cm = Comment, multiline
- // .c1 = Comment, single
- // .ch = Comment, shebang
- // .cs = Comment, special
- // .sd = Literal, string doc
- :is(.c, .cm, .c1, .ch, .cs, .sd) {
- color: var(--md-code-hl-comment-color);
- }
-
- // .na = Name, attribute
- // .nv = Variable,
- // .vc = Variable, class
- // .vg = Variable, global
- // .vi = Variable, instance
- :is(.na, .nv, .vc, .vg, .vi) {
- color: var(--md-code-hl-variable-color);
- }
-
- // .ge = Generic, emph
- // .gr = Generic, error
- // .gh = Generic, heading
- // .go = Generic, output
- // .gp = Generic, prompt
- // .gs = Generic, strong
- // .gu = Generic, subheading
- // .gt = Generic, traceback
- :is(.ge, .gr, .gh, .go, .gp, .gs, .gu, .gt) {
- color: var(--md-code-hl-generic-color);
- }
-
- // .gd = Diff, delete
- // .gi = Diff, insert
- :is(.gd, .gi) {
- padding: 0 px2em(2px);
- margin: 0 px2em(-2px);
- border-radius: px2rem(2px);
- }
-
- .gd { // Diff, delete
- background-color: var(--md-typeset-del-color);
- }
-
- .gi { // Diff, insert
- background-color: var(--md-typeset-ins-color);
- }
-
- // Highlighted line
- .hll {
- display: block;
- padding: 0 px2em(16px, 13.6px);
- margin: 0 px2em(-16px, 13.6px);
- background-color: var(--md-code-hl-color--light);
- box-shadow: 2px 0 0 0 var(--md-code-hl-color) inset;
- }
-
- // Code block title
- span.filename {
- position: relative;
- display: flow-root;
- padding: px2em(9px, 13.6px) px2em(16px, 13.6px);
- margin-top: 1em;
- font-size: px2em(13.6px);
- font-weight: 700;
- background-color: var(--md-code-bg-color);
- border-bottom: px2rem(1px) solid var(--md-default-fg-color--lightest);
- border-top-left-radius: px2rem(2px);
- border-top-right-radius: px2rem(2px);
-
- // Adjust spacing for code block
- + pre {
- margin-top: 0;
-
- // Remove rounded border on top side
- > code {
- border-top-left-radius: 0;
- border-top-right-radius: 0;
- }
- }
- }
-
- // Code block line numbers (pymdownx-inline)
- [data-linenos]::before {
- position: sticky;
- left: px2em(-16px, 13.6px);
- // A `z-index` of 3 is necessary for ensuring that code block annotations
- // don't overlay line numbers, as active annotations have a `z-index` of 2.
- z-index: 3;
- float: left;
- padding-left: px2em(16px, 13.6px);
- margin-right: px2em(16px, 13.6px);
- margin-left: px2em(-16px, 13.6px);
- color: var(--md-default-fg-color--light);
- content: attr(data-linenos);
- user-select: none;
- background-color: var(--md-code-bg-color);
- box-shadow: px2rem(-1px) 0 var(--md-default-fg-color--lightest) inset;
- }
-
- // Code block line anchors - Chrome and Safari seem to have a strange bug
- // where scroll margin is not applied to anchors inside code blocks. Setting
- // positioning to absolute seems to fix the problem. Interestingly, this does
- // not happen in Firefox. Furthermore we must set `visibility: hidden` or
- // the copy to clipboard functionality will include an empty line between
- // each set of lines.
- code a[id] {
- position: absolute;
- visibility: hidden;
- }
-
- // Copying in progress - this class is set before the content is copied and
- // removed after copying is done to mitigate whitespace-related issues.
- code[data-md-copying] {
-
- // Temporarily remove highlighted lines - see https://bit.ly/32iVGWh
- .hll {
- display: contents;
- }
-
- // Temporarily remove annotations
- .md-annotation {
- display: none;
- }
- }
-}
-
-// ----------------------------------------------------------------------------
-// Rules: layout
-// ----------------------------------------------------------------------------
-
-// Code block with line numbers
-.highlighttable {
- display: flow-root;
-
- // Set table elements to block layout, because otherwise the whole flexbox
- // hacking won't work correctly
- :is(tbody, td) {
- display: block;
- padding: 0;
- }
-
- // We need to use flexbox layout, because otherwise it's not possible to
- // make the code container scroll while keeping the line numbers static
- tr {
- display: flex;
- }
-
- // The pre tags are nested inside a table, so we need to omit the margin
- // because it collapses below all the overflows
- pre {
- margin: 0;
- }
-
- // Code block title container
- th.filename {
- flex-grow: 1;
- padding: 0;
- text-align: left;
-
- // Adjust spacing
- span.filename {
- margin-top: 0;
- }
- }
-
- // Code block line numbers - disable user selection, so code can be easily
- // copied without accidentally also copying the line numbers
- .linenos {
- padding: px2em(10.5px, 13.6px) px2em(16px, 13.6px);
- padding-right: 0;
- font-size: px2em(13.6px);
- user-select: none;
- background-color: var(--md-code-bg-color);
- border-top-left-radius: px2rem(2px);
- border-bottom-left-radius: px2rem(2px);
- }
-
- // Code block line numbers container
- .linenodiv {
- padding-right: px2em(8px, 13.6px);
- box-shadow: px2rem(-1px) 0 var(--md-default-fg-color--lightest) inset;
-
- // Adjust colors and alignment
- pre {
- color: var(--md-default-fg-color--light);
- text-align: right;
- }
- }
-
- // Code block container - stretch to remaining space
- .code {
- flex: 1;
- min-width: 0;
- }
-}
-
-// Code block line numbers container
-.linenodiv a {
- color: inherit;
-}
-
-// ----------------------------------------------------------------------------
-
-// Scoped in typesetted content to match specificity of regular content
-.md-typeset {
-
- // Code block with line numbers - unfortunately, these selectors need to be
- // overly specific so they don't bleed into code blocks in annotations.
- .highlighttable {
- margin: 1em 0;
- direction: ltr;
-
- // Remove rounded borders on code blocks
- > tbody > tr > .code > div > pre > code {
- border-top-left-radius: 0;
- border-bottom-left-radius: 0;
- }
- }
-
- // Code block result container
- .highlight + .result {
- padding: 0 px2em(16px);
- margin-top: calc(-1em + #{px2em(-2px)});
- overflow: visible;
- border: px2rem(1px) solid var(--md-code-bg-color);
- border-top-width: px2rem(2px);
- border-bottom-right-radius: px2rem(2px);
- border-bottom-left-radius: px2rem(2px);
-
- // Clearfix, because we can't use overflow: auto
- &::after {
- display: block;
- clear: both;
- content: "";
- }
- }
-}
-
-// ----------------------------------------------------------------------------
-// Rules: top-level
-// ----------------------------------------------------------------------------
-
-// [mobile -]: Align with body copy
-@include break-to-device(mobile) {
-
- // Top-level code block
- .md-content__inner > .highlight {
- margin: 1em px2rem(-16px);
-
- // Remove rounded borders
- > .filename,
- > pre > code {
- border-radius: 0;
- }
-
- // Code block with line numbers - unfortunately, these selectors need to be
- // overly specific so they don't bleed into code blocks in annotations.
- > .highlighttable > tbody > tr > .filename span.filename,
- > .highlighttable > tbody > tr > .linenos,
- > .highlighttable > tbody > tr > .code > div > pre > code {
- border-radius: 0;
- }
-
- // Code block result container
- + .result {
- margin-inline: px2rem(-16px);
- border-inline-width: 0;
- border-radius: 0;
- }
- }
-}
diff --git a/docs/src/templates/assets/stylesheets/main/extensions/pymdownx/_keys.scss b/docs/src/templates/assets/stylesheets/main/extensions/pymdownx/_keys.scss
deleted file mode 100644
index 8749f08c..00000000
--- a/docs/src/templates/assets/stylesheets/main/extensions/pymdownx/_keys.scss
+++ /dev/null
@@ -1,115 +0,0 @@
-////
-/// Copyright (c) 2016-2023 Martin Donath <martin.donath@squidfunk.com>
-///
-/// Permission is hereby granted, free of charge, to any person obtaining a
-/// copy of this software and associated documentation files (the "Software"),
-/// to deal in the Software without restriction, including without limitation
-/// the rights to use, copy, modify, merge, publish, distribute, sublicense,
-/// and/or sell copies of the Software, and to permit persons to whom the
-/// Software is furnished to do so, subject to the following conditions:
-///
-/// The above copyright notice and this permission notice shall be included in
-/// all copies or substantial portions of the Software.
-///
-/// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
-/// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
-/// FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT. IN NO EVENT SHALL
-/// THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
-/// LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
-/// FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
-/// DEALINGS
-////
-
-// ----------------------------------------------------------------------------
-// Rules
-// ----------------------------------------------------------------------------
-
-// Scoped in typesetted content to match specificity of regular content
-.md-typeset {
-
- // Keyboard key
- .keys {
-
- // Keyboard key icon
- kbd:is(::before, ::after) {
- position: relative;
- margin: 0;
- color: inherit;
- -moz-osx-font-smoothing: initial;
- -webkit-font-smoothing: initial;
- }
-
- // Surrounding text
- span {
- padding: 0 px2em(3.2px);
- color: var(--md-default-fg-color--light);
- }
-
- // Define keyboard keys with left icon
- @each $name, $code in (
-
- // Modifiers
- "alt": "\2387",
- "left-alt": "\2387",
- "right-alt": "\2387",
- "command": "\2318",
- "left-command": "\2318",
- "right-command": "\2318",
- "control": "\2303",
- "left-control": "\2303",
- "right-control": "\2303",
- "meta": "\25C6",
- "left-meta": "\25C6",
- "right-meta": "\25C6",
- "option": "\2325",
- "left-option": "\2325",
- "right-option": "\2325",
- "shift": "\21E7",
- "left-shift": "\21E7",
- "right-shift": "\21E7",
- "super": "\2756",
- "left-super": "\2756",
- "right-super": "\2756",
- "windows": "\229E",
- "left-windows": "\229E",
- "right-windows": "\229E",
-
- // Other keys
- "arrow-down": "\2193",
- "arrow-left": "\2190",
- "arrow-right": "\2192",
- "arrow-up": "\2191",
- "backspace": "\232B",
- "backtab": "\21E4",
- "caps-lock": "\21EA",
- "clear": "\2327",
- "context-menu": "\2630",
- "delete": "\2326",
- "eject": "\23CF",
- "end": "\2913",
- "escape": "\238B",
- "home": "\2912",
- "insert": "\2380",
- "page-down": "\21DF",
- "page-up": "\21DE",
- "print-screen": "\2399"
- ) {
- .key-#{$name}::before {
- padding-right: px2em(6.4px);
- content: $code;
- }
- }
-
- // Define keyboard keys with right icon
- @each $name, $code in (
- "tab": "\21E5",
- "num-enter": "\2324",
- "enter": "\23CE"
- ) {
- .key-#{$name}::after {
- padding-left: px2em(6.4px);
- content: $code;
- }
- }
- }
-}
diff --git a/docs/src/templates/assets/stylesheets/main/extensions/pymdownx/_tabbed.scss b/docs/src/templates/assets/stylesheets/main/extensions/pymdownx/_tabbed.scss
deleted file mode 100644
index 9df91bfc..00000000
--- a/docs/src/templates/assets/stylesheets/main/extensions/pymdownx/_tabbed.scss
+++ /dev/null
@@ -1,400 +0,0 @@
-////
-/// Copyright (c) 2016-2023 Martin Donath <martin.donath@squidfunk.com>
-///
-/// Permission is hereby granted, free of charge, to any person obtaining a
-/// copy of this software and associated documentation files (the "Software"),
-/// to deal in the Software without restriction, including without limitation
-/// the rights to use, copy, modify, merge, publish, distribute, sublicense,
-/// and/or sell copies of the Software, and to permit persons to whom the
-/// Software is furnished to do so, subject to the following conditions:
-///
-/// The above copyright notice and this permission notice shall be included in
-/// all copies or substantial portions of the Software.
-///
-/// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
-/// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
-/// FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT. IN NO EVENT SHALL
-/// THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
-/// LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
-/// FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
-/// DEALINGS
-////
-
-// ----------------------------------------------------------------------------
-// Rules
-// ----------------------------------------------------------------------------
-
-// Tabbed variables
-:root {
- --md-tabbed-icon--prev: svg-load("material/chevron-left.svg");
- --md-tabbed-icon--next: svg-load("material/chevron-right.svg");
-}
-
-// ----------------------------------------------------------------------------
-
-// Scoped in typesetted content to match specificity of regular content
-.md-typeset {
-
- // Tabbed container
- .tabbed-set {
- position: relative;
- display: flex;
- flex-flow: column wrap;
- margin: 1em 0;
- border-radius: px2rem(2px);
-
- // Tab radio button - the Tabbed extension will generate radio buttons with
- // labels, so tabs can be triggered without the necessity for JavaScript.
- // This is pretty cool, as it has great accessibility out-of-the box, so
- // we just hide the radio button and toggle the label color for indication.
- > input {
- position: absolute;
- width: 0;
- height: 0;
- opacity: 0;
-
- // Adjust scroll margin
- &:target {
- --md-scroll-offset: #{px2em(10px, 16px)};
- }
-
- // Tab label states
- @for $i from 20 through 1 {
- &:nth-child(#{$i}) {
-
- // Tab is active
- &:checked {
-
- // Tab label
- ~ .tabbed-labels > :nth-child(#{$i}) {
- @extend %tabbed-label;
- }
-
- // Tab content
- ~ .tabbed-content > :nth-child(#{$i}) {
- @extend %tabbed-content;
- }
- }
-
- // Tab label on keyboard focus
- &.focus-visible ~ .tabbed-labels > :nth-child(#{$i}) {
- @extend %tabbed-label-focus-visible;
- }
- }
- }
-
- // Tab indicator on keyboard focus
- &.focus-visible ~ .tabbed-labels::before {
- background-color: var(--md-accent-fg-color);
- }
- }
- }
-
- // Tabbed labels
- .tabbed-labels {
- display: flex;
- max-width: 100%;
- overflow: auto;
- box-shadow: 0 px2rem(-1px) var(--md-default-fg-color--lightest) inset;
- -ms-overflow-style: none; // IE, Edge
- scrollbar-width: none; // Firefox
-
- // [print]: Move one layer up for ordering
- @media print {
- display: contents;
- }
-
- // [screen and no reduced motion]: Disable animation
- @media screen {
-
- // [js]: Show animated tab indicator
- .js & {
- position: relative;
-
- // Tab indicator
- &::before {
- position: absolute;
- bottom: 0;
- left: 0;
- display: block;
- width: var(--md-indicator-width);
- height: 2px;
- content: "";
- background: var(--md-default-fg-color);
- transition:
- width 225ms,
- background-color 250ms,
- transform 250ms;
- transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
- transform: translateX(var(--md-indicator-x));
- }
- }
- }
-
- // Webkit scrollbar
- &::-webkit-scrollbar {
- display: none; // Chrome, Safari
- }
-
- // Tab label
- > label {
- flex-shrink: 0;
- width: auto;
- padding: px2em(10px, 12.8px) 1.25em px2em(8px, 12.8px);
- font-size: px2rem(12.8px);
- font-weight: 700;
- color: var(--md-default-fg-color--light);
- white-space: nowrap;
- cursor: pointer;
- border-bottom: px2rem(2px) solid transparent;
- border-radius: px2rem(2px) px2rem(2px) 0 0;
- transition:
- background-color 250ms,
- color 250ms;
- scroll-margin-inline-start: px2rem(20px);
-
- // [print]: Intersperse labels with containers
- @media print {
-
- // Ensure correct order of labels
- @for $i from 1 through 20 {
- &:nth-child(#{$i}) {
- order: $i;
- }
- }
- }
-
- // Tab label on hover
- &:hover {
- color: var(--md-default-fg-color);
- }
- }
- }
-
- // Tabbed content
- .tabbed-content {
- width: 100%;
-
- // [print]: Move one layer up for ordering
- @media print {
- display: contents;
- }
- }
-
- // Tabbed block
- .tabbed-block {
- display: none;
-
- // [print]: Intersperse labels with containers
- @media print {
- display: block;
-
- // Ensure correct order of containers
- @for $i from 1 through 20 {
- &:nth-child(#{$i}) {
- order: $i;
- }
- }
- }
-
- // Code block is the first child of a tab - remove margin and mirror
- // previous (now deprecated) SuperFences code block grouping behavior
- > pre:first-child,
- > .highlight:first-child > pre {
- margin: 0;
-
- // Remove rounded borders on code block
- > code {
- border-top-left-radius: 0;
- border-top-right-radius: 0;
- }
- }
-
- // Code block is the first child of a tab - remove margin and mirror
- // previous (now deprecated) SuperFences code block grouping behavior
- > .highlight:first-child {
-
- // Code block title - remove spacing and rounded borders
- > .filename {
- margin: 0;
- border-top-left-radius: 0;
- border-top-right-radius: 0;
- }
-
- // Code block with line numbers - unfortunately, these selectors need to
- // be overly specific so they don't bleed into code blocks in annotations.
- > .highlighttable {
- margin: 0;
-
- // Remove rounded borders on line numbers and titles
- > tbody > tr > .filename span.filename,
- > tbody > tr > .linenos {
- margin: 0;
- border-top-left-radius: 0;
- border-top-right-radius: 0;
- }
-
- // Remove rounded borders on code blocks
- > tbody > tr > .code > div > pre > code {
- border-top-left-radius: 0;
- border-top-right-radius: 0;
- }
- }
-
- // Code block result container - adjust spacing
- + .result {
- margin-top: px2em(-2px);
- }
- }
-
- // Adjust spacing for nested tabbed container
- > .tabbed-set {
- margin: 0;
- }
- }
-
- // Tabbed button
- .tabbed-button {
- display: block;
- align-self: center;
- width: px2rem(18px);
- height: px2rem(18px);
- margin-top: px2rem(2px);
- color: var(--md-default-fg-color--light);
- pointer-events: initial;
- cursor: pointer;
- border-radius: 100%;
- transition: background-color 250ms;
-
- // Tabbed button on hover
- &:hover {
- color: var(--md-accent-fg-color);
- background-color: var(--md-accent-fg-color--transparent);
- }
-
- // Tabbed button icon
- &::after {
- display: block;
- width: 100%;
- height: 100%;
- content: "";
- background-color: currentcolor;
- transition:
- background-color 250ms,
- transform 250ms;
- mask-image: var(--md-tabbed-icon--prev);
- mask-position: center;
- mask-repeat: no-repeat;
- mask-size: contain;
- }
- }
-
- // Tabbed control
- .tabbed-control {
- position: absolute;
- display: flex;
- justify-content: start;
- width: px2rem(24px);
- height: px2rem(38px);
- pointer-events: none;
- background:
- linear-gradient(
- to right,
- var(--md-default-bg-color) 60%,
- transparent
- );
- transition: opacity 125ms;
-
- // Adjust for right-to-left languages
- [dir="rtl"] & {
- transform: rotate(180deg);
- }
-
- // Tabbed control is hidden
- &[hidden] {
- opacity: 0;
- }
-
- // Tabbed control next
- &--next {
- right: 0;
- justify-content: end;
- background:
- linear-gradient(
- to left,
- var(--md-default-bg-color) 60%,
- transparent
- );
-
- // Tabbed button icon content
- .tabbed-button::after {
- mask-image: var(--md-tabbed-icon--next);
- }
- }
- }
-}
-
-// ----------------------------------------------------------------------------
-// Rules: top-level
-// ----------------------------------------------------------------------------
-
-// [mobile -]: Align with body copy
-@include break-to-device(mobile) {
-
- // Top-level tabbed labels
- .md-content__inner > .tabbed-set .tabbed-labels {
- max-width: 100vw;
- padding-inline-start: px2rem(16px);
- margin: 0 px2rem(-16px);
- scroll-padding-inline-start: px2rem(16px);
-
- // Hack: some browsers ignore the right padding on flex containers,
- // see https://bit.ly/3lsPS3S
- &::after {
- padding-inline-end: px2rem(16px);
- content: "";
- }
-
- // Tabbed control previous
- ~ .tabbed-control--prev {
- width: px2rem(40px);
- padding-inline-start: px2rem(16px);
- margin-inline-start: px2rem(-16px);
- }
-
- // Tabbed control next
- ~ .tabbed-control--next {
- width: px2rem(40px);
- padding-inline-end: px2rem(16px);
- margin-inline-end: px2rem(-16px);
- }
- }
-}
-
-// ----------------------------------------------------------------------------
-// Placeholders: improve colocation for better compression
-// ----------------------------------------------------------------------------
-
-// Tab label placeholder
-%tabbed-label {
-
- // [screen]: Show active state
- @media screen {
- color: var(--md-default-fg-color);
-
- // [no-js]: Show border (indicator is animated with JavaScript)
- .no-js & {
- border-color: var(--md-default-fg-color);
- }
- }
-}
-
-// Tab label on keyboard focus placeholder
-%tabbed-label-focus-visible {
- color: var(--md-accent-fg-color);
-}
-
-// Tab content placeholder
-%tabbed-content {
- display: block;
-}
diff --git a/docs/src/templates/assets/stylesheets/main/extensions/pymdownx/_tasklist.scss b/docs/src/templates/assets/stylesheets/main/extensions/pymdownx/_tasklist.scss
deleted file mode 100644
index a1d1117c..00000000
--- a/docs/src/templates/assets/stylesheets/main/extensions/pymdownx/_tasklist.scss
+++ /dev/null
@@ -1,78 +0,0 @@
-////
-/// Copyright (c) 2016-2023 Martin Donath <martin.donath@squidfunk.com>
-///
-/// Permission is hereby granted, free of charge, to any person obtaining a
-/// copy of this software and associated documentation files (the "Software"),
-/// to deal in the Software without restriction, including without limitation
-/// the rights to use, copy, modify, merge, publish, distribute, sublicense,
-/// and/or sell copies of the Software, and to permit persons to whom the
-/// Software is furnished to do so, subject to the following conditions:
-///
-/// The above copyright notice and this permission notice shall be included in
-/// all copies or substantial portions of the Software.
-///
-/// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
-/// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
-/// FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT. IN NO EVENT SHALL
-/// THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
-/// LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
-/// FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
-/// DEALINGS
-////
-
-// ----------------------------------------------------------------------------
-// Rules
-// ----------------------------------------------------------------------------
-
-// Tasklist variables
-:root {
- --md-tasklist-icon: svg-load("octicons/check-circle-fill-24.svg");
- --md-tasklist-icon--checked: svg-load("octicons/check-circle-fill-24.svg");
-}
-
-// ----------------------------------------------------------------------------
-
-// Scoped in typesetted content to match specificity of regular content
-.md-typeset {
-
- // Tasklist item
- .task-list-item {
- position: relative;
- list-style-type: none;
-
- // Make checkbox items align with normal list items, but position
- // everything in ems for correct layout at smaller font sizes
- [type="checkbox"] {
- position: absolute;
- top: 0.45em;
- inset-inline-start: -2em;
- }
- }
-
- // Hide native checkbox, when custom classes are enabled
- .task-list-control [type="checkbox"] {
- z-index: -1;
- opacity: 0;
- }
-
- // Tasklist indicator in unchecked state
- .task-list-indicator::before {
- position: absolute;
- top: 0.15em;
- width: px2em(20px);
- height: px2em(20px);
- content: "";
- background-color: var(--md-default-fg-color--lightest);
- inset-inline-start: px2em(-24px);
- mask-image: var(--md-tasklist-icon);
- mask-position: center;
- mask-repeat: no-repeat;
- mask-size: contain;
- }
-
- // Tasklist indicator in checked state
- [type="checkbox"]:checked + .task-list-indicator::before {
- background-color: $clr-green-a400;
- mask-image: var(--md-tasklist-icon--checked);
- }
-}
diff --git a/docs/src/templates/assets/stylesheets/main/integrations/_mermaid.scss b/docs/src/templates/assets/stylesheets/main/integrations/_mermaid.scss
deleted file mode 100644
index d0325f39..00000000
--- a/docs/src/templates/assets/stylesheets/main/integrations/_mermaid.scss
+++ /dev/null
@@ -1,67 +0,0 @@
-////
-/// Copyright (c) 2016-2023 Martin Donath <martin.donath@squidfunk.com>
-///
-/// Permission is hereby granted, free of charge, to any person obtaining a
-/// copy of this software and associated documentation files (the "Software"),
-/// to deal in the Software without restriction, including without limitation
-/// the rights to use, copy, modify, merge, publish, distribute, sublicense,
-/// and/or sell copies of the Software, and to permit persons to whom the
-/// Software is furnished to do so, subject to the following conditions:
-///
-/// The above copyright notice and this permission notice shall be included in
-/// all copies or substantial portions of the Software.
-///
-/// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
-/// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
-/// FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT. IN NO EVENT SHALL
-/// THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
-/// LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
-/// FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
-/// DEALINGS
-////
-
-// ----------------------------------------------------------------------------
-// Rules
-// ----------------------------------------------------------------------------
-
-// Mermaid variables
-:root > * {
- --md-mermaid-font-family: var(--md-text-font-family), sans-serif;
-
- // General colors
- --md-mermaid-edge-color: var(--md-code-fg-color);
- --md-mermaid-node-bg-color: var(--md-accent-fg-color--transparent);
- --md-mermaid-node-fg-color: var(--md-accent-fg-color);
- --md-mermaid-label-bg-color: var(--md-default-bg-color);
- --md-mermaid-label-fg-color: var(--md-code-fg-color);
-
- // Sequence diagram colors
- --md-mermaid-sequence-actor-bg-color: var(--md-mermaid-label-bg-color);
- --md-mermaid-sequence-actor-fg-color: var(--md-mermaid-label-fg-color);
- --md-mermaid-sequence-actor-border-color: var(--md-mermaid-node-fg-color);
- --md-mermaid-sequence-actor-line-color: var(--md-default-fg-color--lighter);
- --md-mermaid-sequence-actorman-bg-color: var(--md-mermaid-label-bg-color);
- --md-mermaid-sequence-actorman-line-color: var(--md-mermaid-node-fg-color);
- --md-mermaid-sequence-box-bg-color: var(--md-mermaid-node-bg-color);
- --md-mermaid-sequence-box-fg-color: var(--md-mermaid-edge-color);
- --md-mermaid-sequence-label-bg-color: var(--md-mermaid-node-bg-color);
- --md-mermaid-sequence-label-fg-color: var(--md-mermaid-node-fg-color);
- --md-mermaid-sequence-loop-bg-color: var(--md-mermaid-node-bg-color);
- --md-mermaid-sequence-loop-fg-color: var(--md-mermaid-edge-color);
- --md-mermaid-sequence-loop-border-color: var(--md-mermaid-node-fg-color);
- --md-mermaid-sequence-message-fg-color: var(--md-mermaid-edge-color);
- --md-mermaid-sequence-message-line-color: var(--md-mermaid-edge-color);
- --md-mermaid-sequence-note-bg-color: var(--md-mermaid-label-bg-color);
- --md-mermaid-sequence-note-fg-color: var(--md-mermaid-edge-color);
- --md-mermaid-sequence-note-border-color: var(--md-mermaid-label-fg-color);
- --md-mermaid-sequence-number-bg-color: var(--md-mermaid-node-fg-color);
- --md-mermaid-sequence-number-fg-color: var(--md-accent-bg-color);
-}
-
-// ----------------------------------------------------------------------------
-
-// Mermaid container
-.mermaid {
- margin: 1em 0;
- line-height: normal;
-}
diff --git a/docs/src/templates/assets/stylesheets/palette.356b1318.min.css b/docs/src/templates/assets/stylesheets/palette.356b1318.min.css
new file mode 100644
index 00000000..141eb5f9
--- /dev/null
+++ b/docs/src/templates/assets/stylesheets/palette.356b1318.min.css
@@ -0,0 +1 @@
+@media screen{[data-md-color-scheme=slate]{--md-default-fg-color:hsla(var(--md-hue),15%,90%,0.82);--md-default-fg-color--light:hsla(var(--md-hue),15%,90%,0.56);--md-default-fg-color--lighter:hsla(var(--md-hue),15%,90%,0.32);--md-default-fg-color--lightest:hsla(var(--md-hue),15%,90%,0.12);--md-default-bg-color:hsla(var(--md-hue),15%,14%,1);--md-default-bg-color--light:hsla(var(--md-hue),15%,14%,0.54);--md-default-bg-color--lighter:hsla(var(--md-hue),15%,14%,0.26);--md-default-bg-color--lightest:hsla(var(--md-hue),15%,14%,0.07);--md-code-fg-color:hsla(var(--md-hue),18%,86%,0.82);--md-code-bg-color:hsla(var(--md-hue),15%,18%,1);--md-code-hl-color--light:#4287ff26;--md-code-hl-number-color:#e6695b;--md-code-hl-special-color:#f06090;--md-code-hl-function-color:#c973d9;--md-code-hl-constant-color:#9383e2;--md-code-hl-keyword-color:#6791e0;--md-code-hl-string-color:#2fb170;--md-code-hl-name-color:var(--md-code-fg-color);--md-code-hl-operator-color:var(--md-default-fg-color--light);--md-code-hl-punctuation-color:var(--md-default-fg-color--light);--md-code-hl-comment-color:var(--md-default-fg-color--light);--md-code-hl-generic-color:var(--md-default-fg-color--light);--md-code-hl-variable-color:var(--md-default-fg-color--light);--md-typeset-color:var(--md-default-fg-color);--md-typeset-a-color:var(--md-primary-fg-color);--md-typeset-kbd-color:hsla(var(--md-hue),15%,90%,0.12);--md-typeset-kbd-accent-color:hsla(var(--md-hue),15%,90%,0.2);--md-typeset-kbd-border-color:hsla(var(--md-hue),15%,14%,1);--md-typeset-mark-color:#4287ff4d;--md-typeset-table-color:hsla(var(--md-hue),15%,95%,0.12);--md-typeset-table-color--light:hsla(var(--md-hue),15%,95%,0.035);--md-admonition-fg-color:var(--md-default-fg-color);--md-admonition-bg-color:var(--md-default-bg-color);--md-footer-bg-color:hsla(var(--md-hue),15%,10%,0.87);--md-footer-bg-color--dark:hsla(var(--md-hue),15%,8%,1);--md-shadow-z1:0 0.2rem 0.5rem #0000000d,0 0 0.05rem #0000001a;--md-shadow-z2:0 0.2rem 0.5rem #00000040,0 0 0.05rem #00000040;--md-shadow-z3:0 0.2rem 0.5rem #0006,0 0 0.05rem #00000059;color-scheme:dark}[data-md-color-scheme=slate] img[src$="#gh-light-mode-only"],[data-md-color-scheme=slate] img[src$="#only-light"]{display:none}[data-md-color-scheme=slate][data-md-color-primary=pink]{--md-typeset-a-color:#ed5487}[data-md-color-scheme=slate][data-md-color-primary=purple]{--md-typeset-a-color:#c46fd3}[data-md-color-scheme=slate][data-md-color-primary=deep-purple]{--md-typeset-a-color:#a47bea}[data-md-color-scheme=slate][data-md-color-primary=indigo]{--md-typeset-a-color:#5488e8}[data-md-color-scheme=slate][data-md-color-primary=teal]{--md-typeset-a-color:#00ccb8}[data-md-color-scheme=slate][data-md-color-primary=green]{--md-typeset-a-color:#71c174}[data-md-color-scheme=slate][data-md-color-primary=deep-orange]{--md-typeset-a-color:#ff764d}[data-md-color-scheme=slate][data-md-color-primary=brown]{--md-typeset-a-color:#c1775c}[data-md-color-scheme=slate][data-md-color-primary=black],[data-md-color-scheme=slate][data-md-color-primary=blue-grey],[data-md-color-scheme=slate][data-md-color-primary=grey],[data-md-color-scheme=slate][data-md-color-primary=white]{--md-typeset-a-color:#5e8bde}[data-md-color-switching] *,[data-md-color-switching] :after,[data-md-color-switching] :before{transition-duration:0ms!important}}[data-md-color-accent=red]{--md-accent-fg-color:#ff1947;--md-accent-fg-color--transparent:#ff19471a;--md-accent-bg-color:#fff;--md-accent-bg-color--light:#ffffffb3}[data-md-color-accent=pink]{--md-accent-fg-color:#f50056;--md-accent-fg-color--transparent:#f500561a;--md-accent-bg-color:#fff;--md-accent-bg-color--light:#ffffffb3}[data-md-color-accent=purple]{--md-accent-fg-color:#df41fb;--md-accent-fg-color--transparent:#df41fb1a;--md-accent-bg-color:#fff;--md-accent-bg-color--light:#ffffffb3}[data-md-color-accent=deep-purple]{--md-accent-fg-color:#7c4dff;--md-accent-fg-color--transparent:#7c4dff1a;--md-accent-bg-color:#fff;--md-accent-bg-color--light:#ffffffb3}[data-md-color-accent=indigo]{--md-accent-fg-color:#526cfe;--md-accent-fg-color--transparent:#526cfe1a;--md-accent-bg-color:#fff;--md-accent-bg-color--light:#ffffffb3}[data-md-color-accent=blue]{--md-accent-fg-color:#4287ff;--md-accent-fg-color--transparent:#4287ff1a;--md-accent-bg-color:#fff;--md-accent-bg-color--light:#ffffffb3}[data-md-color-accent=light-blue]{--md-accent-fg-color:#0091eb;--md-accent-fg-color--transparent:#0091eb1a;--md-accent-bg-color:#fff;--md-accent-bg-color--light:#ffffffb3}[data-md-color-accent=cyan]{--md-accent-fg-color:#00bad6;--md-accent-fg-color--transparent:#00bad61a;--md-accent-bg-color:#fff;--md-accent-bg-color--light:#ffffffb3}[data-md-color-accent=teal]{--md-accent-fg-color:#00bda4;--md-accent-fg-color--transparent:#00bda41a;--md-accent-bg-color:#fff;--md-accent-bg-color--light:#ffffffb3}[data-md-color-accent=green]{--md-accent-fg-color:#00c753;--md-accent-fg-color--transparent:#00c7531a;--md-accent-bg-color:#fff;--md-accent-bg-color--light:#ffffffb3}[data-md-color-accent=light-green]{--md-accent-fg-color:#63de17;--md-accent-fg-color--transparent:#63de171a;--md-accent-bg-color:#fff;--md-accent-bg-color--light:#ffffffb3}[data-md-color-accent=lime]{--md-accent-fg-color:#b0eb00;--md-accent-fg-color--transparent:#b0eb001a;--md-accent-bg-color:#000000de;--md-accent-bg-color--light:#0000008a}[data-md-color-accent=yellow]{--md-accent-fg-color:#ffd500;--md-accent-fg-color--transparent:#ffd5001a;--md-accent-bg-color:#000000de;--md-accent-bg-color--light:#0000008a}[data-md-color-accent=amber]{--md-accent-fg-color:#fa0;--md-accent-fg-color--transparent:#ffaa001a;--md-accent-bg-color:#000000de;--md-accent-bg-color--light:#0000008a}[data-md-color-accent=orange]{--md-accent-fg-color:#ff9100;--md-accent-fg-color--transparent:#ff91001a;--md-accent-bg-color:#000000de;--md-accent-bg-color--light:#0000008a}[data-md-color-accent=deep-orange]{--md-accent-fg-color:#ff6e42;--md-accent-fg-color--transparent:#ff6e421a;--md-accent-bg-color:#fff;--md-accent-bg-color--light:#ffffffb3}[data-md-color-primary=red]{--md-primary-fg-color:#ef5552;--md-primary-fg-color--light:#e57171;--md-primary-fg-color--dark:#e53734;--md-primary-bg-color:#fff;--md-primary-bg-color--light:#ffffffb3}[data-md-color-primary=pink]{--md-primary-fg-color:#e92063;--md-primary-fg-color--light:#ec417a;--md-primary-fg-color--dark:#c3185d;--md-primary-bg-color:#fff;--md-primary-bg-color--light:#ffffffb3}[data-md-color-primary=purple]{--md-primary-fg-color:#ab47bd;--md-primary-fg-color--light:#bb69c9;--md-primary-fg-color--dark:#8c24a8;--md-primary-bg-color:#fff;--md-primary-bg-color--light:#ffffffb3}[data-md-color-primary=deep-purple]{--md-primary-fg-color:#7e56c2;--md-primary-fg-color--light:#9574cd;--md-primary-fg-color--dark:#673ab6;--md-primary-bg-color:#fff;--md-primary-bg-color--light:#ffffffb3}[data-md-color-primary=indigo]{--md-primary-fg-color:#4051b5;--md-primary-fg-color--light:#5d6cc0;--md-primary-fg-color--dark:#303fa1;--md-primary-bg-color:#fff;--md-primary-bg-color--light:#ffffffb3}[data-md-color-primary=blue]{--md-primary-fg-color:#2094f3;--md-primary-fg-color--light:#42a5f5;--md-primary-fg-color--dark:#1975d2;--md-primary-bg-color:#fff;--md-primary-bg-color--light:#ffffffb3}[data-md-color-primary=light-blue]{--md-primary-fg-color:#02a6f2;--md-primary-fg-color--light:#28b5f6;--md-primary-fg-color--dark:#0287cf;--md-primary-bg-color:#fff;--md-primary-bg-color--light:#ffffffb3}[data-md-color-primary=cyan]{--md-primary-fg-color:#00bdd6;--md-primary-fg-color--light:#25c5da;--md-primary-fg-color--dark:#0097a8;--md-primary-bg-color:#fff;--md-primary-bg-color--light:#ffffffb3}[data-md-color-primary=teal]{--md-primary-fg-color:#009485;--md-primary-fg-color--light:#26a699;--md-primary-fg-color--dark:#007a6c;--md-primary-bg-color:#fff;--md-primary-bg-color--light:#ffffffb3}[data-md-color-primary=green]{--md-primary-fg-color:#4cae4f;--md-primary-fg-color--light:#68bb6c;--md-primary-fg-color--dark:#398e3d;--md-primary-bg-color:#fff;--md-primary-bg-color--light:#ffffffb3}[data-md-color-primary=light-green]{--md-primary-fg-color:#8bc34b;--md-primary-fg-color--light:#9ccc66;--md-primary-fg-color--dark:#689f38;--md-primary-bg-color:#fff;--md-primary-bg-color--light:#ffffffb3}[data-md-color-primary=lime]{--md-primary-fg-color:#cbdc38;--md-primary-fg-color--light:#d3e156;--md-primary-fg-color--dark:#b0b52c;--md-primary-bg-color:#000000de;--md-primary-bg-color--light:#0000008a}[data-md-color-primary=yellow]{--md-primary-fg-color:#ffec3d;--md-primary-fg-color--light:#ffee57;--md-primary-fg-color--dark:#fbc02d;--md-primary-bg-color:#000000de;--md-primary-bg-color--light:#0000008a}[data-md-color-primary=amber]{--md-primary-fg-color:#ffc105;--md-primary-fg-color--light:#ffc929;--md-primary-fg-color--dark:#ffa200;--md-primary-bg-color:#000000de;--md-primary-bg-color--light:#0000008a}[data-md-color-primary=orange]{--md-primary-fg-color:#ffa724;--md-primary-fg-color--light:#ffa724;--md-primary-fg-color--dark:#fa8900;--md-primary-bg-color:#000000de;--md-primary-bg-color--light:#0000008a}[data-md-color-primary=deep-orange]{--md-primary-fg-color:#ff6e42;--md-primary-fg-color--light:#ff8a66;--md-primary-fg-color--dark:#f4511f;--md-primary-bg-color:#fff;--md-primary-bg-color--light:#ffffffb3}[data-md-color-primary=brown]{--md-primary-fg-color:#795649;--md-primary-fg-color--light:#8d6e62;--md-primary-fg-color--dark:#5d4037;--md-primary-bg-color:#fff;--md-primary-bg-color--light:#ffffffb3}[data-md-color-primary=grey]{--md-primary-fg-color:#757575;--md-primary-fg-color--light:#9e9e9e;--md-primary-fg-color--dark:#616161;--md-primary-bg-color:#fff;--md-primary-bg-color--light:#ffffffb3;--md-typeset-a-color:#4051b5}[data-md-color-primary=blue-grey]{--md-primary-fg-color:#546d78;--md-primary-fg-color--light:#607c8a;--md-primary-fg-color--dark:#455a63;--md-primary-bg-color:#fff;--md-primary-bg-color--light:#ffffffb3;--md-typeset-a-color:#4051b5}[data-md-color-primary=light-green]:not([data-md-color-scheme=slate]){--md-typeset-a-color:#72ad2e}[data-md-color-primary=lime]:not([data-md-color-scheme=slate]){--md-typeset-a-color:#8b990a}[data-md-color-primary=yellow]:not([data-md-color-scheme=slate]){--md-typeset-a-color:#b8a500}[data-md-color-primary=amber]:not([data-md-color-scheme=slate]){--md-typeset-a-color:#d19d00}[data-md-color-primary=orange]:not([data-md-color-scheme=slate]){--md-typeset-a-color:#e68a00}[data-md-color-primary=white]{--md-primary-fg-color:hsla(var(--md-hue),0%,100%,1);--md-primary-fg-color--light:hsla(var(--md-hue),0%,100%,0.7);--md-primary-fg-color--dark:hsla(var(--md-hue),0%,0%,0.07);--md-primary-bg-color:hsla(var(--md-hue),0%,0%,0.87);--md-primary-bg-color--light:hsla(var(--md-hue),0%,0%,0.54);--md-typeset-a-color:#4051b5}[data-md-color-primary=white] .md-button{color:var(--md-typeset-a-color)}[data-md-color-primary=white] .md-button--primary{background-color:var(--md-typeset-a-color);border-color:var(--md-typeset-a-color);color:hsla(var(--md-hue),0%,100%,1)}@media screen and (min-width:60em){[data-md-color-primary=white] .md-search__form{background-color:hsla(var(--md-hue),0%,0%,.07)}[data-md-color-primary=white] .md-search__form:hover{background-color:hsla(var(--md-hue),0%,0%,.32)}[data-md-color-primary=white] .md-search__input+.md-search__icon{color:hsla(var(--md-hue),0%,0%,.87)}}@media screen and (min-width:76.25em){[data-md-color-primary=white] .md-tabs{border-bottom:.05rem solid #00000012}}[data-md-color-primary=black]{--md-primary-fg-color:hsla(var(--md-hue),15%,9%,1);--md-primary-fg-color--light:hsla(var(--md-hue),15%,9%,0.54);--md-primary-fg-color--dark:hsla(var(--md-hue),15%,9%,1);--md-primary-bg-color:hsla(var(--md-hue),15%,100%,1);--md-primary-bg-color--light:hsla(var(--md-hue),15%,100%,0.7);--md-typeset-a-color:#4051b5}[data-md-color-primary=black] .md-button{color:var(--md-typeset-a-color)}[data-md-color-primary=black] .md-button--primary{background-color:var(--md-typeset-a-color);border-color:var(--md-typeset-a-color);color:hsla(var(--md-hue),0%,100%,1)}[data-md-color-primary=black] .md-header{background-color:hsla(var(--md-hue),15%,9%,1)}@media screen and (max-width:59.984375em){[data-md-color-primary=black] .md-nav__source{background-color:hsla(var(--md-hue),15%,11%,.87)}}@media screen and (max-width:76.234375em){html [data-md-color-primary=black] .md-nav--primary .md-nav__title[for=__drawer]{background-color:hsla(var(--md-hue),15%,9%,1)}}@media screen and (min-width:76.25em){[data-md-color-primary=black] .md-tabs{background-color:hsla(var(--md-hue),15%,9%,1)}} \ No newline at end of file
diff --git a/docs/src/templates/assets/stylesheets/palette.356b1318.min.css.map b/docs/src/templates/assets/stylesheets/palette.356b1318.min.css.map
new file mode 100644
index 00000000..4627b687
--- /dev/null
+++ b/docs/src/templates/assets/stylesheets/palette.356b1318.min.css.map
@@ -0,0 +1 @@
+{"version":3,"sources":["src/templates/assets/stylesheets/palette/_scheme.scss","../../../../src/templates/assets/stylesheets/palette.scss","src/templates/assets/stylesheets/palette/_accent.scss","src/templates/assets/stylesheets/palette/_primary.scss","src/templates/assets/stylesheets/utilities/_break.scss"],"names":[],"mappings":"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","file":"palette.css"} \ No newline at end of file
diff --git a/docs/src/templates/assets/stylesheets/palette.scss b/docs/src/templates/assets/stylesheets/palette.scss
deleted file mode 100644
index ff73a982..00000000
--- a/docs/src/templates/assets/stylesheets/palette.scss
+++ /dev/null
@@ -1,40 +0,0 @@
-////
-/// Copyright (c) 2016-2023 Martin Donath <martin.donath@squidfunk.com>
-///
-/// Permission is hereby granted, free of charge, to any person obtaining a
-/// copy of this software and associated documentation files (the "Software"),
-/// to deal in the Software without restriction, including without limitation
-/// the rights to use, copy, modify, merge, publish, distribute, sublicense,
-/// and/or sell copies of the Software, and to permit persons to whom the
-/// Software is furnished to do so, subject to the following conditions:
-///
-/// The above copyright notice and this permission notice shall be included in
-/// all copies or substantial portions of the Software.
-///
-/// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
-/// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
-/// FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT. IN NO EVENT SHALL
-/// THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
-/// LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
-/// FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
-/// DEALINGS
-////
-
-// ----------------------------------------------------------------------------
-// Dependencies
-// ----------------------------------------------------------------------------
-
-@import "material-color";
-
-// ----------------------------------------------------------------------------
-// Local imports
-// ----------------------------------------------------------------------------
-
-@import "utilities/break";
-@import "utilities/convert";
-
-@import "config";
-
-@import "palette/scheme";
-@import "palette/accent";
-@import "palette/primary";
diff --git a/docs/src/templates/assets/stylesheets/palette/_accent.scss b/docs/src/templates/assets/stylesheets/palette/_accent.scss
deleted file mode 100644
index 9f69b596..00000000
--- a/docs/src/templates/assets/stylesheets/palette/_accent.scss
+++ /dev/null
@@ -1,61 +0,0 @@
-////
-/// Copyright (c) 2016-2023 Martin Donath <martin.donath@squidfunk.com>
-///
-/// Permission is hereby granted, free of charge, to any person obtaining a
-/// copy of this software and associated documentation files (the "Software"),
-/// to deal in the Software without restriction, including without limitation
-/// the rights to use, copy, modify, merge, publish, distribute, sublicense,
-/// and/or sell copies of the Software, and to permit persons to whom the
-/// Software is furnished to do so, subject to the following conditions:
-///
-/// The above copyright notice and this permission notice shall be included in
-/// all copies or substantial portions of the Software.
-///
-/// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
-/// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
-/// FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT. IN NO EVENT SHALL
-/// THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
-/// LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
-/// FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
-/// DEALINGS
-////
-
-// ----------------------------------------------------------------------------
-// Rules
-// ----------------------------------------------------------------------------
-
-// Define accent colors
-@each $name, $color in (
- "red": $clr-red-a400,
- "pink": $clr-pink-a400,
- "purple": $clr-purple-a200,
- "deep-purple": $clr-deep-purple-a200,
- "indigo": $clr-indigo-a200,
- "blue": $clr-blue-a200,
- "light-blue": $clr-light-blue-a700,
- "cyan": $clr-cyan-a700,
- "teal": $clr-teal-a700,
- "green": $clr-green-a700,
- "light-green": $clr-light-green-a700,
- "lime": $clr-lime-a700,
- "yellow": $clr-yellow-a700,
- "amber": $clr-amber-a700,
- "orange": $clr-orange-a400,
- "deep-orange": $clr-deep-orange-a200
-) {
-
- // Color palette
- [data-md-color-accent="#{$name}"] {
- --md-accent-fg-color: hsla(#{hex2hsl($color)}, 1);
- --md-accent-fg-color--transparent: hsla(#{hex2hsl($color)}, 0.1);
-
- // Inverted text for lighter shades
- @if index("lime" "yellow" "amber" "orange", $name) {
- --md-accent-bg-color: hsla(0, 0%, 0%, 0.87);
- --md-accent-bg-color--light: hsla(0, 0%, 0%, 0.54);
- } @else {
- --md-accent-bg-color: hsla(0, 0%, 100%, 1);
- --md-accent-bg-color--light: hsla(0, 0%, 100%, 0.7);
- }
- }
-}
diff --git a/docs/src/templates/assets/stylesheets/palette/_primary.scss b/docs/src/templates/assets/stylesheets/palette/_primary.scss
deleted file mode 100644
index a8653f0f..00000000
--- a/docs/src/templates/assets/stylesheets/palette/_primary.scss
+++ /dev/null
@@ -1,203 +0,0 @@
-////
-/// Copyright (c) 2016-2023 Martin Donath <martin.donath@squidfunk.com>
-///
-/// Permission is hereby granted, free of charge, to any person obtaining a
-/// copy of this software and associated documentation files (the "Software"),
-/// to deal in the Software without restriction, including without limitation
-/// the rights to use, copy, modify, merge, publish, distribute, sublicense,
-/// and/or sell copies of the Software, and to permit persons to whom the
-/// Software is furnished to do so, subject to the following conditions:
-///
-/// The above copyright notice and this permission notice shall be included in
-/// all copies or substantial portions of the Software.
-///
-/// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
-/// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
-/// FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT. IN NO EVENT SHALL
-/// THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
-/// LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
-/// FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
-/// DEALINGS
-////
-
-@use "sass:list";
-
-// ----------------------------------------------------------------------------
-// Rules
-// ----------------------------------------------------------------------------
-
-// Define primary colors
-@each $name, $colors in (
- "red": $clr-red-400 $clr-red-300 $clr-red-600,
- "pink": $clr-pink-500 $clr-pink-400 $clr-pink-700,
- "purple": $clr-purple-400 $clr-purple-300 $clr-purple-600,
- "deep-purple": $clr-deep-purple-400 $clr-deep-purple-300 $clr-deep-purple-500,
- "indigo": $clr-indigo-500 $clr-indigo-400 $clr-indigo-700,
- "blue": $clr-blue-500 $clr-blue-400 $clr-blue-700,
- "light-blue": $clr-light-blue-500 $clr-light-blue-400 $clr-light-blue-700,
- "cyan": $clr-cyan-500 $clr-cyan-400 $clr-cyan-700,
- "teal": $clr-teal-500 $clr-teal-400 $clr-teal-700,
- "green": $clr-green-500 $clr-green-400 $clr-green-700,
- "light-green": $clr-light-green-500 $clr-light-green-400 $clr-light-green-700,
- "lime": $clr-lime-500 $clr-lime-400 $clr-lime-700,
- "yellow": $clr-yellow-500 $clr-yellow-400 $clr-yellow-700,
- "amber": $clr-amber-500 $clr-amber-400 $clr-amber-700,
- "orange": $clr-orange-400 $clr-orange-400 $clr-orange-600,
- "deep-orange": $clr-deep-orange-400 $clr-deep-orange-300 $clr-deep-orange-600,
- "brown": $clr-brown-500 $clr-brown-400 $clr-brown-700,
- "grey": $clr-grey-600 $clr-grey-500 $clr-grey-700,
- "blue-grey": $clr-blue-grey-600 $clr-blue-grey-500 $clr-blue-grey-700
-) {
-
- // Color palette
- [data-md-color-primary="#{$name}"] {
- --md-primary-fg-color: hsl(#{hex2hsl(list.nth($colors, 1))});
- --md-primary-fg-color--light: hsl(#{hex2hsl(list.nth($colors, 2))});
- --md-primary-fg-color--dark: hsl(#{hex2hsl(list.nth($colors, 3))});
-
- // Inverted text for lighter shades
- @if index("lime" "yellow" "amber" "orange", $name) {
- --md-primary-bg-color: hsla(0, 0%, 0%, 0.87);
- --md-primary-bg-color--light: hsla(0, 0%, 0%, 0.54);
- } @else {
- --md-primary-bg-color: hsla(0, 0%, 100%, 1);
- --md-primary-bg-color--light: hsla(0, 0%, 100%, 0.7);
- }
-
- // Typeset color shades
- @if index("grey" "blue-grey", $name) {
- --md-typeset-a-color: hsl(#{hex2hsl($clr-indigo-500)});
- }
- }
-}
-
-// ----------------------------------------------------------------------------
-
-// Adjust link colors for light primary colors
-@each $name, $color in (
- "light-green": hsl(88, 58%, 43%),
- "lime": hsl(66, 88%, 32%),
- "yellow": hsl(54, 100%, 36%),
- "amber": hsl(45, 100%, 41%),
- "orange": hsl(36, 100%, 45%)
-) {
- [data-md-color-primary="#{$name}"]:not([data-md-color-scheme="slate"]) {
- --md-typeset-a-color: #{$color};
- }
-}
-
-// ----------------------------------------------------------------------------
-// Rules: white
-// ----------------------------------------------------------------------------
-
-// Define primary colors for white
-[data-md-color-primary="white"] {
- --md-primary-fg-color: hsla(var(--md-hue), 0%, 100%, 1);
- --md-primary-fg-color--light: hsla(var(--md-hue), 0%, 100%, 0.7);
- --md-primary-fg-color--dark: hsla(var(--md-hue), 0%, 0%, 0.07);
- --md-primary-bg-color: hsla(var(--md-hue), 0%, 0%, 0.87);
- --md-primary-bg-color--light: hsla(var(--md-hue), 0%, 0%, 0.54);
-
- // Typeset `a` color shades
- --md-typeset-a-color: hsl(#{hex2hsl($clr-indigo-500)});
-
- // Form button
- .md-button {
- color: var(--md-typeset-a-color);
-
- // Primary button
- &--primary {
- color: hsla(var(--md-hue), 0%, 100%, 1);
- background-color: var(--md-typeset-a-color);
- border-color: var(--md-typeset-a-color);
- }
- }
-
- // [tablet portrait +]: Header-embedded search
- @include break-from-device(tablet landscape) {
-
- // Search form
- .md-search__form {
- background-color: hsla(var(--md-hue), 0%, 0%, 0.07);
-
- // Search form on hover
- &:hover {
- background-color: hsla(var(--md-hue), 0%, 0%, 0.32);
- }
- }
-
- // Search icon
- .md-search__input + .md-search__icon {
- color: hsla(var(--md-hue), 0%, 0%, 0.87);
- }
- }
-
- // [screen +]: Add bottom border for tabs
- @include break-from-device(screen) {
-
- // Navigation tabs
- .md-tabs {
- border-bottom: px2rem(1px) solid hsla(0, 0%, 0%, 0.07);
- }
- }
-}
-
-// ----------------------------------------------------------------------------
-// Rules: black
-// ----------------------------------------------------------------------------
-
-// Define primary colors for black
-[data-md-color-primary="black"] {
- --md-primary-fg-color: hsla(var(--md-hue), 15%, 9%, 1);
- --md-primary-fg-color--light: hsla(var(--md-hue), 15%, 9%, 0.54);
- --md-primary-fg-color--dark: hsla(var(--md-hue), 15%, 9%, 1);
- --md-primary-bg-color: hsla(var(--md-hue), 15%, 100%, 1);
- --md-primary-bg-color--light: hsla(var(--md-hue), 15%, 100%, 0.7);
-
- // Typeset `a` color shades
- --md-typeset-a-color: hsl(#{hex2hsl($clr-indigo-500)});
-
- // Form button
- .md-button {
- color: var(--md-typeset-a-color);
-
- // Primary button
- &--primary {
- color: hsla(var(--md-hue), 0%, 100%, 1);
- background-color: var(--md-typeset-a-color);
- border-color: var(--md-typeset-a-color);
- }
- }
-
- // Header
- .md-header {
- background-color: hsla(var(--md-hue), 15%, 9%, 1);
- }
-
- // [tablet portrait -]: Layered navigation
- @include break-to-device(tablet portrait) {
-
- // Repository information container
- .md-nav__source {
- background-color: hsla(var(--md-hue), 15%, 11%, 0.87);
- }
- }
-
- // [tablet -]: Layered navigation
- @include break-to-device(tablet) {
-
- // Site title in main navigation
- html & .md-nav--primary .md-nav__title[for="__drawer"] {
- background-color: hsla(var(--md-hue), 15%, 9%, 1);
- }
- }
-
- // [screen +]: Set background color for tabs
- @include break-from-device(screen) {
-
- // Navigation tabs
- .md-tabs {
- background-color: hsla(var(--md-hue), 15%, 9%, 1);
- }
- }
-}
diff --git a/docs/src/templates/assets/stylesheets/palette/_scheme.scss b/docs/src/templates/assets/stylesheets/palette/_scheme.scss
deleted file mode 100644
index 0a9f9823..00000000
--- a/docs/src/templates/assets/stylesheets/palette/_scheme.scss
+++ /dev/null
@@ -1,145 +0,0 @@
-////
-/// Copyright (c) 2016-2023 Martin Donath <martin.donath@squidfunk.com>
-///
-/// Permission is hereby granted, free of charge, to any person obtaining a
-/// copy of this software and associated documentation files (the "Software"),
-/// to deal in the Software without restriction, including without limitation
-/// the rights to use, copy, modify, merge, publish, distribute, sublicense,
-/// and/or sell copies of the Software, and to permit persons to whom the
-/// Software is furnished to do so, subject to the following conditions:
-///
-/// The above copyright notice and this permission notice shall be included in
-/// all copies or substantial portions of the Software.
-///
-/// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
-/// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
-/// FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT. IN NO EVENT SHALL
-/// THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
-/// LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
-/// FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
-/// DEALINGS
-////
-
-// ----------------------------------------------------------------------------
-// Rules
-// ----------------------------------------------------------------------------
-
-// Only use dark mode on screens
-@media screen {
-
- // Slate theme, i.e. dark mode
- [data-md-color-scheme="slate"] {
-
- // Indicate that the site is rendered with a dark color scheme
- color-scheme: dark;
-
- // Default color shades
- --md-default-fg-color: hsla(var(--md-hue), 15%, 90%, 0.82);
- --md-default-fg-color--light: hsla(var(--md-hue), 15%, 90%, 0.56);
- --md-default-fg-color--lighter: hsla(var(--md-hue), 15%, 90%, 0.32);
- --md-default-fg-color--lightest: hsla(var(--md-hue), 15%, 90%, 0.12);
- --md-default-bg-color: hsla(var(--md-hue), 15%, 14%, 1);
- --md-default-bg-color--light: hsla(var(--md-hue), 15%, 14%, 0.54);
- --md-default-bg-color--lighter: hsla(var(--md-hue), 15%, 14%, 0.26);
- --md-default-bg-color--lightest: hsla(var(--md-hue), 15%, 14%, 0.07);
-
- // Code color shades
- --md-code-fg-color: hsla(var(--md-hue), 18%, 86%, 0.82);
- --md-code-bg-color: hsla(var(--md-hue), 15%, 18%, 1);
-
- // Code highlighting color shades
- --md-code-hl-color--light: hsla(#{hex2hsl($clr-blue-a200)}, 0.15);
- --md-code-hl-number-color: hsla(6, 74%, 63%, 1);
- --md-code-hl-special-color: hsla(340, 83%, 66%, 1);
- --md-code-hl-function-color: hsla(291, 57%, 65%, 1);
- --md-code-hl-constant-color: hsla(250, 62%, 70%, 1);
- --md-code-hl-keyword-color: hsla(219, 66%, 64%, 1);
- --md-code-hl-string-color: hsla(150, 58%, 44%, 1);
- --md-code-hl-name-color: var(--md-code-fg-color);
- --md-code-hl-operator-color: var(--md-default-fg-color--light);
- --md-code-hl-punctuation-color: var(--md-default-fg-color--light);
- --md-code-hl-comment-color: var(--md-default-fg-color--light);
- --md-code-hl-generic-color: var(--md-default-fg-color--light);
- --md-code-hl-variable-color: var(--md-default-fg-color--light);
-
- // Typeset color shades
- --md-typeset-color: var(--md-default-fg-color);
-
- // Typeset `a` color shades
- --md-typeset-a-color: var(--md-primary-fg-color);
-
- // Typeset `kbd` color shades
- --md-typeset-kbd-color: hsla(var(--md-hue), 15%, 90%, 0.12);
- --md-typeset-kbd-accent-color: hsla(var(--md-hue), 15%, 90%, 0.2);
- --md-typeset-kbd-border-color: hsla(var(--md-hue), 15%, 14%, 1);
-
- // Typeset `mark` color shades
- --md-typeset-mark-color: hsla(#{hex2hsl($clr-blue-a200)}, 0.3);
-
- // Typeset `table` color shades
- --md-typeset-table-color: hsla(var(--md-hue), 15%, 95%, 0.12);
- --md-typeset-table-color--light: hsla(var(--md-hue), 15%, 95%, 0.035);
-
- // Admonition color shades
- --md-admonition-fg-color: var(--md-default-fg-color);
- --md-admonition-bg-color: var(--md-default-bg-color);
-
- // Footer color shades
- --md-footer-bg-color: hsla(var(--md-hue), 15%, 10%, 0.87);
- --md-footer-bg-color--dark: hsla(var(--md-hue), 15%, 8%, 1);
-
- // Shadow depth 1
- --md-shadow-z1:
- 0 #{px2rem(4px)} #{px2rem(10px)} hsla(0, 0%, 0%, 0.05),
- 0 0 #{px2rem(1px)} hsla(0, 0%, 0%, 0.1);
-
- // Shadow depth 2
- --md-shadow-z2:
- 0 #{px2rem(4px)} #{px2rem(10px)} hsla(0, 0%, 0%, 0.25),
- 0 0 #{px2rem(1px)} hsla(0, 0%, 0%, 0.25);
-
- // Shadow depth 3
- --md-shadow-z3:
- 0 #{px2rem(4px)} #{px2rem(10px)} hsla(0, 0%, 0%, 0.4),
- 0 0 #{px2rem(1px)} hsla(0, 0%, 0%, 0.35);
-
- // Hide images for light mode
- img[src$="#only-light"],
- img[src$="#gh-light-mode-only"] {
- display: none;
- }
- }
-
- // --------------------------------------------------------------------------
-
- // Adjust link colors for dark primary colors
- @each $name, $color in (
- "pink": hsl(340, 81%, 63%),
- "purple": hsl(291, 53%, 63%),
- "deep-purple": hsl(262, 73%, 70%),
- "indigo": hsl(219, 76%, 62%),
- "teal": hsl(174, 100%, 40%),
- "green": hsl(122, 39%, 60%),
- "deep-orange": hsl(14, 100%, 65%),
- "brown": hsl(16, 45%, 56%),
-
- // Set neutral colors to indigo
- "grey": hsl(219, 66%, 62%),
- "blue-grey": hsl(219, 66%, 62%),
- "white": hsl(219, 66%, 62%),
- "black": hsl(219, 66%, 62%)
- ) {
- [data-md-color-scheme="slate"][data-md-color-primary="#{$name}"] {
- --md-typeset-a-color: #{$color};
- }
- }
-
- // --------------------------------------------------------------------------
-
- // Switching in progress - disable all transitions temporarily
- [data-md-color-switching] *,
- [data-md-color-switching] *::before,
- [data-md-color-switching] *::after {
- transition-duration: 0ms !important; // stylelint-disable-line
- }
-}
diff --git a/docs/src/templates/assets/stylesheets/utilities/_break.scss b/docs/src/templates/assets/stylesheets/utilities/_break.scss
deleted file mode 100644
index 7ccd8622..00000000
--- a/docs/src/templates/assets/stylesheets/utilities/_break.scss
+++ /dev/null
@@ -1,219 +0,0 @@
-////
-/// Copyright (c) 2016-2023 Martin Donath <martin.donath@squidfunk.com>
-///
-/// Permission is hereby granted, free of charge, to any person obtaining a
-/// copy of this software and associated documentation files (the "Software"),
-/// to deal in the Software without restriction, including without limitation
-/// the rights to use, copy, modify, merge, publish, distribute, sublicense,
-/// and/or sell copies of the Software, and to permit persons to whom the
-/// Software is furnished to do so, subject to the following conditions:
-///
-/// The above copyright notice and this permission notice shall be included in
-/// all copies or substantial portions of the Software.
-///
-/// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
-/// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
-/// FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT. IN NO EVENT SHALL
-/// THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
-/// LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
-/// FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
-/// DEALINGS
-////
-
-@use "sass:list";
-@use "sass:map";
-@use "sass:math";
-
-// ----------------------------------------------------------------------------
-// Variables
-// ----------------------------------------------------------------------------
-
-///
-/// Device-specific breakpoints
-///
-/// @example
-/// $break-devices: (
-/// mobile: (
-/// portrait: 220px 479px,
-/// landscape: 480px 719px
-/// ),
-/// tablet: (
-/// portrait: 720px 959px,
-/// landscape: 960px 1219px
-/// ),
-/// screen: (
-/// small: 1220px 1599px,
-/// medium: 1600px 1999px,
-/// large: 2000px
-/// )
-/// );
-///
-$break-devices: () !default;
-
-// ----------------------------------------------------------------------------
-// Helpers
-// ----------------------------------------------------------------------------
-
-///
-/// Choose minimum and maximum device widths
-///
-@function break-select-min-max($devices) {
- $min: 1000000;
- $max: 0;
- @each $key, $value in $devices {
- @while type-of($value) == map {
- $value: break-select-min-max($value);
- }
- @if type-of($value) == list {
- @each $number in $value {
- @if type-of($number) == number {
- $min: math.min($number, $min);
- @if $max {
- $max: math.max($number, $max);
- }
- } @else {
- @error "Invalid number: #{$number}";
- }
- }
- } @else if type-of($value) == number {
- $min: math.min($value, $min);
- $max: null;
- } @else {
- @error "Invalid value: #{$value}";
- }
- }
- @return $min, $max;
-}
-
-///
-/// Select minimum and maximum widths for a device breakpoint
-///
-@function break-select-device($device) {
- $current: $break-devices;
- @for $n from 1 through length($device) {
- @if type-of($current) == map {
- $current: map.get($current, list.nth($device, $n));
- } @else {
- @error "Invalid device map: #{$devices}";
- }
- }
- @if type-of($current) == list or type-of($current) == number {
- $current: (default: $current);
- }
- @return break-select-min-max($current);
-}
-
-// ----------------------------------------------------------------------------
-// Mixins
-// ----------------------------------------------------------------------------
-
-///
-/// A minimum-maximum media query breakpoint
-///
-@mixin break-at($breakpoint) {
- @if type-of($breakpoint) == number {
- @media screen and (min-width: $breakpoint) {
- @content;
- }
- } @else if type-of($breakpoint) == list {
- $min: list.nth($breakpoint, 1);
- $max: list.nth($breakpoint, 2);
- @if type-of($min) == number and type-of($max) == number {
- @media screen and (min-width: $min) and (max-width: $max) {
- @content;
- }
- } @else {
- @error "Invalid breakpoint: #{$breakpoint}";
- }
- } @else {
- @error "Invalid breakpoint: #{$breakpoint}";
- }
-}
-
-///
-/// An orientation media query breakpoint
-///
-@mixin break-at-orientation($breakpoint) {
- @if type-of($breakpoint) == string {
- @media screen and (orientation: $breakpoint) {
- @content;
- }
- } @else {
- @error "Invalid breakpoint: #{$breakpoint}";
- }
-}
-
-///
-/// A maximum-aspect-ratio media query breakpoint
-///
-@mixin break-at-ratio($breakpoint) {
- @if type-of($breakpoint) == number {
- @media screen and (max-aspect-ratio: $breakpoint) {
- @content;
- }
- } @else {
- @error "Invalid breakpoint: #{$breakpoint}";
- }
-}
-
-///
-/// A minimum-maximum media query device breakpoint
-///
-@mixin break-at-device($device) {
- @if type-of($device) == string {
- $device: $device,;
- }
- @if type-of($device) == list {
- $breakpoint: break-select-device($device);
- @if list.nth($breakpoint, 2) {
- $min: list.nth($breakpoint, 1);
- $max: list.nth($breakpoint, 2);
-
- @media screen and (min-width: $min) and (max-width: $max) {
- @content;
- }
- } @else {
- @error "Invalid device: #{$device}";
- }
- } @else {
- @error "Invalid device: #{$device}";
- }
-}
-
-///
-/// A minimum media query device breakpoint
-///
-@mixin break-from-device($device) {
- @if type-of($device) == string {
- $device: $device,;
- }
- @if type-of($device) == list {
- $breakpoint: break-select-device($device);
- $min: list.nth($breakpoint, 1);
-
- @media screen and (min-width: $min) {
- @content;
- }
- } @else {
- @error "Invalid device: #{$device}";
- }
-}
-
-///
-/// A maximum media query device breakpoint
-///
-@mixin break-to-device($device) {
- @if type-of($device) == string {
- $device: $device,;
- }
- @if type-of($device) == list {
- $breakpoint: break-select-device($device);
- $max: list.nth($breakpoint, 2);
-
- @media screen and (max-width: $max) {
- @content;
- }
- } @else {
- @error "Invalid device: #{$device}";
- }
-}
diff --git a/docs/src/templates/assets/stylesheets/utilities/_convert.scss b/docs/src/templates/assets/stylesheets/utilities/_convert.scss
deleted file mode 100644
index 8199c9c8..00000000
--- a/docs/src/templates/assets/stylesheets/utilities/_convert.scss
+++ /dev/null
@@ -1,79 +0,0 @@
-////
-/// Copyright (c) 2016-2023 Martin Donath <martin.donath@squidfunk.com>
-///
-/// Permission is hereby granted, free of charge, to any person obtaining a
-/// copy of this software and associated documentation files (the "Software"),
-/// to deal in the Software without restriction, including without limitation
-/// the rights to use, copy, modify, merge, publish, distribute, sublicense,
-/// and/or sell copies of the Software, and to permit persons to whom the
-/// Software is furnished to do so, subject to the following conditions:
-///
-/// The above copyright notice and this permission notice shall be included in
-/// all copies or substantial portions of the Software.
-///
-/// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
-/// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
-/// FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT. IN NO EVENT SHALL
-/// THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
-/// LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
-/// FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
-/// DEALINGS
-////
-
-@use "sass:math";
-
-// ----------------------------------------------------------------------------
-// Helpers
-// ----------------------------------------------------------------------------
-
-///
-/// Strip units from a number
-///
-@function strip-units($number) {
- @return math.div($number, ($number * 0 + 1));
-}
-
-///
-/// Convert color in HEX to HSL
-///
-/// Note, that we need to strip the `deg` units from the `hue` value, as they
-/// were added in Color Level 4, which not all browsers support.
-///
-@function hex2hsl($color) {
- @return
- round(strip-units(hue($color))),
- round(saturation($color)),
- round(lightness($color));
-}
-
-// ----------------------------------------------------------------------------
-
-///
-/// Convert font size in px to em
-///
-@function px2em($size, $base: 16px) {
- @if unit($size) == px {
- @if unit($base) == px {
- @return math.div($size, $base) * 1em;
- } @else {
- @error "Invalid base: #{$base} - unit must be 'px'";
- }
- } @else {
- @error "Invalid size: #{$size} - unit must be 'px'";
- }
-}
-
-///
-/// Convert font size in px to rem
-///
-@function px2rem($size, $base: 20px) {
- @if unit($size) == px {
- @if unit($base) == px {
- @return math.div($size, $base) * 1rem;
- } @else {
- @error "Invalid base: #{$base} - unit must be 'px'";
- }
- } @else {
- @error "Invalid size: #{$size} - unit must be 'px'";
- }
-}