aboutsummaryrefslogtreecommitdiffstatshomepage
diff options
context:
space:
mode:
authorDeniz Akşimşek <deniz@denizaksimsek.com>2023-09-03 10:48:41 +0300
committerDeniz Akşimşek <deniz@denizaksimsek.com>2023-09-03 10:56:31 +0300
commita0956eb4b3270f175af6c1e921f03ba17ecf8226 (patch)
tree6c9c1c1b07789c22f21d43c6b09c546a7c1a608b
parentaff96c7b7b77eeb492895ed73abcf3dc22f6b5e7 (diff)
downloadmissing-a0956eb4b3270f175af6c1e921f03ba17ecf8226.tar.gz
missing-a0956eb4b3270f175af6c1e921f03ba17ecf8226.zip
simplify website
-rw-r--r--www/_config.ts10
-rw-r--r--www/demos/demos.md9
-rw-r--r--www/deno.lock17
-rw-r--r--www/docs/10-main.md2
-rw-r--r--www/js/pagefind.js92
-rw-r--r--www/netlify.redirects7
-rw-r--r--www/pages/index.md2
-rw-r--r--www/releases/0.0.1.md16
-rw-r--r--www/releases/0.0.2.md20
-rw-r--r--www/releases/0.0.3.md18
-rw-r--r--www/releases/0.0.4.md16
-rw-r--r--www/releases/0.0.5.md16
-rw-r--r--www/releases/0.1.0.md12
-rw-r--r--www/releases/0.2.0.md12
-rw-r--r--www/releases/0.2.1.md12
-rw-r--r--www/releases/0.3.0.md18
-rw-r--r--www/releases/0.3.1.md12
-rw-r--r--www/releases/1.0.0-prerelease.0.md18
-rw-r--r--www/releases/1.0.0-prerelease.1.md16
-rw-r--r--www/releases/1.0.0-prerelease.2.md16
-rw-r--r--www/releases/1.0.0.md16
-rw-r--r--www/releases/1.0.1.md17
-rw-r--r--www/releases/1.0.10.md18
-rw-r--r--www/releases/1.0.11.md18
-rw-r--r--www/releases/1.0.12.md5
-rw-r--r--www/releases/1.0.13.md5
-rw-r--r--www/releases/1.0.2.md17
-rw-r--r--www/releases/1.0.3.md17
-rw-r--r--www/releases/1.0.4.md17
-rw-r--r--www/releases/1.0.5.md17
-rw-r--r--www/releases/1.0.6.md17
-rw-r--r--www/releases/1.0.7.md17
-rw-r--r--www/releases/1.0.8.md17
-rw-r--r--www/releases/1.0.9.md17
-rw-r--r--www/releases/_artifacts/v0.0.1/missing-prism.css62
-rw-r--r--www/releases/_artifacts/v0.0.1/missing-prism.min.css1
-rw-r--r--www/releases/_artifacts/v0.0.1/missing-prism.min.css.brbin276 -> 0 bytes
-rw-r--r--www/releases/_artifacts/v0.0.1/missing-prism.min.css.gzbin299 -> 0 bytes
-rw-r--r--www/releases/_artifacts/v0.0.1/missing.css1488
-rw-r--r--www/releases/_artifacts/v0.0.1/missing.min.css15
-rw-r--r--www/releases/_artifacts/v0.0.1/missing.min.css.brbin4476 -> 0 bytes
-rw-r--r--www/releases/_artifacts/v0.0.1/missing.min.css.gzbin4818 -> 0 bytes
-rw-r--r--www/releases/_artifacts/v0.0.2/missing-prism.css62
-rw-r--r--www/releases/_artifacts/v0.0.2/missing-prism.min.css1
-rw-r--r--www/releases/_artifacts/v0.0.2/missing-prism.min.css.brbin276 -> 0 bytes
-rw-r--r--www/releases/_artifacts/v0.0.2/missing-prism.min.css.gzbin299 -> 0 bytes
-rw-r--r--www/releases/_artifacts/v0.0.2/missing.css1601
-rw-r--r--www/releases/_artifacts/v0.0.2/missing.min.css16
-rw-r--r--www/releases/_artifacts/v0.0.2/missing.min.css.brbin4804 -> 0 bytes
-rw-r--r--www/releases/_artifacts/v0.0.2/missing.min.css.gzbin5184 -> 0 bytes
-rw-r--r--www/releases/_artifacts/v0.0.3/missing-prism.css62
-rw-r--r--www/releases/_artifacts/v0.0.3/missing-prism.min.css1
-rw-r--r--www/releases/_artifacts/v0.0.3/missing-prism.min.css.brbin276 -> 0 bytes
-rw-r--r--www/releases/_artifacts/v0.0.3/missing-prism.min.css.gzbin299 -> 0 bytes
-rw-r--r--www/releases/_artifacts/v0.0.3/missing.css1601
-rw-r--r--www/releases/_artifacts/v0.0.3/missing.min.css16
-rw-r--r--www/releases/_artifacts/v0.0.3/missing.min.css.brbin4804 -> 0 bytes
-rw-r--r--www/releases/_artifacts/v0.0.3/missing.min.css.gzbin5184 -> 0 bytes
-rw-r--r--www/releases/_artifacts/v0.0.4/missing-prism.css62
-rw-r--r--www/releases/_artifacts/v0.0.4/missing-prism.min.css1
-rw-r--r--www/releases/_artifacts/v0.0.4/missing-prism.min.css.brbin276 -> 0 bytes
-rw-r--r--www/releases/_artifacts/v0.0.4/missing-prism.min.css.gzbin299 -> 0 bytes
-rw-r--r--www/releases/_artifacts/v0.0.4/missing.css1627
-rw-r--r--www/releases/_artifacts/v0.0.4/missing.min.css16
-rw-r--r--www/releases/_artifacts/v0.0.4/missing.min.css.brbin4853 -> 0 bytes
-rw-r--r--www/releases/_artifacts/v0.0.4/missing.min.css.gzbin5245 -> 0 bytes
-rw-r--r--www/releases/_artifacts/v0.0.5/missing-prism.css62
-rw-r--r--www/releases/_artifacts/v0.0.5/missing-prism.min.css1
-rw-r--r--www/releases/_artifacts/v0.0.5/missing-prism.min.css.brbin276 -> 0 bytes
-rw-r--r--www/releases/_artifacts/v0.0.5/missing-prism.min.css.gzbin299 -> 0 bytes
-rw-r--r--www/releases/_artifacts/v0.0.5/missing.css1627
-rw-r--r--www/releases/_artifacts/v0.0.5/missing.min.css16
-rw-r--r--www/releases/_artifacts/v0.0.5/missing.min.css.brbin4849 -> 0 bytes
-rw-r--r--www/releases/_artifacts/v0.0.5/missing.min.css.gzbin5240 -> 0 bytes
-rw-r--r--www/releases/_artifacts/v0.1.0/missing-prism.css62
-rw-r--r--www/releases/_artifacts/v0.1.0/missing-prism.min.css1
-rw-r--r--www/releases/_artifacts/v0.1.0/missing-prism.min.css.brbin276 -> 0 bytes
-rw-r--r--www/releases/_artifacts/v0.1.0/missing-prism.min.css.gzbin299 -> 0 bytes
-rw-r--r--www/releases/_artifacts/v0.1.0/missing.css1967
-rw-r--r--www/releases/_artifacts/v0.1.0/missing.min.css15
-rw-r--r--www/releases/_artifacts/v0.1.0/missing.min.css.brbin4849 -> 0 bytes
-rw-r--r--www/releases/_artifacts/v0.1.0/missing.min.css.gzbin5240 -> 0 bytes
-rw-r--r--www/releases/_artifacts/v0.2.0/missing-prism.css62
-rw-r--r--www/releases/_artifacts/v0.2.0/missing-prism.min.css1
-rw-r--r--www/releases/_artifacts/v0.2.0/missing-prism.min.css.brbin276 -> 0 bytes
-rw-r--r--www/releases/_artifacts/v0.2.0/missing-prism.min.css.gzbin299 -> 0 bytes
-rw-r--r--www/releases/_artifacts/v0.2.0/missing.css2020
-rw-r--r--www/releases/_artifacts/v0.2.0/missing.min.css15
-rw-r--r--www/releases/_artifacts/v0.2.0/missing.min.css.brbin4849 -> 0 bytes
-rw-r--r--www/releases/_artifacts/v0.2.0/missing.min.css.gzbin5240 -> 0 bytes
-rw-r--r--www/releases/_artifacts/v0.2.1/missing-prism.css62
-rw-r--r--www/releases/_artifacts/v0.2.1/missing-prism.min.css1
-rw-r--r--www/releases/_artifacts/v0.2.1/missing-prism.min.css.brbin276 -> 0 bytes
-rw-r--r--www/releases/_artifacts/v0.2.1/missing-prism.min.css.gzbin299 -> 0 bytes
-rw-r--r--www/releases/_artifacts/v0.2.1/missing.css2019
-rw-r--r--www/releases/_artifacts/v0.2.1/missing.min.css15
-rw-r--r--www/releases/_artifacts/v0.2.1/missing.min.css.brbin4849 -> 0 bytes
-rw-r--r--www/releases/_artifacts/v0.2.1/missing.min.css.gzbin5240 -> 0 bytes
-rw-r--r--www/releases/_artifacts/v0.3.0/missing-prism.css62
-rw-r--r--www/releases/_artifacts/v0.3.0/missing-prism.min.css1
-rw-r--r--www/releases/_artifacts/v0.3.0/missing-prism.min.css.brbin276 -> 0 bytes
-rw-r--r--www/releases/_artifacts/v0.3.0/missing-prism.min.css.gzbin299 -> 0 bytes
-rw-r--r--www/releases/_artifacts/v0.3.0/missing.css1865
-rw-r--r--www/releases/_artifacts/v0.3.0/missing.min.css16
-rw-r--r--www/releases/_artifacts/v0.3.0/missing.min.css.brbin4849 -> 0 bytes
-rw-r--r--www/releases/_artifacts/v0.3.0/missing.min.css.gzbin5240 -> 0 bytes
-rw-r--r--www/releases/_artifacts/v0.3.1/missing-prism.css62
-rw-r--r--www/releases/_artifacts/v0.3.1/missing-prism.min.css1
-rw-r--r--www/releases/_artifacts/v0.3.1/missing-prism.min.css.brbin276 -> 0 bytes
-rw-r--r--www/releases/_artifacts/v0.3.1/missing-prism.min.css.gzbin299 -> 0 bytes
-rw-r--r--www/releases/_artifacts/v0.3.1/missing.css1827
-rw-r--r--www/releases/_artifacts/v0.3.1/missing.min.css16
-rw-r--r--www/releases/_artifacts/v0.3.1/missing.min.css.brbin4849 -> 0 bytes
-rw-r--r--www/releases/_artifacts/v0.3.1/missing.min.css.gzbin5240 -> 0 bytes
-rw-r--r--www/releases/_artifacts/v1.0.0-prerelease.0/missing-prism.css62
-rw-r--r--www/releases/_artifacts/v1.0.0-prerelease.0/missing-prism.min.css1
-rw-r--r--www/releases/_artifacts/v1.0.0-prerelease.0/missing-prism.min.css.brbin276 -> 0 bytes
-rw-r--r--www/releases/_artifacts/v1.0.0-prerelease.0/missing-prism.min.css.gzbin299 -> 0 bytes
-rw-r--r--www/releases/_artifacts/v1.0.0-prerelease.0/missing.css2222
-rw-r--r--www/releases/_artifacts/v1.0.0-prerelease.0/missing.min.css14
-rw-r--r--www/releases/_artifacts/v1.0.0-prerelease.0/missing.min.css.brbin4849 -> 0 bytes
-rw-r--r--www/releases/_artifacts/v1.0.0-prerelease.0/missing.min.css.gzbin5240 -> 0 bytes
-rw-r--r--www/releases/_artifacts/v1.0.0-prerelease.1/missing-prism.css62
-rw-r--r--www/releases/_artifacts/v1.0.0-prerelease.1/missing-prism.min.css1
-rw-r--r--www/releases/_artifacts/v1.0.0-prerelease.1/missing-prism.min.css.brbin276 -> 0 bytes
-rw-r--r--www/releases/_artifacts/v1.0.0-prerelease.1/missing-prism.min.css.gzbin299 -> 0 bytes
-rw-r--r--www/releases/_artifacts/v1.0.0-prerelease.1/missing.css2222
-rw-r--r--www/releases/_artifacts/v1.0.0-prerelease.1/missing.min.css14
-rw-r--r--www/releases/_artifacts/v1.0.0-prerelease.1/missing.min.css.brbin4849 -> 0 bytes
-rw-r--r--www/releases/_artifacts/v1.0.0-prerelease.1/missing.min.css.gzbin5240 -> 0 bytes
-rw-r--r--www/releases/_artifacts/v1.0.0-prerelease.2/missing-js/19.js1
-rw-r--r--www/releases/_artifacts/v1.0.0-prerelease.2/missing-js/menu.js1
-rw-r--r--www/releases/_artifacts/v1.0.0-prerelease.2/missing-js/overflow-nav.js1
-rw-r--r--www/releases/_artifacts/v1.0.0-prerelease.2/missing-js/tabs.js1
-rw-r--r--www/releases/_artifacts/v1.0.0-prerelease.2/missing-prism.css62
-rw-r--r--www/releases/_artifacts/v1.0.0-prerelease.2/missing-prism.min.css1
-rw-r--r--www/releases/_artifacts/v1.0.0-prerelease.2/missing.css2222
-rw-r--r--www/releases/_artifacts/v1.0.0-prerelease.2/missing.min.css14
-rw-r--r--www/releases/_artifacts/v1.0.0/missing-js/19.js1
-rw-r--r--www/releases/_artifacts/v1.0.0/missing-js/menu.js1
-rw-r--r--www/releases/_artifacts/v1.0.0/missing-js/overflow-nav.js1
-rw-r--r--www/releases/_artifacts/v1.0.0/missing-js/tabs.js1
-rw-r--r--www/releases/_artifacts/v1.0.0/missing-prism.css62
-rw-r--r--www/releases/_artifacts/v1.0.0/missing-prism.min.css1
-rw-r--r--www/releases/_artifacts/v1.0.0/missing.css2221
-rw-r--r--www/releases/_artifacts/v1.0.0/missing.min.css14
-rw-r--r--www/releases/_artifacts/v1.0.1/missing-js/19.js1
-rw-r--r--www/releases/_artifacts/v1.0.1/missing-js/menu.js1
-rw-r--r--www/releases/_artifacts/v1.0.1/missing-js/overflow-nav.js1
-rw-r--r--www/releases/_artifacts/v1.0.1/missing-js/tabs.js1
-rw-r--r--www/releases/_artifacts/v1.0.1/missing-prism.css62
-rw-r--r--www/releases/_artifacts/v1.0.1/missing-prism.min.css1
-rw-r--r--www/releases/_artifacts/v1.0.1/missing.css2339
-rw-r--r--www/releases/_artifacts/v1.0.1/missing.min.css126
-rw-r--r--www/releases/_artifacts/v1.0.10/missing-js/19.js3
-rw-r--r--www/releases/_artifacts/v1.0.10/missing-js/menu.js3
-rw-r--r--www/releases/_artifacts/v1.0.10/missing-js/overflow-nav.js3
-rw-r--r--www/releases/_artifacts/v1.0.10/missing-js/tabs.js3
-rw-r--r--www/releases/_artifacts/v1.0.10/missing-prism.css62
-rw-r--r--www/releases/_artifacts/v1.0.10/missing-prism.min.css1
-rw-r--r--www/releases/_artifacts/v1.0.10/missing.css2452
-rw-r--r--www/releases/_artifacts/v1.0.10/missing.min.css127
-rw-r--r--www/releases/_artifacts/v1.0.2/missing-js/19.js3
-rw-r--r--www/releases/_artifacts/v1.0.2/missing-js/19.js.map1
-rw-r--r--www/releases/_artifacts/v1.0.2/missing-js/menu.js3
-rw-r--r--www/releases/_artifacts/v1.0.2/missing-js/menu.js.map1
-rw-r--r--www/releases/_artifacts/v1.0.2/missing-js/overflow-nav.js3
-rw-r--r--www/releases/_artifacts/v1.0.2/missing-js/overflow-nav.js.map1
-rw-r--r--www/releases/_artifacts/v1.0.2/missing-js/tabs.js3
-rw-r--r--www/releases/_artifacts/v1.0.2/missing-js/tabs.js.map1
-rw-r--r--www/releases/_artifacts/v1.0.2/missing-prism.css62
-rw-r--r--www/releases/_artifacts/v1.0.2/missing-prism.min.css1
-rw-r--r--www/releases/_artifacts/v1.0.2/missing.css2366
-rw-r--r--www/releases/_artifacts/v1.0.2/missing.min.css126
-rw-r--r--www/releases/_artifacts/v1.0.3/missing-js/19.js3
-rw-r--r--www/releases/_artifacts/v1.0.3/missing-js/19.js.map1
-rw-r--r--www/releases/_artifacts/v1.0.3/missing-js/menu.js3
-rw-r--r--www/releases/_artifacts/v1.0.3/missing-js/menu.js.map1
-rw-r--r--www/releases/_artifacts/v1.0.3/missing-js/overflow-nav.js3
-rw-r--r--www/releases/_artifacts/v1.0.3/missing-js/overflow-nav.js.map1
-rw-r--r--www/releases/_artifacts/v1.0.3/missing-js/tabs.js3
-rw-r--r--www/releases/_artifacts/v1.0.3/missing-js/tabs.js.map1
-rw-r--r--www/releases/_artifacts/v1.0.3/missing-prism.css62
-rw-r--r--www/releases/_artifacts/v1.0.3/missing-prism.min.css1
-rw-r--r--www/releases/_artifacts/v1.0.3/missing.css2367
-rw-r--r--www/releases/_artifacts/v1.0.3/missing.min.css126
-rw-r--r--www/releases/_artifacts/v1.0.4/missing-js/19.js3
-rw-r--r--www/releases/_artifacts/v1.0.4/missing-js/19.js.map1
-rw-r--r--www/releases/_artifacts/v1.0.4/missing-js/menu.js3
-rw-r--r--www/releases/_artifacts/v1.0.4/missing-js/menu.js.map1
-rw-r--r--www/releases/_artifacts/v1.0.4/missing-js/overflow-nav.js3
-rw-r--r--www/releases/_artifacts/v1.0.4/missing-js/overflow-nav.js.map1
-rw-r--r--www/releases/_artifacts/v1.0.4/missing-js/tabs.js3
-rw-r--r--www/releases/_artifacts/v1.0.4/missing-js/tabs.js.map1
-rw-r--r--www/releases/_artifacts/v1.0.4/missing-prism.css62
-rw-r--r--www/releases/_artifacts/v1.0.4/missing-prism.min.css1
-rw-r--r--www/releases/_artifacts/v1.0.4/missing.css2390
-rw-r--r--www/releases/_artifacts/v1.0.4/missing.min.css126
-rw-r--r--www/releases/_artifacts/v1.0.5/missing-js/19.js3
-rw-r--r--www/releases/_artifacts/v1.0.5/missing-js/19.js.map1
-rw-r--r--www/releases/_artifacts/v1.0.5/missing-js/menu.js3
-rw-r--r--www/releases/_artifacts/v1.0.5/missing-js/menu.js.map1
-rw-r--r--www/releases/_artifacts/v1.0.5/missing-js/overflow-nav.js3
-rw-r--r--www/releases/_artifacts/v1.0.5/missing-js/overflow-nav.js.map1
-rw-r--r--www/releases/_artifacts/v1.0.5/missing-js/tabs.js3
-rw-r--r--www/releases/_artifacts/v1.0.5/missing-js/tabs.js.map1
-rw-r--r--www/releases/_artifacts/v1.0.5/missing-prism.css62
-rw-r--r--www/releases/_artifacts/v1.0.5/missing-prism.min.css1
-rw-r--r--www/releases/_artifacts/v1.0.5/missing.css2382
-rw-r--r--www/releases/_artifacts/v1.0.5/missing.min.css126
-rw-r--r--www/releases/_artifacts/v1.0.6/missing-js/19.js3
-rw-r--r--www/releases/_artifacts/v1.0.6/missing-js/menu.js3
-rw-r--r--www/releases/_artifacts/v1.0.6/missing-js/overflow-nav.js3
-rw-r--r--www/releases/_artifacts/v1.0.6/missing-js/tabs.js3
-rw-r--r--www/releases/_artifacts/v1.0.6/missing-prism.css62
-rw-r--r--www/releases/_artifacts/v1.0.6/missing-prism.min.css1
-rw-r--r--www/releases/_artifacts/v1.0.6/missing.css2417
-rw-r--r--www/releases/_artifacts/v1.0.6/missing.min.css126
-rw-r--r--www/releases/_artifacts/v1.0.8/missing-js/19.js3
-rw-r--r--www/releases/_artifacts/v1.0.8/missing-js/menu.js3
-rw-r--r--www/releases/_artifacts/v1.0.8/missing-js/overflow-nav.js3
-rw-r--r--www/releases/_artifacts/v1.0.8/missing-js/tabs.js3
-rw-r--r--www/releases/_artifacts/v1.0.8/missing-prism.css62
-rw-r--r--www/releases/_artifacts/v1.0.8/missing-prism.min.css1
-rw-r--r--www/releases/_artifacts/v1.0.8/missing.css2421
-rw-r--r--www/releases/_artifacts/v1.0.8/missing.min.css126
-rw-r--r--www/releases/_artifacts/v1.0.9/missing-js/19.js3
-rw-r--r--www/releases/_artifacts/v1.0.9/missing-js/menu.js3
-rw-r--r--www/releases/_artifacts/v1.0.9/missing-js/overflow-nav.js3
-rw-r--r--www/releases/_artifacts/v1.0.9/missing-js/tabs.js3
-rw-r--r--www/releases/_artifacts/v1.0.9/missing-prism.css62
-rw-r--r--www/releases/_artifacts/v1.0.9/missing-prism.min.css1
-rw-r--r--www/releases/_artifacts/v1.0.9/missing.css2435
-rw-r--r--www/releases/_artifacts/v1.0.9/missing.min.css126
-rw-r--r--www/releases/_data.js3
-rw-r--r--www/releases/index.md8
236 files changed, 45 insertions, 51540 deletions
diff --git a/www/_config.ts b/www/_config.ts
index bee92e7..19a706a 100644
--- a/www/_config.ts
+++ b/www/_config.ts
@@ -4,7 +4,6 @@ import lume from "lume/mod.ts";
import date from "lume/plugins/date.ts";
import basePath from "lume/plugins/base_path.ts";
import resolveUrls from "lume/plugins/resolve_urls.ts";
-import eta from "lume/plugins/eta.ts";
import vento from "lume/plugins/vento.ts";
// import pagefind from "lume/plugins/pagefind.ts";
@@ -13,6 +12,8 @@ import highlighting from "./_build/highlighting.ts";
import myFilters from "./_build/filters.ts";
import indexDefinitions from "./_build/index-definitions.ts";
+import { Page } from "lume/core.ts";
+
export default lume(
{
location: new URL("https://missing.style/"),
@@ -26,11 +27,16 @@ export default lume(
.data("layout", "docs.vto", "/docs")
.data("layout", "prose.vto", "/pages")
.data("layout", "release.vto", "/releases")
+ .data("url", (p: Page) => p.src.path + "/", "/releases")
+ .preprocess([".md"], (p: Page) => {
+ if (p.src.path.match(/^\/releases\/\d/)) {
+ p.data.release = p.src.path.split("/").at(-1);
+ }
+ })
.use(date())
.use(highlighting())
.use(basePath())
.use(resolveUrls())
- .use(eta({ extensions: [".eta", ".html"] }))
.use(vento())
/* .use(pagefind({
ui: false,
diff --git a/www/demos/demos.md b/www/demos/demos.md
index 78e6e22..07b0b89 100644
--- a/www/demos/demos.md
+++ b/www/demos/demos.md
@@ -1,6 +1,6 @@
---
layout: prose.vto
-templateEngine: eta,md
+templateEngine: vto,md
url: /demos/
backTo: / Missing.css
---
@@ -9,10 +9,9 @@ backTo: / Missing.css
# Demos
-<% for (const demo of search.pages("demo")) { _%>
-<% if (demo === page) continue; %>
- - [<%= demo.data.name %>](<%= demo.data.url %>)
-<% } %>
+{{ for demo of search.pages("demo") |> filter((demo) => demo !== page) }}
+ - [{{ demo.data.name }}]({{ demo.data.url }})
+{{ /for }}
{.list-of-links .flow-gap}
</main>
diff --git a/www/deno.lock b/www/deno.lock
index 6589c91..8981600 100644
--- a/www/deno.lock
+++ b/www/deno.lock
@@ -737,7 +737,22 @@
"https://deno.land/x/vento@v0.7.2/plugins/set.ts": "e8b4b17ff2205d6c232b5d0ca819f56d9c4842118bd520846533c96fd987816d",
"https://deno.land/x/vento@v0.7.2/src/environment.ts": "81c4ffcd1121cefc6111c100d669b3c4a564452a469cd9550287c62afb6dfb80",
"https://deno.land/x/vento@v0.7.2/src/loader.ts": "eb01b0dca7ea8bcdcdfd30b1f90f2fad28fb7f2cfd943900322a85bfaa86130c",
- "https://deno.land/x/vento@v0.7.2/src/tokenizer.ts": "08f6601103094dfb38a9ce1c4b6234c67b96d4af7a5de62d58060798fd7fbdc3"
+ "https://deno.land/x/vento@v0.7.2/src/tokenizer.ts": "08f6601103094dfb38a9ce1c4b6234c67b96d4af7a5de62d58060798fd7fbdc3",
+ "https://deno.land/x/vento@v0.7.3/deps.ts": "c4bd9903c671fcc5979c62b37021ac11cf258cb2b47c4a2deb776d216bfaa127",
+ "https://deno.land/x/vento@v0.7.3/mod.ts": "c8a74f7f9ba02e57d453bb2efd1a756065f54d96f5d016a9eb48325ca475548d",
+ "https://deno.land/x/vento@v0.7.3/plugins/escape.ts": "02fa73683472bc05e7f6b33dee25e47c30097fcf3fab82fc02720a74b1b1ee17",
+ "https://deno.land/x/vento@v0.7.3/plugins/export.ts": "1eb81c5ff1b3b8bfa4210fe87e04d71d541bdaa0afbf08bb7c1ff34cc08a5f36",
+ "https://deno.land/x/vento@v0.7.3/plugins/for.ts": "6313e139a23ed17ca8b0852031f8d9e11aeb7520b228e68b9233418d25745414",
+ "https://deno.land/x/vento@v0.7.3/plugins/function.ts": "cdf610a98493e4a093c53473abdad7d47cbcff40aa8362d280e39910620cb8d6",
+ "https://deno.land/x/vento@v0.7.3/plugins/if.ts": "9de295f8675cacaec7866ad21068b6b089bfcadf72d3c62e1df50ca378c04279",
+ "https://deno.land/x/vento@v0.7.3/plugins/import.ts": "09fadcdbc0940bbbe5c1ee7fabe590ee99ed1773d77ffdf6c2cababa4f482e61",
+ "https://deno.land/x/vento@v0.7.3/plugins/include.ts": "fb3422238e88bf56c1bb91b83d771b604bd6aa73abe8786dc67f8070e2725fe7",
+ "https://deno.land/x/vento@v0.7.3/plugins/js.ts": "2c50d60061e9c5b6280a145266e617181534b8767e91127d59d5cf5febdcfb03",
+ "https://deno.land/x/vento@v0.7.3/plugins/layout.ts": "ee32ad7af9a55827de0bb2a8fbd9e3b6462d59edec11efa09e4e4b3abef6f097",
+ "https://deno.land/x/vento@v0.7.3/plugins/set.ts": "e8b4b17ff2205d6c232b5d0ca819f56d9c4842118bd520846533c96fd987816d",
+ "https://deno.land/x/vento@v0.7.3/src/environment.ts": "2c27ac023a2569e1bbd5fbf100b96c78a72c7c99bdfef97b04f9fe077d41c968",
+ "https://deno.land/x/vento@v0.7.3/src/loader.ts": "eb01b0dca7ea8bcdcdfd30b1f90f2fad28fb7f2cfd943900322a85bfaa86130c",
+ "https://deno.land/x/vento@v0.7.3/src/tokenizer.ts": "08f6601103094dfb38a9ce1c4b6234c67b96d4af7a5de62d58060798fd7fbdc3"
},
"npm": {
"specifiers": {
diff --git a/www/docs/10-main.md b/www/docs/10-main.md
index a29cccc..5f6807f 100644
--- a/www/docs/10-main.md
+++ b/www/docs/10-main.md
@@ -16,7 +16,7 @@ Missing.css is a simple CSS library that can be used in many ways — you could:
Install it on your website if you haven't already:
-{{ set version = search.pages("release")
+{{ set version = search.pages("release!=undefined")
|> map(rel => rel.data.release)
|> sortSemVer
|> at(-1) }}
diff --git a/www/js/pagefind.js b/www/js/pagefind.js
deleted file mode 100644
index e3a9346..0000000
--- a/www/js/pagefind.js
+++ /dev/null
@@ -1,92 +0,0 @@
-
-/// <reference lib="es2022" />
-
-import { $, attr, next, prev, debounce, behavior, html, on, repeater, makelogger, hotkey, halts } from "/missing-js/19.js";
-import * as pagefind from "/_pagefind/pagefind.js";
-
-// TODO: add listbox styling to missing.css
-
-const
-ilog = makelogger("searchbox"),
-loadResults = results => Promise.all(results.map(async r => ({ ...r, data: await r.data() }))),
-fixPagefindExcerpt = exc => exc.replace(/<(?!\/?mark)/g, "&lt;")
-
-const // HTML components
-createResultItem = (result, { id }) => html`
- <li id="${id}" role="option" onclick="this.querySelector('a').click()" style="border-radius: var(--border-radius);">
- <strong><a href="${result.data.url}" tabindex="-1">${result.data.meta.title}</a></strong>
- <code style="font-size: .8em;">${result.data.url}</code>
- <p style="font-size: .8em;">${html(fixPagefindExcerpt(result.data.excerpt))}</p>
- </li>`,
-updateResultItem = (item, result) => {
- $(item, "a").textContent = result.data.meta.title;
- $(item, "code").textContent = result.data.url;
- $(item, "p").innerHTML = fixPagefindExcerpt(result.data.excerpt);
- return item;
-},
-searchDialog = () => {
- const markup = (html`
- <dialog class="margin f-col" style="max-width: 100%; width: 30em; max-height: 100%; height: 40em">
- <label for="search-input" class="titlebar" style="margin-inline: calc(-1*var(--gap))">
- Search
- </label>
- <p><input autofocus id="search-input" class="block width:100%"></p>
- <div role="listbox" aria-label="results" class="flow-gap padding-inline" style="overflow-y: auto; margin-inline: calc(-1*var(--gap))"></div>
- </dialog>
- `);
-
- const dialog = $(markup, "dialog"), input = $(dialog, "input"), results = $(dialog, "[role=listbox]");
-
- const
- showSearchResults = repeater(results, {
- idOf(result) { return result.id },
- create: createResultItem,
- update: updateResultItem,
- }),
- selectedItem = () => $(results, "#" + attr(results, "aria-activedescendant")),
- selectItem = (item) => {
- selectedItem()?.classList.remove("active");
- if (!item) {
- results.removeAttribute("aria-activedescendant");
- return;
- }
- item.classList.add("active");
- attr(results, "aria-activedescendant", item.id);
- item.scrollIntoView({ block: "nearest" })
- }
-
- on(input, "input", _ => pagefind.preload(input.value));
- on(input, "input", async _ => {
- const search = await pagefind.search(ilog(input.value));
- showSearchResults(await loadResults(search.results.slice(0, 5)));
- })
-
- on(input, "keydown", hotkey({
- "ArrowDown": halts("default", _ => {
- const item = next(results, "[role=option]", selectedItem());
- if (item) selectItem(item);
- }),
- "ArrowUp": halts("default", _ => {
- const item = prev(results, "[role=option]", selectedItem(), { wrap: false });
- if (item) selectItem(item);
- else selectItem(null);
- }),
- "Enter": halts("default", _ => selectedItem()?.click()),
- "ArrowLeft": _ => selectItem(null),
- "ArrowRight": _ => selectItem(null),
- "Home": _ => selectItem(null),
- "End": _ => selectItem(null),
- }))
-
- document.body.append(dialog);
-
- return dialog;
-};
-
-const searchbox = behavior("[data-pagefind-search]", (search) => {
- const dialog = searchDialog()
- on(search, "click", _ => dialog.showModal())
-});
-
-export default searchbox;
-searchbox();
diff --git a/www/netlify.redirects b/www/netlify.redirects
index 5cbd70c..0f564a5 100644
--- a/www/netlify.redirects
+++ b/www/netlify.redirects
@@ -1,3 +1,4 @@
-https://the.missing.style/ https://missing.style/missing.css 200!
-https://the.missing.style/prism https://missing.style/missing-prism.css 200!
-https://the.missing.style/:version/* https://missing.style/archive/:version/:splat 200! \ No newline at end of file
+https://the.missing.style/ https://unpkg.com/missing.css 200!
+https://the.missing.style/prism https://unpkg.com/missing.css/prism 200!
+https://the.missing.style/:version https://unpkg.com/missing.css@:version 200!
+https://the.missing.style/:version/* https://unpkg.com/missing.css@:version/:splat 200!
diff --git a/www/pages/index.md b/www/pages/index.md
index c5c2a32..111abe9 100644
--- a/www/pages/index.md
+++ b/www/pages/index.md
@@ -24,7 +24,7 @@ templateEngine: [vento, md]
<main>
-{{ set version = search.pages("release")
+{{ set version = search.pages("release!=undefined")
|> map(rel => rel.data.release)
|> sortSemVer
|> at(-1) }}
diff --git a/www/releases/0.0.1.md b/www/releases/0.0.1.md
index 0edc523..a61e64f 100644
--- a/www/releases/0.0.1.md
+++ b/www/releases/0.0.1.md
@@ -1,19 +1,3 @@
----
-release: 0.0.1
-artifacts:
- Missing.css:
- Plain: missing.css
- Minified: missing.min.css
- Min. + Gzipped: missing.min.css.gz
- Min. + Brotlied: missing.min.css.br
- Missing Prism:
- Plain: missing-prism.css
- Minified: missing-prism.min.css
- Min. + Gzipped: missing-prism.min.css.gz
- Min. + Brotlied: missing-prism.min.css.br
----
-
-## Changelog
This is the first ever release of missing.css.
[What is missing.css?](/)
diff --git a/www/releases/0.0.2.md b/www/releases/0.0.2.md
index ac67727..1fa0145 100644
--- a/www/releases/0.0.2.md
+++ b/www/releases/0.0.2.md
@@ -1,21 +1,5 @@
----
-release: 0.0.2
-artifacts:
- Missing.css:
- Plain: missing.css
- Minified: missing.min.css
- Min. + Gzipped: missing.min.css.gz
- Min. + Brotlied: missing.min.css.br
- Missing Prism:
- Plain: missing-prism.css
- Minified: missing-prism.min.css
- Min. + Gzipped: missing-prism.min.css.gz
- Min. + Brotlied: missing-prism.min.css.br
----
-## Changelog
-
-### Features
+## Features
- **Breaking:**{.color .bad} `.basicgrid` will now use CSS Grid instead of
Flexbox. The `.col-*` classes have been changed accordingly.
@@ -30,7 +14,7 @@ artifacts:
in a specific axis.
- `.scroll` and `.scroll!`
-### Fixes
+## Fixes
- Indicate the current page (`aria-current="page"`) in `.navbar`.
- Hidden link underlines will now come back when the link is hovered or
diff --git a/www/releases/0.0.3.md b/www/releases/0.0.3.md
index daad774..7a7ee84 100644
--- a/www/releases/0.0.3.md
+++ b/www/releases/0.0.3.md
@@ -1,20 +1,2 @@
----
-release: 0.0.3
-artifacts:
- Missing.css:
- Plain: missing.css
- Minified: missing.min.css
- Min. + Gzipped: missing.min.css.gz
- Min. + Brotlied: missing.min.css.br
- Missing Prism:
- Plain: missing-prism.css
- Minified: missing-prism.min.css
- Min. + Gzipped: missing-prism.min.css.gz
- Min. + Brotlied: missing-prism.min.css.br
----
-
-## Changelog
-
-### Fixes
- Fixed page footers missing padding on small screens. \ No newline at end of file
diff --git a/www/releases/0.0.4.md b/www/releases/0.0.4.md
index ca28e33..934a306 100644
--- a/www/releases/0.0.4.md
+++ b/www/releases/0.0.4.md
@@ -1,19 +1,3 @@
----
-release: 0.0.4
-artifacts:
- Missing.css:
- Plain: missing.css
- Minified: missing.min.css
- Min. + Gzipped: missing.min.css.gz
- Min. + Brotlied: missing.min.css.br
- Missing Prism:
- Plain: missing-prism.css
- Minified: missing-prism.min.css
- Min. + Gzipped: missing-prism.min.css.gz
- Min. + Brotlied: missing-prism.min.css.br
----
-
-## Changelog
- **Breaking**{.color .bg .bad}:
`--display-font` renamed to `--secondary-font`.
diff --git a/www/releases/0.0.5.md b/www/releases/0.0.5.md
index 68291df..18f1a4f 100644
--- a/www/releases/0.0.5.md
+++ b/www/releases/0.0.5.md
@@ -1,18 +1,2 @@
----
-release: 0.0.5
-artifacts:
- Missing.css:
- Plain: missing.css
- Minified: missing.min.css
- Min. + Gzipped: missing.min.css.gz
- Min. + Brotlied: missing.min.css.br
- Missing Prism:
- Plain: missing-prism.css
- Minified: missing-prism.min.css
- Min. + Gzipped: missing-prism.min.css.gz
- Min. + Brotlied: missing-prism.min.css.br
----
-
-## Changelog
- Fixed heading font. \ No newline at end of file
diff --git a/www/releases/0.1.0.md b/www/releases/0.1.0.md
index f9ee26e..e006250 100644
--- a/www/releases/0.1.0.md
+++ b/www/releases/0.1.0.md
@@ -1,15 +1,3 @@
----
-release: 0.1.0
-artifacts:
- Missing.css:
- Plain: missing.css
- Minified: missing.min.css
- Missing Prism:
- Plain: missing-prism.css
- Minified: missing-prism.min.css
----
-
-## Changelog
- **Breaking:**{.color .bg .bad} Significant redesign. Inspect your website visually before upgrading.
- **Breaking:**{.color .bg .bad} Renamed classes and variables:
diff --git a/www/releases/0.2.0.md b/www/releases/0.2.0.md
index d76d08f..dc7ab7a 100644
--- a/www/releases/0.2.0.md
+++ b/www/releases/0.2.0.md
@@ -1,14 +1,2 @@
----
-release: 0.2.0
-artifacts:
- Missing.css:
- Plain: missing.css
- Minified: missing.min.css
- Missing Prism:
- Plain: missing-prism.css
- Minified: missing-prism.min.css
----
-
-## Changelog
- Added menu component. \ No newline at end of file
diff --git a/www/releases/0.2.1.md b/www/releases/0.2.1.md
index b0d0b92..441b6a5 100644
--- a/www/releases/0.2.1.md
+++ b/www/releases/0.2.1.md
@@ -1,15 +1,3 @@
----
-release: 0.2.1
-artifacts:
- Missing.css:
- Plain: missing.css
- Minified: missing.min.css
- Missing Prism:
- Plain: missing-prism.css
- Minified: missing-prism.min.css
----
-
-## Changelog
- Fixed a bug that sometimes caused a horizontal scrollbar to appear in
Chromium browsers. \ No newline at end of file
diff --git a/www/releases/0.3.0.md b/www/releases/0.3.0.md
index 3b4ba2e..7ca9199 100644
--- a/www/releases/0.3.0.md
+++ b/www/releases/0.3.0.md
@@ -1,28 +1,16 @@
----
-release: 0.3.0
-artifacts:
- Missing.css:
- Plain: missing.css
- Minified: missing.min.css
- Missing Prism:
- Plain: missing-prism.css
- Minified: missing-prism.min.css
----
-## Changelog
-
-### Added
+## Added
- `.flow-gap` adds margins (in the block direction) between its children.
-### Changed
+## Changed
- **Breaking:**{.bad .bg .color} Changes to how we set margins internally may
affect your website. Inspect your website visually before upgrading.
- `.f-switch` was changed to use the `--f-switch-threshold` variable instead
of `--col-width`. The default threshold was increased.
-### Other
+## Other
- Many pages of the website were updated in line with changes to the library.
- The ARIA docs now have examples with proper JS.
diff --git a/www/releases/0.3.1.md b/www/releases/0.3.1.md
index 47fc2ae..9c1078c 100644
--- a/www/releases/0.3.1.md
+++ b/www/releases/0.3.1.md
@@ -1,14 +1,2 @@
----
-release: 0.3.1
-artifacts:
- Missing.css:
- Plain: missing.css
- Minified: missing.min.css
- Missing Prism:
- Plain: missing-prism.css
- Minified: missing-prism.min.css
----
-
-## Changelog
- Fixed a bug causing `<hr>` elements in navbars to appear wide.
diff --git a/www/releases/1.0.0-prerelease.0.md b/www/releases/1.0.0-prerelease.0.md
index 86dfa1e..cd07e59 100644
--- a/www/releases/1.0.0-prerelease.0.md
+++ b/www/releases/1.0.0-prerelease.0.md
@@ -1,19 +1,3 @@
----
-release: 1.0.0-prerelease.0
-artifacts:
- Missing.css:
- Plain: missing.css
- Minified: missing.min.css
- Missing Prism:
- Plain: missing-prism.css
- Minified: missing-prism.min.css
- Missing.js:
- Tabs: missing-js/tabs.js
- Menu: missing-js/menu.js
- Navbar: missing-js/overflow-nav.js
----
-
-## Changelog
- Added **missing.js**, a small collection of JS libraries implementing common UI patterns.
Currently contains tabset, menu, and collapsible navbar components.
@@ -25,7 +9,7 @@ artifacts:
{.flow-gap}
-### For developers
+## For developers
- The source code of missing.css was completely reorganized! The source files
now line up with the pages of the documentation to make it easier to find
code.
diff --git a/www/releases/1.0.0-prerelease.1.md b/www/releases/1.0.0-prerelease.1.md
index a872674..28b60f0 100644
--- a/www/releases/1.0.0-prerelease.1.md
+++ b/www/releases/1.0.0-prerelease.1.md
@@ -1,19 +1,3 @@
----
-release: 1.0.0-prerelease.1
-artifacts:
- Missing.css:
- Plain: missing.css
- Minified: missing.min.css
- Missing Prism:
- Plain: missing-prism.css
- Minified: missing-prism.min.css
- Missing.js:
- Tabs: missing-js/tabs.js
- Menu: missing-js/menu.js
- Navbar: missing-js/overflow-nav.js
----
-
-## Changelog
- Made `.fullbleed` work in sidebar layouts.
diff --git a/www/releases/1.0.0-prerelease.2.md b/www/releases/1.0.0-prerelease.2.md
index 22d62bc..2986d26 100644
--- a/www/releases/1.0.0-prerelease.2.md
+++ b/www/releases/1.0.0-prerelease.2.md
@@ -1,19 +1,3 @@
----
-release: 1.0.0-prerelease.2
-artifacts:
- Missing.css:
- Plain: missing.css
- Minified: missing.min.css
- Missing Prism:
- Plain: missing-prism.css
- Minified: missing-prism.min.css
- Missing.js:
- Tabs: missing-js/tabs.js
- Menu: missing-js/menu.js
- Navbar: missing-js/overflow-nav.js
----
-
-## Changelog
## Changes in previous pre-release
diff --git a/www/releases/1.0.0.md b/www/releases/1.0.0.md
index 9df82a2..37e659e 100644
--- a/www/releases/1.0.0.md
+++ b/www/releases/1.0.0.md
@@ -1,19 +1,3 @@
----
-release: 1.0.0
-artifacts:
- Missing.css:
- Plain: missing.css
- Minified: missing.min.css
- Missing Prism:
- Plain: missing-prism.css
- Minified: missing-prism.min.css
- Missing.js:
- Tabs: missing-js/tabs.js
- Menu: missing-js/menu.js
- Navbar: missing-js/overflow-nav.js
----
-
-## Changelog
- Added **missing.js**, a small collection of JS libraries implementing common UI patterns.
Currently contains tabset, menu, and collapsible navbar components.
diff --git a/www/releases/1.0.1.md b/www/releases/1.0.1.md
index 90800a2..a7cea94 100644
--- a/www/releases/1.0.1.md
+++ b/www/releases/1.0.1.md
@@ -1,20 +1,3 @@
----
-release: 1.0.1
-artifacts:
- Missing.css:
- Plain: missing.css
- Minified: missing.min.css
- Missing Prism:
- Plain: missing-prism.css
- Minified: missing-prism.min.css
- Missing.js:
- 19: missing-js/19.js
- Tabs: missing-js/tabs.js
- Menu: missing-js/menu.js
- Navbar: missing-js/overflow-nav.js
----
-
-## Changelog
- Improved menu styling on touch devices.
- Improved alignment in `.sidebar-layout`.
diff --git a/www/releases/1.0.10.md b/www/releases/1.0.10.md
index f495346..18432c6 100644
--- a/www/releases/1.0.10.md
+++ b/www/releases/1.0.10.md
@@ -1,20 +1,2 @@
----
-release: 1.0.10
-artifacts:
- Missing.css:
- Plain: missing.css
- Minified: missing.min.css
- Missing Prism:
- Plain: missing-prism.css
- Minified: missing-prism.min.css
- Missing.js:
- 19: missing-js/19.js
- Tabs: missing-js/tabs.js
- Menu: missing-js/menu.js
- Navbar: missing-js/overflow-nav.js
----
-
-
-## Changelog
- In elements that use a reduced line height, spacing will adapt accordingly. \ No newline at end of file
diff --git a/www/releases/1.0.11.md b/www/releases/1.0.11.md
index 9ae21d5..6915e63 100644
--- a/www/releases/1.0.11.md
+++ b/www/releases/1.0.11.md
@@ -1,21 +1,3 @@
----
-release: 1.0.11
-artifacts:
- Missing.css:
- Plain: missing.css
- Minified: missing.min.css
- Missing Prism:
- Plain: missing-prism.css
- Minified: missing-prism.min.css
- Missing.js:
- 19: missing-js/19.js
- Tabs: missing-js/tabs.js
- Menu: missing-js/menu.js
- Navbar: missing-js/overflow-nav.js
----
-
-
-## Changelog
- Redesigned `<aside>` elements.
- List elements will now use `--gap` for their margins instead of 1em.
diff --git a/www/releases/1.0.12.md b/www/releases/1.0.12.md
index dda09d1..4aa3825 100644
--- a/www/releases/1.0.12.md
+++ b/www/releases/1.0.12.md
@@ -1,8 +1,3 @@
----
-release: 1.0.12
----
-
-## Changelog
- We're switching entirely to npm for distributing missing.css. Prior versions
will be kept on `the.missing.style`, but its use is deprecated and our
diff --git a/www/releases/1.0.13.md b/www/releases/1.0.13.md
index ae3da60..fc00d74 100644
--- a/www/releases/1.0.13.md
+++ b/www/releases/1.0.13.md
@@ -1,8 +1,3 @@
----
-release: 1.0.13
----
-
-## Changelog
- Tabs will emit custom events:
- todo
diff --git a/www/releases/1.0.2.md b/www/releases/1.0.2.md
index 236faed..b5200e3 100644
--- a/www/releases/1.0.2.md
+++ b/www/releases/1.0.2.md
@@ -1,20 +1,3 @@
----
-release: 1.0.2
-artifacts:
- Missing.css:
- Plain: missing.css
- Minified: missing.min.css
- Missing Prism:
- Plain: missing-prism.css
- Minified: missing-prism.min.css
- Missing.js:
- 19: missing-js/19.js
- Tabs: missing-js/tabs.js
- Menu: missing-js/menu.js
- Navbar: missing-js/overflow-nav.js
----
-
-## Changelog
- Added the `.big` utility.
diff --git a/www/releases/1.0.3.md b/www/releases/1.0.3.md
index 60aca2d..c6990a8 100644
--- a/www/releases/1.0.3.md
+++ b/www/releases/1.0.3.md
@@ -1,20 +1,3 @@
----
-release: 1.0.3
-artifacts:
- Missing.css:
- Plain: missing.css
- Minified: missing.min.css
- Missing Prism:
- Plain: missing-prism.css
- Minified: missing-prism.min.css
- Missing.js:
- 19: missing-js/19.js
- Tabs: missing-js/tabs.js
- Menu: missing-js/menu.js
- Navbar: missing-js/overflow-nav.js
----
-
-## Changelog
- Added the `--graphical-fg` variable to replace `--faded-fg` for borders.
`--faded-fg` stays for disabled interactive elements.
diff --git a/www/releases/1.0.4.md b/www/releases/1.0.4.md
index ea5bcd8..3da896d 100644
--- a/www/releases/1.0.4.md
+++ b/www/releases/1.0.4.md
@@ -1,20 +1,3 @@
----
-release: 1.0.4
-artifacts:
- Missing.css:
- Plain: missing.css
- Minified: missing.min.css
- Missing Prism:
- Plain: missing-prism.css
- Minified: missing-prism.min.css
- Missing.js:
- 19: missing-js/19.js
- Tabs: missing-js/tabs.js
- Menu: missing-js/menu.js
- Navbar: missing-js/overflow-nav.js
----
-
-## Changelog
- **Action required:**{.warn .color .bg} Changed how sidenotes are made.
Instead of a `<small>` inside a `<span>`, use a `<small>` with `role="note"`.
diff --git a/www/releases/1.0.5.md b/www/releases/1.0.5.md
index a2411e1..4bf24cf 100644
--- a/www/releases/1.0.5.md
+++ b/www/releases/1.0.5.md
@@ -1,19 +1,2 @@
----
-release: 1.0.5
-artifacts:
- Missing.css:
- Plain: missing.css
- Minified: missing.min.css
- Missing Prism:
- Plain: missing-prism.css
- Minified: missing-prism.min.css
- Missing.js:
- 19: missing-js/19.js
- Tabs: missing-js/tabs.js
- Menu: missing-js/menu.js
- Navbar: missing-js/overflow-nav.js
----
-
-## Changelog
- Changed <summary> elements to be less prominent visually
diff --git a/www/releases/1.0.6.md b/www/releases/1.0.6.md
index 98d8bdf..7b109d6 100644
--- a/www/releases/1.0.6.md
+++ b/www/releases/1.0.6.md
@@ -1,20 +1,3 @@
----
-release: 1.0.6
-artifacts:
- Missing.css:
- Plain: missing.css
- Minified: missing.min.css
- Missing Prism:
- Plain: missing-prism.css
- Minified: missing-prism.min.css
- Missing.js:
- 19: missing-js/19.js
- Tabs: missing-js/tabs.js
- Menu: missing-js/menu.js
- Navbar: missing-js/overflow-nav.js
----
-
-## Changelog
- Added box shadows to buttons to better indicate button states.
- Changed link styling, removing the outline that appears on hover and making the underline more subtle
diff --git a/www/releases/1.0.7.md b/www/releases/1.0.7.md
index 6e4a5ee..cb5fc34 100644
--- a/www/releases/1.0.7.md
+++ b/www/releases/1.0.7.md
@@ -1,20 +1,3 @@
----
-release: 1.0.7
-artifacts:
- Missing.css:
- Plain: missing.css
- Minified: missing.min.css
- Missing Prism:
- Plain: missing-prism.css
- Minified: missing-prism.min.css
- Missing.js:
- 19: missing-js/19.js
- Tabs: missing-js/tabs.js
- Menu: missing-js/menu.js
- Navbar: missing-js/overflow-nav.js
----
-
-## Changelog
- Missing.css is now available on npm: [`missing.css@1.0.6`][].
Thanks to esmiralha#6639@discord.com for implementing this!
diff --git a/www/releases/1.0.8.md b/www/releases/1.0.8.md
index 199944e..ba3c891 100644
--- a/www/releases/1.0.8.md
+++ b/www/releases/1.0.8.md
@@ -1,20 +1,3 @@
----
-release: 1.0.8
-artifacts:
- Missing.css:
- Plain: missing.css
- Minified: missing.min.css
- Missing Prism:
- Plain: missing-prism.css
- Minified: missing-prism.min.css
- Missing.js:
- 19: missing-js/19.js
- Tabs: missing-js/tabs.js
- Menu: missing-js/menu.js
- Navbar: missing-js/overflow-nav.js
----
-
-## Changelog
- Missing.css is now available on npm: [`missing.css@1.0.8`][].
Thanks to esmiralha#6639@discord.com for implementing this!
diff --git a/www/releases/1.0.9.md b/www/releases/1.0.9.md
index d88a33e..17e7de8 100644
--- a/www/releases/1.0.9.md
+++ b/www/releases/1.0.9.md
@@ -1,20 +1,3 @@
----
-release: 1.0.9
-artifacts:
- Missing.css:
- Plain: missing.css
- Minified: missing.min.css
- Missing Prism:
- Plain: missing-prism.css
- Minified: missing-prism.min.css
- Missing.js:
- 19: missing-js/19.js
- Tabs: missing-js/tabs.js
- Menu: missing-js/menu.js
- Navbar: missing-js/overflow-nav.js
----
-
-## Changelog
- Links:
- no longer use `--secondary-font`, and will inherit their font family
diff --git a/www/releases/_artifacts/v0.0.1/missing-prism.css b/www/releases/_artifacts/v0.0.1/missing-prism.css
deleted file mode 100644
index 23e48b5..0000000
--- a/www/releases/_artifacts/v0.0.1/missing-prism.css
+++ /dev/null
@@ -1,62 +0,0 @@
-
-.token.comment,
-.token.prolog,
-.token.doctype,
-.token.cdata,
-.token.punctuation {
- color: var(--muted-fg);
-}
-
-.token.property,
-.token.tag,
-.token.boolean,
-.token.number,
-.token.constant,
-.token.symbol,
-.token.deleted {
- color: var(--bad-fg);
-}
-
-.token.selector,
-.token.attr-name,
-.token.string,
-.token.char,
-.token.builtin,
-.token.inserted {
- color: var(--ok-fg);
-}
-
-.token.operator,
-.token.entity,
-.token.url,
-.language-css .token.string,
-.style .token.string,
-.token.regex,
-.token.important,
-.token.variable {
- color: var(--warn-fg)
-}
-
-.token.atrule,
-.token.attr-value,
-.token.keyword {
- color: var(--info-fg);
-}
-
-.token.function {
- color: var(--bad-fg);
- font-style: italic;
-}
-
-.token.important,
-.token.bold {
- font-weight: bold;
-}
-
-.token.italic {
- font-style: italic;
-}
-
-.token.entity {
- cursor: help;
-}
diff --git a/www/releases/_artifacts/v0.0.1/missing-prism.min.css b/www/releases/_artifacts/v0.0.1/missing-prism.min.css
deleted file mode 100644
index 41c91b1..0000000
--- a/www/releases/_artifacts/v0.0.1/missing-prism.min.css
+++ /dev/null
@@ -1 +0,0 @@
-.token.cdata,.token.comment,.token.doctype,.token.prolog,.token.punctuation{color:var(--muted-fg)}.token.boolean,.token.constant,.token.deleted,.token.number,.token.property,.token.symbol,.token.tag{color:var(--bad-fg)}.token.attr-name,.token.builtin,.token.char,.token.inserted,.token.selector,.token.string{color:var(--ok-fg)}.language-css .token.string,.style .token.string,.token.entity,.token.important,.token.operator,.token.regex,.token.url,.token.variable{color:var(--warn-fg)}.token.atrule,.token.attr-value,.token.keyword{color:var(--info-fg)}.token.function{color:var(--bad-fg);font-style:italic}.token.bold,.token.important{font-weight:700}.token.italic{font-style:italic}.token.entity{cursor:help} \ No newline at end of file
diff --git a/www/releases/_artifacts/v0.0.1/missing-prism.min.css.br b/www/releases/_artifacts/v0.0.1/missing-prism.min.css.br
deleted file mode 100644
index 2a4ac49..0000000
--- a/www/releases/_artifacts/v0.0.1/missing-prism.min.css.br
+++ /dev/null
Binary files differ
diff --git a/www/releases/_artifacts/v0.0.1/missing-prism.min.css.gz b/www/releases/_artifacts/v0.0.1/missing-prism.min.css.gz
deleted file mode 100644
index e834bd4..0000000
--- a/www/releases/_artifacts/v0.0.1/missing-prism.min.css.gz
+++ /dev/null
Binary files differ
diff --git a/www/releases/_artifacts/v0.0.1/missing.css b/www/releases/_artifacts/v0.0.1/missing.css
deleted file mode 100644
index 180b211..0000000
--- a/www/releases/_artifacts/v0.0.1/missing.css
+++ /dev/null
@@ -1,1488 +0,0 @@
-/* Document
- * ========================================================================== */
-
-/**
- * 1. Add border box sizing in all browsers (opinionated).
- * 2. Backgrounds do not repeat by default (opinionated).
- */
-
-*,
-::before,
-::after {
- box-sizing: border-box; /* 1 */
- background-repeat: no-repeat; /* 2 */
-}
-
-/**
- * 1. Add text decoration inheritance in all browsers (opinionated).
- * 2. Add vertical alignment inheritance in all browsers (opinionated).
- */
-
-::before,
-::after {
- text-decoration: inherit; /* 1 */
- vertical-align: inherit; /* 2 */
-}
-
-/**
- * 1. Use the default cursor in all browsers (opinionated).
- * 3. Breaks words to prevent overflow in all browsers (opinionated).
- * 5. Remove the grey highlight on links in iOS (opinionated).
- * 6. Prevent adjustments of font size after orientation changes in iOS.
- */
-
-:root {
- cursor: default; /* 1 */
- overflow-wrap: break-word; /* 3 */
- -webkit-tap-highlight-color: transparent; /* 5 */
- text-size-adjust: none;
- -webkit-text-size-adjust: none;
-}
-
-/* Text-level semantics
- * ========================================================================== */
-
-/**
- * Add the correct text decoration in Safari.
- */
-
-abbr[title] {
- text-decoration: underline;
- -webkit-text-decoration: underline dotted;
- text-decoration: underline dotted;
-}
-
-/**
- * Add the correct font weight in Chrome, Edge, and Safari.
- */
-
-strong, b {
- font-weight: bolder;
-}
-
-/**
- * Add the correct font size in all browsers.
- */
-
-small {
- font-size: 80%;
-}
-
-/* Embedded content
- * ========================================================================== */
-
-/*
- * Change the alignment on media elements in all browsers (opinionated).
- */
-
-audio, canvas, iframe, img, svg, video {
- vertical-align: middle;
-}
-
-/**
- * Change the fill color to match the text color in all browsers (opinionated).
- */
-
-svg:not([fill]) {
- fill: currentColor;
-}
-
-/* Tabular data
- * ========================================================================== */
-
-/**
- * 1. Collapse border spacing in all browsers (opinionated).
- * 2. Correct table border color in Chrome, Edge, and Safari.
- * 3. Remove text indentation from table contents in Chrome, Edge, and Safari.
- */
-
-table {
- border-collapse: collapse; /* 1 */
- border-color: currentColor; /* 2 */
- text-indent: 0; /* 3 */
-}
-
-/* Forms
- * ========================================================================== */
-
-/**
- * Remove the margin on controls in Safari.
- */
-
-button, input, select {
- margin: 0;
-}
-
-/**
- * Correct the inability to style buttons in iOS and Safari.
- */
-
-button, [type="button"], [type="reset"], [type="submit"] {
- -webkit-appearance: button;
-}
-
-/**
- * Change the inconsistent appearance in all browsers (opinionated).
- */
-
-fieldset {
- border: 1px solid #a0a0a0;
-}
-
-/**
- * Add the correct vertical alignment in Chrome, Edge, and Firefox.
- */
-
-progress {
- vertical-align: baseline;
-}
-
-/**
- * 1. Remove the margin in Firefox and Safari.
- */
-
-textarea {
- margin: 0; /* 1 */
-}
-
-/**
- * 1. Correct the odd appearance in Chrome, Edge, and Safari.
- * 2. Correct the outline style in Safari.
- */
-
-[type="search"] {
- -webkit-appearance: textfield; /* 1 */
- outline-offset: -2px; /* 2 */
-}
-
-/**
- * Correct the cursor style of increment and decrement buttons in Safari.
- */
-
-::-webkit-inner-spin-button,
-::-webkit-outer-spin-button {
- block-size: auto;
-}
-
-/**
- * Correct the text style of placeholders in Chrome, Edge, and Safari.
- */
-
-::-webkit-input-placeholder {
- color: inherit;
- opacity: 0.54;
-}
-
-/**
- * Remove the inner padding in Chrome, Edge, and Safari on macOS.
- */
-
-::-webkit-search-decoration {
- -webkit-appearance: none;
-}
-
-/**
- * 1. Correct the inability to style upload buttons in iOS and Safari.
- * 2. Change font properties to `inherit` in Safari.
- */
-
-::-webkit-file-upload-button {
- -webkit-appearance: button; /* 1 */
- font: inherit; /* 2 */
-}
-
-/* Interactive
- * ========================================================================== */
-
-/*
- * Add the correct styles in Safari.
- */
-
-dialog {
- background-color: white;
- border: solid;
- color: black;
- block-size: -moz-fit-content;
- block-size: fit-content;
- inline-inset: 0;
- margin: auto;
- padding: 1em;
- position: absolute;
- inline-size: -moz-fit-content;
- inline-size: fit-content;
-}
-
-dialog:not([open]) {
- display: none;
-}
-
-[hidden] {
- display: none !important;
-}
-
-:focus-visible {
- outline: .2em solid var(--accent);
- z-index: 32;
-}
-
-iframe:focus-visible,
- html:focus-visible,
- body:focus-visible {
- outline: none;
- }
-
-:target {
- outline: .2em solid var(--fg);
- z-index: 32;
-}
-
-/*
- * Add the correct display in Safari.
- */
-
-details > summary:first-of-type {
- display: list-item;
-}
-
-/* Accessibility
- * ========================================================================== */
-
-/**
- * Change the cursor on busy elements in all browsers (opinionated).
- */
-
-[aria-busy="true"] {
- cursor: progress;
-}
-
-/*
- * Change the cursor on disabled, not-editable, or otherwise
- * inoperable elements in all browsers (opinionated).
- */
-
-[aria-disabled="true"], [disabled] {
- cursor: not-allowed;
-}
-
-datalist {
- display: none !important;
-}
-
-.info {
- --colorful-bg: var(--info-bg);
- --accent: var(--info-fg);
-}
-
-.ok {
- --colorful-bg: var(--ok-bg);
- --accent: var(--ok-fg);
-}
-
-.warn {
- --colorful-bg: var(--warn-bg);
- --accent: var(--warn-fg);
-}
-
-.bad {
- --colorful-bg: var(--bad-bg);
- --accent: var(--bad-fg);
-}
-
-.color {
- color: var(--accent);
-}
-
-.bg {
- background: var(--colorful-bg);
-}
-
-.border {
- border-color: var(--accent);
-}
-
-.airy { --density: 3; }
-
-.dense { --density: 1; }
-
-.crowded { --density: .5; }
-
-.autodensity {
- --density: 1
-}
-
-@media (min-width: 768px) {
-
-.autodensity { --density: 2
-} }
-
-@media (min-width: 1024px) {
-
-.autodensity { --density: 3
-} }
-
-.f-row {
- display: flex;
- flex-direction: row;
- gap: var(--gap)
-}
-
-.f-row > * { margin: 0 }
-
-.f-col {
- display: flex;
- flex-direction: column;
- gap: var(--gap)
-}
-
-.f-col > * { margin: 0 }
-
-.f-switch {
- display: flex;
- flex-flow: row wrap;
- gap: var(--gap);
- --col-width: 15ch /* see ./layout.css */
-}
-
-.f-switch > * { margin: 0 }
-
-.f-switch > * {
- flex-basis: calc((var(--col-width) - 100%) * 999);
- flex-grow: 1;
- }
-
-.justify-content\:start { justify-content: start }
-
-.justify-content\:end { justify-content: end }
-
-.justify-content\:baseline { justify-content: baseline }
-
-.justify-content\:center { justify-content: center }
-
-.justify-content\:stretch { justify-content: stretch }
-
-.align-items\:start { align-items: start }
-
-.align-items\:end { align-items: end }
-
-.align-items\:baseline { align-items: baseline }
-
-.align-items\:center { align-items: center }
-
-.align-items\:stretch { align-items: stretch }
-
-.align-self\:start { align-self: start }
-
-.align-self\:end { align-self: end }
-
-.align-self\:baseline { align-self: baseline }
-
-.align-self\:center { align-self: center }
-
-.align-self\:stretch { align-self: stretch }
-
-.grow-0 { flex-grow: 0 }
-
-.grow-1 { flex-grow: 1 }
-
-.grow-2 { flex-grow: 2 }
-
-.grow-3 { flex-grow: 3 }
-
-.grow-4 { flex-grow: 4 }
-
-.grow-5 { flex-grow: 5 }
-
-.grow-6 { flex-grow: 6 }
-
-.grow-7 { flex-grow: 7 }
-
-.grow-8 { flex-grow: 8 }
-
-.grow-9 { flex-grow: 9 }
-
-.grow-10 { flex-grow: 10 }
-
-.grow-11 { flex-grow: 11 }
-
-.grow-12 { flex-grow: 12 }
-
-.vh, v-h {
- clip: rect(0 0 0 0);
- -webkit-clip-path: inset(50%);
- clip-path: inset(50%);
- block-size: 1px;
- overflow: hidden;
- position: absolute;
- white-space: nowrap;
- inline-size: 1px;
-}
-
-.reset {
- all: initial;
-}
-
-.basicgrid {
- display: flex;
- flex-flow: row wrap;
- gap: var(--gap);
- --col-width: 15ch
-}
-
-.basicgrid > * {
- flex-grow: 1;
- flex-shrink: 1;
- flex-basis: var(--col-width);
- margin: 0;
- min-width: 1px;
- }
-
-.colwidth-l { --col-width: 35ch }
-
-.colwidth-m { --col-width: 24ch }
-
-.colwidth-s { --col-width: 15ch }
-
-.minwidth-l { min-width: 35ch }
-
-.minwidth-m { min-width: 24ch }
-
-.minwidth-s { min-width: 15ch }
-
-.maxwidth-l { max-width: 35ch }
-
-.maxwidth-m { max-width: 24ch }
-
-.maxwidth-s { max-width: 15ch }
-
-.col-0 { flex-grow: 0 ; }
-
-.col-1 { flex-grow: 1 ; flex-basis: calc(1 * var(--col-width)) }
-
-.col-2 { flex-grow: 2 ; flex-basis: calc(2 * var(--col-width)) }
-
-.col-3 { flex-grow: 3 ; flex-basis: calc(3 * var(--col-width)) }
-
-.col-4 { flex-grow: 4 ; flex-basis: calc(4 * var(--col-width)) }
-
-.col-5 { flex-grow: 5 ; flex-basis: calc(5 * var(--col-width)) }
-
-.col-6 { flex-grow: 6 ; flex-basis: calc(6 * var(--col-width)) }
-
-.col-7 { flex-grow: 7 ; flex-basis: calc(7 * var(--col-width)) }
-
-.col-8 { flex-grow: 8 ; flex-basis: calc(8 * var(--col-width)) }
-
-.col-9 { flex-grow: 9 ; flex-basis: calc(9 * var(--col-width)) }
-
-.col-10 { flex-grow: 10; flex-basis: calc(10 * var(--col-width)) }
-
-.col-11 { flex-grow: 11; flex-basis: calc(11 * var(--col-width)) }
-
-.col-12 { flex-grow: 12; flex-basis: calc(12 * var(--col-width)) }
-
-.col-inf { flex-grow: 1000000 }
-
-/**/
-
-.textcolumns {
- --col-width: 30ch;
- column-width: var(--col-width);
- column-gap: var(--gap);
- margin-block: var(--gap)
-}
-
-.textcolumns :first-child { margin-block-start: 0 !important }
-
-.textcenter {
- text-align: center;
-}
-
-/**/
-
-.container {
- max-inline-size: var(--eff-line-length);
- margin-inline: auto;
-}
-
-.fullbleed {
- position: relative;
- width: 100vw;
- left: 50%;
- transform: translateX(-50vw);
-
- border-radius: 0;
- border-inline: none;
-}
-
-/**/
-
-.pad {
- padding-inline: var(--gap);
-}
-
-.margin {
- margin: var(--gap);
-}
-
-/**/
-
-.table {
- display: table;
- width: 100%;
- margin: 0;
-}
-
-.row, .rows > * {
- display: table-row
-}
-
-.row:not(:last-child) > *, .rows > *:not(:last-child) > * {
- margin-bottom: var(--gap);
- }
-
-.row > *:not([specificity-hack]), .rows > * > *:not([specificity-hack]) {
- display: table-cell;
- vertical-align: top;
- }
-
-.row > * + *:not([specificity-hack]), :is(.rows > *) > * + *:not([specificity-hack]) {
- margin-inline-start: var(--gap);
- display: inline-block;
- }
-
-/**/
-
-.fixed { position: fixed }
-
-.sticky { position: sticky }
-
-.top { top: 0 }
-
-.right { right: 0 }
-
-.bottom { bottom: 0 }
-
-.left { left: 0 }
-
-.\^ { top: 0 }
-
-.\> { right: 0 }
-
-.\_ { bottom: 0 }
-
-.\< { left: 0 }
-
-.float\< { float: left }
-
-.float\> { float: right }
-
-all-caps, .allcaps {
- text-transform: uppercase;
- letter-spacing: .1rem;
-}
-
-.monospace {
- font-family: var(--mono-font);
-}
-
-.box, missing-card, .missing-card {
- margin: var(--gap) 0;
- padding: var(--gap);
- border-radius: calc(var(--rhythm) / 4);
- background: var(--colorful-bg);
- border: 1px solid var(--accent);
- /* artificially increase specificity */
- /* TODO: come up with a better way to do this */
-}
-
-:is(.box,missing-card,.missing-card) > :first-child:first-child:first-child:first-child,
- :is(.box,missing-card,.missing-card) > :first-child>:first-child:first-child:first-child,
- :is(.box,missing-card,.missing-card) > :first-child>:first-child>:first-child:first-child,
- :is(.box,missing-card,.missing-card) > :first-child>:first-child>:first-child>:first-child { margin-block-start: 0; }
-
-:is(.box,missing-card,.missing-card) > :last-child:last-child:last-child:last-child,
- :is(.box,missing-card,.missing-card) > :last-child>:last-child:last-child:last-child,
- :is(.box,missing-card,.missing-card) > :last-child>:last-child>:last-child:last-child,
- :is(.box,missing-card,.missing-card) > :last-child>:last-child>:last-child>:last-child { margin-block-end: 0; }
-
-.breadcrumbs[aria-label] ul, .breadcrumbs[aria-label] ol {
- list-style: none;
- padding-inline-start: 0;
- }
-
-.breadcrumbs[aria-label] li {
- display: inline
- }
-
-:is(.breadcrumbs[aria-label] li)+li::before {
- content: ' / ' / '';
- content: ' / ';
- display: inline;
- }
-
-.breadcrumbs[aria-label] [aria-current="page"] {
- font-weight: bold;
- }
-
-.chip, chip {
- border: 1px solid var(--accent);
- background: var(--colorful-bg);
- border-radius: calc(var(--rhythm) / 2);
- padding-inline: calc(var(--rhythm) / 2);
-}
-
-.navbar, header[is="nav-bar"] {
- margin: 0;
- padding: 0 var(--rhythm);
-
- background: var(--colorful-bg);
- border-block-end: 1px solid var(--accent);
-
- overflow-x: auto;
- scrollbar-width: thin;
-
- /* Inner layout */
- display: flex;
- flex-flow: row;
- gap: calc(2 * var(--rhythm))
-
-
-}
-
-:is(.navbar,header[is="nav-bar"]) :first-child { margin-inline-start: auto; }
-
-:is(.navbar,header[is="nav-bar"]) :last-child { margin-inline-end: auto; }
-
-:is(.navbar,header[is="nav-bar"]) * { flex-shrink: 0 }
-
-:is(.navbar,header[is="nav-bar"]) nav ul[role="list"] {
- padding-inline-start: 0;
- display: flex;
- flex-flow: row;
- gap: var(--rhythm)
- }
-
-:is(.navbar,header[is="nav-bar"]) nav ul[role="list"] * { flex-shrink: 0 }
-
-:is(.navbar,header[is="nav-bar"]) a {
- font-weight: bold;
- text-decoration: none;
- }
-
-.sub-title, sub-title {
- /***
- Meant for use in headings. Make sure to also use visually-hidden punctuation
- to mark the subtitle as shown below:
-
- 1 | <h1>
- 2 | Foo Bar<v-h>:</v-h>
- 3 | <sub-title>How I Learned To Stop Worrying and Love Baz</sub-title>
- 4 | </h1>
-
- 1 | <h1>
- 2 | <sub-title class="-allcaps">Breaking News</sub-title><v-h>:</v-h>
- 3 | Bad Thing Happens
- 4 | <h1>
- ***/
-
- display: block;
-
- font-weight: normal;
-
- color: var(--muted-fg);
-}
-
-[role="tablist"] {
- display: flex;
- gap: .5ch;
- scrollbar-width: thin;
-}
-
-[role="tab"][role="tab"] {
- all: initial;
-
- font-family: inherit;
-
- padding: 0 calc(var(--rhythm) / 4);
- margin: 0;
- min-height: var(--rhythm);
-
- border: solid var(--accent);
- border-width: 1px 1px 0 1px;
- border-block-end-color: transparent;
- background: var(--interactive-bg);
-
- border-start-start-radius: .4em;
- border-start-end-radius: .4em
-}
-
-[role="tab"][role="tab"]:active, [role="tab"][role="tab"][aria-selected="true"] {
- transform: none;
- bottom: -1px;
- position: relative;
- background: var(--colorful-bg);
- border-block-end: 1px solid var(--colorful-bg);
- }
-
-[role="tabpanel"] {
- margin: var(--gap) 0;
- padding: var(--gap);
- border-radius: calc(var(--rhythm) / 4);
- background: var(--colorful-bg);
- border: 1px solid var(--accent);
- /* artificially increase specificity */
- /* TODO: come up with a better way to do this */
-}
-
-[role="tabpanel"] > :first-child:first-child:first-child:first-child,
- [role="tabpanel"] > :first-child>:first-child:first-child:first-child,
- [role="tabpanel"] > :first-child>:first-child>:first-child:first-child,
- [role="tabpanel"] > :first-child>:first-child>:first-child>:first-child { margin-block-start: 0; }
-
-[role="tabpanel"] > :last-child:last-child:last-child:last-child,
- [role="tabpanel"] > :last-child>:last-child:last-child:last-child,
- [role="tabpanel"] > :last-child>:last-child>:last-child:last-child,
- [role="tabpanel"] > :last-child>:last-child>:last-child>:last-child { margin-block-end: 0; }
-
-[role="tabpanel"] {
- margin-block-start: 0;
- border-start-start-radius: 0;
- border-start-end-radius: 0;
- z-index: 1;
-}
-
-tool-bar, .tool-bar {
- display: flex;
- flex-flow: row wrap;
- gap: calc(var(--gap) / 2);
-}
-
-/***
- 4.8 Embedded content
- https://html.spec.whatwg.org/multipage/embedded-content.html
- ***/
-
-img, video, audio, iframe, object, embed {
- max-inline-size: 100%;
- inline-size: max-content;
- block-size: auto;
-}
-
-/***
- 4.10 Forms
- https://html.spec.whatwg.org/multipage/forms.html
- ***/
-
-input { display: block; }
-
-label input:not([specificity-hack]) { display: inline; padding-block: 0; }
-
-button,
-input[type="submit"],
-input[type="reset"],
-input[type="button"],
-input::file-selector-button {
- display: inline-block;
- padding: 0 calc(var(--rhythm) / 4);
- vertical-align: top;
-
- font-size: .8rem;
- line-height: 1.125em;
- font-family: var(--main-font);
- min-height: var(--rhythm);
-
- background: var(--interactive-bg);
- border: 1px solid var(--accent);
- box-sizing: border-box;
- border-radius: .2em;
-
- box-shadow: 0 .1em .2em var(--shadow)
-}
-
-:is(button,input[type="submit"],input[type="reset"],input[type="button"],input::file-selector-button):hover, :is(button,input[type="submit"],input[type="reset"],input[type="button"],input::file-selector-button):focus-visible {
- background: var(--colorful-bg);
- }
-
-:is(button,input[type="submit"],input[type="reset"],input[type="button"],input::file-selector-button):active {
- box-shadow: none;
- background-color: var(--accent);
- color: var(--bg);
- }
-
-[aria-pressed="true"]:is(button,input[type="submit"],input[type="reset"],input[type="button"],input::file-selector-button), [aria-expanded="true"]:is(button,input[type="submit"],input[type="reset"],input[type="button"],input::file-selector-button) {
- box-shadow: 0 .05em var(--accent);
- transform: translateY(.05em);
- background: var(--pressed-interactive-bg);
- }
-
-input:not([type]),
-input[type="text"],
-input[type="search"],
-input[type="tel"],
-input[type="url"],
-input[type="email"],
-input[type="password"],
-input[type="date"],
-input[type="month"],
-input[type="week"],
-input[type="time"],
-input[type="datetime"],
-input[type="datetime-local"],
-input[type="number"],
-select,
-textarea {
- padding: calc(var(--rhythm) / 4);
- vertical-align: top;
-
- font-size: 1rem;
- line-height: inherit;
- font-family: var(--main-font);
-
- background: var(--bg);
- border: 1px solid var(--faded-fg);
- border-radius: .2em;
-
- vertical-align: top
-}
-
-:is(input:not([type]),input[type="text"],input[type="search"],input[type="tel"],input[type="url"],input[type="email"],input[type="password"],input[type="date"],input[type="month"],input[type="week"],input[type="time"],input[type="datetime"],input[type="datetime-local"],input[type="number"],select,textarea):focus-visible {
- border: 1px solid var(--accent);
- }
-
-:is(input:not([type]),input[type="text"],input[type="search"],input[type="tel"],input[type="url"],input[type="email"],input[type="password"],input[type="date"],input[type="month"],input[type="week"],input[type="time"],input[type="datetime"],input[type="datetime-local"],input[type="number"],select,textarea)::placeholder {
- color: var(--muted-fg);
- opacity: 1;
- text-align: end;
- }
-
-input[type="range"] {
- width: 100%;
- padding: calc(var(--gap) / 4);
-}
-
-input[type="color"] {
- padding: 0;
- margin: 0;
- height: calc(1.5 * var(--rhythm));
-
- border: none;
- background: none;
-}
-
-input[type="file"] {
- padding: calc(var(--gap) / 4) 0;
- font-size: inherit;
- line-height: calc(var(--rhythm) / 2)
-}
-
-input[type="file"]::file-selector-button {
- margin-block: .1em 0;
- margin-inline-end: 1ch;
- }
-
-select[multiple] {
- vertical-align: top;
-}
-
-optgroup::before {
- color: var(--muted-fg);
- font-style: normal;
-}
-
-progress {
- /* TODO */
-}
-
-meter {
- /* TODO */
-}
-
-label[for] {
- display: block;
- padding-block: calc(var(--gap) / 4);
-}
-
-fieldset {
- position: relative;
-
- padding: var(--gap);
- margin: var(--gap) 0;
- width: 100%;
- border-radius: .2em;
-
- /* artificially increase specificity */
-
- /* TODO: come up with a better way to do this */
-}
-
-fieldset > :first-child:first-child:first-child:first-child,
- fieldset > :first-child>:first-child:first-child:first-child,
- fieldset > :first-child>:first-child>:first-child:first-child,
- fieldset > :first-child>:first-child>:first-child>:first-child { margin-block-start: 0; }
-
-fieldset > :last-child:last-child:last-child:last-child,
- fieldset > :last-child>:last-child:last-child:last-child,
- fieldset > :last-child>:last-child>:last-child:last-child,
- fieldset > :last-child>:last-child>:last-child>:last-child { margin-block-end: 0; }
-
-fieldset > legend + * { margin-block-start: 0 }
-
-fieldset {
-
- border: 1px solid var(--faded-fg);
-}
-
-/***
- 4.4 Grouping content
- https://html.spec.whatwg.org/multipage/grouping-content.html
- ***/
-
-p {
- margin-block: var(--gap);
-}
-
-hr {
- color: inherit;
-
- flex-grow: 0;
- border-inline-start: 1px solid var(--accent);
- block-size: auto;
- border-block-start: 1px solid var(--accent);
- border-block-end: none;
- border-inline-end: none;
-}
-
-pre {
- font-family: var(--mono-font);
- font-size: .9em;
- line-height: var(--rhythm);
- -o-tab-size: 2;
- tab-size: 2;
-
- margin: var(--gap) 0;
-
- overflow-x: auto;
- scrollbar-width: thin;
- scrollbar-color: var(--accent) transparent;
-}
-
-blockquote {
- margin-inline: 0 var(--gap);
- padding-inline: var(--gap) 0;
- margin-block: var(--gap);
-
- font-size: 1.1em;
- line-height: var(--rhythm);
- font-style: italic;
-
- border-inline-start: 1px solid var(--faded-fg);
- color: var(--muted-fg)
-}
-
-blockquote em, blockquote cite, blockquote dfn, blockquote var, blockquote i, blockquote address {
- font-style: normal;
- }
-
-blockquote footer {
- text-align: right;
- text-align: end;
- }
-
-ul, ol {
- padding-inline-start: var(--rhythm)
-}
-
-ul[role="list"], ol[role="list"] {
- padding-inline-start: 0;
- list-style: none;
- }
-
-ul {
- list-style: square;
-}
-
-ol {
- list-style: decimal;
-}
-
-dl {
- margin-block: var(--gap);
-}
-
-dt {
- font-weight: bold;
- }
-
-dd {
- margin-inline-start: var(--rhythm);
- }
-
-figure {
- max-width: 100%;
- margin-inline: 0;
- padding: var(--gap);
-
- border: 1px solid var(--faded-fg);
- border-radius: calc(var(--rhythm) / 4);
-
- /* artificially increase specificity */
-
- /* TODO: come up with a better way to do this */
-}
-
-figure > :first-child:first-child:first-child:first-child,
- figure > :first-child>:first-child:first-child:first-child,
- figure > :first-child>:first-child>:first-child:first-child,
- figure > :first-child>:first-child>:first-child>:first-child { margin-block-start: 0; }
-
-figure > :last-child:last-child:last-child:last-child,
- figure > :last-child>:last-child:last-child:last-child,
- figure > :last-child>:last-child>:last-child:last-child,
- figure > :last-child>:last-child>:last-child>:last-child { margin-block-end: 0; }
-
-figcaption {
- margin-block: var(--gap);
-
- color: var(--muted-fg);
-}
-
-main {
- max-inline-size: var(--eff-line-length);
- margin: auto;
-}
-
-/***
- 4.5 Text-level semantics
- https://html.spec.whatwg.org/multipage/text-level-semantics.html
-
- 4.7 Edits
- https://html.spec.whatwg.org/multipage/edits.html
- ***/
-
-/* Text-level semantics */
-
-a {
- color: var(--link-fg, var(--accent))
-}
-
-.list-of-links a {
- text-decoration: none
-}
-
-a:hover {
- text-decoration: underline;
- }
-
-span > small:only-child {
- /***
- Sidenote
- ***/
- display: block;
- float: inline-end;
- clear: inline-end;
-
- --sidenote-width: 20ch;
-
- max-inline-size: var(--sidenote-width);
- padding-inline: 1.5ch 1ch;
-
- margin-inline-end: calc(1em - var(--sidenote-width));
- margin-block-end: var(--rhythm);
-
- background: var(--bg);
- border: 1px solid transparent;
-
- transition: transform .1s ease-in-out
-}
-
-span > small:only-child:hover, span > small:only-child:focus-within {
- border: 1px solid var(--faded-fg);
- border-radius: .2em;
- transform: translateX(calc(
- 0px - var(--sidenote-width)
- + min(var(--gutter-width), var(--sidenote-width))
- ))
- }
-
-s {
- color: var(--bad-fg);
-}
-
-q {
- font-style: italic
-}
-
-q em, q cite, q dfn, q var, q i, q address {
- font-style: normal;
- }
-
-time {
- font-variant-numeric: tabular-nums;
-}
-
-code, samp, kbd {
- font-family: var(--mono-font);
-}
-
-samp {
- color: var(--ok-fg);
-}
-
-kbd kbd /*
- We apply the key-like styling to a nested kbd element, a pattern shown in
- WHATWG HTML for marking up keyboard input:
-
- > Here the kbd element is used to indicate keys to press:
- > ~~~ html
- > <p>To make George eat an apple, press <kbd><kbd>Shift</kbd> + <kbd>F3</kbd></kbd></p>
- > ~~~
-
- The plain kbd element can also be used for clicking menus (<kbd>File |
- New...</kbd>) or voice input (<kbd>Hey Siri, </kbd>)
-*/ {
- display: inline-block;
-
- padding: 0 .3em;
- font-size: .8em;
- line-height: 1.1em;
-
- background: var(--interactive-bg);
- border: 1px outset var(--faded-fg);
- border-block-end-width: 3px;
- border-radius: .3em;
-}
-
-sub {
- vertical-align: bottom;
- line-height: 1;
-}
-
-sup {
- vertical-align: top;
- line-height: 1;
-}
-
-mark {
- background: var(--warn-bg);
- color: var(--warn-fg);
-}
-
-/* Edits */
-
-ins {
- background: var(--ok-bg);
- color: var(--ok-fg);
-}
-
-del {
- background: var(--bad-bg);
- color: var(--bad-fg);
-}
-
-/***
- 4.11 Interactive elements
- https://html.spec.whatwg.org/multipage/interactive-elements.html#interactive-elements
- ***/
-
-details {
- margin: var(--gap) 0;
- padding: var(--gap);
- border-radius: calc(var(--rhythm) / 4);
- background: var(--colorful-bg);
- border: 1px solid var(--accent)
- /* artificially increase specificity */
- /* TODO: come up with a better way to do this */
-}
-
-details > :first-child:first-child:first-child:first-child,
- details > :first-child>:first-child:first-child:first-child,
- details > :first-child>:first-child>:first-child:first-child,
- details > :first-child>:first-child>:first-child>:first-child { margin-block-start: 0; }
-
-details > :last-child:last-child:last-child:last-child,
- details > :last-child>:last-child:last-child:last-child,
- details > :last-child>:last-child>:last-child:last-child,
- details > :last-child>:last-child>:last-child>:last-child { margin-block-end: 0; }
-
-details {
- padding-block-start: 0
-}
-
-details:not([open]) { padding-block-end: 0; }
-
-summary {
- margin: calc(0px - var(--gap));
- margin-bottom: 0;
- padding-inline: var(--gap);
-
- font-weight: bold;
-
- background: var(--accent);
- color: var(--bg);
- border-radius: inherit;
-
- cursor: pointer
-}
-
-summary:focus-visible, summary:active {
- background: var(--muted-accent);
- border-color: var(--muted-accent);
- }
-
-details[open] summary {
- border-block-end: 1px solid var(--accent);
- border-end-end-radius: 0;
- border-end-start-radius: 0
-}
-
-dialog {
-}
-
-/***
- 4.1 The document element
- https://html.spec.whatwg.org/multipage/semantics.html#the-root-element
-
- 4.3 Sections
- https://html.spec.whatwg.org/multipage/sections.html
- ***/
-
-html {
- font-family: var(--main-font);
- line-height: var(--rhythm);
- font-size: 120%;
-}
-
-body {
- margin: 0;
-}
-
-header, footer, section {
- margin-block: calc(2 * var(--gap));
-}
-
-nav a {
- text-decoration: none;
- color: var(--accent);
- }
-
-aside {
- margin: var(--gap) 0;
- padding: var(--gap);
- border-radius: calc(var(--rhythm) / 4);
- background: var(--colorful-bg);
- border: 1px solid var(--accent)
- /* artificially increase specificity */
- /* TODO: come up with a better way to do this */
-}
-
-aside > :first-child:first-child:first-child:first-child,
- aside > :first-child>:first-child:first-child:first-child,
- aside > :first-child>:first-child>:first-child:first-child,
- aside > :first-child>:first-child>:first-child>:first-child { margin-block-start: 0; }
-
-aside > :last-child:last-child:last-child:last-child,
- aside > :last-child>:last-child:last-child:last-child,
- aside > :last-child>:last-child>:last-child:last-child,
- aside > :last-child>:last-child>:last-child>:last-child { margin-block-end: 0; }
-
-aside h1,
- aside h2,
- aside h3,
- aside h4,
- aside h5,
- aside h6 {
- font-size: 1em;
- text-transform: none;
- letter-spacing: none;
- }
-
-h1, h2, h3, h4, h5, h6 {
- margin-block-end: var(--gap);
- font-family: var(--display-font);
- font-size: 1em;
- margin-block-start: calc(2 * var(--gap));
-}
-
-h1, .h1 {
- font-size: 2em;
- text-transform: none;
- line-height: calc(2 * var(--rhythm));
- letter-spacing: 0;
-}
-
-h2, .h2 {
- font-size: 1.6em;
- text-transform: none;
- line-height: calc(1.5 * var(--rhythm));
- letter-spacing: 0;
-}
-
-h3, .h3 {
- font-size: 1.17em;
- text-transform: uppercase;
- line-height: calc(1 * var(--rhythm));
- letter-spacing: 0.02em;
-}
-
-h4, .h4, h5, .h5, h6, .h6 {
- font-size: 1em;
- text-transform: none;
- line-height: calc(1 * var(--rhythm));
- letter-spacing: 0;
- margin-block-start: var(--gap);
-}
-
-h1 + h2,
-h2 + h3,
-h3 + h4,
-h4 + h5,
-h5 + h6,
-h1:first-child,
-h2:first-child,
-h3:first-child,
-h4:first-child,
-h5:first-child,
-h6:first-child {
- margin-block-start: var(--gap);
-}
-
-h1:target,
-h2:target,
-h3:target,
-h4:target,
-h5:target,
-h6:target {
- outline: none
-}
-
-h1:target::before, h2:target::before, h3:target::before, h4:target::before, h5:target::before, h6:target::before {
- content: '❧';
- display: inline-block;
- width: 0;
- transform: translateX(-1.5ch);
- font-size: 2em;
- vertical-align: bottom;
- color: var(--accent);
- }
-
-header {
- border-block-end: 1px solid var(--faded-fg);
-}
-
-footer {
- border-block-start: 1px solid var(--faded-fg);
-}
-
-body > header,
-body > footer {
- padding: var(--rhythm) var(--gutter-width)
-}
-
-address {
- --density: 0;
-}
-
-/***
- 4.9 Tabular data
- https://html.spec.whatwg.org/multipage/tables.html
- ***/
-
-table {
- font-variant-numeric: tabular-nums;
- font: inherit;
-}
-
-caption {
- text-align: start;
- font-style: italic;
-}
-
-tbody {
- border-block: 1px solid var(--fg);
-}
-
-thead {
-}
-
-tfoot {
-}
-
-tr {
-
-}
-
-td, th {
- vertical-align: top
-}
-
-td:not(:last-child), th:not(:last-child) {
- padding-inline-end: var(--rhythm);
- }
-
-td {
- }
-
-th {
- text-align: start;
- }
-
-/* Colors taken from https://reasonable.work/colors/ */
-
-:root {
- /* Colors */
- --fg: #000; /* Text. */
- --muted-fg: #3e3e3e; /* De-emphasized or disabled elements' text. Will be
- used with a background of --c-bg and --c-bg-2 -- check contrast! */
- --faded-fg: #8b8b8b; /* De-emphasized or disabled graphical elements. Will not
- be used as a text color. */
- --info-fg: #00386d;
- --ok-fg: #004825;
- --bad-fg: #830014;
- --warn-fg: #463d00;
-
- --bg: #fff; /* Page background. */
- --colorful-bg: #d7fff7; /* Background for blocks: cards, admonitions etc. */
- --interactive-bg: #e2e2e2; /* Background for interactive elements */
- --info-bg: #d4e0ff; /* blue */
- --ok-bg: #5dffa2;
- --bad-bg: #ffddd8;
- --warn-bg: #ffe53e;
-
- --shadow: #777; /* Box shadows. */
-
- --accent: #007f5f; /* Accent color. Will be used *as a text color* with a
- background of --c-bg and --c-bg-2 -- check contrast! */
- --muted-accent: #42ffc6; /* Muted accent color. Will not be used for text. */
-
- /* Lengths */
- --rhythm: 1.4rem; /* Vertical rhythm, line height. */
- --line-length: 40rem; /* Maximum line length for prose. */
-
- /* Fonts */
- --main-font: 'Inter', -apple-system, system-ui, sans-serif;
- --display-font: var(--main-font); /* Headings etc. */
- --mono-font: 'M Plus Code Latin', monospace, monospace; /* monospace twice stops browsers from
- shrinking this */
-
- /* Density */
- --density: 1;
-
- /* Do not set these. */
- --eff-line-length: /* Effective line length for prose. */
- min(
- calc( 100vw - (2 * var(--rhythm)) ),
- var(--line-length)
- );
-
- --gutter-width: /* Width of spaces at each side of page content. */
- calc(
- (
- 100vw /* Viewport width */
- - var(--eff-line-length) /* minus line width */
- ) / 2); /* Divide by 2: there are two page margins */
-}
-
-* {
- --gap: calc(var(--rhythm) * var(--density));
- accent-color: var(--accent);
-}
diff --git a/www/releases/_artifacts/v0.0.1/missing.min.css b/www/releases/_artifacts/v0.0.1/missing.min.css
deleted file mode 100644
index 6f07802..0000000
--- a/www/releases/_artifacts/v0.0.1/missing.min.css
+++ /dev/null
@@ -1,15 +0,0 @@
-*,::after,::before{box-sizing:border-box;background-repeat:no-repeat}::after,::before{text-decoration:inherit;vertical-align:inherit}:root{cursor:default;overflow-wrap:break-word;-webkit-tap-highlight-color:transparent;text-size-adjust:none;-webkit-text-size-adjust:none}abbr[title]{-webkit-text-decoration:underline dotted;text-decoration:underline dotted}b,strong{font-weight:bolder}small{font-size:80%}audio,canvas,iframe,img,svg,video{vertical-align:middle}svg:not([fill]){fill:currentColor}table{border-collapse:collapse;border-color:currentColor;text-indent:0;font-variant-numeric:tabular-nums;font:inherit}button,input,select,textarea{margin:0}[type=button],[type=reset],[type=submit],button{-webkit-appearance:button}fieldset{border:1px solid #a0a0a0;position:relative;padding:var(--gap);margin:var(--gap) 0;width:100%;border-radius:.2em;border:1px solid var(--faded-fg)}progress{vertical-align:baseline}[type=search]{-webkit-appearance:textfield;outline-offset:-2px}::-webkit-inner-spin-button,::-webkit-outer-spin-button{block-size:auto}::-webkit-input-placeholder{color:inherit;opacity:.54}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{-webkit-appearance:button;font:inherit}dialog{background-color:#fff;border:solid;color:#000;block-size:-moz-fit-content;block-size:fit-content;inline-inset:0;margin:auto;padding:1em;position:absolute;inline-size:-moz-fit-content;inline-size:fit-content}dialog:not([open]){display:none}[hidden],datalist{display:none!important}:focus-visible{outline:.2em solid var(--accent);z-index:32}body:focus-visible,html:focus-visible,iframe:focus-visible{outline:0}:target{outline:.2em solid var(--fg);z-index:32}details>summary:first-of-type{display:list-item}[aria-busy=true]{cursor:progress}[aria-disabled=true],[disabled]{cursor:not-allowed}.info{--colorful-bg: var(--info-bg);--accent: var(--info-fg)}.ok{--colorful-bg: var(--ok-bg);--accent: var(--ok-fg)}.warn{--colorful-bg: var(--warn-bg);--accent: var(--warn-fg)}.bad{--colorful-bg: var(--bad-bg);--accent: var(--bad-fg)}.color{color:var(--accent)}.bg{background:var(--colorful-bg)}.border{border-color:var(--accent)}.airy{--density: 3}.dense{--density: 1}.crowded{--density: .5}.autodensity{--density: 1
-}@media (min-width:768px){.autodensity{--density: 2
-}}@media (min-width:1024px){.autodensity{--density: 3
-}}.f-row{display:flex;flex-direction:row;gap:var(--gap)}.f-row>*{margin:0}.f-col{display:flex;flex-direction:column;gap:var(--gap)}.f-col>*,body{margin:0}.f-switch{display:flex;flex-flow:row wrap;gap:var(--gap);--col-width: 15ch /* see ./layout.css */
-}.f-switch>*{margin:0;flex-basis:calc((var(--col-width) - 100%)*999);flex-grow:1}.justify-content\:start{justify-content:start}.justify-content\:end{justify-content:end}.justify-content\:baseline{justify-content:baseline}.justify-content\:center{justify-content:center}.justify-content\:stretch{justify-content:stretch}.align-items\:start{align-items:start}.align-items\:end{align-items:end}.align-items\:baseline{align-items:baseline}.align-items\:center{align-items:center}.align-items\:stretch{align-items:stretch}.align-self\:start{align-self:start}.align-self\:end{align-self:end}.align-self\:baseline{align-self:baseline}.align-self\:center{align-self:center}.align-self\:stretch{align-self:stretch}.grow-0{flex-grow:0}.grow-1{flex-grow:1}.grow-2{flex-grow:2}.grow-3{flex-grow:3}.grow-4{flex-grow:4}.grow-5{flex-grow:5}.grow-6{flex-grow:6}.grow-7{flex-grow:7}.grow-8{flex-grow:8}.grow-9{flex-grow:9}.grow-10{flex-grow:10}.grow-11{flex-grow:11}.grow-12{flex-grow:12}.vh,v-h{clip:rect(0 0 0 0);-webkit-clip-path:inset(50%);clip-path:inset(50%);block-size:1px;overflow:hidden;position:absolute;white-space:nowrap;inline-size:1px}.reset{all:initial}.basicgrid{display:flex;flex-flow:row wrap;gap:var(--gap);--col-width: 15ch
-}.basicgrid>*{flex-grow:1;flex-shrink:1;flex-basis:var(--col-width);margin:0;min-width:1px}.colwidth-l{--col-width: 35ch }.colwidth-m{--col-width: 24ch }.colwidth-s{--col-width: 15ch }.minwidth-l{min-width:35ch}.minwidth-m{min-width:24ch}.minwidth-s{min-width:15ch}.maxwidth-l{max-width:35ch}.maxwidth-m{max-width:24ch}.maxwidth-s{max-width:15ch}.col-0{flex-grow:0}.col-1{flex-grow:1;flex-basis:calc(1*var(--col-width))}.col-2{flex-grow:2;flex-basis:calc(2*var(--col-width))}.col-3{flex-grow:3;flex-basis:calc(3*var(--col-width))}.col-4{flex-grow:4;flex-basis:calc(4*var(--col-width))}.col-5{flex-grow:5;flex-basis:calc(5*var(--col-width))}.col-6{flex-grow:6;flex-basis:calc(6*var(--col-width))}.col-7{flex-grow:7;flex-basis:calc(7*var(--col-width))}.col-8{flex-grow:8;flex-basis:calc(8*var(--col-width))}.col-9{flex-grow:9;flex-basis:calc(9*var(--col-width))}.col-10{flex-grow:10;flex-basis:calc(10*var(--col-width))}.col-11{flex-grow:11;flex-basis:calc(11*var(--col-width))}.col-12{flex-grow:12;flex-basis:calc(12*var(--col-width))}.col-inf{flex-grow:1000000}.textcolumns{--col-width: 30ch;column-width:var(--col-width);column-gap:var(--gap);margin-block:var(--gap)}.textcolumns :first-child{margin-block-start:0!important}.textcenter{text-align:center}.container{max-inline-size:var(--eff-line-length);margin-inline:auto}.fullbleed{position:relative;width:100vw;left:50%;transform:translateX(-50vw);border-radius:0;border-inline:none}.pad{padding-inline:var(--gap)}.margin{margin:var(--gap)}.table{display:table;width:100%;margin:0}.row,.rows>*{display:table-row}.row:not(:last-child)>*,.rows>:not(:last-child)>*{margin-bottom:var(--gap)}.row>:not([specificity-hack]),.rows>*>:not([specificity-hack]){display:table-cell;vertical-align:top}.row>*+:not([specificity-hack]),:is(.rows > *)>*+:not([specificity-hack]){margin-inline-start:var(--gap);display:inline-block}.fixed{position:fixed}.sticky{position:sticky}.top{top:0}.right{right:0}.bottom{bottom:0}.left{left:0}.\^{top:0}.\>{right:0}.\_{bottom:0}.\<{left:0}.float\<{float:left}.float\>{float:right}.allcaps,all-caps{text-transform:uppercase;letter-spacing:.1rem}.monospace,code,kbd,samp{font-family:var(--mono-font)}.box,.missing-card,aside,details,missing-card{margin:var(--gap) 0;padding:var(--gap);border-radius:calc(var(--rhythm)/4);background:var(--colorful-bg);border:1px solid var(--accent)}:is(.box,missing-card,.missing-card)>:first-child:first-child:first-child:first-child,:is(.box,missing-card,.missing-card)>:first-child>:first-child:first-child:first-child,:is(.box,missing-card,.missing-card)>:first-child>:first-child>:first-child:first-child,:is(.box,missing-card,.missing-card)>:first-child>:first-child>:first-child>:first-child{margin-block-start:0}:is(.box,missing-card,.missing-card)>:last-child:last-child:last-child:last-child,:is(.box,missing-card,.missing-card)>:last-child>:last-child:last-child:last-child,:is(.box,missing-card,.missing-card)>:last-child>:last-child>:last-child:last-child,:is(.box,missing-card,.missing-card)>:last-child>:last-child>:last-child>:last-child{margin-block-end:0}.breadcrumbs[aria-label] ol,.breadcrumbs[aria-label] ul{list-style:none;padding-inline-start:0}.breadcrumbs[aria-label] li{display:inline}:is(.breadcrumbs[aria-label] li)+li::before{content:' / ';display:inline}.breadcrumbs[aria-label] [aria-current=page],dt{font-weight:700}.chip,chip{border:1px solid var(--accent);background:var(--colorful-bg);border-radius:calc(var(--rhythm)/2);padding-inline:calc(var(--rhythm)/2)}.navbar,header[is=nav-bar]{margin:0;padding:0 var(--rhythm);background:var(--colorful-bg);border-block-end:1px solid var(--accent);overflow-x:auto;scrollbar-width:thin;display:flex;flex-flow:row;gap:calc(2*var(--rhythm))}:is(.navbar,header[is="nav-bar"]) :first-child{margin-inline-start:auto}:is(.navbar,header[is="nav-bar"]) :last-child{margin-inline-end:auto}:is(.navbar,header[is="nav-bar"]) *,:is(.navbar,header[is="nav-bar"]) nav ul[role=list] *{flex-shrink:0}:is(.navbar,header[is="nav-bar"]) nav ul[role=list]{padding-inline-start:0;display:flex;flex-flow:row;gap:var(--rhythm)}:is(.navbar,header[is="nav-bar"]) a{font-weight:700;text-decoration:none}.sub-title,sub-title{display:block;font-weight:400;color:var(--muted-fg)}[role=tablist]{display:flex;gap:.5ch;scrollbar-width:thin}[role=tab][role=tab]{all:initial;font-family:inherit;padding:0 calc(var(--rhythm)/4);margin:0;min-height:var(--rhythm);border:solid var(--accent);border-width:1px 1px 0;border-block-end-color:transparent;background:var(--interactive-bg);border-start-start-radius:.4em;border-start-end-radius:.4em}[role=tab][role=tab]:active,[role=tab][role=tab][aria-selected=true]{transform:none;bottom:-1px;position:relative;background:var(--colorful-bg);border-block-end:1px solid var(--colorful-bg)}[role=tabpanel]{margin:var(--gap) 0;padding:var(--gap);border-radius:calc(var(--rhythm)/4);background:var(--colorful-bg);border:1px solid var(--accent);margin-block-start:0;border-start-start-radius:0;border-start-end-radius:0;z-index:1}[role=tabpanel]>:first-child:first-child:first-child:first-child,[role=tabpanel]>:first-child>:first-child:first-child:first-child,[role=tabpanel]>:first-child>:first-child>:first-child:first-child,[role=tabpanel]>:first-child>:first-child>:first-child>:first-child,fieldset>:first-child:first-child:first-child:first-child,fieldset>:first-child>:first-child:first-child:first-child,fieldset>:first-child>:first-child>:first-child:first-child,fieldset>:first-child>:first-child>:first-child>:first-child{margin-block-start:0}[role=tabpanel]>:last-child:last-child:last-child:last-child,[role=tabpanel]>:last-child>:last-child:last-child:last-child,[role=tabpanel]>:last-child>:last-child>:last-child:last-child,[role=tabpanel]>:last-child>:last-child>:last-child>:last-child,fieldset>:last-child:last-child:last-child:last-child,fieldset>:last-child>:last-child:last-child:last-child,fieldset>:last-child>:last-child>:last-child:last-child,fieldset>:last-child>:last-child>:last-child>:last-child{margin-block-end:0}.tool-bar,tool-bar{display:flex;flex-flow:row wrap;gap:calc(var(--gap)/2)}audio,embed,iframe,img,object,video{max-inline-size:100%;inline-size:max-content;block-size:auto}input{display:block}label input:not([specificity-hack]){display:inline;padding-block:0}button,input::file-selector-button,input[type=button],input[type=reset],input[type=submit]{display:inline-block;padding:0 calc(var(--rhythm)/4);vertical-align:top;font-size:.8rem;line-height:1.125em;font-family:var(--main-font);min-height:var(--rhythm);background:var(--interactive-bg);border:1px solid var(--accent);box-sizing:border-box;border-radius:.2em;box-shadow:0 .1em .2em var(--shadow)}:is(button,input[type="submit"],input[type="reset"],input[type="button"],input::file-selector-button):focus-visible,:is(button,input[type="submit"],input[type="reset"],input[type="button"],input::file-selector-button):hover{background:var(--colorful-bg)}:is(button,input[type="submit"],input[type="reset"],input[type="button"],input::file-selector-button):active{box-shadow:none;background-color:var(--accent);color:var(--bg)}[aria-expanded=true]:is(button,input[type="submit"],input[type="reset"],input[type="button"],input::file-selector-button),[aria-pressed=true]:is(button,input[type="submit"],input[type="reset"],input[type="button"],input::file-selector-button){box-shadow:0 .05em var(--accent);transform:translateY(.05em);background:var(--pressed-interactive-bg)}input:not([type]),input[type=date],input[type=datetime-local],input[type=datetime],input[type=email],input[type=month],input[type=number],input[type=password],input[type=search],input[type=tel],input[type=text],input[type=time],input[type=url],input[type=week],select,textarea{padding:calc(var(--rhythm)/4);font-size:1rem;line-height:inherit;font-family:var(--main-font);background:var(--bg);border:1px solid var(--faded-fg);border-radius:.2em;vertical-align:top}:is(input:not([type]),input[type="text"],input[type="search"],input[type="tel"],input[type="url"],input[type="email"],input[type="password"],input[type="date"],input[type="month"],input[type="week"],input[type="time"],input[type="datetime"],input[type="datetime-local"],input[type="number"],select,textarea):focus-visible{border:1px solid var(--accent)}:is(input:not([type]),input[type="text"],input[type="search"],input[type="tel"],input[type="url"],input[type="email"],input[type="password"],input[type="date"],input[type="month"],input[type="week"],input[type="time"],input[type="datetime"],input[type="datetime-local"],input[type="number"],select,textarea)::placeholder{color:var(--muted-fg);opacity:1;text-align:end}input[type=range]{width:100%;padding:calc(var(--gap)/4)}input[type=color]{padding:0;margin:0;height:calc(1.5*var(--rhythm));border:0;background:0 0}input[type=file]{padding:calc(var(--gap)/4) 0;font-size:inherit;line-height:calc(var(--rhythm)/2)}input[type=file]::file-selector-button{margin-block:.1em 0;margin-inline-end:1ch}select[multiple],td,th{vertical-align:top}optgroup::before{color:var(--muted-fg)}label[for]{display:block;padding-block:calc(var(--gap)/4)}fieldset>legend+*{margin-block-start:0}dl,p{margin-block:var(--gap)}hr{color:inherit;flex-grow:0;border-inline-start:1px solid var(--accent);block-size:auto;border-block-start:1px solid var(--accent);border-block-end:none;border-inline-end:none}blockquote,pre{line-height:var(--rhythm)}pre{font-family:var(--mono-font);-o-tab-size:2;tab-size:2;margin:var(--gap) 0;overflow-x:auto;scrollbar-width:thin;scrollbar-color:var(--accent) transparent;font-size:.9em}blockquote{margin-inline:0 var(--gap);padding-inline:var(--gap) 0;margin-block:var(--gap);font-size:1.1em;font-style:italic;border-inline-start:1px solid var(--faded-fg);color:var(--muted-fg)}blockquote address,blockquote cite,blockquote dfn,blockquote em,blockquote i,blockquote var,optgroup::before,q address,q cite,q dfn,q em,q i,q var{font-style:normal}blockquote footer{text-align:right;text-align:end}ol,ul{padding-inline-start:var(--rhythm)}ol[role=list],ul[role=list]{padding-inline-start:0;list-style:none}ul{list-style:square}ol{list-style:decimal}dd{margin-inline-start:var(--rhythm)}figure{max-width:100%;margin-inline:0;padding:var(--gap);border:1px solid var(--faded-fg);border-radius:calc(var(--rhythm)/4)}figure>:first-child:first-child:first-child:first-child,figure>:first-child>:first-child:first-child:first-child,figure>:first-child>:first-child>:first-child:first-child,figure>:first-child>:first-child>:first-child>:first-child{margin-block-start:0}figure>:last-child:last-child:last-child:last-child,figure>:last-child>:last-child:last-child:last-child,figure>:last-child>:last-child>:last-child:last-child,figure>:last-child>:last-child>:last-child>:last-child{margin-block-end:0}figcaption{margin-block:var(--gap);color:var(--muted-fg)}main{max-inline-size:var(--eff-line-length);margin:auto}a{color:var(--link-fg, var(--accent))}.list-of-links a{text-decoration:none}a:hover{text-decoration:underline}span>small:only-child{display:block;float:inline-end;clear:inline-end;--sidenote-width: 20ch;max-inline-size:var(--sidenote-width);padding-inline:1.5ch 1ch;margin-inline-end:calc(1em - var(--sidenote-width));margin-block-end:var(--rhythm);background:var(--bg);border:1px solid transparent;transition:transform .1s ease-in-out}span>small:only-child:focus-within,span>small:only-child:hover{border:1px solid var(--faded-fg);border-radius:.2em;transform:translateX(calc(0px - var(--sidenote-width) + min(var(--gutter-width),var(--sidenote-width))))}del,s{color:var(--bad-fg)}q{font-style:italic}time{font-variant-numeric:tabular-nums}ins,samp{color:var(--ok-fg)}kbd kbd{display:inline-block;padding:0 .3em;font-size:.8em;line-height:1.1em;background:var(--interactive-bg);border:1px outset var(--faded-fg);border-block-end-width:3px;border-radius:.3em}sub,sup{vertical-align:bottom;line-height:1}sup{vertical-align:top}mark{background:var(--warn-bg);color:var(--warn-fg)}ins{background:var(--ok-bg)}del{background:var(--bad-bg)}details>:first-child:first-child:first-child:first-child,details>:first-child>:first-child:first-child:first-child,details>:first-child>:first-child>:first-child:first-child,details>:first-child>:first-child>:first-child>:first-child{margin-block-start:0}details>:last-child:last-child:last-child:last-child,details>:last-child>:last-child:last-child:last-child,details>:last-child>:last-child>:last-child:last-child,details>:last-child>:last-child>:last-child>:last-child{margin-block-end:0}details{padding-block-start:0}details:not([open]){padding-block-end:0}summary{margin:calc(0px - var(--gap));margin-bottom:0;padding-inline:var(--gap);font-weight:700;background:var(--accent);color:var(--bg);border-radius:inherit;cursor:pointer}summary:active,summary:focus-visible{background:var(--muted-accent);border-color:var(--muted-accent)}details[open] summary{border-block-end:1px solid var(--accent);border-end-end-radius:0;border-end-start-radius:0}html{font-family:var(--main-font);line-height:var(--rhythm);font-size:120%}footer,header,section{margin-block:calc(2*var(--gap))}nav a{text-decoration:none;color:var(--accent)}aside>:first-child:first-child:first-child:first-child,aside>:first-child>:first-child:first-child:first-child,aside>:first-child>:first-child>:first-child:first-child,aside>:first-child>:first-child>:first-child>:first-child{margin-block-start:0}aside>:last-child:last-child:last-child:last-child,aside>:last-child>:last-child:last-child:last-child,aside>:last-child>:last-child>:last-child:last-child,aside>:last-child>:last-child>:last-child>:last-child{margin-block-end:0}aside h1,aside h2,aside h3,aside h4,aside h5,aside h6{font-size:1em;text-transform:none;letter-spacing:none}h1,h2,h3,h4,h5,h6{margin-block-end:var(--gap);font-family:var(--display-font);margin-block-start:calc(2*var(--gap))}.h1,.h2,h1,h2{font-size:2em;text-transform:none;line-height:calc(2*var(--rhythm));letter-spacing:0}.h2,h2{font-size:1.6em;line-height:calc(1.5*var(--rhythm))}.h3,.h4,.h5,.h6,h3,h4,h5,h6{font-size:1.17em;text-transform:uppercase;line-height:calc(1*var(--rhythm));letter-spacing:.02em}.h4,.h5,.h6,h4,h5,h6{font-size:1em;text-transform:none;letter-spacing:0;margin-block-start:var(--gap)}h1+h2,h1:first-child,h2+h3,h2:first-child,h3+h4,h3:first-child,h4+h5,h4:first-child,h5+h6,h5:first-child,h6:first-child{margin-block-start:var(--gap)}h1:target,h2:target,h3:target,h4:target,h5:target,h6:target{outline:0}h1:target::before,h2:target::before,h3:target::before,h4:target::before,h5:target::before,h6:target::before{content:'❧';display:inline-block;width:0;transform:translateX(-1.5ch);font-size:2em;vertical-align:bottom;color:var(--accent)}header{border-block-end:1px solid var(--faded-fg)}footer{border-block-start:1px solid var(--faded-fg)}body>footer,body>header{padding:var(--rhythm) var(--gutter-width)}address{--density: 0}caption{text-align:start;font-style:italic}tbody{border-block:1px solid var(--fg)}td:not(:last-child),th:not(:last-child){padding-inline-end:var(--rhythm)}th{text-align:start}:root{--fg: #000;--muted-fg: #3e3e3e;--faded-fg: #8b8b8b;--info-fg: #00386d;--ok-fg: #004825;--bad-fg: #830014;--warn-fg: #463d00;--bg: #fff;--colorful-bg: #d7fff7;--interactive-bg: #e2e2e2;--info-bg: #d4e0ff;--ok-bg: #5dffa2;--bad-bg: #ffddd8;--warn-bg: #ffe53e;--shadow: #777;--accent: #007f5f;--muted-accent: #42ffc6;--rhythm: 1.4rem;--line-length: 40rem;--main-font: 'Inter', -apple-system, system-ui, sans-serif;--display-font: var(--main-font);--mono-font: 'M Plus Code Latin', monospace, monospace;--density: 1;--eff-line-length: /* Effective line length for prose. */
- min(
- calc( 100vw - (2 * var(--rhythm)) ),
- var(--line-length)
- );--gutter-width: /* Width of spaces at each side of page content. */
- calc(
- (
- 100vw /* Viewport width */
- - var(--eff-line-length) /* minus line width */
- ) / 2)}*{--gap: calc(var(--rhythm) * var(--density));accent-color:var(--accent)} \ No newline at end of file
diff --git a/www/releases/_artifacts/v0.0.1/missing.min.css.br b/www/releases/_artifacts/v0.0.1/missing.min.css.br
deleted file mode 100644
index 9c27410..0000000
--- a/www/releases/_artifacts/v0.0.1/missing.min.css.br
+++ /dev/null
Binary files differ
diff --git a/www/releases/_artifacts/v0.0.1/missing.min.css.gz b/www/releases/_artifacts/v0.0.1/missing.min.css.gz
deleted file mode 100644
index ef3aefe..0000000
--- a/www/releases/_artifacts/v0.0.1/missing.min.css.gz
+++ /dev/null
Binary files differ
diff --git a/www/releases/_artifacts/v0.0.2/missing-prism.css b/www/releases/_artifacts/v0.0.2/missing-prism.css
deleted file mode 100644
index 23e48b5..0000000
--- a/www/releases/_artifacts/v0.0.2/missing-prism.css
+++ /dev/null
@@ -1,62 +0,0 @@
-
-.token.comment,
-.token.prolog,
-.token.doctype,
-.token.cdata,
-.token.punctuation {
- color: var(--muted-fg);
-}
-
-.token.property,
-.token.tag,
-.token.boolean,
-.token.number,
-.token.constant,
-.token.symbol,
-.token.deleted {
- color: var(--bad-fg);
-}
-
-.token.selector,
-.token.attr-name,
-.token.string,
-.token.char,
-.token.builtin,
-.token.inserted {
- color: var(--ok-fg);
-}
-
-.token.operator,
-.token.entity,
-.token.url,
-.language-css .token.string,
-.style .token.string,
-.token.regex,
-.token.important,
-.token.variable {
- color: var(--warn-fg)
-}
-
-.token.atrule,
-.token.attr-value,
-.token.keyword {
- color: var(--info-fg);
-}
-
-.token.function {
- color: var(--bad-fg);
- font-style: italic;
-}
-
-.token.important,
-.token.bold {
- font-weight: bold;
-}
-
-.token.italic {
- font-style: italic;
-}
-
-.token.entity {
- cursor: help;
-}
diff --git a/www/releases/_artifacts/v0.0.2/missing-prism.min.css b/www/releases/_artifacts/v0.0.2/missing-prism.min.css
deleted file mode 100644
index 41c91b1..0000000
--- a/www/releases/_artifacts/v0.0.2/missing-prism.min.css
+++ /dev/null
@@ -1 +0,0 @@
-.token.cdata,.token.comment,.token.doctype,.token.prolog,.token.punctuation{color:var(--muted-fg)}.token.boolean,.token.constant,.token.deleted,.token.number,.token.property,.token.symbol,.token.tag{color:var(--bad-fg)}.token.attr-name,.token.builtin,.token.char,.token.inserted,.token.selector,.token.string{color:var(--ok-fg)}.language-css .token.string,.style .token.string,.token.entity,.token.important,.token.operator,.token.regex,.token.url,.token.variable{color:var(--warn-fg)}.token.atrule,.token.attr-value,.token.keyword{color:var(--info-fg)}.token.function{color:var(--bad-fg);font-style:italic}.token.bold,.token.important{font-weight:700}.token.italic{font-style:italic}.token.entity{cursor:help} \ No newline at end of file
diff --git a/www/releases/_artifacts/v0.0.2/missing-prism.min.css.br b/www/releases/_artifacts/v0.0.2/missing-prism.min.css.br
deleted file mode 100644
index 2a4ac49..0000000
--- a/www/releases/_artifacts/v0.0.2/missing-prism.min.css.br
+++ /dev/null
Binary files differ
diff --git a/www/releases/_artifacts/v0.0.2/missing-prism.min.css.gz b/www/releases/_artifacts/v0.0.2/missing-prism.min.css.gz
deleted file mode 100644
index e834bd4..0000000
--- a/www/releases/_artifacts/v0.0.2/missing-prism.min.css.gz
+++ /dev/null
Binary files differ
diff --git a/www/releases/_artifacts/v0.0.2/missing.css b/www/releases/_artifacts/v0.0.2/missing.css
deleted file mode 100644
index e3ff3d7..0000000
--- a/www/releases/_artifacts/v0.0.2/missing.css
+++ /dev/null
@@ -1,1601 +0,0 @@
-/* Document
- * ========================================================================== */
-
-/**
- * 1. Add border box sizing in all browsers (opinionated).
- * 2. Backgrounds do not repeat by default (opinionated).
- */
-
-*,
-::before,
-::after {
- box-sizing: border-box; /* 1 */
- background-repeat: no-repeat; /* 2 */
-}
-
-/**
- * 1. Add text decoration inheritance in all browsers (opinionated).
- * 2. Add vertical alignment inheritance in all browsers (opinionated).
- */
-
-::before,
-::after {
- text-decoration: inherit; /* 1 */
- vertical-align: inherit; /* 2 */
-}
-
-/**
- * 1. Use the default cursor in all browsers (opinionated).
- * 3. Breaks words to prevent overflow in all browsers (opinionated).
- * 5. Remove the grey highlight on links in iOS (opinionated).
- * 6. Prevent adjustments of font size after orientation changes in iOS.
- */
-
-:root {
- cursor: default; /* 1 */
- overflow-wrap: break-word; /* 3 */
- -webkit-tap-highlight-color: transparent; /* 5 */
- text-size-adjust: none;
- -webkit-text-size-adjust: none;
-}
-
-/* Text-level semantics
- * ========================================================================== */
-
-/**
- * Add the correct text decoration in Safari.
- */
-
-abbr[title] {
- text-decoration: underline;
- -webkit-text-decoration: underline dotted;
- text-decoration: underline dotted;
-}
-
-/**
- * Add the correct font weight in Chrome, Edge, and Safari.
- */
-
-strong, b {
- font-weight: bolder;
-}
-
-/**
- * Add the correct font size in all browsers.
- */
-
-small {
- font-size: 80%;
-}
-
-/* Embedded content
- * ========================================================================== */
-
-/*
- * Change the alignment on media elements in all browsers (opinionated).
- */
-
-audio, canvas, iframe, img, svg, video {
- vertical-align: middle;
-}
-
-/**
- * Change the fill color to match the text color in all browsers (opinionated).
- */
-
-svg:not([fill]) {
- fill: currentColor;
-}
-
-/* Tabular data
- * ========================================================================== */
-
-/**
- * 1. Collapse border spacing in all browsers (opinionated).
- * 2. Correct table border color in Chrome, Edge, and Safari.
- * 3. Remove text indentation from table contents in Chrome, Edge, and Safari.
- */
-
-table {
- border-collapse: collapse; /* 1 */
- border-color: currentColor; /* 2 */
- text-indent: 0; /* 3 */
-}
-
-/* Forms
- * ========================================================================== */
-
-/**
- * Remove the margin on controls in Safari.
- */
-
-button, input, select {
- margin: 0;
-}
-
-/**
- * Correct the inability to style buttons in iOS and Safari.
- */
-
-button, [type="button"], [type="reset"], [type="submit"] {
- -webkit-appearance: button;
-}
-
-/**
- * Change the inconsistent appearance in all browsers (opinionated).
- */
-
-fieldset {
- border: 1px solid #a0a0a0;
-}
-
-/**
- * Add the correct vertical alignment in Chrome, Edge, and Firefox.
- */
-
-progress {
- vertical-align: baseline;
-}
-
-/**
- * 1. Remove the margin in Firefox and Safari.
- */
-
-textarea {
- margin: 0; /* 1 */
-}
-
-/**
- * 1. Correct the odd appearance in Chrome, Edge, and Safari.
- * 2. Correct the outline style in Safari.
- */
-
-[type="search"] {
- -webkit-appearance: textfield; /* 1 */
- outline-offset: -2px; /* 2 */
-}
-
-/**
- * Correct the cursor style of increment and decrement buttons in Safari.
- */
-
-::-webkit-inner-spin-button,
-::-webkit-outer-spin-button {
- block-size: auto;
-}
-
-/**
- * Correct the text style of placeholders in Chrome, Edge, and Safari.
- */
-
-::-webkit-input-placeholder {
- color: inherit;
- opacity: 0.54;
-}
-
-/**
- * Remove the inner padding in Chrome, Edge, and Safari on macOS.
- */
-
-::-webkit-search-decoration {
- -webkit-appearance: none;
-}
-
-/**
- * 1. Correct the inability to style upload buttons in iOS and Safari.
- * 2. Change font properties to `inherit` in Safari.
- */
-
-::-webkit-file-upload-button {
- -webkit-appearance: button; /* 1 */
- font: inherit; /* 2 */
-}
-
-/* Interactive
- * ========================================================================== */
-
-[hidden] {
- display: none !important;
-}
-
-:focus-visible {
- outline: .2em solid var(--accent);
- z-index: 32;
-}
-
-iframe:focus-visible,
- html:focus-visible,
- body:focus-visible {
- outline: none;
- }
-
-:target {
- outline: .2em solid var(--fg);
- z-index: 32;
-}
-
-/*
- * Add the correct display in Safari.
- */
-
-details > summary:first-of-type {
- display: list-item;
-}
-
-/* Accessibility
- * ========================================================================== */
-
-/**
- * Change the cursor on busy elements in all browsers (opinionated).
- */
-
-[aria-busy="true"] {
- cursor: progress;
-}
-
-/*
- * Change the cursor on disabled, not-editable, or otherwise
- * inoperable elements in all browsers (opinionated).
- */
-
-[aria-disabled="true"], [disabled] {
- cursor: not-allowed;
-}
-
-datalist {
- display: none !important;
-}
-
-.info {
- --colorful-bg: var(--info-bg);
- --accent: var(--info-fg);
-}
-
-.ok {
- --colorful-bg: var(--ok-bg);
- --accent: var(--ok-fg);
-}
-
-.warn {
- --colorful-bg: var(--warn-bg);
- --accent: var(--warn-fg);
-}
-
-.bad {
- --colorful-bg: var(--bad-bg);
- --accent: var(--bad-fg);
-}
-
-.color {
- color: var(--accent);
-}
-
-.bg {
- background: var(--colorful-bg);
-}
-
-.border {
- border-style: solid;
- border-color: var(--accent);
-}
-
-.airy { --density: 3; }
-
-.dense { --density: 1; }
-
-.crowded { --density: .5; }
-
-.packed { --density: 0; }
-
-.autodensity {
- --density: 1
-}
-
-@media (min-width: 768px) {
-
-.autodensity { --density: 2
-} }
-
-@media (min-width: 1024px) {
-
-.autodensity { --density: 3
-} }
-
-.f-row {
- display: flex;
- flex-direction: row;
- gap: var(--gap)
-}
-
-.f-row > * { margin: 0 }
-
-.f-col {
- display: flex;
- flex-direction: column;
- gap: var(--gap)
-}
-
-.f-col > * { margin: 0 }
-
-.f-switch {
- display: flex;
- flex-flow: row wrap;
- gap: var(--gap);
- --col-width: 15ch /* see ./layout.css */
-}
-
-.f-switch > * { margin: 0 }
-
-.f-switch > * {
- flex-basis: calc((var(--col-width) - 100%) * 999);
- flex-grow: 1;
- }
-
-.justify-content\:start { justify-content: start }
-
-.justify-content\:end { justify-content: end }
-
-.justify-content\:baseline { justify-content: baseline }
-
-.justify-content\:center { justify-content: center }
-
-.justify-content\:stretch { justify-content: stretch }
-
-.align-items\:start { align-items: start }
-
-.align-items\:end { align-items: end }
-
-.align-items\:baseline { align-items: baseline }
-
-.align-items\:center { align-items: center }
-
-.align-items\:stretch { align-items: stretch }
-
-.align-self\:start { align-self: start }
-
-.align-self\:end { align-self: end }
-
-.align-self\:baseline { align-self: baseline }
-
-.align-self\:center { align-self: center }
-
-.align-self\:stretch { align-self: stretch }
-
-.grow-0 { flex-grow: 0 }
-
-.grow-1 { flex-grow: 1 }
-
-.grow-2 { flex-grow: 2 }
-
-.grow-3 { flex-grow: 3 }
-
-.grow-4 { flex-grow: 4 }
-
-.grow-5 { flex-grow: 5 }
-
-.grow-6 { flex-grow: 6 }
-
-.grow-7 { flex-grow: 7 }
-
-.grow-8 { flex-grow: 8 }
-
-.grow-9 { flex-grow: 9 }
-
-.grow-10 { flex-grow: 10 }
-
-.grow-11 { flex-grow: 11 }
-
-.grow-12 { flex-grow: 12 }
-
-.vh, v-h {
- clip: rect(0 0 0 0);
- -webkit-clip-path: inset(50%);
- clip-path: inset(50%);
- block-size: 1px;
- overflow: hidden;
- position: absolute;
- white-space: nowrap;
- inline-size: 1px;
-}
-
-.reset {
- all: initial;
-}
-
-.basicgrid {
- display: grid;
- grid-template-columns: repeat(auto-fit, minmax(var(--col-width), 1fr));
- gap: var(--gap);
- --col-width: 15ch
-}
-
-.basicgrid > * {
- margin: 0 !important;
- min-width: 1px;
- }
-
-.colwidth-l { --col-width: 35ch }
-
-.colwidth-m { --col-width: 24ch }
-
-.colwidth-s { --col-width: 15ch }
-
-.minwidth-l { min-width: 35ch }
-
-.minwidth-m { min-width: 24ch }
-
-.minwidth-s { min-width: 15ch }
-
-.maxwidth-l { max-width: 35ch }
-
-.maxwidth-m { max-width: 24ch }
-
-.maxwidth-s { max-width: 15ch }
-
-.col-0 { flex-grow: 0 ; }
-
-.col-1 { grid-column-end: span 1 }
-
-.col-2 { grid-column-end: span 2 }
-
-.col-3 { grid-column-end: span 3 }
-
-.col-4 { grid-column-end: span 4 }
-
-.col-5 { grid-column-end: span 5 }
-
-.col-6 { grid-column-end: span 6 }
-
-.col-7 { grid-column-end: span 7 }
-
-.col-8 { grid-column-end: span 8 }
-
-.col-9 { grid-column-end: span 9 }
-
-.col-10 { grid-column-end: span 10 }
-
-.col-11 { grid-column-end: span 11 }
-
-.col-12 { grid-column-end: span 12 }
-
-.col-inf { grid-column-end: -1 }
-
-/**/
-
-.textcolumns {
- --col-width: 30ch;
- column-width: var(--col-width);
- column-gap: var(--gap);
- margin-block: var(--gap)
-}
-
-.textcolumns :first-child { margin-block-start: 0 !important }
-
-.textcenter {
- text-align: center;
-}
-
-/**/
-
-.container {
- max-inline-size: var(--eff-line-length);
- margin-inline: auto;
-}
-
-.fullbleed {
- position: relative;
- width: 100vw;
- left: 50%;
- transform: translateX(-50vw);
-
- border-radius: 0;
- border-inline: none;
-}
-
-/**/
-
-.pad {
- padding-inline: var(--gap);
-}
-
-.pad-block { padding-block: var(--gap) }
-
-.margin {
- margin: var(--gap);
-}
-
-.margin-block { margin-block: var(--gap) }
-
-.margin-inline { margin-inline: var(--gap) }
-
-/**/
-
-.inline { display: inline }
-
-.block { display: block }
-
-.contents { display: contents }
-
-.table {
- display: table;
- width: 100%;
- margin: 0;
-}
-
-.row, .rows > * {
- display: table-row
-}
-
-.row:not(:last-child) > *, .rows > *:not(:last-child) > * {
- margin-bottom: var(--gap);
- }
-
-.row > *:not([specificity-hack]), .rows > * > *:not([specificity-hack]) {
- display: table-cell;
- vertical-align: top;
- }
-
-.row > * + *:not([specificity-hack]), :is(.rows > *) > * + *:not([specificity-hack]) {
- margin-inline-start: var(--gap);
- display: inline-block;
- }
-
-/**/
-
-.fixed { position: fixed }
-
-.sticky { position: sticky }
-
-.top { top: 0 }
-
-.right { right: 0 }
-
-.bottom { bottom: 0 }
-
-.left { left: 0 }
-
-.\^ { top: 0 }
-
-.\> { right: 0 }
-
-.\_ { bottom: 0 }
-
-.\< { left: 0 }
-
-.float\< { float: left }
-
-.float\> { float: right }
-
-.scroll { overflow: auto }
-
-.scroll\! { overflow: scroll }
-
-all-caps, .allcaps {
- text-transform: uppercase;
- letter-spacing: .1rem;
-}
-
-.monospace {
- font-family: var(--mono-font);
-}
-
-.box, missing-card, .missing-card {
- margin: var(--gap) 0;
- padding: var(--gap);
- border-radius: calc(var(--rhythm) / 4);
- background: var(--colorful-bg);
- border: 1px solid var(--accent);
- /* artificially increase specificity */
- /* TODO: come up with a better way to do this */
-}
-
-:is(.box,missing-card,.missing-card) > :first-child:first-child:first-child:first-child,
- :is(.box,missing-card,.missing-card) > :first-child>:first-child:first-child:first-child,
- :is(.box,missing-card,.missing-card) > :first-child>:first-child>:first-child:first-child,
- :is(.box,missing-card,.missing-card) > :first-child>:first-child>:first-child>:first-child { margin-block-start: 0; }
-
-:is(.box,missing-card,.missing-card) > :last-child:last-child:last-child:last-child,
- :is(.box,missing-card,.missing-card) > :last-child>:last-child:last-child:last-child,
- :is(.box,missing-card,.missing-card) > :last-child>:last-child>:last-child:last-child,
- :is(.box,missing-card,.missing-card) > :last-child>:last-child>:last-child>:last-child { margin-block-end: 0; }
-
-.titlebar {
- margin-inline: calc(0px - var(--gap));
- margin-block-end: calc(0px - var(--gap));
- padding-inline: var(--gap);
- font: inherit;
- font-weight: bold;
- translate: 0 calc(-1px - var(--gap));
- background: var(--accent);
- color: var(--bg);
-}
-
-.breadcrumbs[aria-label] ul, .breadcrumbs[aria-label] ol {
- list-style: none;
- padding-inline-start: 0;
- }
-
-.breadcrumbs[aria-label] li {
- display: inline
- }
-
-:is(.breadcrumbs[aria-label] li)+li::before {
- content: ' / ' / '';
- content: ' / ';
- display: inline;
- }
-
-.breadcrumbs[aria-label] [aria-current="page"] {
- font-weight: bold;
- }
-
-.chip, chip {
- border: 1px solid var(--accent);
- background: var(--colorful-bg);
- border-radius: calc(var(--rhythm) / 2);
- padding-inline: calc(var(--rhythm) / 2);
-}
-
-.navbar, header[is="nav-bar"] {
- margin: 0;
- padding: 0 var(--rhythm);
-
- background: var(--colorful-bg);
- border-block-end: 1px solid var(--accent);
-
- overflow-x: auto;
- scrollbar-width: thin;
-
- /* Inner layout */
- display: flex;
- flex-flow: row;
- gap: calc(2 * var(--rhythm))
-}
-
-:is(.navbar,header[is="nav-bar"]) :first-child { margin-inline-start: auto; }
-
-:is(.navbar,header[is="nav-bar"]) :last-child { margin-inline-end: auto; }
-
-:is(.navbar,header[is="nav-bar"]) * { flex-shrink: 0 }
-
-:is(.navbar,header[is="nav-bar"]) nav ul[role="list"] {
- padding-inline-start: 0;
- display: flex;
- flex-flow: row;
- gap: var(--rhythm)
- }
-
-:is(.navbar,header[is="nav-bar"]) nav ul[role="list"] * { flex-shrink: 0 }
-
-:is(.navbar,header[is="nav-bar"]) a {
- font-weight: bold;
- text-decoration: none;
- }
-
-:is(.navbar,header[is="nav-bar"]) a:hover, :is(.navbar,header[is="nav-bar"]) a:focus {
- text-decoration: underline;
- }
-
-:is(.navbar,header[is="nav-bar"]) [aria-current=page] {
- background: var(--accent);
- color: var(--colorful-bg);
- border-radius: .2em;
- outline: .2em solid var(--accent);
- }
-
-.sidebar {
- margin: var(--gap) 0;
- padding: var(--gap);
- border-radius: calc(var(--rhythm) / 4);
- background: var(--colorful-bg);
- border: 1px solid var(--accent)
- /* artificially increase specificity */
- /* TODO: come up with a better way to do this */
-}
-
-.sidebar > :first-child:first-child:first-child:first-child,
- .sidebar > :first-child>:first-child:first-child:first-child,
- .sidebar > :first-child>:first-child>:first-child:first-child,
- .sidebar > :first-child>:first-child>:first-child>:first-child { margin-block-start: 0; }
-
-.sidebar > :last-child:last-child:last-child:last-child,
- .sidebar > :last-child>:last-child:last-child:last-child,
- .sidebar > :last-child>:last-child>:last-child:last-child,
- .sidebar > :last-child>:last-child>:last-child>:last-child { margin-block-end: 0; }
-
-.sidebar {
-
- border-block: none;
- border-inline-start: none;
- border-radius: 0;
- margin: 0;
-
- font-size: .8em;
- --rhythm: 1em
-}
-
-.sidebar li {
- padding: calc(.5 * var(--gap));
- margin-inline: calc(-.5 * var(--gap));
- border-radius: .4em;
- }
-
-.sidebar a {
- font-weight: bold;
- text-decoration: none;
- }
-
-.sub-title, sub-title {
- /***
- Meant for use in headings. Make sure to also use visually-hidden punctuation
- to mark the subtitle as shown below:
-
- 1 | <h1>
- 2 | Foo Bar<v-h>:</v-h>
- 3 | <sub-title>How I Learned To Stop Worrying and Love Baz</sub-title>
- 4 | </h1>
-
- 1 | <h1>
- 2 | <sub-title class="-allcaps">Breaking News</sub-title><v-h>:</v-h>
- 3 | Bad Thing Happens
- 4 | <h1>
- ***/
-
- display: block;
-
- font-weight: normal;
-
- color: var(--muted-fg);
-}
-
-[role="tablist"] {
- display: flex;
- gap: .5ch;
- scrollbar-width: thin;
-}
-
-[role="tab"][role="tab"] {
- all: initial;
-
- font-family: inherit;
-
- padding: 0 calc(var(--rhythm) / 4);
- margin: 0;
- min-height: var(--rhythm);
-
- border: solid var(--accent);
- border-width: 1px 1px 0 1px;
- border-block-end-color: transparent;
- background: var(--interactive-bg);
-
- border-start-start-radius: .4em;
- border-start-end-radius: .4em
-}
-
-[role="tab"][role="tab"]:active, [role="tab"][role="tab"][aria-selected="true"] {
- transform: none;
- bottom: -1px;
- position: relative;
- background: var(--colorful-bg);
- border-block-end: 1px solid var(--colorful-bg);
- }
-
-[role="tabpanel"] {
- margin: var(--gap) 0;
- padding: var(--gap);
- border-radius: calc(var(--rhythm) / 4);
- background: var(--colorful-bg);
- border: 1px solid var(--accent);
- /* artificially increase specificity */
- /* TODO: come up with a better way to do this */
-}
-
-[role="tabpanel"] > :first-child:first-child:first-child:first-child,
- [role="tabpanel"] > :first-child>:first-child:first-child:first-child,
- [role="tabpanel"] > :first-child>:first-child>:first-child:first-child,
- [role="tabpanel"] > :first-child>:first-child>:first-child>:first-child { margin-block-start: 0; }
-
-[role="tabpanel"] > :last-child:last-child:last-child:last-child,
- [role="tabpanel"] > :last-child>:last-child:last-child:last-child,
- [role="tabpanel"] > :last-child>:last-child>:last-child:last-child,
- [role="tabpanel"] > :last-child>:last-child>:last-child>:last-child { margin-block-end: 0; }
-
-[role="tabpanel"] {
- margin-block-start: 0;
- border-start-start-radius: 0;
- border-start-end-radius: 0;
- z-index: 1;
-}
-
-tool-bar, .tool-bar {
- display: flex;
- flex-flow: row wrap;
- gap: calc(var(--gap) / 2);
-}
-
-/***
- 4.8 Embedded content
- https://html.spec.whatwg.org/multipage/embedded-content.html
- ***/
-
-img, video, audio, iframe, object, embed {
- max-inline-size: 100%;
- inline-size: max-content;
- block-size: auto;
-}
-
-/***
- 4.10 Forms
- https://html.spec.whatwg.org/multipage/forms.html
- ***/
-
-input { display: block; }
-
-label input:not([specificity-hack]) { display: inline; padding-block: 0; }
-
-button,
-input[type="submit"],
-input[type="reset"],
-input[type="button"],
-input::file-selector-button {
- display: inline-block;
- padding: 0 calc(var(--rhythm) / 4);
- vertical-align: top;
-
- font-size: .8rem;
- line-height: 1.125em;
- font-family: var(--main-font);
- min-height: var(--rhythm);
-
- background: var(--interactive-bg);
- border: 1px solid var(--accent);
- box-sizing: border-box;
- border-radius: .2em;
-
- box-shadow: 0 .1em .2em var(--shadow)
-}
-
-:is(button,input[type="submit"],input[type="reset"],input[type="button"],input::file-selector-button):hover, :is(button,input[type="submit"],input[type="reset"],input[type="button"],input::file-selector-button):focus-visible {
- background: var(--colorful-bg);
- }
-
-:is(button,input[type="submit"],input[type="reset"],input[type="button"],input::file-selector-button):active {
- box-shadow: none;
- background-color: var(--accent);
- color: var(--bg);
- }
-
-[aria-pressed="true"]:is(button,input[type="submit"],input[type="reset"],input[type="button"],input::file-selector-button), [aria-expanded="true"]:is(button,input[type="submit"],input[type="reset"],input[type="button"],input::file-selector-button) {
- box-shadow: 0 .05em var(--accent);
- transform: translateY(.05em);
- background: var(--pressed-interactive-bg);
- }
-
-input:not([type]),
-input[type="text"],
-input[type="search"],
-input[type="tel"],
-input[type="url"],
-input[type="email"],
-input[type="password"],
-input[type="date"],
-input[type="month"],
-input[type="week"],
-input[type="time"],
-input[type="datetime"],
-input[type="datetime-local"],
-input[type="number"],
-select,
-textarea {
- padding: calc(var(--rhythm) / 4);
- vertical-align: top;
-
- font-size: 1rem;
- line-height: inherit;
- font-family: var(--main-font);
-
- background: var(--bg);
- border: 1px solid var(--faded-fg);
- border-radius: .2em;
-
- vertical-align: top
-}
-
-:is(input:not([type]),input[type="text"],input[type="search"],input[type="tel"],input[type="url"],input[type="email"],input[type="password"],input[type="date"],input[type="month"],input[type="week"],input[type="time"],input[type="datetime"],input[type="datetime-local"],input[type="number"],select,textarea):focus-visible {
- border: 1px solid var(--accent);
- }
-
-:is(input:not([type]),input[type="text"],input[type="search"],input[type="tel"],input[type="url"],input[type="email"],input[type="password"],input[type="date"],input[type="month"],input[type="week"],input[type="time"],input[type="datetime"],input[type="datetime-local"],input[type="number"],select,textarea)::placeholder {
- color: var(--muted-fg);
- opacity: 1;
- text-align: end;
- }
-
-input[type="range"] {
- width: 100%;
- padding: calc(var(--gap) / 4);
-}
-
-input[type="color"] {
- padding: 0;
- margin: 0;
- height: calc(1.5 * var(--rhythm));
-
- border: none;
- background: none;
-}
-
-input[type="file"] {
- padding: calc(var(--gap) / 4) 0;
- font-size: inherit;
- line-height: calc(var(--rhythm) / 2)
-}
-
-input[type="file"]::file-selector-button {
- margin-block: .1em 0;
- margin-inline-end: 1ch;
- }
-
-select[multiple] {
- vertical-align: top;
-}
-
-optgroup::before {
- color: var(--muted-fg);
- font-style: normal;
-}
-
-progress {
- /* TODO */
-}
-
-meter {
- /* TODO */
-}
-
-label[for] {
- display: block;
- padding-block: calc(var(--gap) / 4);
-}
-
-fieldset {
- position: relative;
-
- padding: var(--gap);
- margin: var(--gap) 0;
- width: 100%;
- border-radius: .2em;
-
- /* artificially increase specificity */
-
- /* TODO: come up with a better way to do this */
-}
-
-fieldset > :first-child:first-child:first-child:first-child,
- fieldset > :first-child>:first-child:first-child:first-child,
- fieldset > :first-child>:first-child>:first-child:first-child,
- fieldset > :first-child>:first-child>:first-child>:first-child { margin-block-start: 0; }
-
-fieldset > :last-child:last-child:last-child:last-child,
- fieldset > :last-child>:last-child:last-child:last-child,
- fieldset > :last-child>:last-child>:last-child:last-child,
- fieldset > :last-child>:last-child>:last-child>:last-child { margin-block-end: 0; }
-
-fieldset > legend + * { margin-block-start: 0 }
-
-fieldset {
-
- border: 1px solid var(--faded-fg);
-}
-
-/***
- 4.4 Grouping content
- https://html.spec.whatwg.org/multipage/grouping-content.html
- ***/
-
-p {
- margin-block: var(--gap);
-}
-
-hr {
- color: inherit;
-
- flex-grow: 0;
- border-inline-start: 1px solid var(--accent);
- block-size: auto;
- border-block-start: 1px solid var(--accent);
- border-block-end: none;
- border-inline-end: none;
-}
-
-pre {
- font-family: var(--mono-font);
- font-size: .9em;
- line-height: var(--rhythm);
- -o-tab-size: 2;
- tab-size: 2;
-
- margin: var(--gap) 0;
-
- overflow-x: auto;
- scrollbar-width: thin;
- scrollbar-color: var(--accent) transparent;
-}
-
-blockquote {
- margin-inline: 0 var(--gap);
- padding-inline: var(--gap) 0;
- margin-block: var(--gap);
-
- font-size: 1.1em;
- line-height: var(--rhythm);
- font-style: italic;
-
- border-inline-start: 1px solid var(--faded-fg);
- color: var(--muted-fg)
-}
-
-blockquote em, blockquote cite, blockquote dfn, blockquote var, blockquote i, blockquote address {
- font-style: normal;
- }
-
-blockquote footer {
- text-align: right;
- text-align: end;
- }
-
-ul, ol {
- padding-inline-start: var(--rhythm)
-}
-
-ul[role="list"], ol[role="list"] {
- padding-inline-start: 0;
- list-style: none;
- }
-
-ul {
- list-style: square;
-}
-
-ol {
- list-style: decimal;
-}
-
-dl {
- margin-block: var(--gap);
-}
-
-dt {
- font-weight: bold;
- }
-
-dd {
- margin-inline-start: var(--rhythm);
- }
-
-figure {
- max-width: 100%;
- margin-inline: 0;
- padding: var(--gap);
-
- border: 1px solid var(--faded-fg);
- border-radius: calc(var(--rhythm) / 4);
-
- /* artificially increase specificity */
-
- /* TODO: come up with a better way to do this */
-}
-
-figure > :first-child:first-child:first-child:first-child,
- figure > :first-child>:first-child:first-child:first-child,
- figure > :first-child>:first-child>:first-child:first-child,
- figure > :first-child>:first-child>:first-child>:first-child { margin-block-start: 0; }
-
-figure > :last-child:last-child:last-child:last-child,
- figure > :last-child>:last-child:last-child:last-child,
- figure > :last-child>:last-child>:last-child:last-child,
- figure > :last-child>:last-child>:last-child>:last-child { margin-block-end: 0; }
-
-figcaption {
- margin-block: var(--gap);
-
- color: var(--muted-fg);
-}
-
-main {
- max-inline-size: var(--eff-line-length);
- margin: auto;
-}
-
-/***
- 4.5 Text-level semantics
- https://html.spec.whatwg.org/multipage/text-level-semantics.html
-
- 4.7 Edits
- https://html.spec.whatwg.org/multipage/edits.html
- ***/
-
-/* Text-level semantics */
-
-a {
- color: var(--link-fg, var(--accent))
-}
-
-.list-of-links a {
- text-decoration: none
-}
-
-a:hover {
- text-decoration: underline;
- }
-
-span > small:only-child {
- /***
- Sidenote
- ***/
- display: block;
- float: inline-end;
- clear: inline-end;
-
- --sidenote-width: 20ch;
-
- max-inline-size: var(--sidenote-width);
- padding-inline: 1.5ch 1ch;
-
- margin-inline-end: calc(1em - var(--sidenote-width));
- margin-block-end: var(--rhythm);
-
- background: var(--bg);
- border: 1px solid transparent;
-
- transition: transform .1s ease-in-out
-}
-
-span > small:only-child:hover, span > small:only-child:focus-within {
- border: 1px solid var(--faded-fg);
- border-radius: .2em;
- transform: translateX(calc(
- 0px - var(--sidenote-width)
- + min(var(--gutter-width), var(--sidenote-width))
- ))
- }
-
-s {
- color: var(--bad-fg);
-}
-
-q {
- font-style: italic
-}
-
-q em, q cite, q dfn, q var, q i, q address {
- font-style: normal;
- }
-
-time {
- font-variant-numeric: tabular-nums;
-}
-
-code, samp, kbd {
- font-family: var(--mono-font);
-}
-
-samp {
- color: var(--ok-fg);
-}
-
-kbd kbd /*
- We apply the key-like styling to a nested kbd element, a pattern shown in
- WHATWG HTML for marking up keyboard input:
-
- > Here the kbd element is used to indicate keys to press:
- > ~~~ html
- > <p>To make George eat an apple, press <kbd><kbd>Shift</kbd> + <kbd>F3</kbd></kbd></p>
- > ~~~
-
- The plain kbd element can also be used for clicking menus (<kbd>File |
- New...</kbd>) or voice input (<kbd>Hey Siri, </kbd>)
-*/ {
- display: inline-block;
-
- padding: 0 .3em;
- font-size: .8em;
- line-height: 1.1em;
-
- background: var(--interactive-bg);
- border: 1px outset var(--faded-fg);
- border-block-end-width: 3px;
- border-radius: .3em;
-}
-
-sub {
- vertical-align: bottom;
- line-height: 1;
-}
-
-sup {
- vertical-align: top;
- line-height: 1;
-}
-
-mark {
- background: var(--warn-bg);
- color: var(--warn-fg);
-}
-
-/* Edits */
-
-ins {
- background: var(--ok-bg);
- color: var(--ok-fg);
-}
-
-del {
- background: var(--bad-bg);
- color: var(--bad-fg);
-}
-
-/***
- 4.11 Interactive elements
- https://html.spec.whatwg.org/multipage/interactive-elements.html#interactive-elements
- ***/
-
-details {
- margin: var(--gap) 0;
- padding: var(--gap);
- border-radius: calc(var(--rhythm) / 4);
- background: var(--colorful-bg);
- border: 1px solid var(--accent)
- /* artificially increase specificity */
- /* TODO: come up with a better way to do this */
-}
-
-details > :first-child:first-child:first-child:first-child,
- details > :first-child>:first-child:first-child:first-child,
- details > :first-child>:first-child>:first-child:first-child,
- details > :first-child>:first-child>:first-child>:first-child { margin-block-start: 0; }
-
-details > :last-child:last-child:last-child:last-child,
- details > :last-child>:last-child:last-child:last-child,
- details > :last-child>:last-child>:last-child:last-child,
- details > :last-child>:last-child>:last-child>:last-child { margin-block-end: 0; }
-
-details {
- padding-block-start: 0
-}
-
-details:not([open]) { padding-block-end: 0; }
-
-summary {
- margin: calc(0px - var(--gap));
- margin-top: calc(0px - var(--gap));
- margin-bottom: 0;
- padding-inline: var(--gap);
-
- font-weight: bold;
-
- background: var(--accent);
- color: var(--bg);
-
- cursor: pointer
-}
-
-summary:focus-visible, summary:active {
- background: var(--muted-accent);
- border-color: var(--muted-accent);
- }
-
-details[open] summary {
- border-block-end: 1px solid var(--accent);
- border-end-end-radius: 0;
- border-end-start-radius: 0
-}
-
-dialog {
- margin: var(--gap) 0;
- padding: var(--gap);
- border-radius: calc(var(--rhythm) / 4);
- background: var(--colorful-bg);
- border: 1px solid var(--accent);
- /* artificially increase specificity */
- /* TODO: come up with a better way to do this */
-}
-
-dialog > :first-child:first-child:first-child:first-child,
- dialog > :first-child>:first-child:first-child:first-child,
- dialog > :first-child>:first-child>:first-child:first-child,
- dialog > :first-child>:first-child>:first-child>:first-child { margin-block-start: 0; }
-
-dialog > :last-child:last-child:last-child:last-child,
- dialog > :last-child>:last-child:last-child:last-child,
- dialog > :last-child>:last-child>:last-child:last-child,
- dialog > :last-child>:last-child>:last-child>:last-child { margin-block-end: 0; }
-
-dialog {
- position: absolute;
- inline-inset: 0;
-
- block-size: -moz-fit-content;
-
- block-size: fit-content;
- inline-size: -moz-fit-content;
- inline-size: fit-content;
-
- margin: auto;
-
- background-color: var(--bg);
- color: var(--fg);
-
- box-shadow:
- 0 0 .2em .1em var(--shadow),
- 0 .2em .4em var(--shadow),
- 0 .25em 1em var(--shadow);
-}
-
-dialog[open]::backdrop {
- display: block;
- background: black;
- opacity: .4;
- animation: bg 2s;
-}
-
-@keyframes bg {
- from { background: transparent; }
-}
-
-dialog:not([open]) {
- display: none;
-}
-
-/***
- 4.1 The document element
- https://html.spec.whatwg.org/multipage/semantics.html#the-root-element
-
- 4.3 Sections
- https://html.spec.whatwg.org/multipage/sections.html
- ***/
-
-html {
- font-family: var(--main-font);
- line-height: var(--rhythm);
- font-size: 120%;
-}
-
-body {
- margin: 0;
-}
-
-header, footer, section {
- margin-block: calc(2 * var(--gap));
-}
-
-nav a {
- text-decoration: none;
- color: var(--accent);
- }
-
-aside {
- margin: var(--gap) 0;
- padding: var(--gap);
- border-radius: calc(var(--rhythm) / 4);
- background: var(--colorful-bg);
- border: 1px solid var(--accent)
- /* artificially increase specificity */
- /* TODO: come up with a better way to do this */
-}
-
-aside > :first-child:first-child:first-child:first-child,
- aside > :first-child>:first-child:first-child:first-child,
- aside > :first-child>:first-child>:first-child:first-child,
- aside > :first-child>:first-child>:first-child>:first-child { margin-block-start: 0; }
-
-aside > :last-child:last-child:last-child:last-child,
- aside > :last-child>:last-child:last-child:last-child,
- aside > :last-child>:last-child>:last-child:last-child,
- aside > :last-child>:last-child>:last-child>:last-child { margin-block-end: 0; }
-
-aside h1,
- aside h2,
- aside h3,
- aside h4,
- aside h5,
- aside h6 {
- font-size: 1em;
- text-transform: none;
- letter-spacing: none;
- }
-
-h1, h2, h3, h4, h5, h6 {
- margin-block-end: var(--gap);
- font-family: var(--display-font);
- font-size: 1em;
- margin-block-start: calc(2 * var(--gap));
-}
-
-h1, .h1 {
- font-size: 2em;
- text-transform: none;
- line-height: calc(2 * var(--rhythm));
- letter-spacing: 0;
-}
-
-h2, .h2 {
- font-size: 1.6em;
- text-transform: none;
- line-height: calc(1.5 * var(--rhythm));
- letter-spacing: 0;
-}
-
-h3, .h3 {
- font-size: 1.17em;
- text-transform: uppercase;
- line-height: calc(1 * var(--rhythm));
- letter-spacing: 0.02em;
-}
-
-h4, .h4, h5, .h5, h6, .h6 {
- font-size: 1em;
- text-transform: none;
- line-height: calc(1 * var(--rhythm));
- letter-spacing: 0;
- margin-block-start: var(--gap);
-}
-
-h1 + h2,
-h2 + h3,
-h3 + h4,
-h4 + h5,
-h5 + h6,
-h1:first-child,
-h2:first-child,
-h3:first-child,
-h4:first-child,
-h5:first-child,
-h6:first-child {
- margin-block-start: var(--gap);
-}
-
-h1:target,
-h2:target,
-h3:target,
-h4:target,
-h5:target,
-h6:target {
- outline: none
-}
-
-h1:target::before, h2:target::before, h3:target::before, h4:target::before, h5:target::before, h6:target::before {
- content: '❧';
- display: inline-block;
- width: 0;
- transform: translateX(-1.5ch);
- font-size: 2em;
- vertical-align: bottom;
- color: var(--accent);
- }
-
-header {
- border-block-end: 1px solid var(--faded-fg);
-}
-
-footer {
- border-block-start: 1px solid var(--faded-fg);
-}
-
-body > header,
-body > footer,
-main + footer {
- padding: var(--rhythm) calc((100% - var(--line-length)) / 2)
-}
-
-address {
- --density: 0;
-}
-
-/***
- 4.9 Tabular data
- https://html.spec.whatwg.org/multipage/tables.html
- ***/
-
-table {
- font-variant-numeric: tabular-nums;
- font: inherit;
-}
-
-caption {
- text-align: start;
- font-style: italic;
-}
-
-tbody {
- border-block: 1px solid var(--fg);
-}
-
-thead {
-}
-
-tfoot {
-}
-
-tr {
-
-}
-
-td, th {
- vertical-align: top
-}
-
-td:not(:last-child), th:not(:last-child) {
- padding-inline-end: var(--rhythm);
- }
-
-td {
- }
-
-th {
- text-align: start;
- }
-
-/* Colors taken from https://reasonable.work/colors/ */
-
-:root {
- /* Colors */
- --fg: #000; /* Text. */
- --muted-fg: #3e3e3e; /* De-emphasized or disabled elements' text. Will be
- used with a background of --c-bg and --c-bg-2 -- check contrast! */
- --faded-fg: #8b8b8b; /* De-emphasized or disabled graphical elements. Will not
- be used as a text color. */
- --info-fg: #00386d;
- --ok-fg: #004825;
- --bad-fg: #830014;
- --warn-fg: #463d00;
-
- --bg: #fff; /* Page background. */
- --colorful-bg: #d7fff7; /* Background for blocks: cards, admonitions etc. */
- --interactive-bg: #e2e2e2; /* Background for interactive elements */
- --info-bg: #d4e0ff; /* blue */
- --ok-bg: #5dffa2;
- --bad-bg: #ffddd8;
- --warn-bg: #ffe53e;
-
- --shadow: #777; /* Box shadows. */
-
- --accent: #007f5f; /* Accent color. Will be used *as a text color* with a
- background of --c-bg and --c-bg-2 -- check contrast! */
- --muted-accent: #42ffc6; /* Muted accent color. Will not be used for text. */
-
- /* Lengths */
- --rhythm: 1.4rem; /* Vertical rhythm, line height. */
- --line-length: 40rem; /* Maximum line length for prose. */
-
- /* Fonts */
- --main-font: 'Inter', -apple-system, system-ui, sans-serif;
- --display-font: var(--main-font); /* Headings etc. */
- --mono-font: 'M Plus Code Latin', monospace, monospace; /* monospace twice stops browsers from
- shrinking this */
-
- /* Density */
- --density: 1;
-
- /* Width */
- --full-width: 100vw;
-
- /* Do not set these. */
- --eff-line-length: /* Effective line length for prose. */
- min(
- calc( var(--full-width) - (2 * var(--rhythm)) ),
- var(--line-length)
- );
-
- --gutter-width: /* Width of spaces at each side of page content. */
- calc(
- (
- var(--full-width) /* Viewport width */
- - var(--eff-line-length) /* minus line width */
- ) / 2); /* Divide by 2: there are two page margins */
-}
-
-* {
- --gap: calc(var(--rhythm) * var(--density));
- accent-color: var(--accent);
-}
diff --git a/www/releases/_artifacts/v0.0.2/missing.min.css b/www/releases/_artifacts/v0.0.2/missing.min.css
deleted file mode 100644
index 766606a..0000000
--- a/www/releases/_artifacts/v0.0.2/missing.min.css
+++ /dev/null
@@ -1,16 +0,0 @@
-@keyframes bg{0%{background:0 0}}*,::after,::before{box-sizing:border-box;background-repeat:no-repeat}::after,::before{text-decoration:inherit;vertical-align:inherit}:root{cursor:default;overflow-wrap:break-word;-webkit-tap-highlight-color:transparent;text-size-adjust:none;-webkit-text-size-adjust:none}abbr[title]{-webkit-text-decoration:underline dotted;text-decoration:underline dotted}b,strong{font-weight:bolder}small{font-size:80%}audio,canvas,iframe,img,svg,video{vertical-align:middle}svg:not([fill]){fill:currentColor}table{border-collapse:collapse;border-color:currentColor;text-indent:0;font-variant-numeric:tabular-nums;font:inherit}button,input,select,textarea{margin:0}[type=button],[type=reset],[type=submit],button{-webkit-appearance:button}fieldset{border:1px solid #a0a0a0;position:relative;padding:var(--gap);margin:var(--gap) 0;width:100%;border-radius:.2em;border:1px solid var(--faded-fg)}progress{vertical-align:baseline}[type=search]{-webkit-appearance:textfield;outline-offset:-2px}::-webkit-inner-spin-button,::-webkit-outer-spin-button{block-size:auto}::-webkit-input-placeholder{color:inherit;opacity:.54}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{-webkit-appearance:button;font:inherit}[hidden],datalist{display:none!important}:focus-visible{outline:.2em solid var(--accent);z-index:32}body:focus-visible,html:focus-visible,iframe:focus-visible{outline:0}:target{outline:.2em solid var(--fg);z-index:32}details>summary:first-of-type{display:list-item}[aria-busy=true]{cursor:progress}[aria-disabled=true],[disabled]{cursor:not-allowed}.info{--colorful-bg: var(--info-bg);--accent: var(--info-fg)}.ok{--colorful-bg: var(--ok-bg);--accent: var(--ok-fg)}.warn{--colorful-bg: var(--warn-bg);--accent: var(--warn-fg)}.bad{--colorful-bg: var(--bad-bg);--accent: var(--bad-fg)}.color{color:var(--accent)}.bg{background:var(--colorful-bg)}.border{border-style:solid;border-color:var(--accent)}.airy{--density: 3}.dense{--density: 1}.crowded{--density: .5}.packed,address{--density: 0}.autodensity{--density: 1
-}@media (min-width:768px){.autodensity{--density: 2
-}}@media (min-width:1024px){.autodensity{--density: 3
-}}.f-row{display:flex;flex-direction:row;gap:var(--gap)}.f-row>*{margin:0}.f-col{display:flex;flex-direction:column;gap:var(--gap)}.f-col>*,body{margin:0}.f-switch{display:flex;flex-flow:row wrap;gap:var(--gap);--col-width: 15ch /* see ./layout.css */
-}.f-switch>*{margin:0;flex-basis:calc((var(--col-width) - 100%)*999);flex-grow:1}.justify-content\:start{justify-content:start}.justify-content\:end{justify-content:end}.justify-content\:baseline{justify-content:baseline}.justify-content\:center{justify-content:center}.justify-content\:stretch{justify-content:stretch}.align-items\:start{align-items:start}.align-items\:end{align-items:end}.align-items\:baseline{align-items:baseline}.align-items\:center{align-items:center}.align-items\:stretch{align-items:stretch}.align-self\:start{align-self:start}.align-self\:end{align-self:end}.align-self\:baseline{align-self:baseline}.align-self\:center{align-self:center}.align-self\:stretch{align-self:stretch}.grow-0{flex-grow:0}.grow-1{flex-grow:1}.grow-2{flex-grow:2}.grow-3{flex-grow:3}.grow-4{flex-grow:4}.grow-5{flex-grow:5}.grow-6{flex-grow:6}.grow-7{flex-grow:7}.grow-8{flex-grow:8}.grow-9{flex-grow:9}.grow-10{flex-grow:10}.grow-11{flex-grow:11}.grow-12{flex-grow:12}.vh,v-h{clip:rect(0 0 0 0);-webkit-clip-path:inset(50%);clip-path:inset(50%);block-size:1px;overflow:hidden;position:absolute;white-space:nowrap;inline-size:1px}.reset{all:initial}.basicgrid{display:grid;grid-template-columns:repeat(auto-fit,minmax(var(--col-width),1fr));gap:var(--gap);--col-width: 15ch
-}.basicgrid>*{margin:0!important;min-width:1px}.colwidth-l{--col-width: 35ch }.colwidth-m{--col-width: 24ch }.colwidth-s{--col-width: 15ch }.minwidth-l{min-width:35ch}.minwidth-m{min-width:24ch}.minwidth-s{min-width:15ch}.maxwidth-l{max-width:35ch}.maxwidth-m{max-width:24ch}.maxwidth-s{max-width:15ch}.col-0{flex-grow:0}.col-1{grid-column-end:span 1}.col-2{grid-column-end:span 2}.col-3{grid-column-end:span 3}.col-4{grid-column-end:span 4}.col-5{grid-column-end:span 5}.col-6{grid-column-end:span 6}.col-7{grid-column-end:span 7}.col-8{grid-column-end:span 8}.col-9{grid-column-end:span 9}.col-10{grid-column-end:span 10}.col-11{grid-column-end:span 11}.col-12{grid-column-end:span 12}.col-inf{grid-column-end:-1}.textcolumns{--col-width: 30ch;column-width:var(--col-width);column-gap:var(--gap);margin-block:var(--gap)}.textcolumns :first-child{margin-block-start:0!important}.textcenter{text-align:center}.container{max-inline-size:var(--eff-line-length);margin-inline:auto}.fullbleed{position:relative;width:100vw;left:50%;transform:translateX(-50vw);border-radius:0;border-inline:none}.pad{padding-inline:var(--gap)}.pad-block{padding-block:var(--gap)}.margin{margin:var(--gap)}.margin-block,dl,p{margin-block:var(--gap)}.margin-inline{margin-inline:var(--gap)}.breadcrumbs[aria-label] li,.inline{display:inline}.block,input{display:block}.contents{display:contents}.table{display:table;width:100%;margin:0}.row,.rows>*{display:table-row}.row:not(:last-child)>*,.rows>:not(:last-child)>*{margin-bottom:var(--gap)}.row>:not([specificity-hack]),.rows>*>:not([specificity-hack]){display:table-cell;vertical-align:top}.row>*+:not([specificity-hack]),:is(.rows > *)>*+:not([specificity-hack]){margin-inline-start:var(--gap);display:inline-block}.fixed{position:fixed}.sticky{position:sticky}.top{top:0}.right{right:0}.bottom{bottom:0}.left{left:0}.\^{top:0}.\>{right:0}.\_{bottom:0}.\<{left:0}.float\<{float:left}.float\>{float:right}.scroll{overflow:auto}.scroll\!{overflow:scroll}.allcaps,all-caps{text-transform:uppercase;letter-spacing:.1rem}.monospace,code,kbd,samp{font-family:var(--mono-font)}.box,.missing-card,aside,details,dialog,missing-card{margin:var(--gap) 0;padding:var(--gap);border-radius:calc(var(--rhythm)/4);background:var(--colorful-bg);border:1px solid var(--accent)}:is(.box,missing-card,.missing-card)>:first-child:first-child:first-child:first-child,:is(.box,missing-card,.missing-card)>:first-child>:first-child:first-child:first-child,:is(.box,missing-card,.missing-card)>:first-child>:first-child>:first-child:first-child,:is(.box,missing-card,.missing-card)>:first-child>:first-child>:first-child>:first-child{margin-block-start:0}:is(.box,missing-card,.missing-card)>:last-child:last-child:last-child:last-child,:is(.box,missing-card,.missing-card)>:last-child>:last-child:last-child:last-child,:is(.box,missing-card,.missing-card)>:last-child>:last-child>:last-child:last-child,:is(.box,missing-card,.missing-card)>:last-child>:last-child>:last-child>:last-child{margin-block-end:0}.titlebar{margin-inline:calc(0px - var(--gap));margin-block-end:calc(0px - var(--gap));padding-inline:var(--gap);font:inherit;font-weight:700;translate:0 calc(-1px - var(--gap));background:var(--accent);color:var(--bg)}.breadcrumbs[aria-label] ol,.breadcrumbs[aria-label] ul{list-style:none;padding-inline-start:0}:is(.breadcrumbs[aria-label] li)+li::before{content:' / ';display:inline}.breadcrumbs[aria-label] [aria-current=page],dt{font-weight:700}.chip,chip{border:1px solid var(--accent);background:var(--colorful-bg);border-radius:calc(var(--rhythm)/2);padding-inline:calc(var(--rhythm)/2)}.navbar,header[is=nav-bar]{margin:0;padding:0 var(--rhythm);background:var(--colorful-bg);border-block-end:1px solid var(--accent);overflow-x:auto;scrollbar-width:thin;display:flex;flex-flow:row;gap:calc(2*var(--rhythm))}:is(.navbar,header[is="nav-bar"]) :first-child{margin-inline-start:auto}:is(.navbar,header[is="nav-bar"]) :last-child{margin-inline-end:auto}:is(.navbar,header[is="nav-bar"]) *,:is(.navbar,header[is="nav-bar"]) nav ul[role=list] *{flex-shrink:0}:is(.navbar,header[is="nav-bar"]) nav ul[role=list]{padding-inline-start:0;display:flex;flex-flow:row;gap:var(--rhythm)}:is(.navbar,header[is="nav-bar"]) a{font-weight:700;text-decoration:none}:is(.navbar,header[is="nav-bar"]) a:focus,:is(.navbar,header[is="nav-bar"]) a:hover{text-decoration:underline}:is(.navbar,header[is="nav-bar"]) [aria-current=page]{background:var(--accent);color:var(--colorful-bg);border-radius:.2em;outline:.2em solid var(--accent)}.sidebar{margin:var(--gap) 0;padding:var(--gap);border-radius:calc(var(--rhythm)/4);background:var(--colorful-bg);border:1px solid var(--accent);border-block:none;border-inline-start:none;border-radius:0;margin:0;font-size:.8em;--rhythm: 1em
-}.sidebar>:first-child:first-child:first-child:first-child,.sidebar>:first-child>:first-child:first-child:first-child,.sidebar>:first-child>:first-child>:first-child:first-child,.sidebar>:first-child>:first-child>:first-child>:first-child{margin-block-start:0}.sidebar>:last-child:last-child:last-child:last-child,.sidebar>:last-child>:last-child:last-child:last-child,.sidebar>:last-child>:last-child>:last-child:last-child,.sidebar>:last-child>:last-child>:last-child>:last-child{margin-block-end:0}.sidebar li{padding:calc(.5*var(--gap));margin-inline:calc(-.5*var(--gap));border-radius:.4em}.sidebar a{font-weight:700;text-decoration:none}.sub-title,sub-title{display:block;font-weight:400;color:var(--muted-fg)}[role=tablist]{display:flex;gap:.5ch;scrollbar-width:thin}[role=tab][role=tab]{all:initial;font-family:inherit;padding:0 calc(var(--rhythm)/4);margin:0;min-height:var(--rhythm);border:solid var(--accent);border-width:1px 1px 0;border-block-end-color:transparent;background:var(--interactive-bg);border-start-start-radius:.4em;border-start-end-radius:.4em}[role=tab][role=tab]:active,[role=tab][role=tab][aria-selected=true]{transform:none;bottom:-1px;position:relative;background:var(--colorful-bg);border-block-end:1px solid var(--colorful-bg)}[role=tabpanel]{margin:var(--gap) 0;padding:var(--gap);border-radius:calc(var(--rhythm)/4);background:var(--colorful-bg);border:1px solid var(--accent);margin-block-start:0;border-start-start-radius:0;border-start-end-radius:0;z-index:1}[role=tabpanel]>:first-child:first-child:first-child:first-child,[role=tabpanel]>:first-child>:first-child:first-child:first-child,[role=tabpanel]>:first-child>:first-child>:first-child:first-child,[role=tabpanel]>:first-child>:first-child>:first-child>:first-child,fieldset>:first-child:first-child:first-child:first-child,fieldset>:first-child>:first-child:first-child:first-child,fieldset>:first-child>:first-child>:first-child:first-child,fieldset>:first-child>:first-child>:first-child>:first-child{margin-block-start:0}[role=tabpanel]>:last-child:last-child:last-child:last-child,[role=tabpanel]>:last-child>:last-child:last-child:last-child,[role=tabpanel]>:last-child>:last-child>:last-child:last-child,[role=tabpanel]>:last-child>:last-child>:last-child>:last-child,fieldset>:last-child:last-child:last-child:last-child,fieldset>:last-child>:last-child:last-child:last-child,fieldset>:last-child>:last-child>:last-child:last-child,fieldset>:last-child>:last-child>:last-child>:last-child{margin-block-end:0}.tool-bar,tool-bar{display:flex;flex-flow:row wrap;gap:calc(var(--gap)/2)}audio,embed,iframe,img,object,video{max-inline-size:100%;inline-size:max-content;block-size:auto}label input:not([specificity-hack]){display:inline;padding-block:0}button,input::file-selector-button,input[type=button],input[type=reset],input[type=submit]{display:inline-block;padding:0 calc(var(--rhythm)/4);vertical-align:top;font-size:.8rem;line-height:1.125em;font-family:var(--main-font);min-height:var(--rhythm);background:var(--interactive-bg);border:1px solid var(--accent);box-sizing:border-box;border-radius:.2em;box-shadow:0 .1em .2em var(--shadow)}:is(button,input[type="submit"],input[type="reset"],input[type="button"],input::file-selector-button):focus-visible,:is(button,input[type="submit"],input[type="reset"],input[type="button"],input::file-selector-button):hover{background:var(--colorful-bg)}:is(button,input[type="submit"],input[type="reset"],input[type="button"],input::file-selector-button):active{box-shadow:none;background-color:var(--accent);color:var(--bg)}[aria-expanded=true]:is(button,input[type="submit"],input[type="reset"],input[type="button"],input::file-selector-button),[aria-pressed=true]:is(button,input[type="submit"],input[type="reset"],input[type="button"],input::file-selector-button){box-shadow:0 .05em var(--accent);transform:translateY(.05em);background:var(--pressed-interactive-bg)}input:not([type]),input[type=date],input[type=datetime-local],input[type=datetime],input[type=email],input[type=month],input[type=number],input[type=password],input[type=search],input[type=tel],input[type=text],input[type=time],input[type=url],input[type=week],select,textarea{padding:calc(var(--rhythm)/4);font-size:1rem;line-height:inherit;font-family:var(--main-font);background:var(--bg);border:1px solid var(--faded-fg);border-radius:.2em;vertical-align:top}:is(input:not([type]),input[type="text"],input[type="search"],input[type="tel"],input[type="url"],input[type="email"],input[type="password"],input[type="date"],input[type="month"],input[type="week"],input[type="time"],input[type="datetime"],input[type="datetime-local"],input[type="number"],select,textarea):focus-visible{border:1px solid var(--accent)}:is(input:not([type]),input[type="text"],input[type="search"],input[type="tel"],input[type="url"],input[type="email"],input[type="password"],input[type="date"],input[type="month"],input[type="week"],input[type="time"],input[type="datetime"],input[type="datetime-local"],input[type="number"],select,textarea)::placeholder{color:var(--muted-fg);opacity:1;text-align:end}input[type=range]{width:100%;padding:calc(var(--gap)/4)}input[type=color]{padding:0;margin:0;height:calc(1.5*var(--rhythm));border:0;background:0 0}input[type=file]{padding:calc(var(--gap)/4) 0;font-size:inherit;line-height:calc(var(--rhythm)/2)}input[type=file]::file-selector-button{margin-block:.1em 0;margin-inline-end:1ch}select[multiple],td,th{vertical-align:top}optgroup::before{color:var(--muted-fg)}label[for]{display:block;padding-block:calc(var(--gap)/4)}fieldset>legend+*{margin-block-start:0}hr{color:inherit;flex-grow:0;border-inline-start:1px solid var(--accent);block-size:auto;border-block-start:1px solid var(--accent);border-block-end:none;border-inline-end:none}blockquote,pre{line-height:var(--rhythm)}pre{font-family:var(--mono-font);-o-tab-size:2;tab-size:2;margin:var(--gap) 0;overflow-x:auto;scrollbar-width:thin;scrollbar-color:var(--accent) transparent;font-size:.9em}blockquote{margin-inline:0 var(--gap);padding-inline:var(--gap) 0;margin-block:var(--gap);font-size:1.1em;font-style:italic;border-inline-start:1px solid var(--faded-fg);color:var(--muted-fg)}blockquote address,blockquote cite,blockquote dfn,blockquote em,blockquote i,blockquote var,optgroup::before,q address,q cite,q dfn,q em,q i,q var{font-style:normal}blockquote footer{text-align:right;text-align:end}ol,ul{padding-inline-start:var(--rhythm)}ol[role=list],ul[role=list]{padding-inline-start:0;list-style:none}ul{list-style:square}ol{list-style:decimal}dd{margin-inline-start:var(--rhythm)}figure{max-width:100%;margin-inline:0;padding:var(--gap);border:1px solid var(--faded-fg);border-radius:calc(var(--rhythm)/4)}figure>:first-child:first-child:first-child:first-child,figure>:first-child>:first-child:first-child:first-child,figure>:first-child>:first-child>:first-child:first-child,figure>:first-child>:first-child>:first-child>:first-child{margin-block-start:0}figure>:last-child:last-child:last-child:last-child,figure>:last-child>:last-child:last-child:last-child,figure>:last-child>:last-child>:last-child:last-child,figure>:last-child>:last-child>:last-child>:last-child{margin-block-end:0}figcaption{margin-block:var(--gap);color:var(--muted-fg)}main{max-inline-size:var(--eff-line-length);margin:auto}a{color:var(--link-fg, var(--accent))}.list-of-links a{text-decoration:none}a:hover{text-decoration:underline}span>small:only-child{display:block;float:inline-end;clear:inline-end;--sidenote-width: 20ch;max-inline-size:var(--sidenote-width);padding-inline:1.5ch 1ch;margin-inline-end:calc(1em - var(--sidenote-width));margin-block-end:var(--rhythm);background:var(--bg);border:1px solid transparent;transition:transform .1s ease-in-out}span>small:only-child:focus-within,span>small:only-child:hover{border:1px solid var(--faded-fg);border-radius:.2em;transform:translateX(calc(0px - var(--sidenote-width) + min(var(--gutter-width),var(--sidenote-width))))}del,s{color:var(--bad-fg)}q{font-style:italic}time{font-variant-numeric:tabular-nums}ins,samp{color:var(--ok-fg)}kbd kbd{display:inline-block;padding:0 .3em;font-size:.8em;line-height:1.1em;background:var(--interactive-bg);border:1px outset var(--faded-fg);border-block-end-width:3px;border-radius:.3em}sub,sup{vertical-align:bottom;line-height:1}sup{vertical-align:top}mark{background:var(--warn-bg);color:var(--warn-fg)}ins{background:var(--ok-bg)}del{background:var(--bad-bg)}details>:first-child:first-child:first-child:first-child,details>:first-child>:first-child:first-child:first-child,details>:first-child>:first-child>:first-child:first-child,details>:first-child>:first-child>:first-child>:first-child{margin-block-start:0}details>:last-child:last-child:last-child:last-child,details>:last-child>:last-child:last-child:last-child,details>:last-child>:last-child>:last-child:last-child,details>:last-child>:last-child>:last-child>:last-child{margin-block-end:0}details{padding-block-start:0}details:not([open]){padding-block-end:0}summary{margin:calc(0px - var(--gap));margin-bottom:0;padding-inline:var(--gap);font-weight:700;background:var(--accent);color:var(--bg);cursor:pointer}summary:active,summary:focus-visible{background:var(--muted-accent);border-color:var(--muted-accent)}details[open] summary{border-block-end:1px solid var(--accent);border-end-end-radius:0;border-end-start-radius:0}dialog>:first-child:first-child:first-child:first-child,dialog>:first-child>:first-child:first-child:first-child,dialog>:first-child>:first-child>:first-child:first-child,dialog>:first-child>:first-child>:first-child>:first-child{margin-block-start:0}dialog>:last-child:last-child:last-child:last-child,dialog>:last-child>:last-child:last-child:last-child,dialog>:last-child>:last-child>:last-child:last-child,dialog>:last-child>:last-child>:last-child>:last-child{margin-block-end:0}dialog{position:absolute;inline-inset:0;block-size:-moz-fit-content;block-size:fit-content;inline-size:-moz-fit-content;inline-size:fit-content;margin:auto;background-color:var(--bg);color:var(--fg);box-shadow:0 0 .2em .1em var(--shadow),0 .2em .4em var(--shadow),0 .25em 1em var(--shadow)}dialog[open]::backdrop{display:block;background:#000;opacity:.4;animation:bg 2s}dialog:not([open]){display:none}html{font-family:var(--main-font);line-height:var(--rhythm);font-size:120%}footer,header,section{margin-block:calc(2*var(--gap))}nav a{text-decoration:none;color:var(--accent)}aside>:first-child:first-child:first-child:first-child,aside>:first-child>:first-child:first-child:first-child,aside>:first-child>:first-child>:first-child:first-child,aside>:first-child>:first-child>:first-child>:first-child{margin-block-start:0}aside>:last-child:last-child:last-child:last-child,aside>:last-child>:last-child:last-child:last-child,aside>:last-child>:last-child>:last-child:last-child,aside>:last-child>:last-child>:last-child>:last-child{margin-block-end:0}aside h1,aside h2,aside h3,aside h4,aside h5,aside h6{font-size:1em;text-transform:none;letter-spacing:none}h1,h2,h3,h4,h5,h6{margin-block-end:var(--gap);font-family:var(--display-font);margin-block-start:calc(2*var(--gap))}.h1,.h2,h1,h2{font-size:2em;text-transform:none;line-height:calc(2*var(--rhythm));letter-spacing:0}.h2,h2{font-size:1.6em;line-height:calc(1.5*var(--rhythm))}.h3,.h4,.h5,.h6,h3,h4,h5,h6{font-size:1.17em;text-transform:uppercase;line-height:calc(1*var(--rhythm));letter-spacing:.02em}.h4,.h5,.h6,h4,h5,h6{font-size:1em;text-transform:none;letter-spacing:0;margin-block-start:var(--gap)}h1+h2,h1:first-child,h2+h3,h2:first-child,h3+h4,h3:first-child,h4+h5,h4:first-child,h5+h6,h5:first-child,h6:first-child{margin-block-start:var(--gap)}h1:target,h2:target,h3:target,h4:target,h5:target,h6:target{outline:0}h1:target::before,h2:target::before,h3:target::before,h4:target::before,h5:target::before,h6:target::before{content:'❧';display:inline-block;width:0;transform:translateX(-1.5ch);font-size:2em;vertical-align:bottom;color:var(--accent)}header{border-block-end:1px solid var(--faded-fg)}footer{border-block-start:1px solid var(--faded-fg)}body>footer,body>header,main+footer{padding:var(--rhythm) calc((100% - var(--line-length))/2)}caption{text-align:start;font-style:italic}tbody{border-block:1px solid var(--fg)}td:not(:last-child),th:not(:last-child){padding-inline-end:var(--rhythm)}th{text-align:start}:root{--fg: #000;--muted-fg: #3e3e3e;--faded-fg: #8b8b8b;--info-fg: #00386d;--ok-fg: #004825;--bad-fg: #830014;--warn-fg: #463d00;--bg: #fff;--colorful-bg: #d7fff7;--interactive-bg: #e2e2e2;--info-bg: #d4e0ff;--ok-bg: #5dffa2;--bad-bg: #ffddd8;--warn-bg: #ffe53e;--shadow: #777;--accent: #007f5f;--muted-accent: #42ffc6;--rhythm: 1.4rem;--line-length: 40rem;--main-font: 'Inter', -apple-system, system-ui, sans-serif;--display-font: var(--main-font);--mono-font: 'M Plus Code Latin', monospace, monospace;--density: 1;--full-width: 100vw;--eff-line-length: /* Effective line length for prose. */
- min(
- calc( var(--full-width) - (2 * var(--rhythm)) ),
- var(--line-length)
- );--gutter-width: /* Width of spaces at each side of page content. */
- calc(
- (
- var(--full-width) /* Viewport width */
- - var(--eff-line-length) /* minus line width */
- ) / 2)}*{--gap: calc(var(--rhythm) * var(--density));accent-color:var(--accent)} \ No newline at end of file
diff --git a/www/releases/_artifacts/v0.0.2/missing.min.css.br b/www/releases/_artifacts/v0.0.2/missing.min.css.br
deleted file mode 100644
index 921d43d..0000000
--- a/www/releases/_artifacts/v0.0.2/missing.min.css.br
+++ /dev/null
Binary files differ
diff --git a/www/releases/_artifacts/v0.0.2/missing.min.css.gz b/www/releases/_artifacts/v0.0.2/missing.min.css.gz
deleted file mode 100644
index 592b19d..0000000
--- a/www/releases/_artifacts/v0.0.2/missing.min.css.gz
+++ /dev/null
Binary files differ
diff --git a/www/releases/_artifacts/v0.0.3/missing-prism.css b/www/releases/_artifacts/v0.0.3/missing-prism.css
deleted file mode 100644
index 23e48b5..0000000
--- a/www/releases/_artifacts/v0.0.3/missing-prism.css
+++ /dev/null
@@ -1,62 +0,0 @@
-
-.token.comment,
-.token.prolog,
-.token.doctype,
-.token.cdata,
-.token.punctuation {
- color: var(--muted-fg);
-}
-
-.token.property,
-.token.tag,
-.token.boolean,
-.token.number,
-.token.constant,
-.token.symbol,
-.token.deleted {
- color: var(--bad-fg);
-}
-
-.token.selector,
-.token.attr-name,
-.token.string,
-.token.char,
-.token.builtin,
-.token.inserted {
- color: var(--ok-fg);
-}
-
-.token.operator,
-.token.entity,
-.token.url,
-.language-css .token.string,
-.style .token.string,
-.token.regex,
-.token.important,
-.token.variable {
- color: var(--warn-fg)
-}
-
-.token.atrule,
-.token.attr-value,
-.token.keyword {
- color: var(--info-fg);
-}
-
-.token.function {
- color: var(--bad-fg);
- font-style: italic;
-}
-
-.token.important,
-.token.bold {
- font-weight: bold;
-}
-
-.token.italic {
- font-style: italic;
-}
-
-.token.entity {
- cursor: help;
-}
diff --git a/www/releases/_artifacts/v0.0.3/missing-prism.min.css b/www/releases/_artifacts/v0.0.3/missing-prism.min.css
deleted file mode 100644
index 41c91b1..0000000
--- a/www/releases/_artifacts/v0.0.3/missing-prism.min.css
+++ /dev/null
@@ -1 +0,0 @@
-.token.cdata,.token.comment,.token.doctype,.token.prolog,.token.punctuation{color:var(--muted-fg)}.token.boolean,.token.constant,.token.deleted,.token.number,.token.property,.token.symbol,.token.tag{color:var(--bad-fg)}.token.attr-name,.token.builtin,.token.char,.token.inserted,.token.selector,.token.string{color:var(--ok-fg)}.language-css .token.string,.style .token.string,.token.entity,.token.important,.token.operator,.token.regex,.token.url,.token.variable{color:var(--warn-fg)}.token.atrule,.token.attr-value,.token.keyword{color:var(--info-fg)}.token.function{color:var(--bad-fg);font-style:italic}.token.bold,.token.important{font-weight:700}.token.italic{font-style:italic}.token.entity{cursor:help} \ No newline at end of file
diff --git a/www/releases/_artifacts/v0.0.3/missing-prism.min.css.br b/www/releases/_artifacts/v0.0.3/missing-prism.min.css.br
deleted file mode 100644
index 2a4ac49..0000000
--- a/www/releases/_artifacts/v0.0.3/missing-prism.min.css.br
+++ /dev/null
Binary files differ
diff --git a/www/releases/_artifacts/v0.0.3/missing-prism.min.css.gz b/www/releases/_artifacts/v0.0.3/missing-prism.min.css.gz
deleted file mode 100644
index e834bd4..0000000
--- a/www/releases/_artifacts/v0.0.3/missing-prism.min.css.gz
+++ /dev/null
Binary files differ
diff --git a/www/releases/_artifacts/v0.0.3/missing.css b/www/releases/_artifacts/v0.0.3/missing.css
deleted file mode 100644
index fe32478..0000000
--- a/www/releases/_artifacts/v0.0.3/missing.css
+++ /dev/null
@@ -1,1601 +0,0 @@
-/* Document
- * ========================================================================== */
-
-/**
- * 1. Add border box sizing in all browsers (opinionated).
- * 2. Backgrounds do not repeat by default (opinionated).
- */
-
-*,
-::before,
-::after {
- box-sizing: border-box; /* 1 */
- background-repeat: no-repeat; /* 2 */
-}
-
-/**
- * 1. Add text decoration inheritance in all browsers (opinionated).
- * 2. Add vertical alignment inheritance in all browsers (opinionated).
- */
-
-::before,
-::after {
- text-decoration: inherit; /* 1 */
- vertical-align: inherit; /* 2 */
-}
-
-/**
- * 1. Use the default cursor in all browsers (opinionated).
- * 3. Breaks words to prevent overflow in all browsers (opinionated).
- * 5. Remove the grey highlight on links in iOS (opinionated).
- * 6. Prevent adjustments of font size after orientation changes in iOS.
- */
-
-:root {
- cursor: default; /* 1 */
- overflow-wrap: break-word; /* 3 */
- -webkit-tap-highlight-color: transparent; /* 5 */
- text-size-adjust: none;
- -webkit-text-size-adjust: none;
-}
-
-/* Text-level semantics
- * ========================================================================== */
-
-/**
- * Add the correct text decoration in Safari.
- */
-
-abbr[title] {
- text-decoration: underline;
- -webkit-text-decoration: underline dotted;
- text-decoration: underline dotted;
-}
-
-/**
- * Add the correct font weight in Chrome, Edge, and Safari.
- */
-
-strong, b {
- font-weight: bolder;
-}
-
-/**
- * Add the correct font size in all browsers.
- */
-
-small {
- font-size: 80%;
-}
-
-/* Embedded content
- * ========================================================================== */
-
-/*
- * Change the alignment on media elements in all browsers (opinionated).
- */
-
-audio, canvas, iframe, img, svg, video {
- vertical-align: middle;
-}
-
-/**
- * Change the fill color to match the text color in all browsers (opinionated).
- */
-
-svg:not([fill]) {
- fill: currentColor;
-}
-
-/* Tabular data
- * ========================================================================== */
-
-/**
- * 1. Collapse border spacing in all browsers (opinionated).
- * 2. Correct table border color in Chrome, Edge, and Safari.
- * 3. Remove text indentation from table contents in Chrome, Edge, and Safari.
- */
-
-table {
- border-collapse: collapse; /* 1 */
- border-color: currentColor; /* 2 */
- text-indent: 0; /* 3 */
-}
-
-/* Forms
- * ========================================================================== */
-
-/**
- * Remove the margin on controls in Safari.
- */
-
-button, input, select {
- margin: 0;
-}
-
-/**
- * Correct the inability to style buttons in iOS and Safari.
- */
-
-button, [type="button"], [type="reset"], [type="submit"] {
- -webkit-appearance: button;
-}
-
-/**
- * Change the inconsistent appearance in all browsers (opinionated).
- */
-
-fieldset {
- border: 1px solid #a0a0a0;
-}
-
-/**
- * Add the correct vertical alignment in Chrome, Edge, and Firefox.
- */
-
-progress {
- vertical-align: baseline;
-}
-
-/**
- * 1. Remove the margin in Firefox and Safari.
- */
-
-textarea {
- margin: 0; /* 1 */
-}
-
-/**
- * 1. Correct the odd appearance in Chrome, Edge, and Safari.
- * 2. Correct the outline style in Safari.
- */
-
-[type="search"] {
- -webkit-appearance: textfield; /* 1 */
- outline-offset: -2px; /* 2 */
-}
-
-/**
- * Correct the cursor style of increment and decrement buttons in Safari.
- */
-
-::-webkit-inner-spin-button,
-::-webkit-outer-spin-button {
- block-size: auto;
-}
-
-/**
- * Correct the text style of placeholders in Chrome, Edge, and Safari.
- */
-
-::-webkit-input-placeholder {
- color: inherit;
- opacity: 0.54;
-}
-
-/**
- * Remove the inner padding in Chrome, Edge, and Safari on macOS.
- */
-
-::-webkit-search-decoration {
- -webkit-appearance: none;
-}
-
-/**
- * 1. Correct the inability to style upload buttons in iOS and Safari.
- * 2. Change font properties to `inherit` in Safari.
- */
-
-::-webkit-file-upload-button {
- -webkit-appearance: button; /* 1 */
- font: inherit; /* 2 */
-}
-
-/* Interactive
- * ========================================================================== */
-
-[hidden] {
- display: none !important;
-}
-
-:focus-visible {
- outline: .2em solid var(--accent);
- z-index: 32;
-}
-
-iframe:focus-visible,
- html:focus-visible,
- body:focus-visible {
- outline: none;
- }
-
-:target {
- outline: .2em solid var(--fg);
- z-index: 32;
-}
-
-/*
- * Add the correct display in Safari.
- */
-
-details > summary:first-of-type {
- display: list-item;
-}
-
-/* Accessibility
- * ========================================================================== */
-
-/**
- * Change the cursor on busy elements in all browsers (opinionated).
- */
-
-[aria-busy="true"] {
- cursor: progress;
-}
-
-/*
- * Change the cursor on disabled, not-editable, or otherwise
- * inoperable elements in all browsers (opinionated).
- */
-
-[aria-disabled="true"], [disabled] {
- cursor: not-allowed;
-}
-
-datalist {
- display: none !important;
-}
-
-.info {
- --colorful-bg: var(--info-bg);
- --accent: var(--info-fg);
-}
-
-.ok {
- --colorful-bg: var(--ok-bg);
- --accent: var(--ok-fg);
-}
-
-.warn {
- --colorful-bg: var(--warn-bg);
- --accent: var(--warn-fg);
-}
-
-.bad {
- --colorful-bg: var(--bad-bg);
- --accent: var(--bad-fg);
-}
-
-.color {
- color: var(--accent);
-}
-
-.bg {
- background: var(--colorful-bg);
-}
-
-.border {
- border-style: solid;
- border-color: var(--accent);
-}
-
-.airy { --density: 3; }
-
-.dense { --density: 1; }
-
-.crowded { --density: .5; }
-
-.packed { --density: 0; }
-
-.autodensity {
- --density: 1
-}
-
-@media (min-width: 768px) {
-
-.autodensity { --density: 2
-} }
-
-@media (min-width: 1024px) {
-
-.autodensity { --density: 3
-} }
-
-.f-row {
- display: flex;
- flex-direction: row;
- gap: var(--gap)
-}
-
-.f-row > * { margin: 0 }
-
-.f-col {
- display: flex;
- flex-direction: column;
- gap: var(--gap)
-}
-
-.f-col > * { margin: 0 }
-
-.f-switch {
- display: flex;
- flex-flow: row wrap;
- gap: var(--gap);
- --col-width: 15ch /* see ./layout.css */
-}
-
-.f-switch > * { margin: 0 }
-
-.f-switch > * {
- flex-basis: calc((var(--col-width) - 100%) * 999);
- flex-grow: 1;
- }
-
-.justify-content\:start { justify-content: start }
-
-.justify-content\:end { justify-content: end }
-
-.justify-content\:baseline { justify-content: baseline }
-
-.justify-content\:center { justify-content: center }
-
-.justify-content\:stretch { justify-content: stretch }
-
-.align-items\:start { align-items: start }
-
-.align-items\:end { align-items: end }
-
-.align-items\:baseline { align-items: baseline }
-
-.align-items\:center { align-items: center }
-
-.align-items\:stretch { align-items: stretch }
-
-.align-self\:start { align-self: start }
-
-.align-self\:end { align-self: end }
-
-.align-self\:baseline { align-self: baseline }
-
-.align-self\:center { align-self: center }
-
-.align-self\:stretch { align-self: stretch }
-
-.grow-0 { flex-grow: 0 }
-
-.grow-1 { flex-grow: 1 }
-
-.grow-2 { flex-grow: 2 }
-
-.grow-3 { flex-grow: 3 }
-
-.grow-4 { flex-grow: 4 }
-
-.grow-5 { flex-grow: 5 }
-
-.grow-6 { flex-grow: 6 }
-
-.grow-7 { flex-grow: 7 }
-
-.grow-8 { flex-grow: 8 }
-
-.grow-9 { flex-grow: 9 }
-
-.grow-10 { flex-grow: 10 }
-
-.grow-11 { flex-grow: 11 }
-
-.grow-12 { flex-grow: 12 }
-
-.vh, v-h {
- clip: rect(0 0 0 0);
- -webkit-clip-path: inset(50%);
- clip-path: inset(50%);
- block-size: 1px;
- overflow: hidden;
- position: absolute;
- white-space: nowrap;
- inline-size: 1px;
-}
-
-.reset {
- all: initial;
-}
-
-.basicgrid {
- display: grid;
- grid-template-columns: repeat(auto-fit, minmax(var(--col-width), 1fr));
- gap: var(--gap);
- --col-width: 15ch
-}
-
-.basicgrid > * {
- margin: 0 !important;
- min-width: 1px;
- }
-
-.colwidth-l { --col-width: 35ch }
-
-.colwidth-m { --col-width: 24ch }
-
-.colwidth-s { --col-width: 15ch }
-
-.minwidth-l { min-width: 35ch }
-
-.minwidth-m { min-width: 24ch }
-
-.minwidth-s { min-width: 15ch }
-
-.maxwidth-l { max-width: 35ch }
-
-.maxwidth-m { max-width: 24ch }
-
-.maxwidth-s { max-width: 15ch }
-
-.col-0 { flex-grow: 0 ; }
-
-.col-1 { grid-column-end: span 1 }
-
-.col-2 { grid-column-end: span 2 }
-
-.col-3 { grid-column-end: span 3 }
-
-.col-4 { grid-column-end: span 4 }
-
-.col-5 { grid-column-end: span 5 }
-
-.col-6 { grid-column-end: span 6 }
-
-.col-7 { grid-column-end: span 7 }
-
-.col-8 { grid-column-end: span 8 }
-
-.col-9 { grid-column-end: span 9 }
-
-.col-10 { grid-column-end: span 10 }
-
-.col-11 { grid-column-end: span 11 }
-
-.col-12 { grid-column-end: span 12 }
-
-.col-inf { grid-column-end: -1 }
-
-/**/
-
-.textcolumns {
- --col-width: 30ch;
- column-width: var(--col-width);
- column-gap: var(--gap);
- margin-block: var(--gap)
-}
-
-.textcolumns :first-child { margin-block-start: 0 !important }
-
-.textcenter {
- text-align: center;
-}
-
-/**/
-
-.container {
- max-inline-size: var(--eff-line-length);
- margin-inline: auto;
-}
-
-.fullbleed {
- position: relative;
- width: 100vw;
- left: 50%;
- transform: translateX(-50vw);
-
- border-radius: 0;
- border-inline: none;
-}
-
-/**/
-
-.pad {
- padding-inline: var(--gap);
-}
-
-.pad-block { padding-block: var(--gap) }
-
-.margin {
- margin: var(--gap);
-}
-
-.margin-block { margin-block: var(--gap) }
-
-.margin-inline { margin-inline: var(--gap) }
-
-/**/
-
-.inline { display: inline }
-
-.block { display: block }
-
-.contents { display: contents }
-
-.table {
- display: table;
- width: 100%;
- margin: 0;
-}
-
-.row, .rows > * {
- display: table-row
-}
-
-.row:not(:last-child) > *, .rows > *:not(:last-child) > * {
- margin-bottom: var(--gap);
- }
-
-.row > *:not([specificity-hack]), .rows > * > *:not([specificity-hack]) {
- display: table-cell;
- vertical-align: top;
- }
-
-.row > * + *:not([specificity-hack]), :is(.rows > *) > * + *:not([specificity-hack]) {
- margin-inline-start: var(--gap);
- display: inline-block;
- }
-
-/**/
-
-.fixed { position: fixed }
-
-.sticky { position: sticky }
-
-.top { top: 0 }
-
-.right { right: 0 }
-
-.bottom { bottom: 0 }
-
-.left { left: 0 }
-
-.\^ { top: 0 }
-
-.\> { right: 0 }
-
-.\_ { bottom: 0 }
-
-.\< { left: 0 }
-
-.float\< { float: left }
-
-.float\> { float: right }
-
-.scroll { overflow: auto }
-
-.scroll\! { overflow: scroll }
-
-all-caps, .allcaps {
- text-transform: uppercase;
- letter-spacing: .1rem;
-}
-
-.monospace {
- font-family: var(--mono-font);
-}
-
-.box, missing-card, .missing-card {
- margin: var(--gap) 0;
- padding: var(--gap);
- border-radius: calc(var(--rhythm) / 4);
- background: var(--colorful-bg);
- border: 1px solid var(--accent);
- /* artificially increase specificity */
- /* TODO: come up with a better way to do this */
-}
-
-:is(.box,missing-card,.missing-card) > :first-child:first-child:first-child:first-child,
- :is(.box,missing-card,.missing-card) > :first-child>:first-child:first-child:first-child,
- :is(.box,missing-card,.missing-card) > :first-child>:first-child>:first-child:first-child,
- :is(.box,missing-card,.missing-card) > :first-child>:first-child>:first-child>:first-child { margin-block-start: 0; }
-
-:is(.box,missing-card,.missing-card) > :last-child:last-child:last-child:last-child,
- :is(.box,missing-card,.missing-card) > :last-child>:last-child:last-child:last-child,
- :is(.box,missing-card,.missing-card) > :last-child>:last-child>:last-child:last-child,
- :is(.box,missing-card,.missing-card) > :last-child>:last-child>:last-child>:last-child { margin-block-end: 0; }
-
-.titlebar {
- margin-inline: calc(0px - var(--gap));
- margin-block-end: calc(0px - var(--gap));
- padding-inline: var(--gap);
- font: inherit;
- font-weight: bold;
- translate: 0 calc(-1px - var(--gap));
- background: var(--accent);
- color: var(--bg);
-}
-
-.breadcrumbs[aria-label] ul, .breadcrumbs[aria-label] ol {
- list-style: none;
- padding-inline-start: 0;
- }
-
-.breadcrumbs[aria-label] li {
- display: inline
- }
-
-:is(.breadcrumbs[aria-label] li)+li::before {
- content: ' / ' / '';
- content: ' / ';
- display: inline;
- }
-
-.breadcrumbs[aria-label] [aria-current="page"] {
- font-weight: bold;
- }
-
-.chip, chip {
- border: 1px solid var(--accent);
- background: var(--colorful-bg);
- border-radius: calc(var(--rhythm) / 2);
- padding-inline: calc(var(--rhythm) / 2);
-}
-
-.navbar, header[is="nav-bar"] {
- margin: 0;
- padding: 0 var(--rhythm);
-
- background: var(--colorful-bg);
- border-block-end: 1px solid var(--accent);
-
- overflow-x: auto;
- scrollbar-width: thin;
-
- /* Inner layout */
- display: flex;
- flex-flow: row;
- gap: calc(2 * var(--rhythm))
-}
-
-:is(.navbar,header[is="nav-bar"]) :first-child { margin-inline-start: auto; }
-
-:is(.navbar,header[is="nav-bar"]) :last-child { margin-inline-end: auto; }
-
-:is(.navbar,header[is="nav-bar"]) * { flex-shrink: 0 }
-
-:is(.navbar,header[is="nav-bar"]) nav ul[role="list"] {
- padding-inline-start: 0;
- display: flex;
- flex-flow: row;
- gap: var(--rhythm)
- }
-
-:is(.navbar,header[is="nav-bar"]) nav ul[role="list"] * { flex-shrink: 0 }
-
-:is(.navbar,header[is="nav-bar"]) a {
- font-weight: bold;
- text-decoration: none;
- }
-
-:is(.navbar,header[is="nav-bar"]) a:hover, :is(.navbar,header[is="nav-bar"]) a:focus {
- text-decoration: underline;
- }
-
-:is(.navbar,header[is="nav-bar"]) [aria-current=page] {
- background: var(--accent);
- color: var(--colorful-bg);
- border-radius: .2em;
- outline: .2em solid var(--accent);
- }
-
-.sidebar {
- margin: var(--gap) 0;
- padding: var(--gap);
- border-radius: calc(var(--rhythm) / 4);
- background: var(--colorful-bg);
- border: 1px solid var(--accent)
- /* artificially increase specificity */
- /* TODO: come up with a better way to do this */
-}
-
-.sidebar > :first-child:first-child:first-child:first-child,
- .sidebar > :first-child>:first-child:first-child:first-child,
- .sidebar > :first-child>:first-child>:first-child:first-child,
- .sidebar > :first-child>:first-child>:first-child>:first-child { margin-block-start: 0; }
-
-.sidebar > :last-child:last-child:last-child:last-child,
- .sidebar > :last-child>:last-child:last-child:last-child,
- .sidebar > :last-child>:last-child>:last-child:last-child,
- .sidebar > :last-child>:last-child>:last-child>:last-child { margin-block-end: 0; }
-
-.sidebar {
-
- border-block: none;
- border-inline-start: none;
- border-radius: 0;
- margin: 0;
-
- font-size: .8em;
- --rhythm: 1em
-}
-
-.sidebar li {
- padding: calc(.5 * var(--gap));
- margin-inline: calc(-.5 * var(--gap));
- border-radius: .4em;
- }
-
-.sidebar a {
- font-weight: bold;
- text-decoration: none;
- }
-
-.sub-title, sub-title {
- /***
- Meant for use in headings. Make sure to also use visually-hidden punctuation
- to mark the subtitle as shown below:
-
- 1 | <h1>
- 2 | Foo Bar<v-h>:</v-h>
- 3 | <sub-title>How I Learned To Stop Worrying and Love Baz</sub-title>
- 4 | </h1>
-
- 1 | <h1>
- 2 | <sub-title class="-allcaps">Breaking News</sub-title><v-h>:</v-h>
- 3 | Bad Thing Happens
- 4 | <h1>
- ***/
-
- display: block;
-
- font-weight: normal;
-
- color: var(--muted-fg);
-}
-
-[role="tablist"] {
- display: flex;
- gap: .5ch;
- scrollbar-width: thin;
-}
-
-[role="tab"][role="tab"] {
- all: initial;
-
- font-family: inherit;
-
- padding: 0 calc(var(--rhythm) / 4);
- margin: 0;
- min-height: var(--rhythm);
-
- border: solid var(--accent);
- border-width: 1px 1px 0 1px;
- border-block-end-color: transparent;
- background: var(--interactive-bg);
-
- border-start-start-radius: .4em;
- border-start-end-radius: .4em
-}
-
-[role="tab"][role="tab"]:active, [role="tab"][role="tab"][aria-selected="true"] {
- transform: none;
- bottom: -1px;
- position: relative;
- background: var(--colorful-bg);
- border-block-end: 1px solid var(--colorful-bg);
- }
-
-[role="tabpanel"] {
- margin: var(--gap) 0;
- padding: var(--gap);
- border-radius: calc(var(--rhythm) / 4);
- background: var(--colorful-bg);
- border: 1px solid var(--accent);
- /* artificially increase specificity */
- /* TODO: come up with a better way to do this */
-}
-
-[role="tabpanel"] > :first-child:first-child:first-child:first-child,
- [role="tabpanel"] > :first-child>:first-child:first-child:first-child,
- [role="tabpanel"] > :first-child>:first-child>:first-child:first-child,
- [role="tabpanel"] > :first-child>:first-child>:first-child>:first-child { margin-block-start: 0; }
-
-[role="tabpanel"] > :last-child:last-child:last-child:last-child,
- [role="tabpanel"] > :last-child>:last-child:last-child:last-child,
- [role="tabpanel"] > :last-child>:last-child>:last-child:last-child,
- [role="tabpanel"] > :last-child>:last-child>:last-child>:last-child { margin-block-end: 0; }
-
-[role="tabpanel"] {
- margin-block-start: 0;
- border-start-start-radius: 0;
- border-start-end-radius: 0;
- z-index: 1;
-}
-
-tool-bar, .tool-bar {
- display: flex;
- flex-flow: row wrap;
- gap: calc(var(--gap) / 2);
-}
-
-/***
- 4.8 Embedded content
- https://html.spec.whatwg.org/multipage/embedded-content.html
- ***/
-
-img, video, audio, iframe, object, embed {
- max-inline-size: 100%;
- inline-size: max-content;
- block-size: auto;
-}
-
-/***
- 4.10 Forms
- https://html.spec.whatwg.org/multipage/forms.html
- ***/
-
-input { display: block; }
-
-label input:not([specificity-hack]) { display: inline; padding-block: 0; }
-
-button,
-input[type="submit"],
-input[type="reset"],
-input[type="button"],
-input::file-selector-button {
- display: inline-block;
- padding: 0 calc(var(--rhythm) / 4);
- vertical-align: top;
-
- font-size: .8rem;
- line-height: 1.125em;
- font-family: var(--main-font);
- min-height: var(--rhythm);
-
- background: var(--interactive-bg);
- border: 1px solid var(--accent);
- box-sizing: border-box;
- border-radius: .2em;
-
- box-shadow: 0 .1em .2em var(--shadow)
-}
-
-:is(button,input[type="submit"],input[type="reset"],input[type="button"],input::file-selector-button):hover, :is(button,input[type="submit"],input[type="reset"],input[type="button"],input::file-selector-button):focus-visible {
- background: var(--colorful-bg);
- }
-
-:is(button,input[type="submit"],input[type="reset"],input[type="button"],input::file-selector-button):active {
- box-shadow: none;
- background-color: var(--accent);
- color: var(--bg);
- }
-
-[aria-pressed="true"]:is(button,input[type="submit"],input[type="reset"],input[type="button"],input::file-selector-button), [aria-expanded="true"]:is(button,input[type="submit"],input[type="reset"],input[type="button"],input::file-selector-button) {
- box-shadow: 0 .05em var(--accent);
- transform: translateY(.05em);
- background: var(--pressed-interactive-bg);
- }
-
-input:not([type]),
-input[type="text"],
-input[type="search"],
-input[type="tel"],
-input[type="url"],
-input[type="email"],
-input[type="password"],
-input[type="date"],
-input[type="month"],
-input[type="week"],
-input[type="time"],
-input[type="datetime"],
-input[type="datetime-local"],
-input[type="number"],
-select,
-textarea {
- padding: calc(var(--rhythm) / 4);
- vertical-align: top;
-
- font-size: 1rem;
- line-height: inherit;
- font-family: var(--main-font);
-
- background: var(--bg);
- border: 1px solid var(--faded-fg);
- border-radius: .2em;
-
- vertical-align: top
-}
-
-:is(input:not([type]),input[type="text"],input[type="search"],input[type="tel"],input[type="url"],input[type="email"],input[type="password"],input[type="date"],input[type="month"],input[type="week"],input[type="time"],input[type="datetime"],input[type="datetime-local"],input[type="number"],select,textarea):focus-visible {
- border: 1px solid var(--accent);
- }
-
-:is(input:not([type]),input[type="text"],input[type="search"],input[type="tel"],input[type="url"],input[type="email"],input[type="password"],input[type="date"],input[type="month"],input[type="week"],input[type="time"],input[type="datetime"],input[type="datetime-local"],input[type="number"],select,textarea)::placeholder {
- color: var(--muted-fg);
- opacity: 1;
- text-align: end;
- }
-
-input[type="range"] {
- width: 100%;
- padding: calc(var(--gap) / 4);
-}
-
-input[type="color"] {
- padding: 0;
- margin: 0;
- height: calc(1.5 * var(--rhythm));
-
- border: none;
- background: none;
-}
-
-input[type="file"] {
- padding: calc(var(--gap) / 4) 0;
- font-size: inherit;
- line-height: calc(var(--rhythm) / 2)
-}
-
-input[type="file"]::file-selector-button {
- margin-block: .1em 0;
- margin-inline-end: 1ch;
- }
-
-select[multiple] {
- vertical-align: top;
-}
-
-optgroup::before {
- color: var(--muted-fg);
- font-style: normal;
-}
-
-progress {
- /* TODO */
-}
-
-meter {
- /* TODO */
-}
-
-label[for] {
- display: block;
- padding-block: calc(var(--gap) / 4);
-}
-
-fieldset {
- position: relative;
-
- padding: var(--gap);
- margin: var(--gap) 0;
- width: 100%;
- border-radius: .2em;
-
- /* artificially increase specificity */
-
- /* TODO: come up with a better way to do this */
-}
-
-fieldset > :first-child:first-child:first-child:first-child,
- fieldset > :first-child>:first-child:first-child:first-child,
- fieldset > :first-child>:first-child>:first-child:first-child,
- fieldset > :first-child>:first-child>:first-child>:first-child { margin-block-start: 0; }
-
-fieldset > :last-child:last-child:last-child:last-child,
- fieldset > :last-child>:last-child:last-child:last-child,
- fieldset > :last-child>:last-child>:last-child:last-child,
- fieldset > :last-child>:last-child>:last-child>:last-child { margin-block-end: 0; }
-
-fieldset > legend + * { margin-block-start: 0 }
-
-fieldset {
-
- border: 1px solid var(--faded-fg);
-}
-
-/***
- 4.4 Grouping content
- https://html.spec.whatwg.org/multipage/grouping-content.html
- ***/
-
-p {
- margin-block: var(--gap);
-}
-
-hr {
- color: inherit;
-
- flex-grow: 0;
- border-inline-start: 1px solid var(--accent);
- block-size: auto;
- border-block-start: 1px solid var(--accent);
- border-block-end: none;
- border-inline-end: none;
-}
-
-pre {
- font-family: var(--mono-font);
- font-size: .9em;
- line-height: var(--rhythm);
- -o-tab-size: 2;
- tab-size: 2;
-
- margin: var(--gap) 0;
-
- overflow-x: auto;
- scrollbar-width: thin;
- scrollbar-color: var(--accent) transparent;
-}
-
-blockquote {
- margin-inline: 0 var(--gap);
- padding-inline: var(--gap) 0;
- margin-block: var(--gap);
-
- font-size: 1.1em;
- line-height: var(--rhythm);
- font-style: italic;
-
- border-inline-start: 1px solid var(--faded-fg);
- color: var(--muted-fg)
-}
-
-blockquote em, blockquote cite, blockquote dfn, blockquote var, blockquote i, blockquote address {
- font-style: normal;
- }
-
-blockquote footer {
- text-align: right;
- text-align: end;
- }
-
-ul, ol {
- padding-inline-start: var(--rhythm)
-}
-
-ul[role="list"], ol[role="list"] {
- padding-inline-start: 0;
- list-style: none;
- }
-
-ul {
- list-style: square;
-}
-
-ol {
- list-style: decimal;
-}
-
-dl {
- margin-block: var(--gap);
-}
-
-dt {
- font-weight: bold;
- }
-
-dd {
- margin-inline-start: var(--rhythm);
- }
-
-figure {
- max-width: 100%;
- margin-inline: 0;
- padding: var(--gap);
-
- border: 1px solid var(--faded-fg);
- border-radius: calc(var(--rhythm) / 4);
-
- /* artificially increase specificity */
-
- /* TODO: come up with a better way to do this */
-}
-
-figure > :first-child:first-child:first-child:first-child,
- figure > :first-child>:first-child:first-child:first-child,
- figure > :first-child>:first-child>:first-child:first-child,
- figure > :first-child>:first-child>:first-child>:first-child { margin-block-start: 0; }
-
-figure > :last-child:last-child:last-child:last-child,
- figure > :last-child>:last-child:last-child:last-child,
- figure > :last-child>:last-child>:last-child:last-child,
- figure > :last-child>:last-child>:last-child>:last-child { margin-block-end: 0; }
-
-figcaption {
- margin-block: var(--gap);
-
- color: var(--muted-fg);
-}
-
-main {
- max-inline-size: var(--eff-line-length);
- margin: auto;
-}
-
-/***
- 4.5 Text-level semantics
- https://html.spec.whatwg.org/multipage/text-level-semantics.html
-
- 4.7 Edits
- https://html.spec.whatwg.org/multipage/edits.html
- ***/
-
-/* Text-level semantics */
-
-a {
- color: var(--link-fg, var(--accent))
-}
-
-.list-of-links a {
- text-decoration: none
-}
-
-a:hover {
- text-decoration: underline;
- }
-
-span > small:only-child {
- /***
- Sidenote
- ***/
- display: block;
- float: inline-end;
- clear: inline-end;
-
- --sidenote-width: 20ch;
-
- max-inline-size: var(--sidenote-width);
- padding-inline: 1.5ch 1ch;
-
- margin-inline-end: calc(1em - var(--sidenote-width));
- margin-block-end: var(--rhythm);
-
- background: var(--bg);
- border: 1px solid transparent;
-
- transition: transform .1s ease-in-out
-}
-
-span > small:only-child:hover, span > small:only-child:focus-within {
- border: 1px solid var(--faded-fg);
- border-radius: .2em;
- transform: translateX(calc(
- 0px - var(--sidenote-width)
- + min(var(--gutter-width), var(--sidenote-width))
- ))
- }
-
-s {
- color: var(--bad-fg);
-}
-
-q {
- font-style: italic
-}
-
-q em, q cite, q dfn, q var, q i, q address {
- font-style: normal;
- }
-
-time {
- font-variant-numeric: tabular-nums;
-}
-
-code, samp, kbd {
- font-family: var(--mono-font);
-}
-
-samp {
- color: var(--ok-fg);
-}
-
-kbd kbd /*
- We apply the key-like styling to a nested kbd element, a pattern shown in
- WHATWG HTML for marking up keyboard input:
-
- > Here the kbd element is used to indicate keys to press:
- > ~~~ html
- > <p>To make George eat an apple, press <kbd><kbd>Shift</kbd> + <kbd>F3</kbd></kbd></p>
- > ~~~
-
- The plain kbd element can also be used for clicking menus (<kbd>File |
- New...</kbd>) or voice input (<kbd>Hey Siri, </kbd>)
-*/ {
- display: inline-block;
-
- padding: 0 .3em;
- font-size: .8em;
- line-height: 1.1em;
-
- background: var(--interactive-bg);
- border: 1px outset var(--faded-fg);
- border-block-end-width: 3px;
- border-radius: .3em;
-}
-
-sub {
- vertical-align: bottom;
- line-height: 1;
-}
-
-sup {
- vertical-align: top;
- line-height: 1;
-}
-
-mark {
- background: var(--warn-bg);
- color: var(--warn-fg);
-}
-
-/* Edits */
-
-ins {
- background: var(--ok-bg);
- color: var(--ok-fg);
-}
-
-del {
- background: var(--bad-bg);
- color: var(--bad-fg);
-}
-
-/***
- 4.11 Interactive elements
- https://html.spec.whatwg.org/multipage/interactive-elements.html#interactive-elements
- ***/
-
-details {
- margin: var(--gap) 0;
- padding: var(--gap);
- border-radius: calc(var(--rhythm) / 4);
- background: var(--colorful-bg);
- border: 1px solid var(--accent)
- /* artificially increase specificity */
- /* TODO: come up with a better way to do this */
-}
-
-details > :first-child:first-child:first-child:first-child,
- details > :first-child>:first-child:first-child:first-child,
- details > :first-child>:first-child>:first-child:first-child,
- details > :first-child>:first-child>:first-child>:first-child { margin-block-start: 0; }
-
-details > :last-child:last-child:last-child:last-child,
- details > :last-child>:last-child:last-child:last-child,
- details > :last-child>:last-child>:last-child:last-child,
- details > :last-child>:last-child>:last-child>:last-child { margin-block-end: 0; }
-
-details {
- padding-block-start: 0
-}
-
-details:not([open]) { padding-block-end: 0; }
-
-summary {
- margin: calc(0px - var(--gap));
- margin-top: calc(0px - var(--gap));
- margin-bottom: 0;
- padding-inline: var(--gap);
-
- font-weight: bold;
-
- background: var(--accent);
- color: var(--bg);
-
- cursor: pointer
-}
-
-summary:focus-visible, summary:active {
- background: var(--muted-accent);
- border-color: var(--muted-accent);
- }
-
-details[open] summary {
- border-block-end: 1px solid var(--accent);
- border-end-end-radius: 0;
- border-end-start-radius: 0
-}
-
-dialog {
- margin: var(--gap) 0;
- padding: var(--gap);
- border-radius: calc(var(--rhythm) / 4);
- background: var(--colorful-bg);
- border: 1px solid var(--accent);
- /* artificially increase specificity */
- /* TODO: come up with a better way to do this */
-}
-
-dialog > :first-child:first-child:first-child:first-child,
- dialog > :first-child>:first-child:first-child:first-child,
- dialog > :first-child>:first-child>:first-child:first-child,
- dialog > :first-child>:first-child>:first-child>:first-child { margin-block-start: 0; }
-
-dialog > :last-child:last-child:last-child:last-child,
- dialog > :last-child>:last-child:last-child:last-child,
- dialog > :last-child>:last-child>:last-child:last-child,
- dialog > :last-child>:last-child>:last-child>:last-child { margin-block-end: 0; }
-
-dialog {
- position: absolute;
- inline-inset: 0;
-
- block-size: -moz-fit-content;
-
- block-size: fit-content;
- inline-size: -moz-fit-content;
- inline-size: fit-content;
-
- margin: auto;
-
- background-color: var(--bg);
- color: var(--fg);
-
- box-shadow:
- 0 0 .2em .1em var(--shadow),
- 0 .2em .4em var(--shadow),
- 0 .25em 1em var(--shadow);
-}
-
-dialog[open]::backdrop {
- display: block;
- background: black;
- opacity: .4;
- animation: bg 2s;
-}
-
-@keyframes bg {
- from { background: transparent; }
-}
-
-dialog:not([open]) {
- display: none;
-}
-
-/***
- 4.1 The document element
- https://html.spec.whatwg.org/multipage/semantics.html#the-root-element
-
- 4.3 Sections
- https://html.spec.whatwg.org/multipage/sections.html
- ***/
-
-html {
- font-family: var(--main-font);
- line-height: var(--rhythm);
- font-size: 120%;
-}
-
-body {
- margin: 0;
-}
-
-header, footer, section {
- margin-block: calc(2 * var(--gap));
-}
-
-nav a {
- text-decoration: none;
- color: var(--accent);
- }
-
-aside {
- margin: var(--gap) 0;
- padding: var(--gap);
- border-radius: calc(var(--rhythm) / 4);
- background: var(--colorful-bg);
- border: 1px solid var(--accent)
- /* artificially increase specificity */
- /* TODO: come up with a better way to do this */
-}
-
-aside > :first-child:first-child:first-child:first-child,
- aside > :first-child>:first-child:first-child:first-child,
- aside > :first-child>:first-child>:first-child:first-child,
- aside > :first-child>:first-child>:first-child>:first-child { margin-block-start: 0; }
-
-aside > :last-child:last-child:last-child:last-child,
- aside > :last-child>:last-child:last-child:last-child,
- aside > :last-child>:last-child>:last-child:last-child,
- aside > :last-child>:last-child>:last-child>:last-child { margin-block-end: 0; }
-
-aside h1,
- aside h2,
- aside h3,
- aside h4,
- aside h5,
- aside h6 {
- font-size: 1em;
- text-transform: none;
- letter-spacing: none;
- }
-
-h1, h2, h3, h4, h5, h6 {
- margin-block-end: var(--gap);
- font-family: var(--display-font);
- font-size: 1em;
- margin-block-start: calc(2 * var(--gap));
-}
-
-h1, .h1 {
- font-size: 2em;
- text-transform: none;
- line-height: calc(2 * var(--rhythm));
- letter-spacing: 0;
-}
-
-h2, .h2 {
- font-size: 1.6em;
- text-transform: none;
- line-height: calc(1.5 * var(--rhythm));
- letter-spacing: 0;
-}
-
-h3, .h3 {
- font-size: 1.17em;
- text-transform: uppercase;
- line-height: calc(1 * var(--rhythm));
- letter-spacing: 0.02em;
-}
-
-h4, .h4, h5, .h5, h6, .h6 {
- font-size: 1em;
- text-transform: none;
- line-height: calc(1 * var(--rhythm));
- letter-spacing: 0;
- margin-block-start: var(--gap);
-}
-
-h1 + h2,
-h2 + h3,
-h3 + h4,
-h4 + h5,
-h5 + h6,
-h1:first-child,
-h2:first-child,
-h3:first-child,
-h4:first-child,
-h5:first-child,
-h6:first-child {
- margin-block-start: var(--gap);
-}
-
-h1:target,
-h2:target,
-h3:target,
-h4:target,
-h5:target,
-h6:target {
- outline: none
-}
-
-h1:target::before, h2:target::before, h3:target::before, h4:target::before, h5:target::before, h6:target::before {
- content: '❧';
- display: inline-block;
- width: 0;
- transform: translateX(-1.5ch);
- font-size: 2em;
- vertical-align: bottom;
- color: var(--accent);
- }
-
-header {
- border-block-end: 1px solid var(--faded-fg);
-}
-
-footer {
- border-block-start: 1px solid var(--faded-fg);
-}
-
-body > header,
-body > footer,
-main + footer {
- padding: var(--rhythm) calc((100% - var(--eff-line-length)) / 2)
-}
-
-address {
- --density: 0;
-}
-
-/***
- 4.9 Tabular data
- https://html.spec.whatwg.org/multipage/tables.html
- ***/
-
-table {
- font-variant-numeric: tabular-nums;
- font: inherit;
-}
-
-caption {
- text-align: start;
- font-style: italic;
-}
-
-tbody {
- border-block: 1px solid var(--fg);
-}
-
-thead {
-}
-
-tfoot {
-}
-
-tr {
-
-}
-
-td, th {
- vertical-align: top
-}
-
-td:not(:last-child), th:not(:last-child) {
- padding-inline-end: var(--rhythm);
- }
-
-td {
- }
-
-th {
- text-align: start;
- }
-
-/* Colors taken from https://reasonable.work/colors/ */
-
-:root {
- /* Colors */
- --fg: #000; /* Text. */
- --muted-fg: #3e3e3e; /* De-emphasized or disabled elements' text. Will be
- used with a background of --c-bg and --c-bg-2 -- check contrast! */
- --faded-fg: #8b8b8b; /* De-emphasized or disabled graphical elements. Will not
- be used as a text color. */
- --info-fg: #00386d;
- --ok-fg: #004825;
- --bad-fg: #830014;
- --warn-fg: #463d00;
-
- --bg: #fff; /* Page background. */
- --colorful-bg: #d7fff7; /* Background for blocks: cards, admonitions etc. */
- --interactive-bg: #e2e2e2; /* Background for interactive elements */
- --info-bg: #d4e0ff; /* blue */
- --ok-bg: #5dffa2;
- --bad-bg: #ffddd8;
- --warn-bg: #ffe53e;
-
- --shadow: #777; /* Box shadows. */
-
- --accent: #007f5f; /* Accent color. Will be used *as a text color* with a
- background of --c-bg and --c-bg-2 -- check contrast! */
- --muted-accent: #42ffc6; /* Muted accent color. Will not be used for text. */
-
- /* Lengths */
- --rhythm: 1.4rem; /* Vertical rhythm, line height. */
- --line-length: 40rem; /* Maximum line length for prose. */
-
- /* Fonts */
- --main-font: 'Inter', -apple-system, system-ui, sans-serif;
- --display-font: var(--main-font); /* Headings etc. */
- --mono-font: 'M Plus Code Latin', monospace, monospace; /* monospace twice stops browsers from
- shrinking this */
-
- /* Density */
- --density: 1;
-
- /* Width */
- --full-width: 100vw;
-
- /* Do not set these. */
- --eff-line-length: /* Effective line length for prose. */
- min(
- calc( var(--full-width) - (2 * var(--rhythm)) ),
- var(--line-length)
- );
-
- --gutter-width: /* Width of spaces at each side of page content. */
- calc(
- (
- var(--full-width) /* Viewport width */
- - var(--eff-line-length) /* minus line width */
- ) / 2); /* Divide by 2: there are two page margins */
-}
-
-* {
- --gap: calc(var(--rhythm) * var(--density));
- accent-color: var(--accent);
-}
diff --git a/www/releases/_artifacts/v0.0.3/missing.min.css b/www/releases/_artifacts/v0.0.3/missing.min.css
deleted file mode 100644
index 8d17ebc..0000000
--- a/www/releases/_artifacts/v0.0.3/missing.min.css
+++ /dev/null
@@ -1,16 +0,0 @@
-@keyframes bg{0%{background:0 0}}*,::after,::before{box-sizing:border-box;background-repeat:no-repeat}::after,::before{text-decoration:inherit;vertical-align:inherit}:root{cursor:default;overflow-wrap:break-word;-webkit-tap-highlight-color:transparent;text-size-adjust:none;-webkit-text-size-adjust:none}abbr[title]{-webkit-text-decoration:underline dotted;text-decoration:underline dotted}b,strong{font-weight:bolder}small{font-size:80%}audio,canvas,iframe,img,svg,video{vertical-align:middle}svg:not([fill]){fill:currentColor}table{border-collapse:collapse;border-color:currentColor;text-indent:0;font-variant-numeric:tabular-nums;font:inherit}button,input,select,textarea{margin:0}[type=button],[type=reset],[type=submit],button{-webkit-appearance:button}fieldset{border:1px solid #a0a0a0;position:relative;padding:var(--gap);margin:var(--gap) 0;width:100%;border-radius:.2em;border:1px solid var(--faded-fg)}progress{vertical-align:baseline}[type=search]{-webkit-appearance:textfield;outline-offset:-2px}::-webkit-inner-spin-button,::-webkit-outer-spin-button{block-size:auto}::-webkit-input-placeholder{color:inherit;opacity:.54}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{-webkit-appearance:button;font:inherit}[hidden],datalist{display:none!important}:focus-visible{outline:.2em solid var(--accent);z-index:32}body:focus-visible,html:focus-visible,iframe:focus-visible{outline:0}:target{outline:.2em solid var(--fg);z-index:32}details>summary:first-of-type{display:list-item}[aria-busy=true]{cursor:progress}[aria-disabled=true],[disabled]{cursor:not-allowed}.info{--colorful-bg: var(--info-bg);--accent: var(--info-fg)}.ok{--colorful-bg: var(--ok-bg);--accent: var(--ok-fg)}.warn{--colorful-bg: var(--warn-bg);--accent: var(--warn-fg)}.bad{--colorful-bg: var(--bad-bg);--accent: var(--bad-fg)}.color{color:var(--accent)}.bg{background:var(--colorful-bg)}.border{border-style:solid;border-color:var(--accent)}.airy{--density: 3}.dense{--density: 1}.crowded{--density: .5}.packed,address{--density: 0}.autodensity{--density: 1
-}@media (min-width:768px){.autodensity{--density: 2
-}}@media (min-width:1024px){.autodensity{--density: 3
-}}.f-row{display:flex;flex-direction:row;gap:var(--gap)}.f-row>*{margin:0}.f-col{display:flex;flex-direction:column;gap:var(--gap)}.f-col>*,body{margin:0}.f-switch{display:flex;flex-flow:row wrap;gap:var(--gap);--col-width: 15ch /* see ./layout.css */
-}.f-switch>*{margin:0;flex-basis:calc((var(--col-width) - 100%)*999);flex-grow:1}.justify-content\:start{justify-content:start}.justify-content\:end{justify-content:end}.justify-content\:baseline{justify-content:baseline}.justify-content\:center{justify-content:center}.justify-content\:stretch{justify-content:stretch}.align-items\:start{align-items:start}.align-items\:end{align-items:end}.align-items\:baseline{align-items:baseline}.align-items\:center{align-items:center}.align-items\:stretch{align-items:stretch}.align-self\:start{align-self:start}.align-self\:end{align-self:end}.align-self\:baseline{align-self:baseline}.align-self\:center{align-self:center}.align-self\:stretch{align-self:stretch}.grow-0{flex-grow:0}.grow-1{flex-grow:1}.grow-2{flex-grow:2}.grow-3{flex-grow:3}.grow-4{flex-grow:4}.grow-5{flex-grow:5}.grow-6{flex-grow:6}.grow-7{flex-grow:7}.grow-8{flex-grow:8}.grow-9{flex-grow:9}.grow-10{flex-grow:10}.grow-11{flex-grow:11}.grow-12{flex-grow:12}.vh,v-h{clip:rect(0 0 0 0);-webkit-clip-path:inset(50%);clip-path:inset(50%);block-size:1px;overflow:hidden;position:absolute;white-space:nowrap;inline-size:1px}.reset{all:initial}.basicgrid{display:grid;grid-template-columns:repeat(auto-fit,minmax(var(--col-width),1fr));gap:var(--gap);--col-width: 15ch
-}.basicgrid>*{margin:0!important;min-width:1px}.colwidth-l{--col-width: 35ch }.colwidth-m{--col-width: 24ch }.colwidth-s{--col-width: 15ch }.minwidth-l{min-width:35ch}.minwidth-m{min-width:24ch}.minwidth-s{min-width:15ch}.maxwidth-l{max-width:35ch}.maxwidth-m{max-width:24ch}.maxwidth-s{max-width:15ch}.col-0{flex-grow:0}.col-1{grid-column-end:span 1}.col-2{grid-column-end:span 2}.col-3{grid-column-end:span 3}.col-4{grid-column-end:span 4}.col-5{grid-column-end:span 5}.col-6{grid-column-end:span 6}.col-7{grid-column-end:span 7}.col-8{grid-column-end:span 8}.col-9{grid-column-end:span 9}.col-10{grid-column-end:span 10}.col-11{grid-column-end:span 11}.col-12{grid-column-end:span 12}.col-inf{grid-column-end:-1}.textcolumns{--col-width: 30ch;column-width:var(--col-width);column-gap:var(--gap);margin-block:var(--gap)}.textcolumns :first-child{margin-block-start:0!important}.textcenter{text-align:center}.container{max-inline-size:var(--eff-line-length);margin-inline:auto}.fullbleed{position:relative;width:100vw;left:50%;transform:translateX(-50vw);border-radius:0;border-inline:none}.pad{padding-inline:var(--gap)}.pad-block{padding-block:var(--gap)}.margin{margin:var(--gap)}.margin-block,dl,p{margin-block:var(--gap)}.margin-inline{margin-inline:var(--gap)}.breadcrumbs[aria-label] li,.inline{display:inline}.block,input{display:block}.contents{display:contents}.table{display:table;width:100%;margin:0}.row,.rows>*{display:table-row}.row:not(:last-child)>*,.rows>:not(:last-child)>*{margin-bottom:var(--gap)}.row>:not([specificity-hack]),.rows>*>:not([specificity-hack]){display:table-cell;vertical-align:top}.row>*+:not([specificity-hack]),:is(.rows > *)>*+:not([specificity-hack]){margin-inline-start:var(--gap);display:inline-block}.fixed{position:fixed}.sticky{position:sticky}.top{top:0}.right{right:0}.bottom{bottom:0}.left{left:0}.\^{top:0}.\>{right:0}.\_{bottom:0}.\<{left:0}.float\<{float:left}.float\>{float:right}.scroll{overflow:auto}.scroll\!{overflow:scroll}.allcaps,all-caps{text-transform:uppercase;letter-spacing:.1rem}.monospace,code,kbd,samp{font-family:var(--mono-font)}.box,.missing-card,aside,details,dialog,missing-card{margin:var(--gap) 0;padding:var(--gap);border-radius:calc(var(--rhythm)/4);background:var(--colorful-bg);border:1px solid var(--accent)}:is(.box,missing-card,.missing-card)>:first-child:first-child:first-child:first-child,:is(.box,missing-card,.missing-card)>:first-child>:first-child:first-child:first-child,:is(.box,missing-card,.missing-card)>:first-child>:first-child>:first-child:first-child,:is(.box,missing-card,.missing-card)>:first-child>:first-child>:first-child>:first-child{margin-block-start:0}:is(.box,missing-card,.missing-card)>:last-child:last-child:last-child:last-child,:is(.box,missing-card,.missing-card)>:last-child>:last-child:last-child:last-child,:is(.box,missing-card,.missing-card)>:last-child>:last-child>:last-child:last-child,:is(.box,missing-card,.missing-card)>:last-child>:last-child>:last-child>:last-child{margin-block-end:0}.titlebar{margin-inline:calc(0px - var(--gap));margin-block-end:calc(0px - var(--gap));padding-inline:var(--gap);font:inherit;font-weight:700;translate:0 calc(-1px - var(--gap));background:var(--accent);color:var(--bg)}.breadcrumbs[aria-label] ol,.breadcrumbs[aria-label] ul{list-style:none;padding-inline-start:0}:is(.breadcrumbs[aria-label] li)+li::before{content:' / ';display:inline}.breadcrumbs[aria-label] [aria-current=page],dt{font-weight:700}.chip,chip{border:1px solid var(--accent);background:var(--colorful-bg);border-radius:calc(var(--rhythm)/2);padding-inline:calc(var(--rhythm)/2)}.navbar,header[is=nav-bar]{margin:0;padding:0 var(--rhythm);background:var(--colorful-bg);border-block-end:1px solid var(--accent);overflow-x:auto;scrollbar-width:thin;display:flex;flex-flow:row;gap:calc(2*var(--rhythm))}:is(.navbar,header[is="nav-bar"]) :first-child{margin-inline-start:auto}:is(.navbar,header[is="nav-bar"]) :last-child{margin-inline-end:auto}:is(.navbar,header[is="nav-bar"]) *,:is(.navbar,header[is="nav-bar"]) nav ul[role=list] *{flex-shrink:0}:is(.navbar,header[is="nav-bar"]) nav ul[role=list]{padding-inline-start:0;display:flex;flex-flow:row;gap:var(--rhythm)}:is(.navbar,header[is="nav-bar"]) a{font-weight:700;text-decoration:none}:is(.navbar,header[is="nav-bar"]) a:focus,:is(.navbar,header[is="nav-bar"]) a:hover{text-decoration:underline}:is(.navbar,header[is="nav-bar"]) [aria-current=page]{background:var(--accent);color:var(--colorful-bg);border-radius:.2em;outline:.2em solid var(--accent)}.sidebar{margin:var(--gap) 0;padding:var(--gap);border-radius:calc(var(--rhythm)/4);background:var(--colorful-bg);border:1px solid var(--accent);border-block:none;border-inline-start:none;border-radius:0;margin:0;font-size:.8em;--rhythm: 1em
-}.sidebar>:first-child:first-child:first-child:first-child,.sidebar>:first-child>:first-child:first-child:first-child,.sidebar>:first-child>:first-child>:first-child:first-child,.sidebar>:first-child>:first-child>:first-child>:first-child{margin-block-start:0}.sidebar>:last-child:last-child:last-child:last-child,.sidebar>:last-child>:last-child:last-child:last-child,.sidebar>:last-child>:last-child>:last-child:last-child,.sidebar>:last-child>:last-child>:last-child>:last-child{margin-block-end:0}.sidebar li{padding:calc(.5*var(--gap));margin-inline:calc(-.5*var(--gap));border-radius:.4em}.sidebar a{font-weight:700;text-decoration:none}.sub-title,sub-title{display:block;font-weight:400;color:var(--muted-fg)}[role=tablist]{display:flex;gap:.5ch;scrollbar-width:thin}[role=tab][role=tab]{all:initial;font-family:inherit;padding:0 calc(var(--rhythm)/4);margin:0;min-height:var(--rhythm);border:solid var(--accent);border-width:1px 1px 0;border-block-end-color:transparent;background:var(--interactive-bg);border-start-start-radius:.4em;border-start-end-radius:.4em}[role=tab][role=tab]:active,[role=tab][role=tab][aria-selected=true]{transform:none;bottom:-1px;position:relative;background:var(--colorful-bg);border-block-end:1px solid var(--colorful-bg)}[role=tabpanel]{margin:var(--gap) 0;padding:var(--gap);border-radius:calc(var(--rhythm)/4);background:var(--colorful-bg);border:1px solid var(--accent);margin-block-start:0;border-start-start-radius:0;border-start-end-radius:0;z-index:1}[role=tabpanel]>:first-child:first-child:first-child:first-child,[role=tabpanel]>:first-child>:first-child:first-child:first-child,[role=tabpanel]>:first-child>:first-child>:first-child:first-child,[role=tabpanel]>:first-child>:first-child>:first-child>:first-child,fieldset>:first-child:first-child:first-child:first-child,fieldset>:first-child>:first-child:first-child:first-child,fieldset>:first-child>:first-child>:first-child:first-child,fieldset>:first-child>:first-child>:first-child>:first-child{margin-block-start:0}[role=tabpanel]>:last-child:last-child:last-child:last-child,[role=tabpanel]>:last-child>:last-child:last-child:last-child,[role=tabpanel]>:last-child>:last-child>:last-child:last-child,[role=tabpanel]>:last-child>:last-child>:last-child>:last-child,fieldset>:last-child:last-child:last-child:last-child,fieldset>:last-child>:last-child:last-child:last-child,fieldset>:last-child>:last-child>:last-child:last-child,fieldset>:last-child>:last-child>:last-child>:last-child{margin-block-end:0}.tool-bar,tool-bar{display:flex;flex-flow:row wrap;gap:calc(var(--gap)/2)}audio,embed,iframe,img,object,video{max-inline-size:100%;inline-size:max-content;block-size:auto}label input:not([specificity-hack]){display:inline;padding-block:0}button,input::file-selector-button,input[type=button],input[type=reset],input[type=submit]{display:inline-block;padding:0 calc(var(--rhythm)/4);vertical-align:top;font-size:.8rem;line-height:1.125em;font-family:var(--main-font);min-height:var(--rhythm);background:var(--interactive-bg);border:1px solid var(--accent);box-sizing:border-box;border-radius:.2em;box-shadow:0 .1em .2em var(--shadow)}:is(button,input[type="submit"],input[type="reset"],input[type="button"],input::file-selector-button):focus-visible,:is(button,input[type="submit"],input[type="reset"],input[type="button"],input::file-selector-button):hover{background:var(--colorful-bg)}:is(button,input[type="submit"],input[type="reset"],input[type="button"],input::file-selector-button):active{box-shadow:none;background-color:var(--accent);color:var(--bg)}[aria-expanded=true]:is(button,input[type="submit"],input[type="reset"],input[type="button"],input::file-selector-button),[aria-pressed=true]:is(button,input[type="submit"],input[type="reset"],input[type="button"],input::file-selector-button){box-shadow:0 .05em var(--accent);transform:translateY(.05em);background:var(--pressed-interactive-bg)}input:not([type]),input[type=date],input[type=datetime-local],input[type=datetime],input[type=email],input[type=month],input[type=number],input[type=password],input[type=search],input[type=tel],input[type=text],input[type=time],input[type=url],input[type=week],select,textarea{padding:calc(var(--rhythm)/4);font-size:1rem;line-height:inherit;font-family:var(--main-font);background:var(--bg);border:1px solid var(--faded-fg);border-radius:.2em;vertical-align:top}:is(input:not([type]),input[type="text"],input[type="search"],input[type="tel"],input[type="url"],input[type="email"],input[type="password"],input[type="date"],input[type="month"],input[type="week"],input[type="time"],input[type="datetime"],input[type="datetime-local"],input[type="number"],select,textarea):focus-visible{border:1px solid var(--accent)}:is(input:not([type]),input[type="text"],input[type="search"],input[type="tel"],input[type="url"],input[type="email"],input[type="password"],input[type="date"],input[type="month"],input[type="week"],input[type="time"],input[type="datetime"],input[type="datetime-local"],input[type="number"],select,textarea)::placeholder{color:var(--muted-fg);opacity:1;text-align:end}input[type=range]{width:100%;padding:calc(var(--gap)/4)}input[type=color]{padding:0;margin:0;height:calc(1.5*var(--rhythm));border:0;background:0 0}input[type=file]{padding:calc(var(--gap)/4) 0;font-size:inherit;line-height:calc(var(--rhythm)/2)}input[type=file]::file-selector-button{margin-block:.1em 0;margin-inline-end:1ch}select[multiple],td,th{vertical-align:top}optgroup::before{color:var(--muted-fg)}label[for]{display:block;padding-block:calc(var(--gap)/4)}fieldset>legend+*{margin-block-start:0}hr{color:inherit;flex-grow:0;border-inline-start:1px solid var(--accent);block-size:auto;border-block-start:1px solid var(--accent);border-block-end:none;border-inline-end:none}blockquote,pre{line-height:var(--rhythm)}pre{font-family:var(--mono-font);-o-tab-size:2;tab-size:2;margin:var(--gap) 0;overflow-x:auto;scrollbar-width:thin;scrollbar-color:var(--accent) transparent;font-size:.9em}blockquote{margin-inline:0 var(--gap);padding-inline:var(--gap) 0;margin-block:var(--gap);font-size:1.1em;font-style:italic;border-inline-start:1px solid var(--faded-fg);color:var(--muted-fg)}blockquote address,blockquote cite,blockquote dfn,blockquote em,blockquote i,blockquote var,optgroup::before,q address,q cite,q dfn,q em,q i,q var{font-style:normal}blockquote footer{text-align:right;text-align:end}ol,ul{padding-inline-start:var(--rhythm)}ol[role=list],ul[role=list]{padding-inline-start:0;list-style:none}ul{list-style:square}ol{list-style:decimal}dd{margin-inline-start:var(--rhythm)}figure{max-width:100%;margin-inline:0;padding:var(--gap);border:1px solid var(--faded-fg);border-radius:calc(var(--rhythm)/4)}figure>:first-child:first-child:first-child:first-child,figure>:first-child>:first-child:first-child:first-child,figure>:first-child>:first-child>:first-child:first-child,figure>:first-child>:first-child>:first-child>:first-child{margin-block-start:0}figure>:last-child:last-child:last-child:last-child,figure>:last-child>:last-child:last-child:last-child,figure>:last-child>:last-child>:last-child:last-child,figure>:last-child>:last-child>:last-child>:last-child{margin-block-end:0}figcaption{margin-block:var(--gap);color:var(--muted-fg)}main{max-inline-size:var(--eff-line-length);margin:auto}a{color:var(--link-fg, var(--accent))}.list-of-links a{text-decoration:none}a:hover{text-decoration:underline}span>small:only-child{display:block;float:inline-end;clear:inline-end;--sidenote-width: 20ch;max-inline-size:var(--sidenote-width);padding-inline:1.5ch 1ch;margin-inline-end:calc(1em - var(--sidenote-width));margin-block-end:var(--rhythm);background:var(--bg);border:1px solid transparent;transition:transform .1s ease-in-out}span>small:only-child:focus-within,span>small:only-child:hover{border:1px solid var(--faded-fg);border-radius:.2em;transform:translateX(calc(0px - var(--sidenote-width) + min(var(--gutter-width),var(--sidenote-width))))}del,s{color:var(--bad-fg)}q{font-style:italic}time{font-variant-numeric:tabular-nums}ins,samp{color:var(--ok-fg)}kbd kbd{display:inline-block;padding:0 .3em;font-size:.8em;line-height:1.1em;background:var(--interactive-bg);border:1px outset var(--faded-fg);border-block-end-width:3px;border-radius:.3em}sub,sup{vertical-align:bottom;line-height:1}sup{vertical-align:top}mark{background:var(--warn-bg);color:var(--warn-fg)}ins{background:var(--ok-bg)}del{background:var(--bad-bg)}details>:first-child:first-child:first-child:first-child,details>:first-child>:first-child:first-child:first-child,details>:first-child>:first-child>:first-child:first-child,details>:first-child>:first-child>:first-child>:first-child{margin-block-start:0}details>:last-child:last-child:last-child:last-child,details>:last-child>:last-child:last-child:last-child,details>:last-child>:last-child>:last-child:last-child,details>:last-child>:last-child>:last-child>:last-child{margin-block-end:0}details{padding-block-start:0}details:not([open]){padding-block-end:0}summary{margin:calc(0px - var(--gap));margin-bottom:0;padding-inline:var(--gap);font-weight:700;background:var(--accent);color:var(--bg);cursor:pointer}summary:active,summary:focus-visible{background:var(--muted-accent);border-color:var(--muted-accent)}details[open] summary{border-block-end:1px solid var(--accent);border-end-end-radius:0;border-end-start-radius:0}dialog>:first-child:first-child:first-child:first-child,dialog>:first-child>:first-child:first-child:first-child,dialog>:first-child>:first-child>:first-child:first-child,dialog>:first-child>:first-child>:first-child>:first-child{margin-block-start:0}dialog>:last-child:last-child:last-child:last-child,dialog>:last-child>:last-child:last-child:last-child,dialog>:last-child>:last-child>:last-child:last-child,dialog>:last-child>:last-child>:last-child>:last-child{margin-block-end:0}dialog{position:absolute;inline-inset:0;block-size:-moz-fit-content;block-size:fit-content;inline-size:-moz-fit-content;inline-size:fit-content;margin:auto;background-color:var(--bg);color:var(--fg);box-shadow:0 0 .2em .1em var(--shadow),0 .2em .4em var(--shadow),0 .25em 1em var(--shadow)}dialog[open]::backdrop{display:block;background:#000;opacity:.4;animation:bg 2s}dialog:not([open]){display:none}html{font-family:var(--main-font);line-height:var(--rhythm);font-size:120%}footer,header,section{margin-block:calc(2*var(--gap))}nav a{text-decoration:none;color:var(--accent)}aside>:first-child:first-child:first-child:first-child,aside>:first-child>:first-child:first-child:first-child,aside>:first-child>:first-child>:first-child:first-child,aside>:first-child>:first-child>:first-child>:first-child{margin-block-start:0}aside>:last-child:last-child:last-child:last-child,aside>:last-child>:last-child:last-child:last-child,aside>:last-child>:last-child>:last-child:last-child,aside>:last-child>:last-child>:last-child>:last-child{margin-block-end:0}aside h1,aside h2,aside h3,aside h4,aside h5,aside h6{font-size:1em;text-transform:none;letter-spacing:none}h1,h2,h3,h4,h5,h6{margin-block-end:var(--gap);font-family:var(--display-font);margin-block-start:calc(2*var(--gap))}.h1,.h2,h1,h2{font-size:2em;text-transform:none;line-height:calc(2*var(--rhythm));letter-spacing:0}.h2,h2{font-size:1.6em;line-height:calc(1.5*var(--rhythm))}.h3,.h4,.h5,.h6,h3,h4,h5,h6{font-size:1.17em;text-transform:uppercase;line-height:calc(1*var(--rhythm));letter-spacing:.02em}.h4,.h5,.h6,h4,h5,h6{font-size:1em;text-transform:none;letter-spacing:0;margin-block-start:var(--gap)}h1+h2,h1:first-child,h2+h3,h2:first-child,h3+h4,h3:first-child,h4+h5,h4:first-child,h5+h6,h5:first-child,h6:first-child{margin-block-start:var(--gap)}h1:target,h2:target,h3:target,h4:target,h5:target,h6:target{outline:0}h1:target::before,h2:target::before,h3:target::before,h4:target::before,h5:target::before,h6:target::before{content:'❧';display:inline-block;width:0;transform:translateX(-1.5ch);font-size:2em;vertical-align:bottom;color:var(--accent)}header{border-block-end:1px solid var(--faded-fg)}footer{border-block-start:1px solid var(--faded-fg)}body>footer,body>header,main+footer{padding:var(--rhythm) calc((100% - var(--eff-line-length))/2)}caption{text-align:start;font-style:italic}tbody{border-block:1px solid var(--fg)}td:not(:last-child),th:not(:last-child){padding-inline-end:var(--rhythm)}th{text-align:start}:root{--fg: #000;--muted-fg: #3e3e3e;--faded-fg: #8b8b8b;--info-fg: #00386d;--ok-fg: #004825;--bad-fg: #830014;--warn-fg: #463d00;--bg: #fff;--colorful-bg: #d7fff7;--interactive-bg: #e2e2e2;--info-bg: #d4e0ff;--ok-bg: #5dffa2;--bad-bg: #ffddd8;--warn-bg: #ffe53e;--shadow: #777;--accent: #007f5f;--muted-accent: #42ffc6;--rhythm: 1.4rem;--line-length: 40rem;--main-font: 'Inter', -apple-system, system-ui, sans-serif;--display-font: var(--main-font);--mono-font: 'M Plus Code Latin', monospace, monospace;--density: 1;--full-width: 100vw;--eff-line-length: /* Effective line length for prose. */
- min(
- calc( var(--full-width) - (2 * var(--rhythm)) ),
- var(--line-length)
- );--gutter-width: /* Width of spaces at each side of page content. */
- calc(
- (
- var(--full-width) /* Viewport width */
- - var(--eff-line-length) /* minus line width */
- ) / 2)}*{--gap: calc(var(--rhythm) * var(--density));accent-color:var(--accent)} \ No newline at end of file
diff --git a/www/releases/_artifacts/v0.0.3/missing.min.css.br b/www/releases/_artifacts/v0.0.3/missing.min.css.br
deleted file mode 100644
index 3b7dd25..0000000
--- a/www/releases/_artifacts/v0.0.3/missing.min.css.br
+++ /dev/null
Binary files differ
diff --git a/www/releases/_artifacts/v0.0.3/missing.min.css.gz b/www/releases/_artifacts/v0.0.3/missing.min.css.gz
deleted file mode 100644
index fd48ef0..0000000
--- a/www/releases/_artifacts/v0.0.3/missing.min.css.gz
+++ /dev/null
Binary files differ
diff --git a/www/releases/_artifacts/v0.0.4/missing-prism.css b/www/releases/_artifacts/v0.0.4/missing-prism.css
deleted file mode 100644
index 23e48b5..0000000
--- a/www/releases/_artifacts/v0.0.4/missing-prism.css
+++ /dev/null
@@ -1,62 +0,0 @@
-
-.token.comment,
-.token.prolog,
-.token.doctype,
-.token.cdata,
-.token.punctuation {
- color: var(--muted-fg);
-}
-
-.token.property,
-.token.tag,
-.token.boolean,
-.token.number,
-.token.constant,
-.token.symbol,
-.token.deleted {
- color: var(--bad-fg);
-}
-
-.token.selector,
-.token.attr-name,
-.token.string,
-.token.char,
-.token.builtin,
-.token.inserted {
- color: var(--ok-fg);
-}
-
-.token.operator,
-.token.entity,
-.token.url,
-.language-css .token.string,
-.style .token.string,
-.token.regex,
-.token.important,
-.token.variable {
- color: var(--warn-fg)
-}
-
-.token.atrule,
-.token.attr-value,
-.token.keyword {
- color: var(--info-fg);
-}
-
-.token.function {
- color: var(--bad-fg);
- font-style: italic;
-}
-
-.token.important,
-.token.bold {
- font-weight: bold;
-}
-
-.token.italic {
- font-style: italic;
-}
-
-.token.entity {
- cursor: help;
-}
diff --git a/www/releases/_artifacts/v0.0.4/missing-prism.min.css b/www/releases/_artifacts/v0.0.4/missing-prism.min.css
deleted file mode 100644
index 41c91b1..0000000
--- a/www/releases/_artifacts/v0.0.4/missing-prism.min.css
+++ /dev/null
@@ -1 +0,0 @@
-.token.cdata,.token.comment,.token.doctype,.token.prolog,.token.punctuation{color:var(--muted-fg)}.token.boolean,.token.constant,.token.deleted,.token.number,.token.property,.token.symbol,.token.tag{color:var(--bad-fg)}.token.attr-name,.token.builtin,.token.char,.token.inserted,.token.selector,.token.string{color:var(--ok-fg)}.language-css .token.string,.style .token.string,.token.entity,.token.important,.token.operator,.token.regex,.token.url,.token.variable{color:var(--warn-fg)}.token.atrule,.token.attr-value,.token.keyword{color:var(--info-fg)}.token.function{color:var(--bad-fg);font-style:italic}.token.bold,.token.important{font-weight:700}.token.italic{font-style:italic}.token.entity{cursor:help} \ No newline at end of file
diff --git a/www/releases/_artifacts/v0.0.4/missing-prism.min.css.br b/www/releases/_artifacts/v0.0.4/missing-prism.min.css.br
deleted file mode 100644
index 2a4ac49..0000000
--- a/www/releases/_artifacts/v0.0.4/missing-prism.min.css.br
+++ /dev/null
Binary files differ
diff --git a/www/releases/_artifacts/v0.0.4/missing-prism.min.css.gz b/www/releases/_artifacts/v0.0.4/missing-prism.min.css.gz
deleted file mode 100644
index e834bd4..0000000
--- a/www/releases/_artifacts/v0.0.4/missing-prism.min.css.gz
+++ /dev/null
Binary files differ
diff --git a/www/releases/_artifacts/v0.0.4/missing.css b/www/releases/_artifacts/v0.0.4/missing.css
deleted file mode 100644
index 31ba040..0000000
--- a/www/releases/_artifacts/v0.0.4/missing.css
+++ /dev/null
@@ -1,1627 +0,0 @@
-/* Document
- * ========================================================================== */
-
-/**
- * 1. Add border box sizing in all browsers (opinionated).
- * 2. Backgrounds do not repeat by default (opinionated).
- */
-
-*,
-::before,
-::after {
- box-sizing: border-box; /* 1 */
- background-repeat: no-repeat; /* 2 */
-}
-
-/**
- * 1. Add text decoration inheritance in all browsers (opinionated).
- * 2. Add vertical alignment inheritance in all browsers (opinionated).
- */
-
-::before,
-::after {
- text-decoration: inherit; /* 1 */
- vertical-align: inherit; /* 2 */
-}
-
-/**
- * 1. Use the default cursor in all browsers (opinionated).
- * 3. Breaks words to prevent overflow in all browsers (opinionated).
- * 5. Remove the grey highlight on links in iOS (opinionated).
- * 6. Prevent adjustments of font size after orientation changes in iOS.
- */
-
-:root {
- cursor: default; /* 1 */
- overflow-wrap: break-word; /* 3 */
- -webkit-tap-highlight-color: transparent; /* 5 */
- text-size-adjust: none;
- -webkit-text-size-adjust: none;
-}
-
-/* Text-level semantics
- * ========================================================================== */
-
-/**
- * Add the correct text decoration in Safari.
- */
-
-abbr[title] {
- text-decoration: underline;
- -webkit-text-decoration: underline dotted;
- text-decoration: underline dotted;
-}
-
-/**
- * Add the correct font weight in Chrome, Edge, and Safari.
- */
-
-strong, b {
- font-weight: bolder;
-}
-
-/**
- * Add the correct font size in all browsers.
- */
-
-small {
- font-size: 80%;
-}
-
-/* Embedded content
- * ========================================================================== */
-
-/*
- * Change the alignment on media elements in all browsers (opinionated).
- */
-
-audio, canvas, iframe, img, svg, video {
- vertical-align: middle;
-}
-
-/**
- * Change the fill color to match the text color in all browsers (opinionated).
- */
-
-svg:not([fill]) {
- fill: currentColor;
-}
-
-/* Tabular data
- * ========================================================================== */
-
-/**
- * 1. Collapse border spacing in all browsers (opinionated).
- * 2. Correct table border color in Chrome, Edge, and Safari.
- * 3. Remove text indentation from table contents in Chrome, Edge, and Safari.
- */
-
-table {
- border-collapse: collapse; /* 1 */
- border-color: currentColor; /* 2 */
- text-indent: 0; /* 3 */
-}
-
-/* Forms
- * ========================================================================== */
-
-/**
- * Remove the margin on controls in Safari.
- */
-
-button, input, select {
- margin: 0;
-}
-
-/**
- * Correct the inability to style buttons in iOS and Safari.
- */
-
-button, [type="button"], [type="reset"], [type="submit"] {
- -webkit-appearance: button;
-}
-
-/**
- * Change the inconsistent appearance in all browsers (opinionated).
- */
-
-fieldset {
- border: 1px solid #a0a0a0;
-}
-
-/**
- * Add the correct vertical alignment in Chrome, Edge, and Firefox.
- */
-
-progress {
- vertical-align: baseline;
-}
-
-/**
- * 1. Remove the margin in Firefox and Safari.
- */
-
-textarea {
- margin: 0; /* 1 */
-}
-
-/**
- * 1. Correct the odd appearance in Chrome, Edge, and Safari.
- * 2. Correct the outline style in Safari.
- */
-
-[type="search"] {
- -webkit-appearance: textfield; /* 1 */
- outline-offset: -2px; /* 2 */
-}
-
-/**
- * Correct the cursor style of increment and decrement buttons in Safari.
- */
-
-::-webkit-inner-spin-button,
-::-webkit-outer-spin-button {
- block-size: auto;
-}
-
-/**
- * Correct the text style of placeholders in Chrome, Edge, and Safari.
- */
-
-::-webkit-input-placeholder {
- color: inherit;
- opacity: 0.54;
-}
-
-/**
- * Remove the inner padding in Chrome, Edge, and Safari on macOS.
- */
-
-::-webkit-search-decoration {
- -webkit-appearance: none;
-}
-
-/**
- * 1. Correct the inability to style upload buttons in iOS and Safari.
- * 2. Change font properties to `inherit` in Safari.
- */
-
-::-webkit-file-upload-button {
- -webkit-appearance: button; /* 1 */
- font: inherit; /* 2 */
-}
-
-/* Interactive
- * ========================================================================== */
-
-[hidden] {
- display: none !important;
-}
-
-:focus-visible {
- outline: .2em solid var(--accent);
- z-index: 32;
-}
-
-iframe:focus-visible,
- html:focus-visible,
- body:focus-visible {
- outline: none;
- }
-
-:target {
- outline: .2em solid var(--fg);
- z-index: 32;
-}
-
-/*
- * Add the correct display in Safari.
- */
-
-details > summary:first-of-type {
- display: list-item;
-}
-
-/* Accessibility
- * ========================================================================== */
-
-/**
- * Change the cursor on busy elements in all browsers (opinionated).
- */
-
-[aria-busy="true"] {
- cursor: progress;
-}
-
-/*
- * Change the cursor on disabled, not-editable, or otherwise
- * inoperable elements in all browsers (opinionated).
- */
-
-[aria-disabled="true"], [disabled] {
- cursor: not-allowed;
-}
-
-datalist {
- display: none !important;
-}
-
-.info {
- --colorful-bg: var(--info-bg);
- --accent: var(--info-fg);
-}
-
-.ok {
- --colorful-bg: var(--ok-bg);
- --accent: var(--ok-fg);
-}
-
-.warn {
- --colorful-bg: var(--warn-bg);
- --accent: var(--warn-fg);
-}
-
-.bad {
- --colorful-bg: var(--bad-bg);
- --accent: var(--bad-fg);
-}
-
-.color {
- color: var(--accent);
-}
-
-.bg {
- background: var(--colorful-bg);
-}
-
-.border {
- border-style: solid;
- border-color: var(--accent);
-}
-
-.airy { --density: 3; }
-
-.dense { --density: 1; }
-
-.crowded { --density: .5; }
-
-.packed { --density: 0; }
-
-.autodensity {
- --density: 1
-}
-
-@media (min-width: 768px) {
-
-.autodensity { --density: 2
-} }
-
-@media (min-width: 1024px) {
-
-.autodensity { --density: 3
-} }
-
-.f-row {
- display: flex;
- flex-direction: row;
- gap: var(--gap)
-}
-
-.f-row > * { margin: 0 }
-
-.f-col {
- display: flex;
- flex-direction: column;
- gap: var(--gap)
-}
-
-.f-col > * { margin: 0 }
-
-.f-switch {
- display: flex;
- flex-flow: row wrap;
- gap: var(--gap);
- --col-width: 15ch /* see ./layout.css */
-}
-
-.f-switch > * { margin: 0 }
-
-.f-switch > * {
- flex-basis: calc((var(--col-width) - 100%) * 999);
- flex-grow: 1;
- }
-
-.justify-content\:start { justify-content: start }
-
-.justify-content\:end { justify-content: end }
-
-.justify-content\:baseline { justify-content: baseline }
-
-.justify-content\:center { justify-content: center }
-
-.justify-content\:stretch { justify-content: stretch }
-
-.align-items\:start { align-items: start }
-
-.align-items\:end { align-items: end }
-
-.align-items\:baseline { align-items: baseline }
-
-.align-items\:center { align-items: center }
-
-.align-items\:stretch { align-items: stretch }
-
-.align-self\:start { align-self: start }
-
-.align-self\:end { align-self: end }
-
-.align-self\:baseline { align-self: baseline }
-
-.align-self\:center { align-self: center }
-
-.align-self\:stretch { align-self: stretch }
-
-.grow-0 { flex-grow: 0 }
-
-.grow-1 { flex-grow: 1 }
-
-.grow-2 { flex-grow: 2 }
-
-.grow-3 { flex-grow: 3 }
-
-.grow-4 { flex-grow: 4 }
-
-.grow-5 { flex-grow: 5 }
-
-.grow-6 { flex-grow: 6 }
-
-.grow-7 { flex-grow: 7 }
-
-.grow-8 { flex-grow: 8 }
-
-.grow-9 { flex-grow: 9 }
-
-.grow-10 { flex-grow: 10 }
-
-.grow-11 { flex-grow: 11 }
-
-.grow-12 { flex-grow: 12 }
-
-.vh, v-h {
- clip: rect(0 0 0 0);
- -webkit-clip-path: inset(50%);
- clip-path: inset(50%);
- block-size: 1px;
- overflow: hidden;
- position: absolute;
- white-space: nowrap;
- inline-size: 1px;
-}
-
-.reset {
- all: initial;
-}
-
-.basicgrid {
- display: grid;
- grid-template-columns: repeat(auto-fit, minmax(var(--col-width), 1fr));
- gap: var(--gap);
- --col-width: 15ch
-}
-
-.basicgrid > * {
- margin: 0 !important;
- min-width: 1px;
- }
-
-.colwidth-l { --col-width: 35ch }
-
-.colwidth-m { --col-width: 24ch }
-
-.colwidth-s { --col-width: 15ch }
-
-.minwidth-l { min-width: 35ch }
-
-.minwidth-m { min-width: 24ch }
-
-.minwidth-s { min-width: 15ch }
-
-.maxwidth-l { max-width: 35ch }
-
-.maxwidth-m { max-width: 24ch }
-
-.maxwidth-s { max-width: 15ch }
-
-.col-0 { flex-grow: 0 ; }
-
-.col-1 { grid-column-end: span 1 }
-
-.col-2 { grid-column-end: span 2 }
-
-.col-3 { grid-column-end: span 3 }
-
-.col-4 { grid-column-end: span 4 }
-
-.col-5 { grid-column-end: span 5 }
-
-.col-6 { grid-column-end: span 6 }
-
-.col-7 { grid-column-end: span 7 }
-
-.col-8 { grid-column-end: span 8 }
-
-.col-9 { grid-column-end: span 9 }
-
-.col-10 { grid-column-end: span 10 }
-
-.col-11 { grid-column-end: span 11 }
-
-.col-12 { grid-column-end: span 12 }
-
-.col-inf { grid-column-end: -1 }
-
-/**/
-
-.textcolumns {
- --col-width: 30ch;
- column-width: var(--col-width);
- column-gap: var(--gap);
- margin-block: var(--gap)
-}
-
-.textcolumns :first-child { margin-block-start: 0 !important }
-
-.textcenter {
- text-align: center;
-}
-
-/**/
-
-.container {
- max-inline-size: var(--eff-line-length);
- margin-inline: auto;
-}
-
-.fullbleed {
- position: relative;
- width: 100vw;
- left: 50%;
- transform: translateX(-50vw);
-
- border-radius: 0;
- border-inline: none;
-}
-
-/**/
-
-.pad {
- padding-inline: var(--gap);
-}
-
-.pad-block { padding-block: var(--gap) }
-
-.margin {
- margin: var(--gap);
-}
-
-.margin-block { margin-block: var(--gap) }
-
-.margin-inline { margin-inline: var(--gap) }
-
-/**/
-
-.inline { display: inline }
-
-.block { display: block }
-
-.contents { display: contents }
-
-.table {
- display: table;
- width: 100%;
- margin: 0;
-}
-
-.row, .rows > * {
- display: table-row
-}
-
-.row:not(:last-child) > *, .rows > *:not(:last-child) > * {
- margin-bottom: var(--gap);
- }
-
-.row > *:not([specificity-hack]), .rows > * > *:not([specificity-hack]) {
- display: table-cell;
- vertical-align: top;
- }
-
-.row > * + *:not([specificity-hack]), :is(.rows > *) > * + *:not([specificity-hack]) {
- margin-inline-start: var(--gap);
- display: inline-block;
- }
-
-/**/
-
-.fixed { position: fixed }
-
-.sticky { position: sticky }
-
-.top { top: 0 }
-
-.right { right: 0 }
-
-.bottom { bottom: 0 }
-
-.left { left: 0 }
-
-.\^ { top: 0 }
-
-.\> { right: 0 }
-
-.\_ { bottom: 0 }
-
-.\< { left: 0 }
-
-.float\< { float: left }
-
-.float\> { float: right }
-
-.scroll { overflow: auto }
-
-.scroll\! { overflow: scroll }
-
-all-caps, .allcaps {
- text-transform: uppercase;
- letter-spacing: .1rem;
-}
-
-.monospace {
- font-family: var(--mono-font);
-}
-
-.box, missing-card, .missing-card {
- margin: var(--gap) 0;
- padding: var(--gap);
- border-radius: calc(var(--rhythm) / 4);
- background: var(--colorful-bg);
- border: 1px solid var(--accent);
- /* artificially increase specificity */
- /* TODO: come up with a better way to do this */
-}
-
-:is(.box,missing-card,.missing-card) > :first-child:first-child:first-child:first-child,
- :is(.box,missing-card,.missing-card) > :first-child>:first-child:first-child:first-child,
- :is(.box,missing-card,.missing-card) > :first-child>:first-child>:first-child:first-child,
- :is(.box,missing-card,.missing-card) > :first-child>:first-child>:first-child>:first-child { margin-block-start: 0; }
-
-:is(.box,missing-card,.missing-card) > :last-child:last-child:last-child:last-child,
- :is(.box,missing-card,.missing-card) > :last-child>:last-child:last-child:last-child,
- :is(.box,missing-card,.missing-card) > :last-child>:last-child>:last-child:last-child,
- :is(.box,missing-card,.missing-card) > :last-child>:last-child>:last-child>:last-child { margin-block-end: 0; }
-
-.titlebar {
- margin-inline: calc(0px - var(--gap));
- margin-block-end: calc(0px - var(--gap));
- padding-inline: var(--gap);
- font: inherit;
- font-family: var(--secondary-font);
- font-weight: bold;
- translate: 0 calc(-1px - var(--gap));
- background: var(--accent);
- color: var(--bg);
-}
-
-.breadcrumbs[aria-label] {
- font-family: var(--secondary-font)
-}
-
-.breadcrumbs[aria-label] ul, .breadcrumbs[aria-label] ol {
- list-style: none;
- padding-inline-start: 0;
- }
-
-.breadcrumbs[aria-label] li {
- display: inline
- }
-
-:is(.breadcrumbs[aria-label] li)+li::before {
- content: ' / ' / '';
- content: ' / ';
- display: inline;
- }
-
-.breadcrumbs[aria-label] [aria-current="page"] {
- font-weight: bold;
- }
-
-.chip, chip {
- font-family: var(--secondary-font);
- border: 1px solid var(--accent);
- background: var(--colorful-bg);
- border-radius: calc(var(--rhythm) / 2);
- padding-inline: calc(var(--rhythm) / 2);
-}
-
-.navbar, header[is="nav-bar"] {
- margin: 0;
- padding: 0 var(--rhythm);
-
- font-family: var(--secondary-font);
-
- background: var(--colorful-bg);
- border-block-end: 1px solid var(--accent);
-
- overflow-x: auto;
- scrollbar-width: thin;
-
- /* Inner layout */
- display: flex;
- flex-flow: row;
- gap: calc(2 * var(--rhythm))
-}
-
-:is(.navbar,header[is="nav-bar"]) :first-child { margin-inline-start: auto; }
-
-:is(.navbar,header[is="nav-bar"]) :last-child { margin-inline-end: auto; }
-
-:is(.navbar,header[is="nav-bar"]) * { flex-shrink: 0 }
-
-:is(.navbar,header[is="nav-bar"]) nav ul[role="list"] {
- padding-inline-start: 0;
- display: flex;
- flex-flow: row;
- gap: var(--rhythm)
- }
-
-:is(.navbar,header[is="nav-bar"]) nav ul[role="list"] * { flex-shrink: 0 }
-
-:is(.navbar,header[is="nav-bar"]) a {
- font-weight: bold;
- text-decoration: none;
- }
-
-:is(.navbar,header[is="nav-bar"]) a:hover, :is(.navbar,header[is="nav-bar"]) a:focus {
- text-decoration: underline;
- }
-
-:is(.navbar,header[is="nav-bar"]) [aria-current=page] {
- background: var(--accent);
- color: var(--colorful-bg);
- border-radius: .2em;
- outline: .2em solid var(--accent);
- }
-
-.sidebar {
- margin: var(--gap) 0;
- padding: var(--gap);
- border-radius: calc(var(--rhythm) / 4);
- background: var(--colorful-bg);
- border: 1px solid var(--accent)
- /* artificially increase specificity */
- /* TODO: come up with a better way to do this */
-}
-
-.sidebar > :first-child:first-child:first-child:first-child,
- .sidebar > :first-child>:first-child:first-child:first-child,
- .sidebar > :first-child>:first-child>:first-child:first-child,
- .sidebar > :first-child>:first-child>:first-child>:first-child { margin-block-start: 0; }
-
-.sidebar > :last-child:last-child:last-child:last-child,
- .sidebar > :last-child>:last-child:last-child:last-child,
- .sidebar > :last-child>:last-child>:last-child:last-child,
- .sidebar > :last-child>:last-child>:last-child>:last-child { margin-block-end: 0; }
-
-.sidebar {
-
- font-family: var(--secondary-font);
-
- border-block: none;
- border-inline-start: none;
- border-radius: 0;
- margin: 0;
-
- font-size: .8em;
- --rhythm: 1em
-}
-
-.sidebar li {
- padding: calc(.5 * var(--gap));
- margin-inline: calc(-.5 * var(--gap));
- border-radius: .4em;
- }
-
-.sidebar a {
- font-weight: bold;
- text-decoration: none;
- }
-
-.sub-title, sub-title {
- /***
- Meant for use in headings. Make sure to also use visually-hidden punctuation
- to mark the subtitle as shown below:
-
- 1 | <h1>
- 2 | Foo Bar<v-h>:</v-h>
- 3 | <sub-title>How I Learned To Stop Worrying and Love Baz</sub-title>
- 4 | </h1>
-
- 1 | <h1>
- 2 | <sub-title class="-allcaps">Breaking News</sub-title><v-h>:</v-h>
- 3 | Bad Thing Happens
- 4 | <h1>
- ***/
-
- display: block;
-
- font-weight: normal;
-
- color: var(--muted-fg);
-}
-
-[role="tablist"] {
- display: flex;
- gap: .5ch;
- scrollbar-width: thin;
-}
-
-[role="tab"][role="tab"] {
- all: initial;
-
- font-family: var(--secondary-font);
-
- padding: 0 calc(var(--rhythm) / 4);
- margin: 0;
- min-height: var(--rhythm);
-
- border: solid var(--accent);
- border-width: 1px 1px 0 1px;
- border-block-end-color: transparent;
- background: var(--interactive-bg);
-
- border-start-start-radius: .4em;
- border-start-end-radius: .4em
-}
-
-[role="tab"][role="tab"]:active, [role="tab"][role="tab"][aria-selected="true"] {
- transform: none;
- bottom: -1px;
- position: relative;
- background: var(--colorful-bg);
- border-block-end: 1px solid var(--colorful-bg);
- }
-
-[role="tabpanel"] {
- margin: var(--gap) 0;
- padding: var(--gap);
- border-radius: calc(var(--rhythm) / 4);
- background: var(--colorful-bg);
- border: 1px solid var(--accent);
- /* artificially increase specificity */
- /* TODO: come up with a better way to do this */
-}
-
-[role="tabpanel"] > :first-child:first-child:first-child:first-child,
- [role="tabpanel"] > :first-child>:first-child:first-child:first-child,
- [role="tabpanel"] > :first-child>:first-child>:first-child:first-child,
- [role="tabpanel"] > :first-child>:first-child>:first-child>:first-child { margin-block-start: 0; }
-
-[role="tabpanel"] > :last-child:last-child:last-child:last-child,
- [role="tabpanel"] > :last-child>:last-child:last-child:last-child,
- [role="tabpanel"] > :last-child>:last-child>:last-child:last-child,
- [role="tabpanel"] > :last-child>:last-child>:last-child>:last-child { margin-block-end: 0; }
-
-[role="tabpanel"] {
- margin-block-start: 0;
- border-start-start-radius: 0;
- border-start-end-radius: 0;
- z-index: 1;
-}
-
-tool-bar, .tool-bar {
- display: flex;
- flex-flow: row wrap;
- gap: calc(var(--gap) / 2);
-}
-
-/***
- 4.8 Embedded content
- https://html.spec.whatwg.org/multipage/embedded-content.html
- ***/
-
-img, video, audio, iframe, object, embed {
- max-inline-size: 100%;
- inline-size: max-content;
- block-size: auto;
-}
-
-/***
- 4.10 Forms
- https://html.spec.whatwg.org/multipage/forms.html
- ***/
-
-input { display: block; }
-
-label input:not([specificity-hack]) { display: inline; padding-block: 0; }
-
-button,
-input[type="submit"],
-input[type="reset"],
-input[type="button"],
-input::file-selector-button {
- display: inline-block;
- padding: 0 calc(var(--rhythm) / 4);
- vertical-align: top;
-
- font-size: .8rem;
- line-height: 1.125em;
- font-family: var(--secondary-font);
- min-height: var(--rhythm);
-
- background: var(--interactive-bg);
- color: var(--fg);
- border: 1px solid var(--accent);
- box-sizing: border-box;
- border-radius: .2em;
-
- box-shadow: 0 .1em .2em var(--shadow)
-}
-
-:is(button,input[type="submit"],input[type="reset"],input[type="button"],input::file-selector-button):hover, :is(button,input[type="submit"],input[type="reset"],input[type="button"],input::file-selector-button):focus-visible {
- background: var(--colorful-bg);
- }
-
-:is(button,input[type="submit"],input[type="reset"],input[type="button"],input::file-selector-button):active {
- box-shadow: none;
- background-color: var(--accent);
- color: var(--bg);
- }
-
-[aria-pressed="true"]:is(button,input[type="submit"],input[type="reset"],input[type="button"],input::file-selector-button), [aria-expanded="true"]:is(button,input[type="submit"],input[type="reset"],input[type="button"],input::file-selector-button) {
- box-shadow: 0 .05em var(--accent);
- transform: translateY(.05em);
- background: var(--pressed-interactive-bg);
- }
-
-input:not([type]),
-input[type="text"],
-input[type="search"],
-input[type="tel"],
-input[type="url"],
-input[type="email"],
-input[type="password"],
-input[type="date"],
-input[type="month"],
-input[type="week"],
-input[type="time"],
-input[type="datetime"],
-input[type="datetime-local"],
-input[type="number"],
-select,
-textarea {
- padding: calc(var(--rhythm) / 4);
- vertical-align: top;
-
- font-size: 1rem;
- line-height: inherit;
- font-family: var(--main-font);
-
- background: var(--bg);
- color: var(--fg);
- border: 1px solid var(--faded-fg);
- border-radius: .2em;
-
- vertical-align: top
-}
-
-:is(input:not([type]),input[type="text"],input[type="search"],input[type="tel"],input[type="url"],input[type="email"],input[type="password"],input[type="date"],input[type="month"],input[type="week"],input[type="time"],input[type="datetime"],input[type="datetime-local"],input[type="number"],select,textarea):focus-visible {
- border: 1px solid var(--accent);
- }
-
-:is(input:not([type]),input[type="text"],input[type="search"],input[type="tel"],input[type="url"],input[type="email"],input[type="password"],input[type="date"],input[type="month"],input[type="week"],input[type="time"],input[type="datetime"],input[type="datetime-local"],input[type="number"],select,textarea)::placeholder {
- color: var(--muted-fg);
- opacity: 1;
- text-align: end;
- }
-
-input[type="range"] {
- width: 100%;
- padding: calc(var(--gap) / 4);
-}
-
-input[type="color"] {
- padding: 0;
- margin: 0;
- height: calc(1.5 * var(--rhythm));
-
- border: none;
- background: none;
-}
-
-input[type="file"] {
- padding: calc(var(--gap) / 4) 0;
- font: inherit;
- line-height: calc(var(--rhythm) / 2)
-}
-
-input[type="file"]::file-selector-button {
- margin-block: .1em 0;
- margin-inline-end: 1ch;
- }
-
-select[multiple] {
- vertical-align: top;
-}
-
-optgroup::before {
- color: var(--muted-fg);
- font-style: normal;
-}
-
-progress {
- /* TODO */
-}
-
-meter {
- /* TODO */
-}
-
-label[for] {
- display: block;
- padding-block: calc(var(--gap) / 4);
-}
-
-fieldset {
- position: relative;
-
- padding: var(--gap);
- margin: var(--gap) 0;
- width: 100%;
- border-radius: .2em;
-
- /* artificially increase specificity */
-
- /* TODO: come up with a better way to do this */
-}
-
-fieldset > :first-child:first-child:first-child:first-child,
- fieldset > :first-child>:first-child:first-child:first-child,
- fieldset > :first-child>:first-child>:first-child:first-child,
- fieldset > :first-child>:first-child>:first-child>:first-child { margin-block-start: 0; }
-
-fieldset > :last-child:last-child:last-child:last-child,
- fieldset > :last-child>:last-child:last-child:last-child,
- fieldset > :last-child>:last-child>:last-child:last-child,
- fieldset > :last-child>:last-child>:last-child>:last-child { margin-block-end: 0; }
-
-fieldset > legend + * { margin-block-start: 0 }
-
-fieldset {
-
- border: 1px solid var(--faded-fg);
-}
-
-/***
- 4.4 Grouping content
- https://html.spec.whatwg.org/multipage/grouping-content.html
- ***/
-
-p {
- margin-block: var(--gap);
-}
-
-hr {
- color: inherit;
-
- flex-grow: 0;
- border-inline-start: 1px solid var(--accent);
- block-size: auto;
- border-block-start: 1px solid var(--accent);
- border-block-end: none;
- border-inline-end: none;
-}
-
-pre {
- font-family: var(--mono-font);
- font-size: .9em;
- line-height: var(--rhythm);
- -o-tab-size: 2;
- tab-size: 2;
-
- margin: var(--gap) 0;
-
- overflow-x: auto;
- scrollbar-width: thin;
- scrollbar-color: var(--accent) transparent;
-}
-
-blockquote {
- margin-inline: 0 var(--gap);
- padding-inline: var(--gap) 0;
- margin-block: var(--gap);
-
- font-size: 1.1em;
- line-height: var(--rhythm);
- font-style: italic;
-
- border-inline-start: 1px solid var(--faded-fg);
- color: var(--muted-fg)
-}
-
-blockquote em, blockquote cite, blockquote dfn, blockquote var, blockquote i, blockquote address {
- font-style: normal;
- }
-
-blockquote footer {
- text-align: right;
- text-align: end;
- }
-
-ul, ol {
- padding-inline-start: var(--rhythm)
-}
-
-ul[role="list"], ol[role="list"] {
- padding-inline-start: 0;
- list-style: none;
- }
-
-ul {
- list-style: square;
-}
-
-ol {
- list-style: decimal;
-}
-
-dl {
- margin-block: var(--gap);
-}
-
-dt {
- font-weight: bold;
- }
-
-dd {
- margin-inline-start: var(--rhythm);
- }
-
-li::marker {
- font-family: var(--secondary-font);
-}
-
-figure {
- max-width: 100%;
- margin-inline: 0;
- padding: var(--gap);
-
- border: 1px solid var(--faded-fg);
- border-radius: calc(var(--rhythm) / 4);
-
- /* artificially increase specificity */
-
- /* TODO: come up with a better way to do this */
-}
-
-figure > :first-child:first-child:first-child:first-child,
- figure > :first-child>:first-child:first-child:first-child,
- figure > :first-child>:first-child>:first-child:first-child,
- figure > :first-child>:first-child>:first-child>:first-child { margin-block-start: 0; }
-
-figure > :last-child:last-child:last-child:last-child,
- figure > :last-child>:last-child:last-child:last-child,
- figure > :last-child>:last-child>:last-child:last-child,
- figure > :last-child>:last-child>:last-child>:last-child { margin-block-end: 0; }
-
-figcaption {
- margin-block: var(--gap);
-
- font-family: var(--secondary-font);
-
- color: var(--muted-fg);
-}
-
-main {
- max-inline-size: var(--eff-line-length);
- margin: auto;
-}
-
-/***
- 4.5 Text-level semantics
- https://html.spec.whatwg.org/multipage/text-level-semantics.html
-
- 4.7 Edits
- https://html.spec.whatwg.org/multipage/edits.html
- ***/
-
-/* Text-level semantics */
-
-a {
- color: var(--link-fg, var(--accent));
- font-family: var(--secondary-font)
-}
-
-.list-of-links a {
- text-decoration: none
-}
-
-a:hover {
- text-decoration: underline;
- }
-
-span > small:only-child {
- /***
- Sidenote
- ***/
- display: block;
- float: inline-end;
- clear: inline-end;
-
- --sidenote-width: 20ch;
-
- max-inline-size: var(--sidenote-width);
- padding-inline: 1.5ch 1ch;
-
- margin-inline-end: calc(1em - var(--sidenote-width));
- margin-block-end: var(--rhythm);
-
- font-family: var(--secondary-font);
-
- background: var(--bg);
- border: 1px solid transparent;
-
- transition: transform .1s ease-in-out
-}
-
-span > small:only-child:hover, span > small:only-child:focus-within {
- border: 1px solid var(--faded-fg);
- border-radius: .2em;
- transform: translateX(calc(
- 0px - var(--sidenote-width)
- + min(var(--gutter-width), var(--sidenote-width))
- ))
- }
-
-s {
- color: var(--bad-fg);
-}
-
-q {
- font-style: italic
-}
-
-q em, q cite, q dfn, q var, q i, q address {
- font-style: normal;
- }
-
-time {
- font-variant-numeric: tabular-nums;
-}
-
-code, samp, kbd {
- font-family: var(--mono-font);
-}
-
-samp {
- color: var(--ok-fg);
-}
-
-kbd kbd /*
- We apply the key-like styling to a nested kbd element, a pattern shown in
- WHATWG HTML for marking up keyboard input:
-
- > Here the kbd element is used to indicate keys to press:
- > ~~~ html
- > <p>To make George eat an apple, press <kbd><kbd>Shift</kbd> + <kbd>F3</kbd></kbd></p>
- > ~~~
-
- The plain kbd element can also be used for clicking menus (<kbd>File |
- New...</kbd>) or voice input (<kbd>Hey Siri, </kbd>)
-*/ {
- display: inline-block;
-
- padding: 0 .3em;
- font-size: .8em;
- line-height: 1.1em;
-
- background: var(--interactive-bg);
- border: 1px outset var(--faded-fg);
- border-block-end-width: 3px;
- border-radius: .3em;
-}
-
-sub {
- vertical-align: bottom;
- line-height: 1;
-}
-
-sup {
- vertical-align: top;
- line-height: 1;
-}
-
-mark {
- background: var(--warn-bg);
- color: var(--warn-fg);
-}
-
-/* Edits */
-
-ins {
- background: var(--ok-bg);
- color: var(--ok-fg);
-}
-
-del {
- background: var(--bad-bg);
- color: var(--bad-fg);
-}
-
-/***
- 4.11 Interactive elements
- https://html.spec.whatwg.org/multipage/interactive-elements.html#interactive-elements
- ***/
-
-details {
- margin: var(--gap) 0;
- padding: var(--gap);
- border-radius: calc(var(--rhythm) / 4);
- background: var(--colorful-bg);
- border: 1px solid var(--accent)
- /* artificially increase specificity */
- /* TODO: come up with a better way to do this */
-}
-
-details > :first-child:first-child:first-child:first-child,
- details > :first-child>:first-child:first-child:first-child,
- details > :first-child>:first-child>:first-child:first-child,
- details > :first-child>:first-child>:first-child>:first-child { margin-block-start: 0; }
-
-details > :last-child:last-child:last-child:last-child,
- details > :last-child>:last-child:last-child:last-child,
- details > :last-child>:last-child>:last-child:last-child,
- details > :last-child>:last-child>:last-child>:last-child { margin-block-end: 0; }
-
-details {
- padding-block-start: 0
-}
-
-details:not([open]) { padding-block-end: 0; }
-
-summary {
- margin: calc(0px - var(--gap));
- margin-top: calc(0px - var(--gap));
- margin-bottom: 0;
- padding-inline: var(--gap);
-
- font-family: var(--secondary-font);
- font-weight: bold;
-
- background: var(--accent);
- color: var(--bg);
-
- cursor: pointer
-}
-
-summary:focus-visible, summary:active {
- background: var(--muted-accent);
- border-color: var(--muted-accent);
- }
-
-details[open] summary {
- border-block-end: 1px solid var(--accent);
- border-end-end-radius: 0;
- border-end-start-radius: 0
-}
-
-dialog {
- margin: var(--gap) 0;
- padding: var(--gap);
- border-radius: calc(var(--rhythm) / 4);
- background: var(--colorful-bg);
- border: 1px solid var(--accent);
- /* artificially increase specificity */
- /* TODO: come up with a better way to do this */
-}
-
-dialog > :first-child:first-child:first-child:first-child,
- dialog > :first-child>:first-child:first-child:first-child,
- dialog > :first-child>:first-child>:first-child:first-child,
- dialog > :first-child>:first-child>:first-child>:first-child { margin-block-start: 0; }
-
-dialog > :last-child:last-child:last-child:last-child,
- dialog > :last-child>:last-child:last-child:last-child,
- dialog > :last-child>:last-child>:last-child:last-child,
- dialog > :last-child>:last-child>:last-child>:last-child { margin-block-end: 0; }
-
-dialog {
- position: absolute;
- inline-inset: 0;
-
- block-size: -moz-fit-content;
-
- block-size: fit-content;
- inline-size: -moz-fit-content;
- inline-size: fit-content;
-
- margin: auto;
-
- background-color: var(--bg);
- color: var(--fg);
-
- box-shadow:
- 0 0 .2em .1em var(--shadow),
- 0 .2em .4em var(--shadow),
- 0 .25em 1em var(--shadow);
-}
-
-dialog[open]::backdrop {
- display: block;
- background: black;
- opacity: .4;
- animation: bg 2s;
-}
-
-@keyframes bg {
- from { background: transparent; }
-}
-
-dialog:not([open]) {
- display: none;
-}
-
-/***
- 4.1 The document element
- https://html.spec.whatwg.org/multipage/semantics.html#the-root-element
-
- 4.3 Sections
- https://html.spec.whatwg.org/multipage/sections.html
- ***/
-
-html {
- font-family: var(--main-font);
- line-height: var(--rhythm);
- font-size: 120%;
-}
-
-body {
- margin: 0;
-}
-
-header, footer, section {
- margin-block: calc(2 * var(--gap));
-}
-
-nav a {
- text-decoration: none;
- color: var(--accent);
- }
-
-aside {
- margin: var(--gap) 0;
- padding: var(--gap);
- border-radius: calc(var(--rhythm) / 4);
- background: var(--colorful-bg);
- border: 1px solid var(--accent)
- /* artificially increase specificity */
- /* TODO: come up with a better way to do this */
-}
-
-aside > :first-child:first-child:first-child:first-child,
- aside > :first-child>:first-child:first-child:first-child,
- aside > :first-child>:first-child>:first-child:first-child,
- aside > :first-child>:first-child>:first-child>:first-child { margin-block-start: 0; }
-
-aside > :last-child:last-child:last-child:last-child,
- aside > :last-child>:last-child:last-child:last-child,
- aside > :last-child>:last-child>:last-child:last-child,
- aside > :last-child>:last-child>:last-child>:last-child { margin-block-end: 0; }
-
-aside h1,
- aside h2,
- aside h3,
- aside h4,
- aside h5,
- aside h6 {
- font-size: 1em;
- text-transform: none;
- letter-spacing: none;
- }
-
-h1, h2, h3, h4, h5, h6 {
- margin-block-end: var(--gap);
- font-family: var(--display-font);
- font-size: 1em;
- margin-block-start: calc(2 * var(--gap));
-}
-
-h1, .h1 {
- font-size: 2em;
- text-transform: none;
- line-height: calc(2 * var(--rhythm));
- letter-spacing: 0;
-}
-
-h2, .h2 {
- font-size: 1.6em;
- text-transform: none;
- line-height: calc(1.5 * var(--rhythm));
- letter-spacing: 0;
-}
-
-h3, .h3 {
- font-size: 1.17em;
- text-transform: uppercase;
- line-height: calc(1 * var(--rhythm));
- letter-spacing: 0.02em;
-}
-
-h4, .h4, h5, .h5, h6, .h6 {
- font-size: 1em;
- text-transform: none;
- line-height: calc(1 * var(--rhythm));
- letter-spacing: 0;
- margin-block-start: var(--gap);
-}
-
-h1 + h2,
-h2 + h3,
-h3 + h4,
-h4 + h5,
-h5 + h6,
-h1:first-child,
-h2:first-child,
-h3:first-child,
-h4:first-child,
-h5:first-child,
-h6:first-child {
- margin-block-start: var(--gap);
-}
-
-h1:target,
-h2:target,
-h3:target,
-h4:target,
-h5:target,
-h6:target {
- outline: none
-}
-
-h1:target::before, h2:target::before, h3:target::before, h4:target::before, h5:target::before, h6:target::before {
- content: '❧';
- display: inline-block;
- width: 0;
- transform: translateX(-1.5ch);
- font-size: 2em;
- vertical-align: bottom;
- color: var(--accent);
- }
-
-header {
- font-family: var(--secondary-font);
- border-block-end: 1px solid var(--faded-fg);
-}
-
-footer {
- font-family: var(--secondary-font);
- border-block-start: 1px solid var(--faded-fg);
-}
-
-body > header,
-body > footer,
-main + footer {
- padding: var(--rhythm) calc((100% - var(--eff-line-length)) / 2)
-}
-
-address {
- --density: 0;
-}
-
-/***
- 4.9 Tabular data
- https://html.spec.whatwg.org/multipage/tables.html
- ***/
-
-table {
- font-variant-numeric: tabular-nums;
- font: inherit;
-}
-
-caption {
- text-align: start;
- font-family: var(--secondary-font);
- font-style: italic;
-}
-
-tbody {
- border-block: 1px solid var(--fg);
-}
-
-thead {
-}
-
-tfoot {
-}
-
-tr {
-
-}
-
-td, th {
- vertical-align: top
-}
-
-td:not(:last-child), th:not(:last-child) {
- padding-inline-end: var(--rhythm);
- }
-
-td {
- }
-
-th {
- font-family: var(--secondary-font);
- text-align: start;
- }
-
-/* Colors taken from https://reasonable.work/colors/ */
-
-:root {
- /* Colors */
- --fg: #000; /* Text. */
- --muted-fg: #3e3e3e; /* De-emphasized or disabled elements' text. Will be
- used with a background of --c-bg and --c-bg-2 -- check contrast! */
- --faded-fg: #8b8b8b; /* De-emphasized or disabled graphical elements. Will not
- be used as a text color. */
- --info-fg: #00386d;
- --ok-fg: #004825;
- --bad-fg: #830014;
- --warn-fg: #463d00;
-
- --bg: #fff; /* Page background. */
- --colorful-bg: #d7fff7; /* Background for blocks: cards, admonitions etc. */
- --interactive-bg: #e2e2e2; /* Background for interactive elements */
- --info-bg: #d4e0ff; /* blue */
- --ok-bg: #5dffa2;
- --bad-bg: #ffddd8;
- --warn-bg: #ffe53e;
-
- --shadow: #777; /* Box shadows. */
-
- --accent: #007f5f; /* Accent color. Will be used *as a text color* with a
- background of --c-bg and --c-bg-2 -- check contrast! */
- --muted-accent: #42ffc6; /* Muted accent color. Will not be used for text. */
-
- /* Lengths */
- --rhythm: 1.4rem; /* Vertical rhythm, line height. */
- --line-length: 40rem; /* Maximum line length for prose. */
-
- /* Fonts */
- --main-font: 'Inter', -apple-system, system-ui, sans-serif;
- --secondary-font: var(--main-font); /* Headings etc. */
- --mono-font: 'M Plus Code Latin', monospace, monospace; /* monospace twice stops browsers from
- shrinking this */
-
- /* Density */
- --density: 1;
-
- /* Width */
- --full-width: 100vw;
-
- /* Do not set these. */
- --eff-line-length: /* Effective line length for prose. */
- min(
- calc( var(--full-width) - (2 * var(--rhythm)) ),
- var(--line-length)
- );
-
- --gutter-width: /* Width of spaces at each side of page content. */
- calc(
- (
- var(--full-width) /* Viewport width */
- - var(--eff-line-length) /* minus line width */
- ) / 2); /* Divide by 2: there are two page margins */
-}
-
-* {
- --gap: calc(var(--rhythm) * var(--density));
- accent-color: var(--accent);
-}
diff --git a/www/releases/_artifacts/v0.0.4/missing.min.css b/www/releases/_artifacts/v0.0.4/missing.min.css
deleted file mode 100644
index f4ffee1..0000000
--- a/www/releases/_artifacts/v0.0.4/missing.min.css
+++ /dev/null
@@ -1,16 +0,0 @@
-@keyframes bg{0%{background:0 0}}*,::after,::before{box-sizing:border-box;background-repeat:no-repeat}::after,::before{text-decoration:inherit;vertical-align:inherit}:root{cursor:default;overflow-wrap:break-word;-webkit-tap-highlight-color:transparent;text-size-adjust:none;-webkit-text-size-adjust:none}abbr[title]{-webkit-text-decoration:underline dotted;text-decoration:underline dotted}b,strong{font-weight:bolder}small{font-size:80%}audio,canvas,iframe,img,svg,video{vertical-align:middle}svg:not([fill]){fill:currentColor}table{border-collapse:collapse;border-color:currentColor;text-indent:0;font-variant-numeric:tabular-nums;font:inherit}button,input,select,textarea{margin:0}[type=button],[type=reset],[type=submit],button{-webkit-appearance:button}fieldset{border:1px solid #a0a0a0;position:relative;padding:var(--gap);margin:var(--gap) 0;width:100%;border-radius:.2em;border:1px solid var(--faded-fg)}progress{vertical-align:baseline}[type=search]{-webkit-appearance:textfield;outline-offset:-2px}::-webkit-inner-spin-button,::-webkit-outer-spin-button{block-size:auto}::-webkit-input-placeholder{color:inherit;opacity:.54}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{-webkit-appearance:button;font:inherit}[hidden],datalist{display:none!important}:focus-visible{outline:.2em solid var(--accent);z-index:32}body:focus-visible,html:focus-visible,iframe:focus-visible{outline:0}:target{outline:.2em solid var(--fg);z-index:32}details>summary:first-of-type{display:list-item}[aria-busy=true]{cursor:progress}[aria-disabled=true],[disabled]{cursor:not-allowed}.info{--colorful-bg: var(--info-bg);--accent: var(--info-fg)}.ok{--colorful-bg: var(--ok-bg);--accent: var(--ok-fg)}.warn{--colorful-bg: var(--warn-bg);--accent: var(--warn-fg)}.bad{--colorful-bg: var(--bad-bg);--accent: var(--bad-fg)}.color{color:var(--accent)}.bg{background:var(--colorful-bg)}.border{border-style:solid;border-color:var(--accent)}.airy{--density: 3}.dense{--density: 1}.crowded{--density: .5}.packed,address{--density: 0}.autodensity{--density: 1
-}@media (min-width:768px){.autodensity{--density: 2
-}}@media (min-width:1024px){.autodensity{--density: 3
-}}.f-row{display:flex;flex-direction:row;gap:var(--gap)}.f-row>*{margin:0}.f-col{display:flex;flex-direction:column;gap:var(--gap)}.f-col>*,body{margin:0}.f-switch{display:flex;flex-flow:row wrap;gap:var(--gap);--col-width: 15ch /* see ./layout.css */
-}.f-switch>*{margin:0;flex-basis:calc((var(--col-width) - 100%)*999);flex-grow:1}.justify-content\:start{justify-content:start}.justify-content\:end{justify-content:end}.justify-content\:baseline{justify-content:baseline}.justify-content\:center{justify-content:center}.justify-content\:stretch{justify-content:stretch}.align-items\:start{align-items:start}.align-items\:end{align-items:end}.align-items\:baseline{align-items:baseline}.align-items\:center{align-items:center}.align-items\:stretch{align-items:stretch}.align-self\:start{align-self:start}.align-self\:end{align-self:end}.align-self\:baseline{align-self:baseline}.align-self\:center{align-self:center}.align-self\:stretch{align-self:stretch}.grow-0{flex-grow:0}.grow-1{flex-grow:1}.grow-2{flex-grow:2}.grow-3{flex-grow:3}.grow-4{flex-grow:4}.grow-5{flex-grow:5}.grow-6{flex-grow:6}.grow-7{flex-grow:7}.grow-8{flex-grow:8}.grow-9{flex-grow:9}.grow-10{flex-grow:10}.grow-11{flex-grow:11}.grow-12{flex-grow:12}.vh,v-h{clip:rect(0 0 0 0);-webkit-clip-path:inset(50%);clip-path:inset(50%);block-size:1px;overflow:hidden;position:absolute;white-space:nowrap;inline-size:1px}.reset{all:initial}.basicgrid{display:grid;grid-template-columns:repeat(auto-fit,minmax(var(--col-width),1fr));gap:var(--gap);--col-width: 15ch
-}.basicgrid>*{margin:0!important;min-width:1px}.colwidth-l{--col-width: 35ch }.colwidth-m{--col-width: 24ch }.colwidth-s{--col-width: 15ch }.minwidth-l{min-width:35ch}.minwidth-m{min-width:24ch}.minwidth-s{min-width:15ch}.maxwidth-l{max-width:35ch}.maxwidth-m{max-width:24ch}.maxwidth-s{max-width:15ch}.col-0{flex-grow:0}.col-1{grid-column-end:span 1}.col-2{grid-column-end:span 2}.col-3{grid-column-end:span 3}.col-4{grid-column-end:span 4}.col-5{grid-column-end:span 5}.col-6{grid-column-end:span 6}.col-7{grid-column-end:span 7}.col-8{grid-column-end:span 8}.col-9{grid-column-end:span 9}.col-10{grid-column-end:span 10}.col-11{grid-column-end:span 11}.col-12{grid-column-end:span 12}.col-inf{grid-column-end:-1}.textcolumns{--col-width: 30ch;column-width:var(--col-width);column-gap:var(--gap);margin-block:var(--gap)}.textcolumns :first-child{margin-block-start:0!important}.textcenter{text-align:center}.container{max-inline-size:var(--eff-line-length);margin-inline:auto}.fullbleed{position:relative;width:100vw;left:50%;transform:translateX(-50vw);border-radius:0;border-inline:none}.pad{padding-inline:var(--gap)}.pad-block{padding-block:var(--gap)}.margin{margin:var(--gap)}.margin-block,dl,p{margin-block:var(--gap)}.margin-inline{margin-inline:var(--gap)}.breadcrumbs[aria-label] li,.inline{display:inline}.block,input{display:block}.contents{display:contents}.table{display:table;width:100%;margin:0}.row,.rows>*{display:table-row}.row:not(:last-child)>*,.rows>:not(:last-child)>*{margin-bottom:var(--gap)}.row>:not([specificity-hack]),.rows>*>:not([specificity-hack]){display:table-cell;vertical-align:top}.row>*+:not([specificity-hack]),:is(.rows > *)>*+:not([specificity-hack]){margin-inline-start:var(--gap);display:inline-block}.fixed{position:fixed}.sticky{position:sticky}.top{top:0}.right{right:0}.bottom{bottom:0}.left{left:0}.\^{top:0}.\>{right:0}.\_{bottom:0}.\<{left:0}.float\<{float:left}.float\>{float:right}.scroll{overflow:auto}.scroll\!{overflow:scroll}.allcaps,all-caps{text-transform:uppercase;letter-spacing:.1rem}.monospace,code,kbd,samp{font-family:var(--mono-font)}.box,.missing-card,aside,details,dialog,missing-card{margin:var(--gap) 0;padding:var(--gap);border-radius:calc(var(--rhythm)/4);background:var(--colorful-bg);border:1px solid var(--accent)}:is(.box,missing-card,.missing-card)>:first-child:first-child:first-child:first-child,:is(.box,missing-card,.missing-card)>:first-child>:first-child:first-child:first-child,:is(.box,missing-card,.missing-card)>:first-child>:first-child>:first-child:first-child,:is(.box,missing-card,.missing-card)>:first-child>:first-child>:first-child>:first-child{margin-block-start:0}:is(.box,missing-card,.missing-card)>:last-child:last-child:last-child:last-child,:is(.box,missing-card,.missing-card)>:last-child>:last-child:last-child:last-child,:is(.box,missing-card,.missing-card)>:last-child>:last-child>:last-child:last-child,:is(.box,missing-card,.missing-card)>:last-child>:last-child>:last-child>:last-child{margin-block-end:0}.titlebar{margin-inline:calc(0px - var(--gap));margin-block-end:calc(0px - var(--gap));padding-inline:var(--gap);font:inherit;font-weight:700;translate:0 calc(-1px - var(--gap));background:var(--accent);color:var(--bg)}.breadcrumbs[aria-label],.titlebar{font-family:var(--secondary-font)}.breadcrumbs[aria-label] ol,.breadcrumbs[aria-label] ul{list-style:none;padding-inline-start:0}:is(.breadcrumbs[aria-label] li)+li::before{content:' / ';display:inline}.breadcrumbs[aria-label] [aria-current=page],dt{font-weight:700}.chip,.navbar,chip,header[is=nav-bar]{font-family:var(--secondary-font);background:var(--colorful-bg)}.chip,chip{border:1px solid var(--accent);border-radius:calc(var(--rhythm)/2);padding-inline:calc(var(--rhythm)/2)}.navbar,header[is=nav-bar]{margin:0;padding:0 var(--rhythm);border-block-end:1px solid var(--accent);overflow-x:auto;scrollbar-width:thin;display:flex;flex-flow:row;gap:calc(2*var(--rhythm))}:is(.navbar,header[is="nav-bar"]) :first-child{margin-inline-start:auto}:is(.navbar,header[is="nav-bar"]) :last-child{margin-inline-end:auto}:is(.navbar,header[is="nav-bar"]) *,:is(.navbar,header[is="nav-bar"]) nav ul[role=list] *{flex-shrink:0}:is(.navbar,header[is="nav-bar"]) nav ul[role=list]{padding-inline-start:0;display:flex;flex-flow:row;gap:var(--rhythm)}:is(.navbar,header[is="nav-bar"]) a{font-weight:700;text-decoration:none}:is(.navbar,header[is="nav-bar"]) a:focus,:is(.navbar,header[is="nav-bar"]) a:hover{text-decoration:underline}:is(.navbar,header[is="nav-bar"]) [aria-current=page]{background:var(--accent);color:var(--colorful-bg);border-radius:.2em;outline:.2em solid var(--accent)}.sidebar{margin:var(--gap) 0;padding:var(--gap);border-radius:calc(var(--rhythm)/4);background:var(--colorful-bg);border:1px solid var(--accent);font-family:var(--secondary-font);border-block:none;border-inline-start:none;border-radius:0;margin:0;font-size:.8em;--rhythm: 1em
-}.sidebar>:first-child:first-child:first-child:first-child,.sidebar>:first-child>:first-child:first-child:first-child,.sidebar>:first-child>:first-child>:first-child:first-child,.sidebar>:first-child>:first-child>:first-child>:first-child{margin-block-start:0}.sidebar>:last-child:last-child:last-child:last-child,.sidebar>:last-child>:last-child:last-child:last-child,.sidebar>:last-child>:last-child>:last-child:last-child,.sidebar>:last-child>:last-child>:last-child>:last-child{margin-block-end:0}.sidebar li{padding:calc(.5*var(--gap));margin-inline:calc(-.5*var(--gap));border-radius:.4em}.sidebar a{font-weight:700;text-decoration:none}.sub-title,sub-title{display:block;font-weight:400;color:var(--muted-fg)}[role=tablist]{display:flex;gap:.5ch;scrollbar-width:thin}[role=tab][role=tab]{all:initial;font-family:var(--secondary-font);padding:0 calc(var(--rhythm)/4);margin:0;min-height:var(--rhythm);border:solid var(--accent);border-width:1px 1px 0;border-block-end-color:transparent;background:var(--interactive-bg);border-start-start-radius:.4em;border-start-end-radius:.4em}[role=tab][role=tab]:active,[role=tab][role=tab][aria-selected=true]{transform:none;bottom:-1px;position:relative;background:var(--colorful-bg);border-block-end:1px solid var(--colorful-bg)}[role=tabpanel]{margin:var(--gap) 0;padding:var(--gap);border-radius:calc(var(--rhythm)/4);background:var(--colorful-bg);border:1px solid var(--accent);margin-block-start:0;border-start-start-radius:0;border-start-end-radius:0;z-index:1}[role=tabpanel]>:first-child:first-child:first-child:first-child,[role=tabpanel]>:first-child>:first-child:first-child:first-child,[role=tabpanel]>:first-child>:first-child>:first-child:first-child,[role=tabpanel]>:first-child>:first-child>:first-child>:first-child,fieldset>:first-child:first-child:first-child:first-child,fieldset>:first-child>:first-child:first-child:first-child,fieldset>:first-child>:first-child>:first-child:first-child,fieldset>:first-child>:first-child>:first-child>:first-child{margin-block-start:0}[role=tabpanel]>:last-child:last-child:last-child:last-child,[role=tabpanel]>:last-child>:last-child:last-child:last-child,[role=tabpanel]>:last-child>:last-child>:last-child:last-child,[role=tabpanel]>:last-child>:last-child>:last-child>:last-child,fieldset>:last-child:last-child:last-child:last-child,fieldset>:last-child>:last-child:last-child:last-child,fieldset>:last-child>:last-child>:last-child:last-child,fieldset>:last-child>:last-child>:last-child>:last-child{margin-block-end:0}.tool-bar,tool-bar{display:flex;flex-flow:row wrap;gap:calc(var(--gap)/2)}audio,embed,iframe,img,object,video{max-inline-size:100%;inline-size:max-content;block-size:auto}label input:not([specificity-hack]){display:inline;padding-block:0}button,input::file-selector-button,input[type=button],input[type=reset],input[type=submit]{display:inline-block;padding:0 calc(var(--rhythm)/4);vertical-align:top;font-size:.8rem;line-height:1.125em;font-family:var(--secondary-font);min-height:var(--rhythm);background:var(--interactive-bg);color:var(--fg);border:1px solid var(--accent);box-sizing:border-box;border-radius:.2em;box-shadow:0 .1em .2em var(--shadow)}:is(button,input[type="submit"],input[type="reset"],input[type="button"],input::file-selector-button):focus-visible,:is(button,input[type="submit"],input[type="reset"],input[type="button"],input::file-selector-button):hover{background:var(--colorful-bg)}:is(button,input[type="submit"],input[type="reset"],input[type="button"],input::file-selector-button):active{box-shadow:none;background-color:var(--accent);color:var(--bg)}[aria-expanded=true]:is(button,input[type="submit"],input[type="reset"],input[type="button"],input::file-selector-button),[aria-pressed=true]:is(button,input[type="submit"],input[type="reset"],input[type="button"],input::file-selector-button){box-shadow:0 .05em var(--accent);transform:translateY(.05em);background:var(--pressed-interactive-bg)}input:not([type]),input[type=date],input[type=datetime-local],input[type=datetime],input[type=email],input[type=month],input[type=number],input[type=password],input[type=search],input[type=tel],input[type=text],input[type=time],input[type=url],input[type=week],select,textarea{padding:calc(var(--rhythm)/4);font-size:1rem;line-height:inherit;font-family:var(--main-font);background:var(--bg);color:var(--fg);border:1px solid var(--faded-fg);border-radius:.2em;vertical-align:top}:is(input:not([type]),input[type="text"],input[type="search"],input[type="tel"],input[type="url"],input[type="email"],input[type="password"],input[type="date"],input[type="month"],input[type="week"],input[type="time"],input[type="datetime"],input[type="datetime-local"],input[type="number"],select,textarea):focus-visible{border:1px solid var(--accent)}:is(input:not([type]),input[type="text"],input[type="search"],input[type="tel"],input[type="url"],input[type="email"],input[type="password"],input[type="date"],input[type="month"],input[type="week"],input[type="time"],input[type="datetime"],input[type="datetime-local"],input[type="number"],select,textarea)::placeholder{color:var(--muted-fg);opacity:1;text-align:end}input[type=range]{width:100%;padding:calc(var(--gap)/4)}input[type=color]{padding:0;margin:0;height:calc(1.5*var(--rhythm));border:0;background:0 0}input[type=file]{padding:calc(var(--gap)/4) 0;font:inherit;line-height:calc(var(--rhythm)/2)}input[type=file]::file-selector-button{margin-block:.1em 0;margin-inline-end:1ch}select[multiple],td,th{vertical-align:top}optgroup::before{color:var(--muted-fg)}label[for]{display:block;padding-block:calc(var(--gap)/4)}fieldset>legend+*{margin-block-start:0}hr{color:inherit;flex-grow:0;border-inline-start:1px solid var(--accent);block-size:auto;border-block-start:1px solid var(--accent);border-block-end:none;border-inline-end:none}blockquote,pre{line-height:var(--rhythm)}pre{font-family:var(--mono-font);-o-tab-size:2;tab-size:2;margin:var(--gap) 0;overflow-x:auto;scrollbar-width:thin;scrollbar-color:var(--accent) transparent;font-size:.9em}blockquote{margin-inline:0 var(--gap);padding-inline:var(--gap) 0;margin-block:var(--gap);font-size:1.1em;font-style:italic;border-inline-start:1px solid var(--faded-fg);color:var(--muted-fg)}blockquote address,blockquote cite,blockquote dfn,blockquote em,blockquote i,blockquote var,optgroup::before,q address,q cite,q dfn,q em,q i,q var{font-style:normal}blockquote footer{text-align:right;text-align:end}ol,ul{padding-inline-start:var(--rhythm)}ol[role=list],ul[role=list]{padding-inline-start:0;list-style:none}ul{list-style:square}ol{list-style:decimal}dd{margin-inline-start:var(--rhythm)}li::marker{font-family:var(--secondary-font)}figure{max-width:100%;margin-inline:0;padding:var(--gap);border:1px solid var(--faded-fg);border-radius:calc(var(--rhythm)/4)}figure>:first-child:first-child:first-child:first-child,figure>:first-child>:first-child:first-child:first-child,figure>:first-child>:first-child>:first-child:first-child,figure>:first-child>:first-child>:first-child>:first-child{margin-block-start:0}figure>:last-child:last-child:last-child:last-child,figure>:last-child>:last-child:last-child:last-child,figure>:last-child>:last-child>:last-child:last-child,figure>:last-child>:last-child>:last-child>:last-child{margin-block-end:0}a,figcaption{font-family:var(--secondary-font)}figcaption{margin-block:var(--gap);color:var(--muted-fg)}main{max-inline-size:var(--eff-line-length);margin:auto}a{color:var(--link-fg, var(--accent))}.list-of-links a{text-decoration:none}a:hover{text-decoration:underline}span>small:only-child{display:block;float:inline-end;clear:inline-end;--sidenote-width: 20ch;max-inline-size:var(--sidenote-width);padding-inline:1.5ch 1ch;margin-inline-end:calc(1em - var(--sidenote-width));margin-block-end:var(--rhythm);font-family:var(--secondary-font);background:var(--bg);border:1px solid transparent;transition:transform .1s ease-in-out}span>small:only-child:focus-within,span>small:only-child:hover{border:1px solid var(--faded-fg);border-radius:.2em;transform:translateX(calc(0px - var(--sidenote-width) + min(var(--gutter-width),var(--sidenote-width))))}del,s{color:var(--bad-fg)}q{font-style:italic}time{font-variant-numeric:tabular-nums}ins,samp{color:var(--ok-fg)}kbd kbd{display:inline-block;padding:0 .3em;font-size:.8em;line-height:1.1em;background:var(--interactive-bg);border:1px outset var(--faded-fg);border-block-end-width:3px;border-radius:.3em}sub,sup{vertical-align:bottom;line-height:1}sup{vertical-align:top}mark{background:var(--warn-bg);color:var(--warn-fg)}ins{background:var(--ok-bg)}del{background:var(--bad-bg)}details>:first-child:first-child:first-child:first-child,details>:first-child>:first-child:first-child:first-child,details>:first-child>:first-child>:first-child:first-child,details>:first-child>:first-child>:first-child>:first-child{margin-block-start:0}details>:last-child:last-child:last-child:last-child,details>:last-child>:last-child:last-child:last-child,details>:last-child>:last-child>:last-child:last-child,details>:last-child>:last-child>:last-child>:last-child{margin-block-end:0}details{padding-block-start:0}details:not([open]){padding-block-end:0}summary{margin:calc(0px - var(--gap));margin-bottom:0;padding-inline:var(--gap);font-family:var(--secondary-font);font-weight:700;background:var(--accent);color:var(--bg);cursor:pointer}summary:active,summary:focus-visible{background:var(--muted-accent);border-color:var(--muted-accent)}details[open] summary{border-block-end:1px solid var(--accent);border-end-end-radius:0;border-end-start-radius:0}dialog>:first-child:first-child:first-child:first-child,dialog>:first-child>:first-child:first-child:first-child,dialog>:first-child>:first-child>:first-child:first-child,dialog>:first-child>:first-child>:first-child>:first-child{margin-block-start:0}dialog>:last-child:last-child:last-child:last-child,dialog>:last-child>:last-child:last-child:last-child,dialog>:last-child>:last-child>:last-child:last-child,dialog>:last-child>:last-child>:last-child>:last-child{margin-block-end:0}dialog{position:absolute;inline-inset:0;block-size:-moz-fit-content;block-size:fit-content;inline-size:-moz-fit-content;inline-size:fit-content;margin:auto;background-color:var(--bg);color:var(--fg);box-shadow:0 0 .2em .1em var(--shadow),0 .2em .4em var(--shadow),0 .25em 1em var(--shadow)}dialog[open]::backdrop{display:block;background:#000;opacity:.4;animation:bg 2s}dialog:not([open]){display:none}html{font-family:var(--main-font);line-height:var(--rhythm);font-size:120%}footer,header,section{margin-block:calc(2*var(--gap))}nav a{text-decoration:none;color:var(--accent)}aside>:first-child:first-child:first-child:first-child,aside>:first-child>:first-child:first-child:first-child,aside>:first-child>:first-child>:first-child:first-child,aside>:first-child>:first-child>:first-child>:first-child{margin-block-start:0}aside>:last-child:last-child:last-child:last-child,aside>:last-child>:last-child:last-child:last-child,aside>:last-child>:last-child>:last-child:last-child,aside>:last-child>:last-child>:last-child>:last-child{margin-block-end:0}aside h1,aside h2,aside h3,aside h4,aside h5,aside h6{font-size:1em;text-transform:none;letter-spacing:none}h1,h2,h3,h4,h5,h6{margin-block-end:var(--gap);font-family:var(--display-font);margin-block-start:calc(2*var(--gap))}.h1,.h2,h1,h2{font-size:2em;text-transform:none;line-height:calc(2*var(--rhythm));letter-spacing:0}.h2,h2{font-size:1.6em;line-height:calc(1.5*var(--rhythm))}.h3,.h4,.h5,.h6,h3,h4,h5,h6{font-size:1.17em;text-transform:uppercase;line-height:calc(1*var(--rhythm));letter-spacing:.02em}.h4,.h5,.h6,h4,h5,h6{font-size:1em;text-transform:none;letter-spacing:0;margin-block-start:var(--gap)}h1+h2,h1:first-child,h2+h3,h2:first-child,h3+h4,h3:first-child,h4+h5,h4:first-child,h5+h6,h5:first-child,h6:first-child{margin-block-start:var(--gap)}h1:target,h2:target,h3:target,h4:target,h5:target,h6:target{outline:0}h1:target::before,h2:target::before,h3:target::before,h4:target::before,h5:target::before,h6:target::before{content:'❧';display:inline-block;width:0;transform:translateX(-1.5ch);font-size:2em;vertical-align:bottom;color:var(--accent)}header{border-block-end:1px solid var(--faded-fg)}caption,footer,header{font-family:var(--secondary-font)}footer{border-block-start:1px solid var(--faded-fg)}body>footer,body>header,main+footer{padding:var(--rhythm) calc((100% - var(--eff-line-length))/2)}caption{text-align:start;font-style:italic}tbody{border-block:1px solid var(--fg)}td:not(:last-child),th:not(:last-child){padding-inline-end:var(--rhythm)}th{font-family:var(--secondary-font);text-align:start}:root{--fg: #000;--muted-fg: #3e3e3e;--faded-fg: #8b8b8b;--info-fg: #00386d;--ok-fg: #004825;--bad-fg: #830014;--warn-fg: #463d00;--bg: #fff;--colorful-bg: #d7fff7;--interactive-bg: #e2e2e2;--info-bg: #d4e0ff;--ok-bg: #5dffa2;--bad-bg: #ffddd8;--warn-bg: #ffe53e;--shadow: #777;--accent: #007f5f;--muted-accent: #42ffc6;--rhythm: 1.4rem;--line-length: 40rem;--main-font: 'Inter', -apple-system, system-ui, sans-serif;--secondary-font: var(--main-font);--mono-font: 'M Plus Code Latin', monospace, monospace;--density: 1;--full-width: 100vw;--eff-line-length: /* Effective line length for prose. */
- min(
- calc( var(--full-width) - (2 * var(--rhythm)) ),
- var(--line-length)
- );--gutter-width: /* Width of spaces at each side of page content. */
- calc(
- (
- var(--full-width) /* Viewport width */
- - var(--eff-line-length) /* minus line width */
- ) / 2)}*{--gap: calc(var(--rhythm) * var(--density));accent-color:var(--accent)} \ No newline at end of file
diff --git a/www/releases/_artifacts/v0.0.4/missing.min.css.br b/www/releases/_artifacts/v0.0.4/missing.min.css.br
deleted file mode 100644
index 4e60f1c..0000000
--- a/www/releases/_artifacts/v0.0.4/missing.min.css.br
+++ /dev/null
Binary files differ
diff --git a/www/releases/_artifacts/v0.0.4/missing.min.css.gz b/www/releases/_artifacts/v0.0.4/missing.min.css.gz
deleted file mode 100644
index a381f34..0000000
--- a/www/releases/_artifacts/v0.0.4/missing.min.css.gz
+++ /dev/null
Binary files differ
diff --git a/www/releases/_artifacts/v0.0.5/missing-prism.css b/www/releases/_artifacts/v0.0.5/missing-prism.css
deleted file mode 100644
index 23e48b5..0000000
--- a/www/releases/_artifacts/v0.0.5/missing-prism.css
+++ /dev/null
@@ -1,62 +0,0 @@
-
-.token.comment,
-.token.prolog,
-.token.doctype,
-.token.cdata,
-.token.punctuation {
- color: var(--muted-fg);
-}
-
-.token.property,
-.token.tag,
-.token.boolean,
-.token.number,
-.token.constant,
-.token.symbol,
-.token.deleted {
- color: var(--bad-fg);
-}
-
-.token.selector,
-.token.attr-name,
-.token.string,
-.token.char,
-.token.builtin,
-.token.inserted {
- color: var(--ok-fg);
-}
-
-.token.operator,
-.token.entity,
-.token.url,
-.language-css .token.string,
-.style .token.string,
-.token.regex,
-.token.important,
-.token.variable {
- color: var(--warn-fg)
-}
-
-.token.atrule,
-.token.attr-value,
-.token.keyword {
- color: var(--info-fg);
-}
-
-.token.function {
- color: var(--bad-fg);
- font-style: italic;
-}
-
-.token.important,
-.token.bold {
- font-weight: bold;
-}
-
-.token.italic {
- font-style: italic;
-}
-
-.token.entity {
- cursor: help;
-}
diff --git a/www/releases/_artifacts/v0.0.5/missing-prism.min.css b/www/releases/_artifacts/v0.0.5/missing-prism.min.css
deleted file mode 100644
index 41c91b1..0000000
--- a/www/releases/_artifacts/v0.0.5/missing-prism.min.css
+++ /dev/null
@@ -1 +0,0 @@
-.token.cdata,.token.comment,.token.doctype,.token.prolog,.token.punctuation{color:var(--muted-fg)}.token.boolean,.token.constant,.token.deleted,.token.number,.token.property,.token.symbol,.token.tag{color:var(--bad-fg)}.token.attr-name,.token.builtin,.token.char,.token.inserted,.token.selector,.token.string{color:var(--ok-fg)}.language-css .token.string,.style .token.string,.token.entity,.token.important,.token.operator,.token.regex,.token.url,.token.variable{color:var(--warn-fg)}.token.atrule,.token.attr-value,.token.keyword{color:var(--info-fg)}.token.function{color:var(--bad-fg);font-style:italic}.token.bold,.token.important{font-weight:700}.token.italic{font-style:italic}.token.entity{cursor:help} \ No newline at end of file
diff --git a/www/releases/_artifacts/v0.0.5/missing-prism.min.css.br b/www/releases/_artifacts/v0.0.5/missing-prism.min.css.br
deleted file mode 100644
index 2a4ac49..0000000
--- a/www/releases/_artifacts/v0.0.5/missing-prism.min.css.br
+++ /dev/null
Binary files differ
diff --git a/www/releases/_artifacts/v0.0.5/missing-prism.min.css.gz b/www/releases/_artifacts/v0.0.5/missing-prism.min.css.gz
deleted file mode 100644
index e834bd4..0000000
--- a/www/releases/_artifacts/v0.0.5/missing-prism.min.css.gz
+++ /dev/null
Binary files differ
diff --git a/www/releases/_artifacts/v0.0.5/missing.css b/www/releases/_artifacts/v0.0.5/missing.css
deleted file mode 100644
index e411b24..0000000
--- a/www/releases/_artifacts/v0.0.5/missing.css
+++ /dev/null
@@ -1,1627 +0,0 @@
-/* Document
- * ========================================================================== */
-
-/**
- * 1. Add border box sizing in all browsers (opinionated).
- * 2. Backgrounds do not repeat by default (opinionated).
- */
-
-*,
-::before,
-::after {
- box-sizing: border-box; /* 1 */
- background-repeat: no-repeat; /* 2 */
-}
-
-/**
- * 1. Add text decoration inheritance in all browsers (opinionated).
- * 2. Add vertical alignment inheritance in all browsers (opinionated).
- */
-
-::before,
-::after {
- text-decoration: inherit; /* 1 */
- vertical-align: inherit; /* 2 */
-}
-
-/**
- * 1. Use the default cursor in all browsers (opinionated).
- * 3. Breaks words to prevent overflow in all browsers (opinionated).
- * 5. Remove the grey highlight on links in iOS (opinionated).
- * 6. Prevent adjustments of font size after orientation changes in iOS.
- */
-
-:root {
- cursor: default; /* 1 */
- overflow-wrap: break-word; /* 3 */
- -webkit-tap-highlight-color: transparent; /* 5 */
- text-size-adjust: none;
- -webkit-text-size-adjust: none;
-}
-
-/* Text-level semantics
- * ========================================================================== */
-
-/**
- * Add the correct text decoration in Safari.
- */
-
-abbr[title] {
- text-decoration: underline;
- -webkit-text-decoration: underline dotted;
- text-decoration: underline dotted;
-}
-
-/**
- * Add the correct font weight in Chrome, Edge, and Safari.
- */
-
-strong, b {
- font-weight: bolder;
-}
-
-/**
- * Add the correct font size in all browsers.
- */
-
-small {
- font-size: 80%;
-}
-
-/* Embedded content
- * ========================================================================== */
-
-/*
- * Change the alignment on media elements in all browsers (opinionated).
- */
-
-audio, canvas, iframe, img, svg, video {
- vertical-align: middle;
-}
-
-/**
- * Change the fill color to match the text color in all browsers (opinionated).
- */
-
-svg:not([fill]) {
- fill: currentColor;
-}
-
-/* Tabular data
- * ========================================================================== */
-
-/**
- * 1. Collapse border spacing in all browsers (opinionated).
- * 2. Correct table border color in Chrome, Edge, and Safari.
- * 3. Remove text indentation from table contents in Chrome, Edge, and Safari.
- */
-
-table {
- border-collapse: collapse; /* 1 */
- border-color: currentColor; /* 2 */
- text-indent: 0; /* 3 */
-}
-
-/* Forms
- * ========================================================================== */
-
-/**
- * Remove the margin on controls in Safari.
- */
-
-button, input, select {
- margin: 0;
-}
-
-/**
- * Correct the inability to style buttons in iOS and Safari.
- */
-
-button, [type="button"], [type="reset"], [type="submit"] {
- -webkit-appearance: button;
-}
-
-/**
- * Change the inconsistent appearance in all browsers (opinionated).
- */
-
-fieldset {
- border: 1px solid #a0a0a0;
-}
-
-/**
- * Add the correct vertical alignment in Chrome, Edge, and Firefox.
- */
-
-progress {
- vertical-align: baseline;
-}
-
-/**
- * 1. Remove the margin in Firefox and Safari.
- */
-
-textarea {
- margin: 0; /* 1 */
-}
-
-/**
- * 1. Correct the odd appearance in Chrome, Edge, and Safari.
- * 2. Correct the outline style in Safari.
- */
-
-[type="search"] {
- -webkit-appearance: textfield; /* 1 */
- outline-offset: -2px; /* 2 */
-}
-
-/**
- * Correct the cursor style of increment and decrement buttons in Safari.
- */
-
-::-webkit-inner-spin-button,
-::-webkit-outer-spin-button {
- block-size: auto;
-}
-
-/**
- * Correct the text style of placeholders in Chrome, Edge, and Safari.
- */
-
-::-webkit-input-placeholder {
- color: inherit;
- opacity: 0.54;
-}
-
-/**
- * Remove the inner padding in Chrome, Edge, and Safari on macOS.
- */
-
-::-webkit-search-decoration {
- -webkit-appearance: none;
-}
-
-/**
- * 1. Correct the inability to style upload buttons in iOS and Safari.
- * 2. Change font properties to `inherit` in Safari.
- */
-
-::-webkit-file-upload-button {
- -webkit-appearance: button; /* 1 */
- font: inherit; /* 2 */
-}
-
-/* Interactive
- * ========================================================================== */
-
-[hidden] {
- display: none !important;
-}
-
-:focus-visible {
- outline: .2em solid var(--accent);
- z-index: 32;
-}
-
-iframe:focus-visible,
- html:focus-visible,
- body:focus-visible {
- outline: none;
- }
-
-:target {
- outline: .2em solid var(--fg);
- z-index: 32;
-}
-
-/*
- * Add the correct display in Safari.
- */
-
-details > summary:first-of-type {
- display: list-item;
-}
-
-/* Accessibility
- * ========================================================================== */
-
-/**
- * Change the cursor on busy elements in all browsers (opinionated).
- */
-
-[aria-busy="true"] {
- cursor: progress;
-}
-
-/*
- * Change the cursor on disabled, not-editable, or otherwise
- * inoperable elements in all browsers (opinionated).
- */
-
-[aria-disabled="true"], [disabled] {
- cursor: not-allowed;
-}
-
-datalist {
- display: none !important;
-}
-
-.info {
- --colorful-bg: var(--info-bg);
- --accent: var(--info-fg);
-}
-
-.ok {
- --colorful-bg: var(--ok-bg);
- --accent: var(--ok-fg);
-}
-
-.warn {
- --colorful-bg: var(--warn-bg);
- --accent: var(--warn-fg);
-}
-
-.bad {
- --colorful-bg: var(--bad-bg);
- --accent: var(--bad-fg);
-}
-
-.color {
- color: var(--accent);
-}
-
-.bg {
- background: var(--colorful-bg);
-}
-
-.border {
- border-style: solid;
- border-color: var(--accent);
-}
-
-.airy { --density: 3; }
-
-.dense { --density: 1; }
-
-.crowded { --density: .5; }
-
-.packed { --density: 0; }
-
-.autodensity {
- --density: 1
-}
-
-@media (min-width: 768px) {
-
-.autodensity { --density: 2
-} }
-
-@media (min-width: 1024px) {
-
-.autodensity { --density: 3
-} }
-
-.f-row {
- display: flex;
- flex-direction: row;
- gap: var(--gap)
-}
-
-.f-row > * { margin: 0 }
-
-.f-col {
- display: flex;
- flex-direction: column;
- gap: var(--gap)
-}
-
-.f-col > * { margin: 0 }
-
-.f-switch {
- display: flex;
- flex-flow: row wrap;
- gap: var(--gap);
- --col-width: 15ch /* see ./layout.css */
-}
-
-.f-switch > * { margin: 0 }
-
-.f-switch > * {
- flex-basis: calc((var(--col-width) - 100%) * 999);
- flex-grow: 1;
- }
-
-.justify-content\:start { justify-content: start }
-
-.justify-content\:end { justify-content: end }
-
-.justify-content\:baseline { justify-content: baseline }
-
-.justify-content\:center { justify-content: center }
-
-.justify-content\:stretch { justify-content: stretch }
-
-.align-items\:start { align-items: start }
-
-.align-items\:end { align-items: end }
-
-.align-items\:baseline { align-items: baseline }
-
-.align-items\:center { align-items: center }
-
-.align-items\:stretch { align-items: stretch }
-
-.align-self\:start { align-self: start }
-
-.align-self\:end { align-self: end }
-
-.align-self\:baseline { align-self: baseline }
-
-.align-self\:center { align-self: center }
-
-.align-self\:stretch { align-self: stretch }
-
-.grow-0 { flex-grow: 0 }
-
-.grow-1 { flex-grow: 1 }
-
-.grow-2 { flex-grow: 2 }
-
-.grow-3 { flex-grow: 3 }
-
-.grow-4 { flex-grow: 4 }
-
-.grow-5 { flex-grow: 5 }
-
-.grow-6 { flex-grow: 6 }
-
-.grow-7 { flex-grow: 7 }
-
-.grow-8 { flex-grow: 8 }
-
-.grow-9 { flex-grow: 9 }
-
-.grow-10 { flex-grow: 10 }
-
-.grow-11 { flex-grow: 11 }
-
-.grow-12 { flex-grow: 12 }
-
-.vh, v-h {
- clip: rect(0 0 0 0);
- -webkit-clip-path: inset(50%);
- clip-path: inset(50%);
- block-size: 1px;
- overflow: hidden;
- position: absolute;
- white-space: nowrap;
- inline-size: 1px;
-}
-
-.reset {
- all: initial;
-}
-
-.basicgrid {
- display: grid;
- grid-template-columns: repeat(auto-fit, minmax(var(--col-width), 1fr));
- gap: var(--gap);
- --col-width: 15ch
-}
-
-.basicgrid > * {
- margin: 0 !important;
- min-width: 1px;
- }
-
-.colwidth-l { --col-width: 35ch }
-
-.colwidth-m { --col-width: 24ch }
-
-.colwidth-s { --col-width: 15ch }
-
-.minwidth-l { min-width: 35ch }
-
-.minwidth-m { min-width: 24ch }
-
-.minwidth-s { min-width: 15ch }
-
-.maxwidth-l { max-width: 35ch }
-
-.maxwidth-m { max-width: 24ch }
-
-.maxwidth-s { max-width: 15ch }
-
-.col-0 { flex-grow: 0 ; }
-
-.col-1 { grid-column-end: span 1 }
-
-.col-2 { grid-column-end: span 2 }
-
-.col-3 { grid-column-end: span 3 }
-
-.col-4 { grid-column-end: span 4 }
-
-.col-5 { grid-column-end: span 5 }
-
-.col-6 { grid-column-end: span 6 }
-
-.col-7 { grid-column-end: span 7 }
-
-.col-8 { grid-column-end: span 8 }
-
-.col-9 { grid-column-end: span 9 }
-
-.col-10 { grid-column-end: span 10 }
-
-.col-11 { grid-column-end: span 11 }
-
-.col-12 { grid-column-end: span 12 }
-
-.col-inf { grid-column-end: -1 }
-
-/**/
-
-.textcolumns {
- --col-width: 30ch;
- column-width: var(--col-width);
- column-gap: var(--gap);
- margin-block: var(--gap)
-}
-
-.textcolumns :first-child { margin-block-start: 0 !important }
-
-.textcenter {
- text-align: center;
-}
-
-/**/
-
-.container {
- max-inline-size: var(--eff-line-length);
- margin-inline: auto;
-}
-
-.fullbleed {
- position: relative;
- width: 100vw;
- left: 50%;
- transform: translateX(-50vw);
-
- border-radius: 0;
- border-inline: none;
-}
-
-/**/
-
-.pad {
- padding-inline: var(--gap);
-}
-
-.pad-block { padding-block: var(--gap) }
-
-.margin {
- margin: var(--gap);
-}
-
-.margin-block { margin-block: var(--gap) }
-
-.margin-inline { margin-inline: var(--gap) }
-
-/**/
-
-.inline { display: inline }
-
-.block { display: block }
-
-.contents { display: contents }
-
-.table {
- display: table;
- width: 100%;
- margin: 0;
-}
-
-.row, .rows > * {
- display: table-row
-}
-
-.row:not(:last-child) > *, .rows > *:not(:last-child) > * {
- margin-bottom: var(--gap);
- }
-
-.row > *:not([specificity-hack]), .rows > * > *:not([specificity-hack]) {
- display: table-cell;
- vertical-align: top;
- }
-
-.row > * + *:not([specificity-hack]), :is(.rows > *) > * + *:not([specificity-hack]) {
- margin-inline-start: var(--gap);
- display: inline-block;
- }
-
-/**/
-
-.fixed { position: fixed }
-
-.sticky { position: sticky }
-
-.top { top: 0 }
-
-.right { right: 0 }
-
-.bottom { bottom: 0 }
-
-.left { left: 0 }
-
-.\^ { top: 0 }
-
-.\> { right: 0 }
-
-.\_ { bottom: 0 }
-
-.\< { left: 0 }
-
-.float\< { float: left }
-
-.float\> { float: right }
-
-.scroll { overflow: auto }
-
-.scroll\! { overflow: scroll }
-
-all-caps, .allcaps {
- text-transform: uppercase;
- letter-spacing: .1rem;
-}
-
-.monospace {
- font-family: var(--mono-font);
-}
-
-.box, missing-card, .missing-card {
- margin: var(--gap) 0;
- padding: var(--gap);
- border-radius: calc(var(--rhythm) / 4);
- background: var(--colorful-bg);
- border: 1px solid var(--accent);
- /* artificially increase specificity */
- /* TODO: come up with a better way to do this */
-}
-
-:is(.box,missing-card,.missing-card) > :first-child:first-child:first-child:first-child,
- :is(.box,missing-card,.missing-card) > :first-child>:first-child:first-child:first-child,
- :is(.box,missing-card,.missing-card) > :first-child>:first-child>:first-child:first-child,
- :is(.box,missing-card,.missing-card) > :first-child>:first-child>:first-child>:first-child { margin-block-start: 0; }
-
-:is(.box,missing-card,.missing-card) > :last-child:last-child:last-child:last-child,
- :is(.box,missing-card,.missing-card) > :last-child>:last-child:last-child:last-child,
- :is(.box,missing-card,.missing-card) > :last-child>:last-child>:last-child:last-child,
- :is(.box,missing-card,.missing-card) > :last-child>:last-child>:last-child>:last-child { margin-block-end: 0; }
-
-.titlebar {
- margin-inline: calc(0px - var(--gap));
- margin-block-end: calc(0px - var(--gap));
- padding-inline: var(--gap);
- font: inherit;
- font-family: var(--secondary-font);
- font-weight: bold;
- translate: 0 calc(-1px - var(--gap));
- background: var(--accent);
- color: var(--bg);
-}
-
-.breadcrumbs[aria-label] {
- font-family: var(--secondary-font)
-}
-
-.breadcrumbs[aria-label] ul, .breadcrumbs[aria-label] ol {
- list-style: none;
- padding-inline-start: 0;
- }
-
-.breadcrumbs[aria-label] li {
- display: inline
- }
-
-:is(.breadcrumbs[aria-label] li)+li::before {
- content: ' / ' / '';
- content: ' / ';
- display: inline;
- }
-
-.breadcrumbs[aria-label] [aria-current="page"] {
- font-weight: bold;
- }
-
-.chip, chip {
- font-family: var(--secondary-font);
- border: 1px solid var(--accent);
- background: var(--colorful-bg);
- border-radius: calc(var(--rhythm) / 2);
- padding-inline: calc(var(--rhythm) / 2);
-}
-
-.navbar, header[is="nav-bar"] {
- margin: 0;
- padding: 0 var(--rhythm);
-
- font-family: var(--secondary-font);
-
- background: var(--colorful-bg);
- border-block-end: 1px solid var(--accent);
-
- overflow-x: auto;
- scrollbar-width: thin;
-
- /* Inner layout */
- display: flex;
- flex-flow: row;
- gap: calc(2 * var(--rhythm))
-}
-
-:is(.navbar,header[is="nav-bar"]) :first-child { margin-inline-start: auto; }
-
-:is(.navbar,header[is="nav-bar"]) :last-child { margin-inline-end: auto; }
-
-:is(.navbar,header[is="nav-bar"]) * { flex-shrink: 0 }
-
-:is(.navbar,header[is="nav-bar"]) nav ul[role="list"] {
- padding-inline-start: 0;
- display: flex;
- flex-flow: row;
- gap: var(--rhythm)
- }
-
-:is(.navbar,header[is="nav-bar"]) nav ul[role="list"] * { flex-shrink: 0 }
-
-:is(.navbar,header[is="nav-bar"]) a {
- font-weight: bold;
- text-decoration: none;
- }
-
-:is(.navbar,header[is="nav-bar"]) a:hover, :is(.navbar,header[is="nav-bar"]) a:focus {
- text-decoration: underline;
- }
-
-:is(.navbar,header[is="nav-bar"]) [aria-current=page] {
- background: var(--accent);
- color: var(--colorful-bg);
- border-radius: .2em;
- outline: .2em solid var(--accent);
- }
-
-.sidebar {
- margin: var(--gap) 0;
- padding: var(--gap);
- border-radius: calc(var(--rhythm) / 4);
- background: var(--colorful-bg);
- border: 1px solid var(--accent)
- /* artificially increase specificity */
- /* TODO: come up with a better way to do this */
-}
-
-.sidebar > :first-child:first-child:first-child:first-child,
- .sidebar > :first-child>:first-child:first-child:first-child,
- .sidebar > :first-child>:first-child>:first-child:first-child,
- .sidebar > :first-child>:first-child>:first-child>:first-child { margin-block-start: 0; }
-
-.sidebar > :last-child:last-child:last-child:last-child,
- .sidebar > :last-child>:last-child:last-child:last-child,
- .sidebar > :last-child>:last-child>:last-child:last-child,
- .sidebar > :last-child>:last-child>:last-child>:last-child { margin-block-end: 0; }
-
-.sidebar {
-
- font-family: var(--secondary-font);
-
- border-block: none;
- border-inline-start: none;
- border-radius: 0;
- margin: 0;
-
- font-size: .8em;
- --rhythm: 1em
-}
-
-.sidebar li {
- padding: calc(.5 * var(--gap));
- margin-inline: calc(-.5 * var(--gap));
- border-radius: .4em;
- }
-
-.sidebar a {
- font-weight: bold;
- text-decoration: none;
- }
-
-.sub-title, sub-title {
- /***
- Meant for use in headings. Make sure to also use visually-hidden punctuation
- to mark the subtitle as shown below:
-
- 1 | <h1>
- 2 | Foo Bar<v-h>:</v-h>
- 3 | <sub-title>How I Learned To Stop Worrying and Love Baz</sub-title>
- 4 | </h1>
-
- 1 | <h1>
- 2 | <sub-title class="-allcaps">Breaking News</sub-title><v-h>:</v-h>
- 3 | Bad Thing Happens
- 4 | <h1>
- ***/
-
- display: block;
-
- font-weight: normal;
-
- color: var(--muted-fg);
-}
-
-[role="tablist"] {
- display: flex;
- gap: .5ch;
- scrollbar-width: thin;
-}
-
-[role="tab"][role="tab"] {
- all: initial;
-
- font-family: var(--secondary-font);
-
- padding: 0 calc(var(--rhythm) / 4);
- margin: 0;
- min-height: var(--rhythm);
-
- border: solid var(--accent);
- border-width: 1px 1px 0 1px;
- border-block-end-color: transparent;
- background: var(--interactive-bg);
-
- border-start-start-radius: .4em;
- border-start-end-radius: .4em
-}
-
-[role="tab"][role="tab"]:active, [role="tab"][role="tab"][aria-selected="true"] {
- transform: none;
- bottom: -1px;
- position: relative;
- background: var(--colorful-bg);
- border-block-end: 1px solid var(--colorful-bg);
- }
-
-[role="tabpanel"] {
- margin: var(--gap) 0;
- padding: var(--gap);
- border-radius: calc(var(--rhythm) / 4);
- background: var(--colorful-bg);
- border: 1px solid var(--accent);
- /* artificially increase specificity */
- /* TODO: come up with a better way to do this */
-}
-
-[role="tabpanel"] > :first-child:first-child:first-child:first-child,
- [role="tabpanel"] > :first-child>:first-child:first-child:first-child,
- [role="tabpanel"] > :first-child>:first-child>:first-child:first-child,
- [role="tabpanel"] > :first-child>:first-child>:first-child>:first-child { margin-block-start: 0; }
-
-[role="tabpanel"] > :last-child:last-child:last-child:last-child,
- [role="tabpanel"] > :last-child>:last-child:last-child:last-child,
- [role="tabpanel"] > :last-child>:last-child>:last-child:last-child,
- [role="tabpanel"] > :last-child>:last-child>:last-child>:last-child { margin-block-end: 0; }
-
-[role="tabpanel"] {
- margin-block-start: 0;
- border-start-start-radius: 0;
- border-start-end-radius: 0;
- z-index: 1;
-}
-
-tool-bar, .tool-bar {
- display: flex;
- flex-flow: row wrap;
- gap: calc(var(--gap) / 2);
-}
-
-/***
- 4.8 Embedded content
- https://html.spec.whatwg.org/multipage/embedded-content.html
- ***/
-
-img, video, audio, iframe, object, embed {
- max-inline-size: 100%;
- inline-size: max-content;
- block-size: auto;
-}
-
-/***
- 4.10 Forms
- https://html.spec.whatwg.org/multipage/forms.html
- ***/
-
-input { display: block; }
-
-label input:not([specificity-hack]) { display: inline; padding-block: 0; }
-
-button,
-input[type="submit"],
-input[type="reset"],
-input[type="button"],
-input::file-selector-button {
- display: inline-block;
- padding: 0 calc(var(--rhythm) / 4);
- vertical-align: top;
-
- font-size: .8rem;
- line-height: 1.125em;
- font-family: var(--secondary-font);
- min-height: var(--rhythm);
-
- background: var(--interactive-bg);
- color: var(--fg);
- border: 1px solid var(--accent);
- box-sizing: border-box;
- border-radius: .2em;
-
- box-shadow: 0 .1em .2em var(--shadow)
-}
-
-:is(button,input[type="submit"],input[type="reset"],input[type="button"],input::file-selector-button):hover, :is(button,input[type="submit"],input[type="reset"],input[type="button"],input::file-selector-button):focus-visible {
- background: var(--colorful-bg);
- }
-
-:is(button,input[type="submit"],input[type="reset"],input[type="button"],input::file-selector-button):active {
- box-shadow: none;
- background-color: var(--accent);
- color: var(--bg);
- }
-
-[aria-pressed="true"]:is(button,input[type="submit"],input[type="reset"],input[type="button"],input::file-selector-button), [aria-expanded="true"]:is(button,input[type="submit"],input[type="reset"],input[type="button"],input::file-selector-button) {
- box-shadow: 0 .05em var(--accent);
- transform: translateY(.05em);
- background: var(--pressed-interactive-bg);
- }
-
-input:not([type]),
-input[type="text"],
-input[type="search"],
-input[type="tel"],
-input[type="url"],
-input[type="email"],
-input[type="password"],
-input[type="date"],
-input[type="month"],
-input[type="week"],
-input[type="time"],
-input[type="datetime"],
-input[type="datetime-local"],
-input[type="number"],
-select,
-textarea {
- padding: calc(var(--rhythm) / 4);
- vertical-align: top;
-
- font-size: 1rem;
- line-height: inherit;
- font-family: var(--main-font);
-
- background: var(--bg);
- color: var(--fg);
- border: 1px solid var(--faded-fg);
- border-radius: .2em;
-
- vertical-align: top
-}
-
-:is(input:not([type]),input[type="text"],input[type="search"],input[type="tel"],input[type="url"],input[type="email"],input[type="password"],input[type="date"],input[type="month"],input[type="week"],input[type="time"],input[type="datetime"],input[type="datetime-local"],input[type="number"],select,textarea):focus-visible {
- border: 1px solid var(--accent);
- }
-
-:is(input:not([type]),input[type="text"],input[type="search"],input[type="tel"],input[type="url"],input[type="email"],input[type="password"],input[type="date"],input[type="month"],input[type="week"],input[type="time"],input[type="datetime"],input[type="datetime-local"],input[type="number"],select,textarea)::placeholder {
- color: var(--muted-fg);
- opacity: 1;
- text-align: end;
- }
-
-input[type="range"] {
- width: 100%;
- padding: calc(var(--gap) / 4);
-}
-
-input[type="color"] {
- padding: 0;
- margin: 0;
- height: calc(1.5 * var(--rhythm));
-
- border: none;
- background: none;
-}
-
-input[type="file"] {
- padding: calc(var(--gap) / 4) 0;
- font: inherit;
- line-height: calc(var(--rhythm) / 2)
-}
-
-input[type="file"]::file-selector-button {
- margin-block: .1em 0;
- margin-inline-end: 1ch;
- }
-
-select[multiple] {
- vertical-align: top;
-}
-
-optgroup::before {
- color: var(--muted-fg);
- font-style: normal;
-}
-
-progress {
- /* TODO */
-}
-
-meter {
- /* TODO */
-}
-
-label[for] {
- display: block;
- padding-block: calc(var(--gap) / 4);
-}
-
-fieldset {
- position: relative;
-
- padding: var(--gap);
- margin: var(--gap) 0;
- width: 100%;
- border-radius: .2em;
-
- /* artificially increase specificity */
-
- /* TODO: come up with a better way to do this */
-}
-
-fieldset > :first-child:first-child:first-child:first-child,
- fieldset > :first-child>:first-child:first-child:first-child,
- fieldset > :first-child>:first-child>:first-child:first-child,
- fieldset > :first-child>:first-child>:first-child>:first-child { margin-block-start: 0; }
-
-fieldset > :last-child:last-child:last-child:last-child,
- fieldset > :last-child>:last-child:last-child:last-child,
- fieldset > :last-child>:last-child>:last-child:last-child,
- fieldset > :last-child>:last-child>:last-child>:last-child { margin-block-end: 0; }
-
-fieldset > legend + * { margin-block-start: 0 }
-
-fieldset {
-
- border: 1px solid var(--faded-fg);
-}
-
-/***
- 4.4 Grouping content
- https://html.spec.whatwg.org/multipage/grouping-content.html
- ***/
-
-p {
- margin-block: var(--gap);
-}
-
-hr {
- color: inherit;
-
- flex-grow: 0;
- border-inline-start: 1px solid var(--accent);
- block-size: auto;
- border-block-start: 1px solid var(--accent);
- border-block-end: none;
- border-inline-end: none;
-}
-
-pre {
- font-family: var(--mono-font);
- font-size: .9em;
- line-height: var(--rhythm);
- -o-tab-size: 2;
- tab-size: 2;
-
- margin: var(--gap) 0;
-
- overflow-x: auto;
- scrollbar-width: thin;
- scrollbar-color: var(--accent) transparent;
-}
-
-blockquote {
- margin-inline: 0 var(--gap);
- padding-inline: var(--gap) 0;
- margin-block: var(--gap);
-
- font-size: 1.1em;
- line-height: var(--rhythm);
- font-style: italic;
-
- border-inline-start: 1px solid var(--faded-fg);
- color: var(--muted-fg)
-}
-
-blockquote em, blockquote cite, blockquote dfn, blockquote var, blockquote i, blockquote address {
- font-style: normal;
- }
-
-blockquote footer {
- text-align: right;
- text-align: end;
- }
-
-ul, ol {
- padding-inline-start: var(--rhythm)
-}
-
-ul[role="list"], ol[role="list"] {
- padding-inline-start: 0;
- list-style: none;
- }
-
-ul {
- list-style: square;
-}
-
-ol {
- list-style: decimal;
-}
-
-dl {
- margin-block: var(--gap);
-}
-
-dt {
- font-weight: bold;
- }
-
-dd {
- margin-inline-start: var(--rhythm);
- }
-
-li::marker {
- font-family: var(--secondary-font);
-}
-
-figure {
- max-width: 100%;
- margin-inline: 0;
- padding: var(--gap);
-
- border: 1px solid var(--faded-fg);
- border-radius: calc(var(--rhythm) / 4);
-
- /* artificially increase specificity */
-
- /* TODO: come up with a better way to do this */
-}
-
-figure > :first-child:first-child:first-child:first-child,
- figure > :first-child>:first-child:first-child:first-child,
- figure > :first-child>:first-child>:first-child:first-child,
- figure > :first-child>:first-child>:first-child>:first-child { margin-block-start: 0; }
-
-figure > :last-child:last-child:last-child:last-child,
- figure > :last-child>:last-child:last-child:last-child,
- figure > :last-child>:last-child>:last-child:last-child,
- figure > :last-child>:last-child>:last-child>:last-child { margin-block-end: 0; }
-
-figcaption {
- margin-block: var(--gap);
-
- font-family: var(--secondary-font);
-
- color: var(--muted-fg);
-}
-
-main {
- max-inline-size: var(--eff-line-length);
- margin: auto;
-}
-
-/***
- 4.5 Text-level semantics
- https://html.spec.whatwg.org/multipage/text-level-semantics.html
-
- 4.7 Edits
- https://html.spec.whatwg.org/multipage/edits.html
- ***/
-
-/* Text-level semantics */
-
-a {
- color: var(--link-fg, var(--accent));
- font-family: var(--secondary-font)
-}
-
-.list-of-links a {
- text-decoration: none
-}
-
-a:hover {
- text-decoration: underline;
- }
-
-span > small:only-child {
- /***
- Sidenote
- ***/
- display: block;
- float: inline-end;
- clear: inline-end;
-
- --sidenote-width: 20ch;
-
- max-inline-size: var(--sidenote-width);
- padding-inline: 1.5ch 1ch;
-
- margin-inline-end: calc(1em - var(--sidenote-width));
- margin-block-end: var(--rhythm);
-
- font-family: var(--secondary-font);
-
- background: var(--bg);
- border: 1px solid transparent;
-
- transition: transform .1s ease-in-out
-}
-
-span > small:only-child:hover, span > small:only-child:focus-within {
- border: 1px solid var(--faded-fg);
- border-radius: .2em;
- transform: translateX(calc(
- 0px - var(--sidenote-width)
- + min(var(--gutter-width), var(--sidenote-width))
- ))
- }
-
-s {
- color: var(--bad-fg);
-}
-
-q {
- font-style: italic
-}
-
-q em, q cite, q dfn, q var, q i, q address {
- font-style: normal;
- }
-
-time {
- font-variant-numeric: tabular-nums;
-}
-
-code, samp, kbd {
- font-family: var(--mono-font);
-}
-
-samp {
- color: var(--ok-fg);
-}
-
-kbd kbd /*
- We apply the key-like styling to a nested kbd element, a pattern shown in
- WHATWG HTML for marking up keyboard input:
-
- > Here the kbd element is used to indicate keys to press:
- > ~~~ html
- > <p>To make George eat an apple, press <kbd><kbd>Shift</kbd> + <kbd>F3</kbd></kbd></p>
- > ~~~
-
- The plain kbd element can also be used for clicking menus (<kbd>File |
- New...</kbd>) or voice input (<kbd>Hey Siri, </kbd>)
-*/ {
- display: inline-block;
-
- padding: 0 .3em;
- font-size: .8em;
- line-height: 1.1em;
-
- background: var(--interactive-bg);
- border: 1px outset var(--faded-fg);
- border-block-end-width: 3px;
- border-radius: .3em;
-}
-
-sub {
- vertical-align: bottom;
- line-height: 1;
-}
-
-sup {
- vertical-align: top;
- line-height: 1;
-}
-
-mark {
- background: var(--warn-bg);
- color: var(--warn-fg);
-}
-
-/* Edits */
-
-ins {
- background: var(--ok-bg);
- color: var(--ok-fg);
-}
-
-del {
- background: var(--bad-bg);
- color: var(--bad-fg);
-}
-
-/***
- 4.11 Interactive elements
- https://html.spec.whatwg.org/multipage/interactive-elements.html#interactive-elements
- ***/
-
-details {
- margin: var(--gap) 0;
- padding: var(--gap);
- border-radius: calc(var(--rhythm) / 4);
- background: var(--colorful-bg);
- border: 1px solid var(--accent)
- /* artificially increase specificity */
- /* TODO: come up with a better way to do this */
-}
-
-details > :first-child:first-child:first-child:first-child,
- details > :first-child>:first-child:first-child:first-child,
- details > :first-child>:first-child>:first-child:first-child,
- details > :first-child>:first-child>:first-child>:first-child { margin-block-start: 0; }
-
-details > :last-child:last-child:last-child:last-child,
- details > :last-child>:last-child:last-child:last-child,
- details > :last-child>:last-child>:last-child:last-child,
- details > :last-child>:last-child>:last-child>:last-child { margin-block-end: 0; }
-
-details {
- padding-block-start: 0
-}
-
-details:not([open]) { padding-block-end: 0; }
-
-summary {
- margin: calc(0px - var(--gap));
- margin-top: calc(0px - var(--gap));
- margin-bottom: 0;
- padding-inline: var(--gap);
-
- font-family: var(--secondary-font);
- font-weight: bold;
-
- background: var(--accent);
- color: var(--bg);
-
- cursor: pointer
-}
-
-summary:focus-visible, summary:active {
- background: var(--muted-accent);
- border-color: var(--muted-accent);
- }
-
-details[open] summary {
- border-block-end: 1px solid var(--accent);
- border-end-end-radius: 0;
- border-end-start-radius: 0
-}
-
-dialog {
- margin: var(--gap) 0;
- padding: var(--gap);
- border-radius: calc(var(--rhythm) / 4);
- background: var(--colorful-bg);
- border: 1px solid var(--accent);
- /* artificially increase specificity */
- /* TODO: come up with a better way to do this */
-}
-
-dialog > :first-child:first-child:first-child:first-child,
- dialog > :first-child>:first-child:first-child:first-child,
- dialog > :first-child>:first-child>:first-child:first-child,
- dialog > :first-child>:first-child>:first-child>:first-child { margin-block-start: 0; }
-
-dialog > :last-child:last-child:last-child:last-child,
- dialog > :last-child>:last-child:last-child:last-child,
- dialog > :last-child>:last-child>:last-child:last-child,
- dialog > :last-child>:last-child>:last-child>:last-child { margin-block-end: 0; }
-
-dialog {
- position: absolute;
- inline-inset: 0;
-
- block-size: -moz-fit-content;
-
- block-size: fit-content;
- inline-size: -moz-fit-content;
- inline-size: fit-content;
-
- margin: auto;
-
- background-color: var(--bg);
- color: var(--fg);
-
- box-shadow:
- 0 0 .2em .1em var(--shadow),
- 0 .2em .4em var(--shadow),
- 0 .25em 1em var(--shadow);
-}
-
-dialog[open]::backdrop {
- display: block;
- background: black;
- opacity: .4;
- animation: bg 2s;
-}
-
-@keyframes bg {
- from { background: transparent; }
-}
-
-dialog:not([open]) {
- display: none;
-}
-
-/***
- 4.1 The document element
- https://html.spec.whatwg.org/multipage/semantics.html#the-root-element
-
- 4.3 Sections
- https://html.spec.whatwg.org/multipage/sections.html
- ***/
-
-html {
- font-family: var(--main-font);
- line-height: var(--rhythm);
- font-size: 120%;
-}
-
-body {
- margin: 0;
-}
-
-header, footer, section {
- margin-block: calc(2 * var(--gap));
-}
-
-nav a {
- text-decoration: none;
- color: var(--accent);
- }
-
-aside {
- margin: var(--gap) 0;
- padding: var(--gap);
- border-radius: calc(var(--rhythm) / 4);
- background: var(--colorful-bg);
- border: 1px solid var(--accent)
- /* artificially increase specificity */
- /* TODO: come up with a better way to do this */
-}
-
-aside > :first-child:first-child:first-child:first-child,
- aside > :first-child>:first-child:first-child:first-child,
- aside > :first-child>:first-child>:first-child:first-child,
- aside > :first-child>:first-child>:first-child>:first-child { margin-block-start: 0; }
-
-aside > :last-child:last-child:last-child:last-child,
- aside > :last-child>:last-child:last-child:last-child,
- aside > :last-child>:last-child>:last-child:last-child,
- aside > :last-child>:last-child>:last-child>:last-child { margin-block-end: 0; }
-
-aside h1,
- aside h2,
- aside h3,
- aside h4,
- aside h5,
- aside h6 {
- font-size: 1em;
- text-transform: none;
- letter-spacing: none;
- }
-
-h1, h2, h3, h4, h5, h6 {
- margin-block-end: var(--gap);
- font-family: var(--secondary-font);
- font-size: 1em;
- margin-block-start: calc(2 * var(--gap));
-}
-
-h1, .h1 {
- font-size: 2em;
- text-transform: none;
- line-height: calc(2 * var(--rhythm));
- letter-spacing: 0;
-}
-
-h2, .h2 {
- font-size: 1.6em;
- text-transform: none;
- line-height: calc(1.5 * var(--rhythm));
- letter-spacing: 0;
-}
-
-h3, .h3 {
- font-size: 1.17em;
- text-transform: uppercase;
- line-height: calc(1 * var(--rhythm));
- letter-spacing: 0.02em;
-}
-
-h4, .h4, h5, .h5, h6, .h6 {
- font-size: 1em;
- text-transform: none;
- line-height: calc(1 * var(--rhythm));
- letter-spacing: 0;
- margin-block-start: var(--gap);
-}
-
-h1 + h2,
-h2 + h3,
-h3 + h4,
-h4 + h5,
-h5 + h6,
-h1:first-child,
-h2:first-child,
-h3:first-child,
-h4:first-child,
-h5:first-child,
-h6:first-child {
- margin-block-start: var(--gap);
-}
-
-h1:target,
-h2:target,
-h3:target,
-h4:target,
-h5:target,
-h6:target {
- outline: none
-}
-
-h1:target::before, h2:target::before, h3:target::before, h4:target::before, h5:target::before, h6:target::before {
- content: '❧';
- display: inline-block;
- width: 0;
- transform: translateX(-1.5ch);
- font-size: 2em;
- vertical-align: bottom;
- color: var(--accent);
- }
-
-header {
- font-family: var(--secondary-font);
- border-block-end: 1px solid var(--faded-fg);
-}
-
-footer {
- font-family: var(--secondary-font);
- border-block-start: 1px solid var(--faded-fg);
-}
-
-body > header,
-body > footer,
-main + footer {
- padding: var(--rhythm) calc((100% - var(--eff-line-length)) / 2)
-}
-
-address {
- --density: 0;
-}
-
-/***
- 4.9 Tabular data
- https://html.spec.whatwg.org/multipage/tables.html
- ***/
-
-table {
- font-variant-numeric: tabular-nums;
- font: inherit;
-}
-
-caption {
- text-align: start;
- font-family: var(--secondary-font);
- font-style: italic;
-}
-
-tbody {
- border-block: 1px solid var(--fg);
-}
-
-thead {
-}
-
-tfoot {
-}
-
-tr {
-
-}
-
-td, th {
- vertical-align: top
-}
-
-td:not(:last-child), th:not(:last-child) {
- padding-inline-end: var(--rhythm);
- }
-
-td {
- }
-
-th {
- font-family: var(--secondary-font);
- text-align: start;
- }
-
-/* Colors taken from https://reasonable.work/colors/ */
-
-:root {
- /* Colors */
- --fg: #000; /* Text. */
- --muted-fg: #3e3e3e; /* De-emphasized or disabled elements' text. Will be
- used with a background of --c-bg and --c-bg-2 -- check contrast! */
- --faded-fg: #8b8b8b; /* De-emphasized or disabled graphical elements. Will not
- be used as a text color. */
- --info-fg: #00386d;
- --ok-fg: #004825;
- --bad-fg: #830014;
- --warn-fg: #463d00;
-
- --bg: #fff; /* Page background. */
- --colorful-bg: #d7fff7; /* Background for blocks: cards, admonitions etc. */
- --interactive-bg: #e2e2e2; /* Background for interactive elements */
- --info-bg: #d4e0ff; /* blue */
- --ok-bg: #5dffa2;
- --bad-bg: #ffddd8;
- --warn-bg: #ffe53e;
-
- --shadow: #777; /* Box shadows. */
-
- --accent: #007f5f; /* Accent color. Will be used *as a text color* with a
- background of --c-bg and --c-bg-2 -- check contrast! */
- --muted-accent: #42ffc6; /* Muted accent color. Will not be used for text. */
-
- /* Lengths */
- --rhythm: 1.4rem; /* Vertical rhythm, line height. */
- --line-length: 40rem; /* Maximum line length for prose. */
-
- /* Fonts */
- --main-font: 'Inter', -apple-system, system-ui, sans-serif;
- --secondary-font: var(--main-font); /* Headings etc. */
- --mono-font: 'M Plus Code Latin', monospace, monospace; /* monospace twice stops browsers from
- shrinking this */
-
- /* Density */
- --density: 1;
-
- /* Width */
- --full-width: 100vw;
-
- /* Do not set these. */
- --eff-line-length: /* Effective line length for prose. */
- min(
- calc( var(--full-width) - (2 * var(--rhythm)) ),
- var(--line-length)
- );
-
- --gutter-width: /* Width of spaces at each side of page content. */
- calc(
- (
- var(--full-width) /* Viewport width */
- - var(--eff-line-length) /* minus line width */
- ) / 2); /* Divide by 2: there are two page margins */
-}
-
-* {
- --gap: calc(var(--rhythm) * var(--density));
- accent-color: var(--accent);
-}
diff --git a/www/releases/_artifacts/v0.0.5/missing.min.css b/www/releases/_artifacts/v0.0.5/missing.min.css
deleted file mode 100644
index 0103d28..0000000
--- a/www/releases/_artifacts/v0.0.5/missing.min.css
+++ /dev/null
@@ -1,16 +0,0 @@
-@keyframes bg{0%{background:0 0}}*,::after,::before{box-sizing:border-box;background-repeat:no-repeat}::after,::before{text-decoration:inherit;vertical-align:inherit}:root{cursor:default;overflow-wrap:break-word;-webkit-tap-highlight-color:transparent;text-size-adjust:none;-webkit-text-size-adjust:none}abbr[title]{-webkit-text-decoration:underline dotted;text-decoration:underline dotted}b,strong{font-weight:bolder}small{font-size:80%}audio,canvas,iframe,img,svg,video{vertical-align:middle}svg:not([fill]){fill:currentColor}table{border-collapse:collapse;border-color:currentColor;text-indent:0;font-variant-numeric:tabular-nums;font:inherit}button,input,select,textarea{margin:0}[type=button],[type=reset],[type=submit],button{-webkit-appearance:button}fieldset{border:1px solid #a0a0a0;position:relative;padding:var(--gap);margin:var(--gap) 0;width:100%;border-radius:.2em;border:1px solid var(--faded-fg)}progress{vertical-align:baseline}[type=search]{-webkit-appearance:textfield;outline-offset:-2px}::-webkit-inner-spin-button,::-webkit-outer-spin-button{block-size:auto}::-webkit-input-placeholder{color:inherit;opacity:.54}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{-webkit-appearance:button;font:inherit}[hidden],datalist{display:none!important}:focus-visible{outline:.2em solid var(--accent);z-index:32}body:focus-visible,html:focus-visible,iframe:focus-visible{outline:0}:target{outline:.2em solid var(--fg);z-index:32}details>summary:first-of-type{display:list-item}[aria-busy=true]{cursor:progress}[aria-disabled=true],[disabled]{cursor:not-allowed}.info{--colorful-bg: var(--info-bg);--accent: var(--info-fg)}.ok{--colorful-bg: var(--ok-bg);--accent: var(--ok-fg)}.warn{--colorful-bg: var(--warn-bg);--accent: var(--warn-fg)}.bad{--colorful-bg: var(--bad-bg);--accent: var(--bad-fg)}.color{color:var(--accent)}.bg{background:var(--colorful-bg)}.border{border-style:solid;border-color:var(--accent)}.airy{--density: 3}.dense{--density: 1}.crowded{--density: .5}.packed,address{--density: 0}.autodensity{--density: 1
-}@media (min-width:768px){.autodensity{--density: 2
-}}@media (min-width:1024px){.autodensity{--density: 3
-}}.f-row{display:flex;flex-direction:row;gap:var(--gap)}.f-row>*{margin:0}.f-col{display:flex;flex-direction:column;gap:var(--gap)}.f-col>*,body{margin:0}.f-switch{display:flex;flex-flow:row wrap;gap:var(--gap);--col-width: 15ch /* see ./layout.css */
-}.f-switch>*{margin:0;flex-basis:calc((var(--col-width) - 100%)*999);flex-grow:1}.justify-content\:start{justify-content:start}.justify-content\:end{justify-content:end}.justify-content\:baseline{justify-content:baseline}.justify-content\:center{justify-content:center}.justify-content\:stretch{justify-content:stretch}.align-items\:start{align-items:start}.align-items\:end{align-items:end}.align-items\:baseline{align-items:baseline}.align-items\:center{align-items:center}.align-items\:stretch{align-items:stretch}.align-self\:start{align-self:start}.align-self\:end{align-self:end}.align-self\:baseline{align-self:baseline}.align-self\:center{align-self:center}.align-self\:stretch{align-self:stretch}.grow-0{flex-grow:0}.grow-1{flex-grow:1}.grow-2{flex-grow:2}.grow-3{flex-grow:3}.grow-4{flex-grow:4}.grow-5{flex-grow:5}.grow-6{flex-grow:6}.grow-7{flex-grow:7}.grow-8{flex-grow:8}.grow-9{flex-grow:9}.grow-10{flex-grow:10}.grow-11{flex-grow:11}.grow-12{flex-grow:12}.vh,v-h{clip:rect(0 0 0 0);-webkit-clip-path:inset(50%);clip-path:inset(50%);block-size:1px;overflow:hidden;position:absolute;white-space:nowrap;inline-size:1px}.reset{all:initial}.basicgrid{display:grid;grid-template-columns:repeat(auto-fit,minmax(var(--col-width),1fr));gap:var(--gap);--col-width: 15ch
-}.basicgrid>*{margin:0!important;min-width:1px}.colwidth-l{--col-width: 35ch }.colwidth-m{--col-width: 24ch }.colwidth-s{--col-width: 15ch }.minwidth-l{min-width:35ch}.minwidth-m{min-width:24ch}.minwidth-s{min-width:15ch}.maxwidth-l{max-width:35ch}.maxwidth-m{max-width:24ch}.maxwidth-s{max-width:15ch}.col-0{flex-grow:0}.col-1{grid-column-end:span 1}.col-2{grid-column-end:span 2}.col-3{grid-column-end:span 3}.col-4{grid-column-end:span 4}.col-5{grid-column-end:span 5}.col-6{grid-column-end:span 6}.col-7{grid-column-end:span 7}.col-8{grid-column-end:span 8}.col-9{grid-column-end:span 9}.col-10{grid-column-end:span 10}.col-11{grid-column-end:span 11}.col-12{grid-column-end:span 12}.col-inf{grid-column-end:-1}.textcolumns{--col-width: 30ch;column-width:var(--col-width);column-gap:var(--gap);margin-block:var(--gap)}.textcolumns :first-child{margin-block-start:0!important}.textcenter{text-align:center}.container{max-inline-size:var(--eff-line-length);margin-inline:auto}.fullbleed{position:relative;width:100vw;left:50%;transform:translateX(-50vw);border-radius:0;border-inline:none}.pad{padding-inline:var(--gap)}.pad-block{padding-block:var(--gap)}.margin{margin:var(--gap)}.margin-block,dl,p{margin-block:var(--gap)}.margin-inline{margin-inline:var(--gap)}.breadcrumbs[aria-label] li,.inline{display:inline}.block,input{display:block}.contents{display:contents}.table{display:table;width:100%;margin:0}.row,.rows>*{display:table-row}.row:not(:last-child)>*,.rows>:not(:last-child)>*{margin-bottom:var(--gap)}.row>:not([specificity-hack]),.rows>*>:not([specificity-hack]){display:table-cell;vertical-align:top}.row>*+:not([specificity-hack]),:is(.rows > *)>*+:not([specificity-hack]){margin-inline-start:var(--gap);display:inline-block}.fixed{position:fixed}.sticky{position:sticky}.top{top:0}.right{right:0}.bottom{bottom:0}.left{left:0}.\^{top:0}.\>{right:0}.\_{bottom:0}.\<{left:0}.float\<{float:left}.float\>{float:right}.scroll{overflow:auto}.scroll\!{overflow:scroll}.allcaps,all-caps{text-transform:uppercase;letter-spacing:.1rem}.monospace,code,kbd,samp{font-family:var(--mono-font)}.box,.missing-card,aside,details,dialog,missing-card{margin:var(--gap) 0;padding:var(--gap);border-radius:calc(var(--rhythm)/4);background:var(--colorful-bg);border:1px solid var(--accent)}:is(.box,missing-card,.missing-card)>:first-child:first-child:first-child:first-child,:is(.box,missing-card,.missing-card)>:first-child>:first-child:first-child:first-child,:is(.box,missing-card,.missing-card)>:first-child>:first-child>:first-child:first-child,:is(.box,missing-card,.missing-card)>:first-child>:first-child>:first-child>:first-child{margin-block-start:0}:is(.box,missing-card,.missing-card)>:last-child:last-child:last-child:last-child,:is(.box,missing-card,.missing-card)>:last-child>:last-child:last-child:last-child,:is(.box,missing-card,.missing-card)>:last-child>:last-child>:last-child:last-child,:is(.box,missing-card,.missing-card)>:last-child>:last-child>:last-child>:last-child{margin-block-end:0}.titlebar{margin-inline:calc(0px - var(--gap));margin-block-end:calc(0px - var(--gap));padding-inline:var(--gap);font:inherit;font-weight:700;translate:0 calc(-1px - var(--gap));background:var(--accent);color:var(--bg)}.breadcrumbs[aria-label],.titlebar{font-family:var(--secondary-font)}.breadcrumbs[aria-label] ol,.breadcrumbs[aria-label] ul{list-style:none;padding-inline-start:0}:is(.breadcrumbs[aria-label] li)+li::before{content:' / ';display:inline}.breadcrumbs[aria-label] [aria-current=page],dt{font-weight:700}.chip,.navbar,chip,header[is=nav-bar]{font-family:var(--secondary-font);background:var(--colorful-bg)}.chip,chip{border:1px solid var(--accent);border-radius:calc(var(--rhythm)/2);padding-inline:calc(var(--rhythm)/2)}.navbar,header[is=nav-bar]{margin:0;padding:0 var(--rhythm);border-block-end:1px solid var(--accent);overflow-x:auto;scrollbar-width:thin;display:flex;flex-flow:row;gap:calc(2*var(--rhythm))}:is(.navbar,header[is="nav-bar"]) :first-child{margin-inline-start:auto}:is(.navbar,header[is="nav-bar"]) :last-child{margin-inline-end:auto}:is(.navbar,header[is="nav-bar"]) *,:is(.navbar,header[is="nav-bar"]) nav ul[role=list] *{flex-shrink:0}:is(.navbar,header[is="nav-bar"]) nav ul[role=list]{padding-inline-start:0;display:flex;flex-flow:row;gap:var(--rhythm)}:is(.navbar,header[is="nav-bar"]) a{font-weight:700;text-decoration:none}:is(.navbar,header[is="nav-bar"]) a:focus,:is(.navbar,header[is="nav-bar"]) a:hover{text-decoration:underline}:is(.navbar,header[is="nav-bar"]) [aria-current=page]{background:var(--accent);color:var(--colorful-bg);border-radius:.2em;outline:.2em solid var(--accent)}.sidebar{margin:var(--gap) 0;padding:var(--gap);border-radius:calc(var(--rhythm)/4);background:var(--colorful-bg);border:1px solid var(--accent);font-family:var(--secondary-font);border-block:none;border-inline-start:none;border-radius:0;margin:0;font-size:.8em;--rhythm: 1em
-}.sidebar>:first-child:first-child:first-child:first-child,.sidebar>:first-child>:first-child:first-child:first-child,.sidebar>:first-child>:first-child>:first-child:first-child,.sidebar>:first-child>:first-child>:first-child>:first-child{margin-block-start:0}.sidebar>:last-child:last-child:last-child:last-child,.sidebar>:last-child>:last-child:last-child:last-child,.sidebar>:last-child>:last-child>:last-child:last-child,.sidebar>:last-child>:last-child>:last-child>:last-child{margin-block-end:0}.sidebar li{padding:calc(.5*var(--gap));margin-inline:calc(-.5*var(--gap));border-radius:.4em}.sidebar a{font-weight:700;text-decoration:none}.sub-title,sub-title{display:block;font-weight:400;color:var(--muted-fg)}[role=tablist]{display:flex;gap:.5ch;scrollbar-width:thin}[role=tab][role=tab]{all:initial;font-family:var(--secondary-font);padding:0 calc(var(--rhythm)/4);margin:0;min-height:var(--rhythm);border:solid var(--accent);border-width:1px 1px 0;border-block-end-color:transparent;background:var(--interactive-bg);border-start-start-radius:.4em;border-start-end-radius:.4em}[role=tab][role=tab]:active,[role=tab][role=tab][aria-selected=true]{transform:none;bottom:-1px;position:relative;background:var(--colorful-bg);border-block-end:1px solid var(--colorful-bg)}[role=tabpanel]{margin:var(--gap) 0;padding:var(--gap);border-radius:calc(var(--rhythm)/4);background:var(--colorful-bg);border:1px solid var(--accent);margin-block-start:0;border-start-start-radius:0;border-start-end-radius:0;z-index:1}[role=tabpanel]>:first-child:first-child:first-child:first-child,[role=tabpanel]>:first-child>:first-child:first-child:first-child,[role=tabpanel]>:first-child>:first-child>:first-child:first-child,[role=tabpanel]>:first-child>:first-child>:first-child>:first-child,fieldset>:first-child:first-child:first-child:first-child,fieldset>:first-child>:first-child:first-child:first-child,fieldset>:first-child>:first-child>:first-child:first-child,fieldset>:first-child>:first-child>:first-child>:first-child{margin-block-start:0}[role=tabpanel]>:last-child:last-child:last-child:last-child,[role=tabpanel]>:last-child>:last-child:last-child:last-child,[role=tabpanel]>:last-child>:last-child>:last-child:last-child,[role=tabpanel]>:last-child>:last-child>:last-child>:last-child,fieldset>:last-child:last-child:last-child:last-child,fieldset>:last-child>:last-child:last-child:last-child,fieldset>:last-child>:last-child>:last-child:last-child,fieldset>:last-child>:last-child>:last-child>:last-child{margin-block-end:0}.tool-bar,tool-bar{display:flex;flex-flow:row wrap;gap:calc(var(--gap)/2)}audio,embed,iframe,img,object,video{max-inline-size:100%;inline-size:max-content;block-size:auto}label input:not([specificity-hack]){display:inline;padding-block:0}button,input::file-selector-button,input[type=button],input[type=reset],input[type=submit]{display:inline-block;padding:0 calc(var(--rhythm)/4);vertical-align:top;font-size:.8rem;line-height:1.125em;font-family:var(--secondary-font);min-height:var(--rhythm);background:var(--interactive-bg);color:var(--fg);border:1px solid var(--accent);box-sizing:border-box;border-radius:.2em;box-shadow:0 .1em .2em var(--shadow)}:is(button,input[type="submit"],input[type="reset"],input[type="button"],input::file-selector-button):focus-visible,:is(button,input[type="submit"],input[type="reset"],input[type="button"],input::file-selector-button):hover{background:var(--colorful-bg)}:is(button,input[type="submit"],input[type="reset"],input[type="button"],input::file-selector-button):active{box-shadow:none;background-color:var(--accent);color:var(--bg)}[aria-expanded=true]:is(button,input[type="submit"],input[type="reset"],input[type="button"],input::file-selector-button),[aria-pressed=true]:is(button,input[type="submit"],input[type="reset"],input[type="button"],input::file-selector-button){box-shadow:0 .05em var(--accent);transform:translateY(.05em);background:var(--pressed-interactive-bg)}input:not([type]),input[type=date],input[type=datetime-local],input[type=datetime],input[type=email],input[type=month],input[type=number],input[type=password],input[type=search],input[type=tel],input[type=text],input[type=time],input[type=url],input[type=week],select,textarea{padding:calc(var(--rhythm)/4);font-size:1rem;line-height:inherit;font-family:var(--main-font);background:var(--bg);color:var(--fg);border:1px solid var(--faded-fg);border-radius:.2em;vertical-align:top}:is(input:not([type]),input[type="text"],input[type="search"],input[type="tel"],input[type="url"],input[type="email"],input[type="password"],input[type="date"],input[type="month"],input[type="week"],input[type="time"],input[type="datetime"],input[type="datetime-local"],input[type="number"],select,textarea):focus-visible{border:1px solid var(--accent)}:is(input:not([type]),input[type="text"],input[type="search"],input[type="tel"],input[type="url"],input[type="email"],input[type="password"],input[type="date"],input[type="month"],input[type="week"],input[type="time"],input[type="datetime"],input[type="datetime-local"],input[type="number"],select,textarea)::placeholder{color:var(--muted-fg);opacity:1;text-align:end}input[type=range]{width:100%;padding:calc(var(--gap)/4)}input[type=color]{padding:0;margin:0;height:calc(1.5*var(--rhythm));border:0;background:0 0}input[type=file]{padding:calc(var(--gap)/4) 0;font:inherit;line-height:calc(var(--rhythm)/2)}input[type=file]::file-selector-button{margin-block:.1em 0;margin-inline-end:1ch}select[multiple],td,th{vertical-align:top}optgroup::before{color:var(--muted-fg)}label[for]{display:block;padding-block:calc(var(--gap)/4)}fieldset>legend+*{margin-block-start:0}hr{color:inherit;flex-grow:0;border-inline-start:1px solid var(--accent);block-size:auto;border-block-start:1px solid var(--accent);border-block-end:none;border-inline-end:none}blockquote,pre{line-height:var(--rhythm)}pre{font-family:var(--mono-font);-o-tab-size:2;tab-size:2;margin:var(--gap) 0;overflow-x:auto;scrollbar-width:thin;scrollbar-color:var(--accent) transparent;font-size:.9em}blockquote{margin-inline:0 var(--gap);padding-inline:var(--gap) 0;margin-block:var(--gap);font-size:1.1em;font-style:italic;border-inline-start:1px solid var(--faded-fg);color:var(--muted-fg)}blockquote address,blockquote cite,blockquote dfn,blockquote em,blockquote i,blockquote var,optgroup::before,q address,q cite,q dfn,q em,q i,q var{font-style:normal}blockquote footer{text-align:right;text-align:end}ol,ul{padding-inline-start:var(--rhythm)}ol[role=list],ul[role=list]{padding-inline-start:0;list-style:none}ul{list-style:square}ol{list-style:decimal}dd{margin-inline-start:var(--rhythm)}li::marker{font-family:var(--secondary-font)}figure{max-width:100%;margin-inline:0;padding:var(--gap);border:1px solid var(--faded-fg);border-radius:calc(var(--rhythm)/4)}figure>:first-child:first-child:first-child:first-child,figure>:first-child>:first-child:first-child:first-child,figure>:first-child>:first-child>:first-child:first-child,figure>:first-child>:first-child>:first-child>:first-child{margin-block-start:0}figure>:last-child:last-child:last-child:last-child,figure>:last-child>:last-child:last-child:last-child,figure>:last-child>:last-child>:last-child:last-child,figure>:last-child>:last-child>:last-child>:last-child{margin-block-end:0}a,figcaption{font-family:var(--secondary-font)}figcaption{margin-block:var(--gap);color:var(--muted-fg)}main{max-inline-size:var(--eff-line-length);margin:auto}a{color:var(--link-fg, var(--accent))}.list-of-links a{text-decoration:none}a:hover{text-decoration:underline}span>small:only-child{display:block;float:inline-end;clear:inline-end;--sidenote-width: 20ch;max-inline-size:var(--sidenote-width);padding-inline:1.5ch 1ch;margin-inline-end:calc(1em - var(--sidenote-width));margin-block-end:var(--rhythm);font-family:var(--secondary-font);background:var(--bg);border:1px solid transparent;transition:transform .1s ease-in-out}span>small:only-child:focus-within,span>small:only-child:hover{border:1px solid var(--faded-fg);border-radius:.2em;transform:translateX(calc(0px - var(--sidenote-width) + min(var(--gutter-width),var(--sidenote-width))))}del,s{color:var(--bad-fg)}q{font-style:italic}time{font-variant-numeric:tabular-nums}ins,samp{color:var(--ok-fg)}kbd kbd{display:inline-block;padding:0 .3em;font-size:.8em;line-height:1.1em;background:var(--interactive-bg);border:1px outset var(--faded-fg);border-block-end-width:3px;border-radius:.3em}sub,sup{vertical-align:bottom;line-height:1}sup{vertical-align:top}mark{background:var(--warn-bg);color:var(--warn-fg)}ins{background:var(--ok-bg)}del{background:var(--bad-bg)}details>:first-child:first-child:first-child:first-child,details>:first-child>:first-child:first-child:first-child,details>:first-child>:first-child>:first-child:first-child,details>:first-child>:first-child>:first-child>:first-child{margin-block-start:0}details>:last-child:last-child:last-child:last-child,details>:last-child>:last-child:last-child:last-child,details>:last-child>:last-child>:last-child:last-child,details>:last-child>:last-child>:last-child>:last-child{margin-block-end:0}details{padding-block-start:0}details:not([open]){padding-block-end:0}summary{margin:calc(0px - var(--gap));margin-bottom:0;padding-inline:var(--gap);font-family:var(--secondary-font);font-weight:700;background:var(--accent);color:var(--bg);cursor:pointer}summary:active,summary:focus-visible{background:var(--muted-accent);border-color:var(--muted-accent)}details[open] summary{border-block-end:1px solid var(--accent);border-end-end-radius:0;border-end-start-radius:0}dialog>:first-child:first-child:first-child:first-child,dialog>:first-child>:first-child:first-child:first-child,dialog>:first-child>:first-child>:first-child:first-child,dialog>:first-child>:first-child>:first-child>:first-child{margin-block-start:0}dialog>:last-child:last-child:last-child:last-child,dialog>:last-child>:last-child:last-child:last-child,dialog>:last-child>:last-child>:last-child:last-child,dialog>:last-child>:last-child>:last-child>:last-child{margin-block-end:0}dialog{position:absolute;inline-inset:0;block-size:-moz-fit-content;block-size:fit-content;inline-size:-moz-fit-content;inline-size:fit-content;margin:auto;background-color:var(--bg);color:var(--fg);box-shadow:0 0 .2em .1em var(--shadow),0 .2em .4em var(--shadow),0 .25em 1em var(--shadow)}dialog[open]::backdrop{display:block;background:#000;opacity:.4;animation:bg 2s}dialog:not([open]){display:none}html{font-family:var(--main-font);line-height:var(--rhythm);font-size:120%}footer,header,section{margin-block:calc(2*var(--gap))}nav a{text-decoration:none;color:var(--accent)}aside>:first-child:first-child:first-child:first-child,aside>:first-child>:first-child:first-child:first-child,aside>:first-child>:first-child>:first-child:first-child,aside>:first-child>:first-child>:first-child>:first-child{margin-block-start:0}aside>:last-child:last-child:last-child:last-child,aside>:last-child>:last-child:last-child:last-child,aside>:last-child>:last-child>:last-child:last-child,aside>:last-child>:last-child>:last-child>:last-child{margin-block-end:0}aside h1,aside h2,aside h3,aside h4,aside h5,aside h6{font-size:1em;text-transform:none;letter-spacing:none}h1,h2,h3,h4,h5,h6{margin-block-end:var(--gap);font-family:var(--secondary-font);margin-block-start:calc(2*var(--gap))}.h1,.h2,h1,h2{font-size:2em;text-transform:none;line-height:calc(2*var(--rhythm));letter-spacing:0}.h2,h2{font-size:1.6em;line-height:calc(1.5*var(--rhythm))}.h3,.h4,.h5,.h6,h3,h4,h5,h6{font-size:1.17em;text-transform:uppercase;line-height:calc(1*var(--rhythm));letter-spacing:.02em}.h4,.h5,.h6,h4,h5,h6{font-size:1em;text-transform:none;letter-spacing:0;margin-block-start:var(--gap)}h1+h2,h1:first-child,h2+h3,h2:first-child,h3+h4,h3:first-child,h4+h5,h4:first-child,h5+h6,h5:first-child,h6:first-child{margin-block-start:var(--gap)}h1:target,h2:target,h3:target,h4:target,h5:target,h6:target{outline:0}h1:target::before,h2:target::before,h3:target::before,h4:target::before,h5:target::before,h6:target::before{content:'❧';display:inline-block;width:0;transform:translateX(-1.5ch);font-size:2em;vertical-align:bottom;color:var(--accent)}header{border-block-end:1px solid var(--faded-fg)}caption,footer,header{font-family:var(--secondary-font)}footer{border-block-start:1px solid var(--faded-fg)}body>footer,body>header,main+footer{padding:var(--rhythm) calc((100% - var(--eff-line-length))/2)}caption{text-align:start;font-style:italic}tbody{border-block:1px solid var(--fg)}td:not(:last-child),th:not(:last-child){padding-inline-end:var(--rhythm)}th{font-family:var(--secondary-font);text-align:start}:root{--fg: #000;--muted-fg: #3e3e3e;--faded-fg: #8b8b8b;--info-fg: #00386d;--ok-fg: #004825;--bad-fg: #830014;--warn-fg: #463d00;--bg: #fff;--colorful-bg: #d7fff7;--interactive-bg: #e2e2e2;--info-bg: #d4e0ff;--ok-bg: #5dffa2;--bad-bg: #ffddd8;--warn-bg: #ffe53e;--shadow: #777;--accent: #007f5f;--muted-accent: #42ffc6;--rhythm: 1.4rem;--line-length: 40rem;--main-font: 'Inter', -apple-system, system-ui, sans-serif;--secondary-font: var(--main-font);--mono-font: 'M Plus Code Latin', monospace, monospace;--density: 1;--full-width: 100vw;--eff-line-length: /* Effective line length for prose. */
- min(
- calc( var(--full-width) - (2 * var(--rhythm)) ),
- var(--line-length)
- );--gutter-width: /* Width of spaces at each side of page content. */
- calc(
- (
- var(--full-width) /* Viewport width */
- - var(--eff-line-length) /* minus line width */
- ) / 2)}*{--gap: calc(var(--rhythm) * var(--density));accent-color:var(--accent)} \ No newline at end of file
diff --git a/www/releases/_artifacts/v0.0.5/missing.min.css.br b/www/releases/_artifacts/v0.0.5/missing.min.css.br
deleted file mode 100644
index 3023045..0000000
--- a/www/releases/_artifacts/v0.0.5/missing.min.css.br
+++ /dev/null
Binary files differ
diff --git a/www/releases/_artifacts/v0.0.5/missing.min.css.gz b/www/releases/_artifacts/v0.0.5/missing.min.css.gz
deleted file mode 100644
index 5b1ec2e..0000000
--- a/www/releases/_artifacts/v0.0.5/missing.min.css.gz
+++ /dev/null
Binary files differ
diff --git a/www/releases/_artifacts/v0.1.0/missing-prism.css b/www/releases/_artifacts/v0.1.0/missing-prism.css
deleted file mode 100644
index 23e48b5..0000000
--- a/www/releases/_artifacts/v0.1.0/missing-prism.css
+++ /dev/null
@@ -1,62 +0,0 @@
-
-.token.comment,
-.token.prolog,
-.token.doctype,
-.token.cdata,
-.token.punctuation {
- color: var(--muted-fg);
-}
-
-.token.property,
-.token.tag,
-.token.boolean,
-.token.number,
-.token.constant,
-.token.symbol,
-.token.deleted {
- color: var(--bad-fg);
-}
-
-.token.selector,
-.token.attr-name,
-.token.string,
-.token.char,
-.token.builtin,
-.token.inserted {
- color: var(--ok-fg);
-}
-
-.token.operator,
-.token.entity,
-.token.url,
-.language-css .token.string,
-.style .token.string,
-.token.regex,
-.token.important,
-.token.variable {
- color: var(--warn-fg)
-}
-
-.token.atrule,
-.token.attr-value,
-.token.keyword {
- color: var(--info-fg);
-}
-
-.token.function {
- color: var(--bad-fg);
- font-style: italic;
-}
-
-.token.important,
-.token.bold {
- font-weight: bold;
-}
-
-.token.italic {
- font-style: italic;
-}
-
-.token.entity {
- cursor: help;
-}
diff --git a/www/releases/_artifacts/v0.1.0/missing-prism.min.css b/www/releases/_artifacts/v0.1.0/missing-prism.min.css
deleted file mode 100644
index 41c91b1..0000000
--- a/www/releases/_artifacts/v0.1.0/missing-prism.min.css
+++ /dev/null
@@ -1 +0,0 @@
-.token.cdata,.token.comment,.token.doctype,.token.prolog,.token.punctuation{color:var(--muted-fg)}.token.boolean,.token.constant,.token.deleted,.token.number,.token.property,.token.symbol,.token.tag{color:var(--bad-fg)}.token.attr-name,.token.builtin,.token.char,.token.inserted,.token.selector,.token.string{color:var(--ok-fg)}.language-css .token.string,.style .token.string,.token.entity,.token.important,.token.operator,.token.regex,.token.url,.token.variable{color:var(--warn-fg)}.token.atrule,.token.attr-value,.token.keyword{color:var(--info-fg)}.token.function{color:var(--bad-fg);font-style:italic}.token.bold,.token.important{font-weight:700}.token.italic{font-style:italic}.token.entity{cursor:help} \ No newline at end of file
diff --git a/www/releases/_artifacts/v0.1.0/missing-prism.min.css.br b/www/releases/_artifacts/v0.1.0/missing-prism.min.css.br
deleted file mode 100644
index 2a4ac49..0000000
--- a/www/releases/_artifacts/v0.1.0/missing-prism.min.css.br
+++ /dev/null
Binary files differ
diff --git a/www/releases/_artifacts/v0.1.0/missing-prism.min.css.gz b/www/releases/_artifacts/v0.1.0/missing-prism.min.css.gz
deleted file mode 100644
index e834bd4..0000000
--- a/www/releases/_artifacts/v0.1.0/missing-prism.min.css.gz
+++ /dev/null
Binary files differ
diff --git a/www/releases/_artifacts/v0.1.0/missing.css b/www/releases/_artifacts/v0.1.0/missing.css
deleted file mode 100644
index 5cda36a..0000000
--- a/www/releases/_artifacts/v0.1.0/missing.css
+++ /dev/null
@@ -1,1967 +0,0 @@
-/* Document
- * ========================================================================== */
-
-/**
- * 1. Add border box sizing in all browsers (opinionated).
- * 2. Backgrounds do not repeat by default (opinionated).
- */
-
-*,
-::before,
-::after {
- box-sizing: border-box; /* 1 */
- background-repeat: no-repeat; /* 2 */
-}
-
-/**
- * 1. Add text decoration inheritance in all browsers (opinionated).
- * 2. Add vertical alignment inheritance in all browsers (opinionated).
- */
-
-::before,
-::after {
- text-decoration: inherit; /* 1 */
- vertical-align: inherit; /* 2 */
-}
-
-/**
- * 1. Use the default cursor in all browsers (opinionated).
- * 3. Breaks words to prevent overflow in all browsers (opinionated).
- * 5. Remove the grey highlight on links in iOS (opinionated).
- * 6. Prevent adjustments of font size after orientation changes in iOS.
- */
-
-:root {
- cursor: default; /* 1 */
- overflow-wrap: break-word; /* 3 */
- -webkit-tap-highlight-color: transparent; /* 5 */
- text-size-adjust: none;
- -webkit-text-size-adjust: none;
-}
-
-/* Text-level semantics
- * ========================================================================== */
-
-/**
- * Add the correct text decoration in Safari.
- */
-
-abbr[title] {
- text-decoration: underline;
- -webkit-text-decoration: underline dotted;
- text-decoration: underline dotted;
-}
-
-/**
- * Add the correct font weight in Chrome, Edge, and Safari.
- */
-
-strong, b {
- font-weight: bolder;
-}
-
-/**
- * Add the correct font size in all browsers.
- */
-
-small {
- font-size: 80%;
-}
-
-/* Embedded content
- * ========================================================================== */
-
-/*
- * Change the alignment on media elements in all browsers (opinionated).
- */
-
-audio, canvas, iframe, img, svg, video {
- vertical-align: middle;
-}
-
-/**
- * Change the fill color to match the text color in all browsers (opinionated).
- */
-
-svg:not([fill]) {
- fill: currentColor;
-}
-
-/* Tabular data
- * ========================================================================== */
-
-/**
- * 1. Collapse border spacing in all browsers (opinionated).
- * 2. Correct table border color in Chrome, Edge, and Safari.
- * 3. Remove text indentation from table contents in Chrome, Edge, and Safari.
- */
-
-table {
- border-collapse: collapse; /* 1 */
- border-color: currentColor; /* 2 */
- text-indent: 0; /* 3 */
-}
-
-/* Forms
- * ========================================================================== */
-
-/**
- * Remove the margin on controls in Safari.
- */
-
-button, input, select {
- margin: 0;
-}
-
-/**
- * Correct the inability to style buttons in iOS and Safari.
- */
-
-button, [type="button"], [type="reset"], [type="submit"] {
- -webkit-appearance: button;
-}
-
-/**
- * Change the inconsistent appearance in all browsers (opinionated).
- */
-
-fieldset {
- border: 1px solid #a0a0a0;
-}
-
-/**
- * Add the correct vertical alignment in Chrome, Edge, and Firefox.
- */
-
-progress {
- vertical-align: baseline;
-}
-
-/**
- * 1. Remove the margin in Firefox and Safari.
- */
-
-textarea {
- margin: 0; /* 1 */
-}
-
-/**
- * 1. Correct the odd appearance in Chrome, Edge, and Safari.
- * 2. Correct the outline style in Safari.
- */
-
-[type="search"] {
- -webkit-appearance: textfield; /* 1 */
- outline-offset: -2px; /* 2 */
-}
-
-/**
- * Correct the cursor style of increment and decrement buttons in Safari.
- */
-
-::-webkit-inner-spin-button,
-::-webkit-outer-spin-button {
- block-size: auto;
-}
-
-/**
- * Correct the text style of placeholders in Chrome, Edge, and Safari.
- */
-
-::-webkit-input-placeholder {
- color: inherit;
- opacity: 0.54;
-}
-
-/**
- * Remove the inner padding in Chrome, Edge, and Safari on macOS.
- */
-
-::-webkit-search-decoration {
- -webkit-appearance: none;
-}
-
-/**
- * 1. Correct the inability to style upload buttons in iOS and Safari.
- * 2. Change font properties to `inherit` in Safari.
- */
-
-::-webkit-file-upload-button {
- -webkit-appearance: button; /* 1 */
- font: inherit; /* 2 */
-}
-
-/* Interactive
- * ========================================================================== */
-
-[hidden] {
- display: none !important;
-}
-
-:focus-visible {
- outline: .2em solid var(--accent);
- z-index: 32;
-}
-
-iframe:focus-visible,
- html:focus-visible,
- body:focus-visible {
- outline: none;
- }
-
-:target {
- outline: .2em solid var(--fg);
- z-index: 32;
-}
-
-/*
- * Add the correct display in Safari.
- */
-
-details > summary:first-of-type {
- display: list-item;
-}
-
-/* Accessibility
- * ========================================================================== */
-
-/**
- * Change the cursor on busy elements in all browsers (opinionated).
- */
-
-[aria-busy="true"] {
- cursor: progress;
-}
-
-/*
- * Change the cursor on disabled, not-editable, or otherwise
- * inoperable elements in all browsers (opinionated).
- */
-
-[aria-disabled="true"], [disabled] {
- cursor: not-allowed;
-}
-
-datalist {
- display: none !important;
-}
-
-/* https://github.com/fchristant/colar/ */
-
-:root {
- --gray-0: #f8fafb;
- --gray-1: #f2f4f6;
- --gray-2: #ebedef;
- --gray-3: #e0e4e5;
- --gray-4: #d1d6d8;
- --gray-5: #b1b6b9;
- --gray-6: #979b9d;
- --gray-7: #7e8282;
- --gray-8: #666968;
- --gray-9: #50514f;
- --gray-10: #3a3a37;
- --gray-11: #252521;
- --gray-12: #121210;
-
- --red-0: #fff5f5;
- --red-1: #ffe3e3;
- --red-2: #ffc9c9;
- --red-3: #ffa8a8;
- --red-4: #ff8787;
- --red-5: #ff6b6b;
- --red-6: #fa5252;
- --red-7: #f03e3e;
- --red-8: #e03131;
- --red-9: #c92a2a;
- --red-10: #b02525;
- --red-11: #962020;
- --red-12: #7d1a1a;
-
- --pink-0: #fff0f6;
- --pink-1: #ffdeeb;
- --pink-2: #fcc2d7;
- --pink-3: #faa2c1;
- --pink-4: #f783ac;
- --pink-5: #f06595;
- --pink-6: #e64980;
- --pink-7: #d6336c;
- --pink-8: #c2255c;
- --pink-9: #a61e4d;
- --pink-10: #8c1941;
- --pink-11: #731536;
- --pink-12: #59102a;
-
- --purple-0: #f8f0fc;
- --purple-1: #f3d9fa;
- --purple-2: #eebefa;
- --purple-3: #e599f7;
- --purple-4: #da77f2;
- --purple-5: #cc5de8;
- --purple-6: #be4bdb;
- --purple-7: #ae3ec9;
- --purple-8: #9c36b5;
- --purple-9: #862e9c;
- --purple-10: #702682;
- --purple-11: #5a1e69;
- --purple-12: #44174f;
-
- --violet-0: #f3f0ff;
- --violet-1: #e5dbff;
- --violet-2: #d0bfff;
- --violet-3: #b197fc;
- --violet-4: #9775fa;
- --violet-5: #845ef7;
- --violet-6: #7950f2;
- --violet-7: #7048e8;
- --violet-8: #6741d9;
- --violet-9: #5f3dc4;
- --violet-10: #5235ab;
- --violet-11: #462d91;
- --violet-12: #3a2578;
-
- --indigo-0: #edf2ff;
- --indigo-1: #dbe4ff;
- --indigo-2: #bac8ff;
- --indigo-3: #91a7ff;
- --indigo-4: #748ffc;
- --indigo-5: #5c7cfa;
- --indigo-6: #4c6ef5;
- --indigo-7: #4263eb;
- --indigo-8: #3b5bdb;
- --indigo-9: #364fc7;
- --indigo-10: #2f44ad;
- --indigo-11: #283a94;
- --indigo-12: #21307a;
-
- --blue-0: #e7f5ff;
- --blue-1: #d0ebff;
- --blue-2: #a5d8ff;
- --blue-3: #74c0fc;
- --blue-4: #4dabf7;
- --blue-5: #339af0;
- --blue-6: #228be6;
- --blue-7: #1c7ed6;
- --blue-8: #1971c2;
- --blue-9: #1864ab;
- --blue-10: #145591;
- --blue-11: #114678;
- --blue-12: #0d375e;
-
- --cyan-0: #e3fafc;
- --cyan-1: #c5f6fa;
- --cyan-2: #99e9f2;
- --cyan-3: #66d9e8;
- --cyan-4: #3bc9db;
- --cyan-5: #22b8cf;
- --cyan-6: #15aabf;
- --cyan-7: #1098ad;
- --cyan-8: #0c8599;
- --cyan-9: #0b7285;
- --cyan-10: #095c6b;
- --cyan-11: #074652;
- --cyan-12: #053038;
-
- --teal-0: #e6fcf5;
- --teal-1: #c3fae8;
- --teal-2: #96f2d7;
- --teal-3: #63e6be;
- --teal-4: #38d9a9;
- --teal-5: #20c997;
- --teal-6: #12b886;
- --teal-7: #0ca678;
- --teal-8: #099268;
- --teal-9: #087f5b;
- --teal-10: #066649;
- --teal-11: #054d37;
- --teal-12: #033325;
-
- --green-0: #ebfbee;
- --green-1: #d3f9d8;
- --green-2: #b2f2bb;
- --green-3: #8ce99a;
- --green-4: #69db7c;
- --green-5: #51cf66;
- --green-6: #40c057;
- --green-7: #37b24d;
- --green-8: #2f9e44;
- --green-9: #2b8a3e;
- --green-10: #237032;
- --green-11: #1b5727;
- --green-12: #133d1b;
-
- --lime-0: #f4fce3;
- --lime-1: #e9fac8;
- --lime-2: #d8f5a2;
- --lime-3: #c0eb75;
- --lime-4: #a9e34b;
- --lime-5: #94d82d;
- --lime-6: #82c91e;
- --lime-7: #74b816;
- --lime-8: #66a80f;
- --lime-9: #5c940d;
- --lime-10: #4c7a0b;
- --lime-11: #3c6109;
- --lime-12: #2c4706;
-
- --yellow-0: #fff9db;
- --yellow-1: #fff3bf;
- --yellow-2: #ffec99;
- --yellow-3: #ffe066;
- --yellow-4: #ffd43b;
- --yellow-5: #fcc419;
- --yellow-6: #fab005;
- --yellow-7: #f59f00;
- --yellow-8: #f08c00;
- --yellow-9: #e67700;
- --yellow-10: #b35c00;
- --yellow-11: #804200;
- --yellow-12: #663500;
-
- --orange-0: #fff4e6;
- --orange-1: #ffe8cc;
- --orange-2: #ffd8a8;
- --orange-3: #ffc078;
- --orange-4: #ffa94d;
- --orange-5: #ff922b;
- --orange-6: #fd7e14;
- --orange-7: #f76707;
- --orange-8: #e8590c;
- --orange-9: #d9480f;
- --orange-10: #bf400d;
- --orange-11: #99330b;
- --orange-12: #802b09;
-
- --choco-0: #fff8dc;
- --choco-1: #fce1bc;
- --choco-2: #f7ca9e;
- --choco-3: #f1b280;
- --choco-4: #e99b62;
- --choco-5: #df8545;
- --choco-6: #d46e25;
- --choco-7: #bd5f1b;
- --choco-8: #a45117;
- --choco-9: #8a4513;
- --choco-10: #703a13;
- --choco-11: #572f12;
- --choco-12: #3d210d;
-
- --brown-0: #faf4eb;
- --brown-1: #ede0d1;
- --brown-2: #e0cab7;
- --brown-3: #d3b79e;
- --brown-4: #c5a285;
- --brown-5: #b78f6d;
- --brown-6: #a87c56;
- --brown-7: #956b47;
- --brown-8: #825b3a;
- --brown-9: #6f4b2d;
- --brown-10:#5e3a21;
- --brown-11:#4e2b15;
- --brown-12: #422412;
-
- --sand-0: #f8fafb;
- --sand-1: #e6e4dc;
- --sand-2: #d5cfbd;
- --sand-3: #c2b9a0;
- --sand-4: #aea58c;
- --sand-5: #9a9178;
- --sand-6: #867c65;
- --sand-7: #736a53;
- --sand-8: #5f5746;
- --sand-9: #4b4639;
- --sand-10:#38352d;
- --sand-11:#252521;
- --sand-12: #121210;
-
- --camo-0: #f9fbe7;
- --camo-1: #e8ed9c;
- --camo-2: #d2df4e;
- --camo-3: #c2ce34;
- --camo-4: #b5bb2e;
- --camo-5: #a7a827;
- --camo-6: #999621;
- --camo-7: #8c851c;
- --camo-8: #7e7416;
- --camo-9: #6d6414;
- --camo-10: #5d5411;
- --camo-11: #4d460e;
- --camo-12: #36300a;
-
- --jungle-0: #ecfeb0;
- --jungle-1: #def39a;
- --jungle-2: #d0e884;
- --jungle-3: #c2dd6e;
- --jungle-4: #b5d15b;
- --jungle-5: #a8c648;
- --jungle-6: #9bbb36;
- --jungle-7: #8fb024;
- --jungle-8: #84a513;
- --jungle-9: #7a9908;
- --jungle-10: #658006;
- --jungle-11: #516605;
- --jungle-12: #3d4d04;
-}
-
-.box, missing-card, .missing-card {
- margin: var(--gap) 0;
- padding: var(--gap);
- overflow: clip;
- border-radius: var(--border-radius);
- background: var(--box-bg);
- border: 1px solid var(--faded-fg);
- /* artificially increase specificity */
- /* TODO: come up with a better way to do this */
-}
-
-:is(.box,missing-card,.missing-card) > :first-child:first-child:first-child:first-child,
- :is(.box,missing-card,.missing-card) > :first-child>:first-child:first-child:first-child,
- :is(.box,missing-card,.missing-card) > :first-child>:first-child>:first-child:first-child,
- :is(.box,missing-card,.missing-card) > :first-child>:first-child>:first-child>:first-child { -webkit-margin-before: 0; margin-block-start: 0; }
-
-:is(.box,missing-card,.missing-card) > :last-child:last-child:last-child:last-child,
- :is(.box,missing-card,.missing-card) > :last-child>:last-child:last-child:last-child,
- :is(.box,missing-card,.missing-card) > :last-child>:last-child>:last-child:last-child,
- :is(.box,missing-card,.missing-card) > :last-child>:last-child>:last-child>:last-child { -webkit-margin-after: 0; margin-block-end: 0; }
-
-.titlebar {
- margin-inline: calc(0px - var(--gap));
- -webkit-margin-after: calc(0px - var(--gap));
- margin-block-end: calc(0px - var(--gap));
- padding-inline: var(--gap);
- font: inherit;
- font-family: var(--secondary-font);
- font-weight: bold;
- translate: 0 calc(-1px - var(--gap));
- background: var(--accent);
- color: var(--bg);
-}
-
-.breadcrumbs[aria-label] {
- font-family: var(--secondary-font)
-}
-
-.breadcrumbs[aria-label] ul, .breadcrumbs[aria-label] ol {
- list-style: none;
- -webkit-padding-start: 0;
- padding-inline-start: 0;
- }
-
-.breadcrumbs[aria-label] li {
- display: inline
- }
-
-:is(.breadcrumbs[aria-label] li)+li::before {
- content: ' / ' / '';
- content: ' / ';
- display: inline;
- }
-
-.breadcrumbs[aria-label] [aria-current="page"] {
- font-weight: bold;
- }
-
-.chip, chip {
- font-family: var(--secondary-font);
- border: 1px solid var(--accent);
- background: var(--box-bg);
- border-radius: calc(var(--rhythm) / 2);
- padding-inline: calc(var(--rhythm) / 2);
-}
-
-.navbar, header[is="nav-bar"] {
- margin: 0;
- padding: 0 var(--rhythm);
-
- font-family: var(--secondary-font);
-
- background: var(--box-bg);
- -webkit-border-after: 1px solid var(--accent);
- border-block-end: 1px solid var(--accent);
-
- overflow-x: auto;
- scrollbar-width: thin;
-
- /* Inner layout */
- display: flex;
- flex-flow: row;
- gap: calc(2 * var(--rhythm))
-}
-
-:is(.navbar,header[is="nav-bar"]) :first-child { -webkit-margin-start: auto; margin-inline-start: auto; }
-
-:is(.navbar,header[is="nav-bar"]) :last-child { -webkit-margin-end: auto; margin-inline-end: auto; }
-
-:is(.navbar,header[is="nav-bar"]) * { flex-shrink: 0 }
-
-:is(.navbar,header[is="nav-bar"]) nav ul[role="list"] {
- -webkit-padding-start: 0;
- padding-inline-start: 0;
- display: flex;
- flex-flow: row;
- gap: var(--rhythm)
- }
-
-:is(.navbar,header[is="nav-bar"]) nav ul[role="list"] * { flex-shrink: 0 }
-
-:is(.navbar,header[is="nav-bar"]) a {
- font-weight: bold;
- text-decoration: none;
- }
-
-:is(.navbar,header[is="nav-bar"]) a:hover, :is(.navbar,header[is="nav-bar"]) a:focus {
- text-decoration: underline;
- }
-
-:is(.navbar,header[is="nav-bar"]) [aria-current=page] {
- background: var(--accent);
- color: var(--box-bg);
- border-radius: var(--border-radius);
- outline: .2em solid var(--accent);
- }
-
-.permalink-anchor {
- display: none
-}
-
-*:hover > .permalink-anchor {
- display: initial
-}
-
-.sidebar {
- margin: var(--gap) 0;
- padding: var(--gap);
- overflow: clip;
- border-radius: var(--border-radius);
- background: var(--box-bg);
- border: 1px solid var(--faded-fg)
- /* artificially increase specificity */
- /* TODO: come up with a better way to do this */
-}
-
-.sidebar > :first-child:first-child:first-child:first-child,
- .sidebar > :first-child>:first-child:first-child:first-child,
- .sidebar > :first-child>:first-child>:first-child:first-child,
- .sidebar > :first-child>:first-child>:first-child>:first-child { -webkit-margin-before: 0; margin-block-start: 0; }
-
-.sidebar > :last-child:last-child:last-child:last-child,
- .sidebar > :last-child>:last-child:last-child:last-child,
- .sidebar > :last-child>:last-child>:last-child:last-child,
- .sidebar > :last-child>:last-child>:last-child>:last-child { -webkit-margin-after: 0; margin-block-end: 0; }
-
-.sidebar {
-
- font-family: var(--secondary-font);
-
- border-block: none;
- -webkit-border-start: none;
- border-inline-start: none;
- border-radius: 0;
- margin: 0;
-
- font-size: .8em;
- --rhythm: 1em
-}
-
-.sidebar li {
- padding: calc(.5 * var(--gap));
- margin-inline: calc(-.5 * var(--gap));
- border-radius: var(--border-radius);
- }
-
-.sidebar a {
- font-weight: bold;
- text-decoration: none;
- }
-
-.sub-title, sub-title {
- /***
- Meant for use in headings. Make sure to also use visually-hidden punctuation
- to mark the subtitle as shown below:
-
- 1 | <h1>
- 2 | Foo Bar<v-h>:</v-h>
- 3 | <sub-title>How I Learned To Stop Worrying and Love Baz</sub-title>
- 4 | </h1>
-
- 1 | <h1>
- 2 | <sub-title class="-allcaps">Breaking News</sub-title><v-h>:</v-h>
- 3 | Bad Thing Happens
- 4 | <h1>
- ***/
-
- display: block;
-
- font-weight: normal;
-
- color: var(--muted-fg);
-}
-
-[role="tablist"] {
- display: flex;
- gap: .5ch;
- scrollbar-width: thin;
-}
-
-[role="tab"][role="tab"] {
- all: initial;
-
- font-family: var(--secondary-font);
-
- padding: 0 calc(var(--rhythm) / 4);
- margin: 0;
- min-height: var(--rhythm);
-
- border: solid var(--box-border);
- border-width: 1px 1px 0 1px;
- border-block-end-color: transparent;
- background: var(--interactive-bg);
-
- border-start-start-radius: .4em;
- border-start-end-radius: .4em
-}
-
-[role="tab"][role="tab"]:active, [role="tab"][role="tab"][aria-selected="true"] {
- transform: none;
- bottom: -1px;
- position: relative;
- background: var(--box-bg);
- -webkit-border-after: 1px solid var(--box-bg);
- border-block-end: 1px solid var(--box-bg);
- }
-
-[role="tabpanel"] {
- margin: var(--gap) 0;
- padding: var(--gap);
- overflow: clip;
- border-radius: var(--border-radius);
- background: var(--box-bg);
- border: 1px solid var(--faded-fg);
- /* artificially increase specificity */
- /* TODO: come up with a better way to do this */
-}
-
-[role="tabpanel"] > :first-child:first-child:first-child:first-child,
- [role="tabpanel"] > :first-child>:first-child:first-child:first-child,
- [role="tabpanel"] > :first-child>:first-child>:first-child:first-child,
- [role="tabpanel"] > :first-child>:first-child>:first-child>:first-child { -webkit-margin-before: 0; margin-block-start: 0; }
-
-[role="tabpanel"] > :last-child:last-child:last-child:last-child,
- [role="tabpanel"] > :last-child>:last-child:last-child:last-child,
- [role="tabpanel"] > :last-child>:last-child>:last-child:last-child,
- [role="tabpanel"] > :last-child>:last-child>:last-child>:last-child { -webkit-margin-after: 0; margin-block-end: 0; }
-
-[role="tabpanel"] {
- -webkit-margin-before: 0;
- margin-block-start: 0;
- border-start-start-radius: 0;
- border-start-end-radius: 0;
- z-index: 1;
-}
-
-.tool-bar {
- display: flex;
- flex-flow: row wrap;
- gap: calc(var(--gap) / 2)
-}
-
-.tool-bar > * { margin: 0; }
-
-.plain {
- --box-bg: var(--plain-bg);
- --accent: var(--plain-fg);
- --faded-fg: var(--plain-faded-fg);
-}
-
-.info {
- --box-bg: var(--info-bg);
- --accent: var(--info-fg);
- --faded-fg: var(--info-faded-fg);
-}
-
-.ok {
- --box-bg: var(--ok-bg);
- --accent: var(--ok-fg);
- --faded-fg: var(--ok-faded-fg);
-}
-
-.warn {
- --box-bg: var(--warn-bg);
- --accent: var(--warn-fg);
- --faded-fg: var(--warn-faded-fg);
-}
-
-.bad {
- --box-bg: var(--bad-bg);
- --accent: var(--bad-fg);
- --faded-fg: var(--bad-faded-fg);
-}
-
-.color {
- color: var(--accent);
-}
-
-.bg {
- background: var(--box-bg);
-}
-
-.border {
- border-style: solid;
- border-color: var(--faded-fg);
-}
-
-.airy { --density: 3; }
-
-.dense { --density: 1; }
-
-.crowded { --density: .5; }
-
-.packed { --density: 0; }
-
-.autodensity {
- --density: 1
-}
-
-@media (min-width: 768px) {
-
-.autodensity { --density: 2
-}}
-
-@media (min-width: 1024px) {
-
-.autodensity { --density: 3
-}}
-
-.f-row {
- display: flex;
- flex-direction: row;
- gap: var(--gap)
-}
-
-.f-row > * { margin: 0 }
-
-.f-col {
- display: flex;
- flex-direction: column;
- gap: var(--gap)
-}
-
-.f-col > * { margin: 0 }
-
-.f-switch {
- display: flex;
- flex-flow: row wrap;
- gap: var(--gap);
- --col-width: 15ch
-}
-
-.f-switch > * { margin: 0 }
-
-.f-switch > * {
- flex-basis: calc((var(--col-width) - 100%) * 999);
- flex-grow: 1;
- }
-
-.justify-content\:start { justify-content: start }
-
-.justify-content\:end { justify-content: end }
-
-.justify-content\:baseline { justify-content: baseline }
-
-.justify-content\:center { justify-content: center }
-
-.justify-content\:stretch { justify-content: stretch }
-
-.align-items\:start { align-items: start }
-
-.align-items\:end { align-items: end }
-
-.align-items\:baseline { align-items: baseline }
-
-.align-items\:center { align-items: center }
-
-.align-items\:stretch { align-items: stretch }
-
-.align-self\:start { align-self: start }
-
-.align-self\:end { align-self: end }
-
-.align-self\:baseline { align-self: baseline }
-
-.align-self\:center { align-self: center }
-
-.align-self\:stretch { align-self: stretch }
-
-.flex-grow\:0 { flex-grow: 0 }
-
-.flex-grow\:1 { flex-grow: 1 }
-
-.flex-grow\:2 { flex-grow: 2 }
-
-.flex-grow\:3 { flex-grow: 3 }
-
-.flex-grow\:4 { flex-grow: 4 }
-
-.flex-grow\:5 { flex-grow: 5 }
-
-.flex-grow\:6 { flex-grow: 6 }
-
-.flex-grow\:7 { flex-grow: 7 }
-
-.flex-grow\:8 { flex-grow: 8 }
-
-.flex-grow\:9 { flex-grow: 9 }
-
-.flex-grow\:10 { flex-grow: 10 }
-
-.flex-grow\:11 { flex-grow: 11 }
-
-.flex-grow\:12 { flex-grow: 12 }
-
-.vh, v-h {
- clip: rect(0 0 0 0);
- -webkit-clip-path: inset(50%);
- clip-path: inset(50%);
- block-size: 1px;
- overflow: hidden;
- position: absolute;
- white-space: nowrap;
- inline-size: 1px;
-}
-
-.all\:initial {
- all: initial;
-}
-
-.textcolumns {
- --col-width: 30ch;
- column-width: var(--col-width);
- column-gap: var(--gap);
- margin-block: var(--gap)
-}
-
-.textcolumns :first-child { -webkit-margin-before: 0 !important; margin-block-start: 0 !important }
-
-.text-align\:center {
- text-align: center;
-}
-
-.center {
- display: grid;
- place-items: center;
-}
-
-/**/
-
-.container {
- max-inline-size: var(--eff-line-length);
- margin-inline: auto;
-}
-
-.fullbleed {
- position: relative;
- width: 100vw;
- left: 50%;
- transform: translateX(-50vw);
-
- border-radius: 0;
- border-inline: none;
-}
-
-/**/
-
-.padding { padding-inline: var(--gap); /* artificially increase specificity */ /* TODO: come up with a better way to do this */ }
-
-.padding > :first-child:first-child:first-child:first-child,
- .padding > :first-child>:first-child:first-child:first-child,
- .padding > :first-child>:first-child>:first-child:first-child,
- .padding > :first-child>:first-child>:first-child>:first-child { -webkit-margin-before: 0; margin-block-start: 0; }
-
-.padding > :last-child:last-child:last-child:last-child,
- .padding > :last-child>:last-child:last-child:last-child,
- .padding > :last-child>:last-child>:last-child:last-child,
- .padding > :last-child>:last-child>:last-child>:last-child { -webkit-margin-after: 0; margin-block-end: 0; }
-
-.padding-block { padding-block: var(--gap); /* artificially increase specificity */ /* TODO: come up with a better way to do this */ }
-
-.padding-block > :first-child:first-child:first-child:first-child,
- .padding-block > :first-child>:first-child:first-child:first-child,
- .padding-block > :first-child>:first-child>:first-child:first-child,
- .padding-block > :first-child>:first-child>:first-child>:first-child { -webkit-margin-before: 0; margin-block-start: 0; }
-
-.padding-block > :last-child:last-child:last-child:last-child,
- .padding-block > :last-child>:last-child:last-child:last-child,
- .padding-block > :last-child>:last-child>:last-child:last-child,
- .padding-block > :last-child>:last-child>:last-child>:last-child { -webkit-margin-after: 0; margin-block-end: 0; }
-
-.padding-inline { padding-inline: var(--gap) }
-
-.margin { margin: var(--gap) }
-
-.margin-block { margin-block: var(--gap) }
-
-.margin-inline { margin-inline: var(--gap) }
-
-/**/
-
-.inline { display: inline }
-
-.block { display: block }
-
-.contents { display: contents }
-
-.table {
- display: table;
- width: 100%;
- margin: 0;
-}
-
-.row, .rows > * {
- display: table-row
-}
-
-.row:not(:last-child) > *, .rows > *:not(:last-child) > * {
- margin-bottom: var(--gap);
- }
-
-.row > *:not([specificity-hack]), .rows > * > *:not([specificity-hack]) {
- display: table-cell;
- vertical-align: top;
- }
-
-.row > * + *:not([specificity-hack]), :is(.rows > *) > * + *:not([specificity-hack]) {
- -webkit-margin-start: var(--gap);
- margin-inline-start: var(--gap);
- display: inline-block;
- }
-
-/**/
-
-.fixed { position: fixed }
-
-.sticky { position: sticky }
-
-.top { top: 0 }
-
-.right { right: 0 }
-
-.bottom { bottom: 0 }
-
-.left { left: 0 }
-
-.float\:left { float: left }
-
-.float\:right { float: right }
-
-.overflow\:auto { overflow: auto }
-
-.overflow\:scroll { overflow: scroll }
-
-all-caps, .allcaps {
- text-transform: uppercase;
- letter-spacing: .1rem;
-}
-
-.monospace {
- font-family: var(--mono-font);
-}
-
-/***
- 4.8 Embedded content
- https://html.spec.whatwg.org/multipage/embedded-content.html
- ***/
-
-img, video, audio, iframe, object, embed {
- max-inline-size: 100%;
- inline-size: max-content;
- block-size: auto;
-}
-
-/***
- 4.10 Forms
- https://html.spec.whatwg.org/multipage/forms.html
- ***/
-
-input { display: block; }
-
-label input:not([specificity-hack]) { display: inline; padding-block: 0; }
-
-button,
-input[type="submit"],
-input[type="reset"],
-input[type="button"],
-input::file-selector-button,
-.\<button\> {
- display: inline-block;
- padding: 0 calc(var(--rhythm) / 4);
- vertical-align: top;
-
- font-size: .8rem;
- line-height: 1.125em;
- font-family: var(--secondary-font);
- min-height: var(--rhythm);
-
- background: var(--interactive-bg);
- color: var(--fg);
- border: 1px solid var(--muted-fg);
- box-sizing: border-box;
- border-radius: var(--border-radius);
-
- /* a-specific resets */
- color: var(--fg);
- text-decoration: none;
- display: inline-flex;
- place-items: center
-}
-
-:is(button,input[type="submit"],input[type="reset"],input[type="button"],input::file-selector-button,.\<button\>):hover, :is(button,input[type="submit"],input[type="reset"],input[type="button"],input::file-selector-button,.\<button\>):focus-visible {
- filter: brightness(1.1);
-
- /* a-specific resets */
- text-decoration: none;
- }
-
-:is(button,input[type="submit"],input[type="reset"],input[type="button"],input::file-selector-button,.\<button\>):active {
- filter: brightness(.8);
- }
-
-[aria-pressed="true"]:is(button,input[type="submit"],input[type="reset"],input[type="button"],input::file-selector-button,.\<button\>), [aria-expanded="true"]:is(button,input[type="submit"],input[type="reset"],input[type="button"],input::file-selector-button,.\<button\>) {
- box-shadow: 0 .05em var(--accent);
- transform: translateY(.05em);
- background: var(--pressed-interactive-bg);
- }
-
-[disabled]:is(button,input[type="submit"],input[type="reset"],input[type="button"],input::file-selector-button,.\<button\>) {
- color: var(--muted-fg);
- }
-
-strong > :is(button,input[type="submit"],input[type="reset"],input[type="button"],input::file-selector-button,.\<button\>) {
- background: var(--accent);
- color: var(--bg);
- border: none;
- font-weight: bold
-}
-
-strong > [disabled]:is(button,input[type="submit"],input[type="reset"],input[type="button"],input::file-selector-button,.\<button\>) {
- color: var(--muted-accent);
- }
-
-input:not([type]),
-input[type="text"],
-input[type="search"],
-input[type="tel"],
-input[type="url"],
-input[type="email"],
-input[type="password"],
-input[type="date"],
-input[type="month"],
-input[type="week"],
-input[type="time"],
-input[type="datetime"],
-input[type="datetime-local"],
-input[type="number"],
-select,
-textarea {
- padding: calc(var(--rhythm) / 4);
- vertical-align: top;
-
- font-size: 1rem;
- line-height: inherit;
- font-family: var(--main-font);
-
- background: var(--bg);
- color: var(--fg);
- border: 1px solid var(--faded-fg);
- border-radius: var(--border-radius);
-
- vertical-align: top
-}
-
-:is(input:not([type]),input[type="text"],input[type="search"],input[type="tel"],input[type="url"],input[type="email"],input[type="password"],input[type="date"],input[type="month"],input[type="week"],input[type="time"],input[type="datetime"],input[type="datetime-local"],input[type="number"],select,textarea):focus-visible {
- border: 1px solid var(--accent);
- }
-
-:is(input:not([type]),input[type="text"],input[type="search"],input[type="tel"],input[type="url"],input[type="email"],input[type="password"],input[type="date"],input[type="month"],input[type="week"],input[type="time"],input[type="datetime"],input[type="datetime-local"],input[type="number"],select,textarea)::placeholder {
- color: var(--muted-fg);
- opacity: 1;
- text-align: end;
- }
-
-input[type="range"] {
- width: 100%;
- padding: calc(var(--gap) / 4);
-}
-
-input[type="color"] {
- padding: 0;
- margin: 0;
- height: calc(1.5 * var(--rhythm));
-
- border: none;
- background: none;
-}
-
-input[type="file"] {
- padding: calc(var(--gap) / 4) 0;
- font: inherit;
- line-height: calc(var(--rhythm) / 2)
-}
-
-input[type="file"]::file-selector-button {
- margin-block: .1em 0;
- -webkit-margin-end: 1ch;
- margin-inline-end: 1ch;
- }
-
-select[multiple] {
- vertical-align: top;
-}
-
-optgroup::before {
- color: var(--muted-fg);
- font-style: normal;
-}
-
-progress {
- /* TODO */
-}
-
-meter {
- /* TODO */
-}
-
-label[for] {
- display: block;
- padding-block: calc(var(--gap) / 4);
-}
-
-fieldset {
- position: relative;
-
- padding: var(--gap);
- margin: var(--gap) 0;
- width: 100%;
- border-radius: var(--border-radius);
-
- /* artificially increase specificity */
-
- /* TODO: come up with a better way to do this */
-}
-
-fieldset > :first-child:first-child:first-child:first-child,
- fieldset > :first-child>:first-child:first-child:first-child,
- fieldset > :first-child>:first-child>:first-child:first-child,
- fieldset > :first-child>:first-child>:first-child>:first-child { -webkit-margin-before: 0; margin-block-start: 0; }
-
-fieldset > :last-child:last-child:last-child:last-child,
- fieldset > :last-child>:last-child:last-child:last-child,
- fieldset > :last-child>:last-child>:last-child:last-child,
- fieldset > :last-child>:last-child>:last-child>:last-child { -webkit-margin-after: 0; margin-block-end: 0; }
-
-fieldset > legend + * { -webkit-margin-before: 0; margin-block-start: 0 }
-
-fieldset {
-
- border: 1px solid var(--faded-fg);
-}
-
-/***
- 4.4 Grouping content
- https://html.spec.whatwg.org/multipage/grouping-content.html
- ***/
-
-p {
- margin-block: var(--gap);
-}
-
-hr {
- color: inherit;
- margin-inline: 0;
- margin-block: var(--gap);
-
- flex-grow: 0;
- -webkit-border-start: 1px solid var(--accent);
- border-inline-start: 1px solid var(--accent);
- block-size: auto;
- -webkit-border-before: 1px solid var(--accent);
- border-block-start: 1px solid var(--accent);
- -webkit-border-after: none;
- border-block-end: none;
- -webkit-border-end: none;
- border-inline-end: none;
-}
-
-pre {
- font-family: var(--mono-font);
- font-size: .9em;
- line-height: var(--rhythm);
- tab-size: 2;
-
- margin: var(--gap) 0;
-
- overflow-x: auto;
- scrollbar-width: thin;
- scrollbar-color: var(--accent) transparent;
-}
-
-blockquote {
- margin-inline: 0 var(--gap);
- padding-inline: var(--gap) 0;
- margin-block: var(--gap);
-
- font-size: 1.1em;
- line-height: var(--rhythm);
- font-style: italic;
-
- -webkit-border-start: 1px solid var(--faded-fg);
-
- border-inline-start: 1px solid var(--faded-fg);
- color: var(--muted-fg)
-}
-
-blockquote em, blockquote cite, blockquote dfn, blockquote var, blockquote i, blockquote address {
- font-style: normal;
- }
-
-blockquote footer {
- text-align: right;
- text-align: end;
- }
-
-ul, ol {
- -webkit-padding-start: 0;
- padding-inline-start: 0
-}
-
-ul ul, ul ol, ol ul, ol ol {
- -webkit-padding-start: var(--gap);
- padding-inline-start: var(--gap);
- }
-
-ul[role="list"], ol[role="list"] {
- -webkit-padding-start: 0;
- padding-inline-start: 0;
- list-style: none;
- }
-
-ul {
-}
-
-ol {
- list-style: decimal;
-}
-
-dl {
- margin-block: var(--gap);
-}
-
-dt {
- font-weight: bold;
- }
-
-dd {
- -webkit-margin-start: var(--rhythm);
- margin-inline-start: var(--rhythm);
- }
-
-li::marker {
- font-family: var(--secondary-font);
-}
-
-figure {
- max-width: 100%;
- margin-inline: 0;
-
- margin: var(--gap) 0;
-
- padding: var(--gap);
-
- overflow: clip;
-
- border-radius: var(--border-radius);
-
- background: var(--box-bg);
-
- border: 1px solid var(--faded-fg);
-
- /* artificially increase specificity */
-
- /* TODO: come up with a better way to do this */
-}
-
-figure > :first-child:first-child:first-child:first-child,
- figure > :first-child>:first-child:first-child:first-child,
- figure > :first-child>:first-child>:first-child:first-child,
- figure > :first-child>:first-child>:first-child>:first-child { -webkit-margin-before: 0; margin-block-start: 0; }
-
-figure > :last-child:last-child:last-child:last-child,
- figure > :last-child>:last-child:last-child:last-child,
- figure > :last-child>:last-child>:last-child:last-child,
- figure > :last-child>:last-child>:last-child>:last-child { -webkit-margin-after: 0; margin-block-end: 0; }
-
-figcaption {
- margin-block: var(--gap);
-
- font-family: var(--secondary-font);
-
- color: var(--muted-fg);
-}
-
-main {
- max-inline-size: var(--eff-line-length);
- margin: auto;
-}
-
-/***
- 4.5 Text-level semantics
- https://html.spec.whatwg.org/multipage/text-level-semantics.html
-
- 4.7 Edits
- https://html.spec.whatwg.org/multipage/edits.html
- ***/
-
-/* Text-level semantics */
-
-a {
- color: var(--link-fg, var(--accent));
- font-family: var(--secondary-font)
-}
-
-.list-of-links a {
- text-decoration: none
-}
-
-a:hover {
- text-decoration: underline;
- }
-
-span > small:only-child {
- /***
- Sidenote
- ***/
- display: block;
- float: inline-end;
- clear: inline-end;
-
- --sidenote-width: 20ch;
-
- max-inline-size: var(--sidenote-width);
- padding-inline: 1.5ch 1ch;
-
- -webkit-margin-end: calc(1em - var(--sidenote-width));
-
- margin-inline-end: calc(1em - var(--sidenote-width));
- -webkit-margin-after: var(--rhythm);
- margin-block-end: var(--rhythm);
-
- font-family: var(--secondary-font);
-
- background: var(--bg);
- border: 1px solid transparent;
-
- transition: transform .1s ease-in-out
-}
-
-span > small:only-child:hover, span > small:only-child:focus-within {
- border: 1px solid var(--faded-fg);
- border-radius: var(--border-radius);
- transform: translateX(calc(
- 0px - var(--sidenote-width)
- + min(var(--gutter-width), var(--sidenote-width))
- ))
- }
-
-s {
- color: var(--bad-fg);
-}
-
-q {
- font-style: italic
-}
-
-q em, q cite, q dfn, q var, q i, q address {
- font-style: normal;
- }
-
-time {
- font-variant-numeric: tabular-nums;
-}
-
-code, samp, kbd {
- font-family: var(--mono-font);
-}
-
-samp {
- color: var(--ok-fg);
-}
-
-kbd kbd /*
- We apply the key-like styling to a nested kbd element, a pattern shown in
- WHATWG HTML for marking up keyboard input:
-
- > Here the kbd element is used to indicate keys to press:
- > ~~~ html
- > <p>To make George eat an apple, press <kbd><kbd>Shift</kbd> + <kbd>F3</kbd></kbd></p>
- > ~~~
-
- The plain kbd element can also be used for clicking menus (<kbd>File |
- New...</kbd>) or voice input (<kbd>Hey Siri, </kbd>)
-*/ {
- display: inline-block;
-
- padding: 0 .3em;
- font-size: .8em;
- line-height: 1.1em;
-
- background: var(--interactive-bg);
- border: 1px outset var(--faded-fg);
- border-block-end-width: 3px;
- border-radius: var(--border-radius);
-}
-
-sub {
- vertical-align: bottom;
- line-height: 1;
-}
-
-sup {
- vertical-align: top;
- line-height: 1;
-}
-
-mark {
- background: var(--warn-bg);
- color: var(--warn-fg);
-}
-
-/* Edits */
-
-ins {
- background: var(--ok-bg);
- color: var(--ok-fg);
-}
-
-del {
- background: var(--bad-bg);
- color: var(--bad-fg);
-}
-
-/***
- 4.11 Interactive elements
- https://html.spec.whatwg.org/multipage/interactive-elements.html#interactive-elements
- ***/
-
-details {
- margin: var(--gap) 0;
- padding: var(--gap);
- overflow: clip;
- border-radius: var(--border-radius);
- background: var(--box-bg);
- border: 1px solid var(--faded-fg)
- /* artificially increase specificity */
- /* TODO: come up with a better way to do this */
-}
-
-details > :first-child:first-child:first-child:first-child,
- details > :first-child>:first-child:first-child:first-child,
- details > :first-child>:first-child>:first-child:first-child,
- details > :first-child>:first-child>:first-child>:first-child { -webkit-margin-before: 0; margin-block-start: 0; }
-
-details > :last-child:last-child:last-child:last-child,
- details > :last-child>:last-child:last-child:last-child,
- details > :last-child>:last-child>:last-child:last-child,
- details > :last-child>:last-child>:last-child>:last-child { -webkit-margin-after: 0; margin-block-end: 0; }
-
-details {
- -webkit-padding-before: 0;
- padding-block-start: 0
-}
-
-details:not([open]) { -webkit-padding-after: 0; padding-block-end: 0; }
-
-summary {
- margin: calc(0px - var(--gap));
- margin-top: calc(0px - var(--gap));
- margin-bottom: 0;
- padding-inline: var(--gap);
-
- font-family: var(--secondary-font);
- font-weight: bold;
-
- background: var(--accent);
- color: var(--bg);
-
- cursor: pointer
-}
-
-summary:focus-visible, summary:active {
- filter: brightness(.8);
- }
-
-details[open] summary {
- -webkit-border-after: 1px solid var(--accent);
- border-block-end: 1px solid var(--accent);
- border-end-end-radius: 0;
- border-end-start-radius: 0
-}
-
-dialog {
- margin: var(--gap) 0;
- padding: var(--gap);
- overflow: clip;
- border-radius: var(--border-radius);
- background: var(--box-bg);
- border: 1px solid var(--faded-fg);
- /* artificially increase specificity */
- /* TODO: come up with a better way to do this */
-}
-
-dialog > :first-child:first-child:first-child:first-child,
- dialog > :first-child>:first-child:first-child:first-child,
- dialog > :first-child>:first-child>:first-child:first-child,
- dialog > :first-child>:first-child>:first-child>:first-child { -webkit-margin-before: 0; margin-block-start: 0; }
-
-dialog > :last-child:last-child:last-child:last-child,
- dialog > :last-child>:last-child:last-child:last-child,
- dialog > :last-child>:last-child>:last-child:last-child,
- dialog > :last-child>:last-child>:last-child>:last-child { -webkit-margin-after: 0; margin-block-end: 0; }
-
-dialog {
- position: absolute;
- inline-inset: 0;
-
- block-size: -moz-fit-content;
-
- block-size: fit-content;
- inline-size: -moz-fit-content;
- inline-size: fit-content;
-
- margin: auto;
-
- background-color: var(--bg);
- color: var(--fg);
-
- box-shadow:
- 0 0 .2em .1em var(--shadow),
- 0 .2em .4em var(--shadow),
- 0 .25em 1em var(--shadow);
-}
-
-dialog[open]::-webkit-backdrop {
- display: block;
- background: black;
- opacity: .4;
- animation: bg 2s;
-}
-
-dialog[open]::backdrop {
- display: block;
- background: black;
- opacity: .4;
- animation: bg 2s;
-}
-
-@keyframes bg {
- from { background: transparent; }
-}
-
-dialog:not([open]) {
- display: none;
-}
-
-/***
- 4.1 The document element
- https://html.spec.whatwg.org/multipage/semantics.html#the-root-element
-
- 4.3 Sections
- https://html.spec.whatwg.org/multipage/sections.html
- ***/
-
-html {
- font-family: var(--main-font);
- line-height: var(--rhythm);
-
- background: var(--bg);
- color: var(--fg);
-}
-
-body {
- margin: 0;
-}
-
-header, footer, section + section {
- margin-block: calc(2 * var(--gap));
-}
-
-nav a {
- text-decoration: none;
- color: var(--accent);
- }
-
-aside {
- margin: var(--gap) 0;
- padding: var(--gap);
- overflow: clip;
- border-radius: var(--border-radius);
- background: var(--box-bg);
- border: 1px solid var(--faded-fg)
- /* artificially increase specificity */
- /* TODO: come up with a better way to do this */
-}
-
-aside > :first-child:first-child:first-child:first-child,
- aside > :first-child>:first-child:first-child:first-child,
- aside > :first-child>:first-child>:first-child:first-child,
- aside > :first-child>:first-child>:first-child>:first-child { -webkit-margin-before: 0; margin-block-start: 0; }
-
-aside > :last-child:last-child:last-child:last-child,
- aside > :last-child>:last-child:last-child:last-child,
- aside > :last-child>:last-child>:last-child:last-child,
- aside > :last-child>:last-child>:last-child>:last-child { -webkit-margin-after: 0; margin-block-end: 0; }
-
-aside h1,
- aside h2,
- aside h3,
- aside h4,
- aside h5,
- aside h6 {
- font-size: 1em;
- text-transform: none;
- letter-spacing: none;
- }
-
-h1, h2, h3, h4, h5, h6,
-.\<h1\>, .\<h2\>, .\<h3\>, .\<h4\>, .\<h5\>, .\<h6\> {
- -webkit-margin-after: var(--gap);
- margin-block-end: var(--gap);
- font-family: var(--secondary-font);
- font-size: 1em;
- -webkit-margin-before: calc(2 * var(--gap));
- margin-block-start: calc(2 * var(--gap));
-}
-
-h1, .\<h1\> {
- font-size: 2em;
- text-transform: none;
- line-height: calc(2 * var(--rhythm));
- letter-spacing: 0;
-}
-
-h2, .\<h2\> {
- font-size: 1.6em;
- text-transform: none;
- line-height: calc(1.5 * var(--rhythm));
- letter-spacing: 0;
-}
-
-h3, .\<h3\> {
- font-size: 1.17em;
- line-height: calc(1 * var(--rhythm));
-}
-
-h4, .\<h4\>, h5, .\<h5\>, h6, .\<h6\> {
- font-size: 1em;
- text-transform: none;
- line-height: calc(1 * var(--rhythm));
- letter-spacing: 0;
- -webkit-margin-before: var(--gap);
- margin-block-start: var(--gap);
-}
-
-h1 + h2,
-h2 + h3,
-h3 + h4,
-h4 + h5,
-h5 + h6,
-h1:first-child,
-h2:first-child,
-h3:first-child,
-h4:first-child,
-h5:first-child,
-h6:first-child {
- -webkit-margin-before: var(--gap);
- margin-block-start: var(--gap);
-}
-
-h1:target,
-h2:target,
-h3:target,
-h4:target,
-h5:target,
-h6:target {
- outline: none
-}
-
-h1:target::before, h2:target::before, h3:target::before, h4:target::before, h5:target::before, h6:target::before {
- content: '❧';
- display: inline-block;
- width: 0;
- transform: translateX(-1.5ch);
- font-size: 2em;
- vertical-align: bottom;
- color: var(--accent);
- }
-
-header {
- font-family: var(--secondary-font);
- -webkit-border-after: 1px solid var(--faded-fg);
- border-block-end: 1px solid var(--faded-fg);
-}
-
-footer {
- font-family: var(--secondary-font);
- -webkit-border-before: 1px solid var(--faded-fg);
- border-block-start: 1px solid var(--faded-fg);
-}
-
-body > header,
-body > footer,
-main + footer {
- padding: var(--rhythm) calc((100% - var(--eff-line-length)) / 2)
-}
-
-address {
- --density: 0;
-}
-
-/***
- 4.9 Tabular data
- https://html.spec.whatwg.org/multipage/tables.html
- ***/
-
-table {
- font-variant-numeric: tabular-nums;
- font: inherit;
-}
-
-caption {
- text-align: start;
- font-family: var(--secondary-font);
- font-style: italic;
-}
-
-tbody {
- border-block: 1px solid var(--fg);
-}
-
-thead {
-}
-
-tfoot {
-}
-
-tr {
-
-}
-
-td, th {
- vertical-align: top
-}
-
-td:not(:last-child), th:not(:last-child) {
- -webkit-padding-end: var(--rhythm);
- padding-inline-end: var(--rhythm);
- }
-
-td {
- }
-
-th {
- font-family: var(--secondary-font);
- text-align: start;
- }
-
-:root {
- /* Colors */
- --fg: var(--gray-12); /* Text. */
- --muted-fg: var(--gray-10); /* De-emphasized or disabled elements' text. Will be
- used with a background of --c-bg and --c-bg-2 -- check contrast! */
- --faded-fg: var(--plain-faded-fg); /* De-emphasized or disabled graphical elements. Will not
- be used as a text color. */
-
- --plain-fg: var(--blue-10);
- --info-fg: var(--blue-11);
- --ok-fg: var(--green-11);
- --bad-fg: var(--red-11);
- --warn-fg: var(--yellow-11);
-
- --plain-faded-fg: var(--gray-6);
- --info-faded-fg: var(--blue-6);
- --ok-faded-fg: var(--green-6);
- --bad-faded-fg: var(--red-6);
- --warn-faded-fg: var(--yellow-6);
-
- --bg: var(--gray-0); /* Page background. */
- --box-bg: var(--plain-bg); /* Background for blocks: cards, admonitions etc. */
- --interactive-bg: var(--gray-3); /* Background for interactive elements */
-
- --plain-bg: var(--gray-1);
- --info-bg: var(--blue-1);
- --ok-bg: var(--green-1);
- --bad-bg: var(--red-1);
- --warn-bg: var(--yellow-1);
-
- --accent: var(--blue-10); /* Accent color. Will be used *as a text color* with a
- background of --c-bg and --c-bg-2 -- check contrast! */
- --muted-accent: var(--blue-7); /* Muted accent color. Will not be used for text. */
-
- /* Lengths */
- --rhythm: 1.4rem; /* Vertical rhythm, line height. */
- --line-length: 40rem; /* Maximum line length for prose. */
- --border-radius: .2rem;
-
- /* Fonts */
- --main-font: 'Source Sans 3', 'Source Sans Pro', -apple-system, system-ui, sans-serif;
- --secondary-font: var(--main-font); /* Headings etc. */
- --mono-font: 'M Plus Code Latin', monospace, monospace; /* monospace twice stops browsers from
- shrinking this */
-
- /* Density */
- --density: 1;
-
- /* Width */
- --full-width: 100vw;
-
- /* Do not set these. */
- --eff-line-length: /* Effective line length for prose. */
- min(
- calc( var(--full-width) - (2 * var(--rhythm)) ),
- var(--line-length)
- );
-
- --gutter-width: /* Width of spaces at each side of page content. */
- calc(
- (
- var(--full-width) /* Viewport width */
- - var(--eff-line-length) /* minus line width */
- ) / 2); /* Divide by 2: there are two page margins */
-}
-
-@media (prefers-color-scheme: dark) {
- :root:not(.-no-dark-theme) {
- --fg: var(--gray-0);
- --muted-fg: var(--gray-2);
- --faded-fg: var(--gray-7);
-
- --info-bg: var(--blue-12);
- --ok-bg: var(--green-12);
- --bad-bg: var(--red-12);
- --warn-bg: var(--yellow-12);
-
- --bg: var(--gray-12);
- --box-bg: var(--gray-10);
- --interactive-bg: var(--gray-8);
-
- --info-fg: var(--blue-3);
- --ok-fg: var(--green-3);
- --bad-fg: var(--red-3);
- --warn-fg: var(--yellow-3);
-
- --accent: var(--blue-3);
- --muted-accent: var(--blue-5);
- }
-}
-
-* {
- --gap: calc(var(--rhythm) * var(--density));
- accent-color: var(--accent);
-}
diff --git a/www/releases/_artifacts/v0.1.0/missing.min.css b/www/releases/_artifacts/v0.1.0/missing.min.css
deleted file mode 100644
index 52ae75d..0000000
--- a/www/releases/_artifacts/v0.1.0/missing.min.css
+++ /dev/null
@@ -1,15 +0,0 @@
-@keyframes bg{0%{background:0 0}}*,::after,::before{box-sizing:border-box;background-repeat:no-repeat}::after,::before{text-decoration:inherit;vertical-align:inherit}:root{cursor:default;overflow-wrap:break-word;-webkit-tap-highlight-color:transparent;text-size-adjust:none;-webkit-text-size-adjust:none}abbr[title]{-webkit-text-decoration:underline dotted;text-decoration:underline dotted}b,strong{font-weight:bolder}small{font-size:80%}audio,canvas,iframe,img,svg,video{vertical-align:middle}svg:not([fill]){fill:currentColor}table{border-collapse:collapse;border-color:currentColor;text-indent:0;font-variant-numeric:tabular-nums;font:inherit}button,input,select,textarea{margin:0}[type=button],[type=reset],[type=submit],button{-webkit-appearance:button}fieldset{border:1px solid #a0a0a0;position:relative;padding:var(--gap);margin:var(--gap) 0;width:100%;border-radius:var(--border-radius);border:1px solid var(--faded-fg)}progress{vertical-align:baseline}[type=search]{-webkit-appearance:textfield;outline-offset:-2px}::-webkit-inner-spin-button,::-webkit-outer-spin-button{block-size:auto}::-webkit-input-placeholder{color:inherit;opacity:.54}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{-webkit-appearance:button;font:inherit}[hidden],datalist{display:none!important}:focus-visible{outline:.2em solid var(--accent);z-index:32}body:focus-visible,html:focus-visible,iframe:focus-visible{outline:0}:target{outline:.2em solid var(--fg);z-index:32}details>summary:first-of-type{display:list-item}[aria-busy=true]{cursor:progress}[aria-disabled=true],[disabled]{cursor:not-allowed}:root{--gray-0: #f8fafb;--gray-1: #f2f4f6;--gray-2: #ebedef;--gray-3: #e0e4e5;--gray-4: #d1d6d8;--gray-5: #b1b6b9;--gray-6: #979b9d;--gray-7: #7e8282;--gray-8: #666968;--gray-9: #50514f;--gray-10: #3a3a37;--gray-11: #252521;--gray-12: #121210;--red-0: #fff5f5;--red-1: #ffe3e3;--red-2: #ffc9c9;--red-3: #ffa8a8;--red-4: #ff8787;--red-5: #ff6b6b;--red-6: #fa5252;--red-7: #f03e3e;--red-8: #e03131;--red-9: #c92a2a;--red-10: #b02525;--red-11: #962020;--red-12: #7d1a1a;--pink-0: #fff0f6;--pink-1: #ffdeeb;--pink-2: #fcc2d7;--pink-3: #faa2c1;--pink-4: #f783ac;--pink-5: #f06595;--pink-6: #e64980;--pink-7: #d6336c;--pink-8: #c2255c;--pink-9: #a61e4d;--pink-10: #8c1941;--pink-11: #731536;--pink-12: #59102a;--purple-0: #f8f0fc;--purple-1: #f3d9fa;--purple-2: #eebefa;--purple-3: #e599f7;--purple-4: #da77f2;--purple-5: #cc5de8;--purple-6: #be4bdb;--purple-7: #ae3ec9;--purple-8: #9c36b5;--purple-9: #862e9c;--purple-10: #702682;--purple-11: #5a1e69;--purple-12: #44174f;--violet-0: #f3f0ff;--violet-1: #e5dbff;--violet-2: #d0bfff;--violet-3: #b197fc;--violet-4: #9775fa;--violet-5: #845ef7;--violet-6: #7950f2;--violet-7: #7048e8;--violet-8: #6741d9;--violet-9: #5f3dc4;--violet-10: #5235ab;--violet-11: #462d91;--violet-12: #3a2578;--indigo-0: #edf2ff;--indigo-1: #dbe4ff;--indigo-2: #bac8ff;--indigo-3: #91a7ff;--indigo-4: #748ffc;--indigo-5: #5c7cfa;--indigo-6: #4c6ef5;--indigo-7: #4263eb;--indigo-8: #3b5bdb;--indigo-9: #364fc7;--indigo-10: #2f44ad;--indigo-11: #283a94;--indigo-12: #21307a;--blue-0: #e7f5ff;--blue-1: #d0ebff;--blue-2: #a5d8ff;--blue-3: #74c0fc;--blue-4: #4dabf7;--blue-5: #339af0;--blue-6: #228be6;--blue-7: #1c7ed6;--blue-8: #1971c2;--blue-9: #1864ab;--blue-10: #145591;--blue-11: #114678;--blue-12: #0d375e;--cyan-0: #e3fafc;--cyan-1: #c5f6fa;--cyan-2: #99e9f2;--cyan-3: #66d9e8;--cyan-4: #3bc9db;--cyan-5: #22b8cf;--cyan-6: #15aabf;--cyan-7: #1098ad;--cyan-8: #0c8599;--cyan-9: #0b7285;--cyan-10: #095c6b;--cyan-11: #074652;--cyan-12: #053038;--teal-0: #e6fcf5;--teal-1: #c3fae8;--teal-2: #96f2d7;--teal-3: #63e6be;--teal-4: #38d9a9;--teal-5: #20c997;--teal-6: #12b886;--teal-7: #0ca678;--teal-8: #099268;--teal-9: #087f5b;--teal-10: #066649;--teal-11: #054d37;--teal-12: #033325;--green-0: #ebfbee;--green-1: #d3f9d8;--green-2: #b2f2bb;--green-3: #8ce99a;--green-4: #69db7c;--green-5: #51cf66;--green-6: #40c057;--green-7: #37b24d;--green-8: #2f9e44;--green-9: #2b8a3e;--green-10: #237032;--green-11: #1b5727;--green-12: #133d1b;--lime-0: #f4fce3;--lime-1: #e9fac8;--lime-2: #d8f5a2;--lime-3: #c0eb75;--lime-4: #a9e34b;--lime-5: #94d82d;--lime-6: #82c91e;--lime-7: #74b816;--lime-8: #66a80f;--lime-9: #5c940d;--lime-10: #4c7a0b;--lime-11: #3c6109;--lime-12: #2c4706;--yellow-0: #fff9db;--yellow-1: #fff3bf;--yellow-2: #ffec99;--yellow-3: #ffe066;--yellow-4: #ffd43b;--yellow-5: #fcc419;--yellow-6: #fab005;--yellow-7: #f59f00;--yellow-8: #f08c00;--yellow-9: #e67700;--yellow-10: #b35c00;--yellow-11: #804200;--yellow-12: #663500;--orange-0: #fff4e6;--orange-1: #ffe8cc;--orange-2: #ffd8a8;--orange-3: #ffc078;--orange-4: #ffa94d;--orange-5: #ff922b;--orange-6: #fd7e14;--orange-7: #f76707;--orange-8: #e8590c;--orange-9: #d9480f;--orange-10: #bf400d;--orange-11: #99330b;--orange-12: #802b09;--choco-0: #fff8dc;--choco-1: #fce1bc;--choco-2: #f7ca9e;--choco-3: #f1b280;--choco-4: #e99b62;--choco-5: #df8545;--choco-6: #d46e25;--choco-7: #bd5f1b;--choco-8: #a45117;--choco-9: #8a4513;--choco-10: #703a13;--choco-11: #572f12;--choco-12: #3d210d;--brown-0: #faf4eb;--brown-1: #ede0d1;--brown-2: #e0cab7;--brown-3: #d3b79e;--brown-4: #c5a285;--brown-5: #b78f6d;--brown-6: #a87c56;--brown-7: #956b47;--brown-8: #825b3a;--brown-9: #6f4b2d;--brown-10:#5e3a21;--brown-11:#4e2b15;--brown-12: #422412;--sand-0: #f8fafb;--sand-1: #e6e4dc;--sand-2: #d5cfbd;--sand-3: #c2b9a0;--sand-4: #aea58c;--sand-5: #9a9178;--sand-6: #867c65;--sand-7: #736a53;--sand-8: #5f5746;--sand-9: #4b4639;--sand-10:#38352d;--sand-11:#252521;--sand-12: #121210;--camo-0: #f9fbe7;--camo-1: #e8ed9c;--camo-2: #d2df4e;--camo-3: #c2ce34;--camo-4: #b5bb2e;--camo-5: #a7a827;--camo-6: #999621;--camo-7: #8c851c;--camo-8: #7e7416;--camo-9: #6d6414;--camo-10: #5d5411;--camo-11: #4d460e;--camo-12: #36300a;--jungle-0: #ecfeb0;--jungle-1: #def39a;--jungle-2: #d0e884;--jungle-3: #c2dd6e;--jungle-4: #b5d15b;--jungle-5: #a8c648;--jungle-6: #9bbb36;--jungle-7: #8fb024;--jungle-8: #84a513;--jungle-9: #7a9908;--jungle-10: #658006;--jungle-11: #516605;--jungle-12: #3d4d04}.box,.missing-card,aside,details,dialog,missing-card{margin:var(--gap) 0;padding:var(--gap);overflow:clip;border-radius:var(--border-radius);background:var(--box-bg);border:1px solid var(--faded-fg)}:is(.box,missing-card,.missing-card)>:first-child:first-child:first-child:first-child,:is(.box,missing-card,.missing-card)>:first-child>:first-child:first-child:first-child,:is(.box,missing-card,.missing-card)>:first-child>:first-child>:first-child:first-child,:is(.box,missing-card,.missing-card)>:first-child>:first-child>:first-child>:first-child{-webkit-margin-before:0;margin-block-start:0}:is(.box,missing-card,.missing-card)>:last-child:last-child:last-child:last-child,:is(.box,missing-card,.missing-card)>:last-child>:last-child:last-child:last-child,:is(.box,missing-card,.missing-card)>:last-child>:last-child>:last-child:last-child,:is(.box,missing-card,.missing-card)>:last-child>:last-child>:last-child>:last-child{-webkit-margin-after:0;margin-block-end:0}.titlebar{margin-inline:calc(0px - var(--gap));-webkit-margin-after:calc(0px - var(--gap));margin-block-end:calc(0px - var(--gap));padding-inline:var(--gap);font:inherit;font-weight:700;translate:0 calc(-1px - var(--gap));background:var(--accent);color:var(--bg)}.breadcrumbs[aria-label],.titlebar{font-family:var(--secondary-font)}.breadcrumbs[aria-label] ol,.breadcrumbs[aria-label] ul{list-style:none;-webkit-padding-start:0;padding-inline-start:0}.breadcrumbs[aria-label] li{display:inline}:is(.breadcrumbs[aria-label] li)+li::before{content:' / ';display:inline}.breadcrumbs[aria-label] [aria-current=page],dt{font-weight:700}.chip,.navbar,chip,header[is=nav-bar]{font-family:var(--secondary-font);background:var(--box-bg)}.chip,chip{border:1px solid var(--accent);border-radius:calc(var(--rhythm)/2);padding-inline:calc(var(--rhythm)/2)}.navbar,header[is=nav-bar]{margin:0;padding:0 var(--rhythm);-webkit-border-after:1px solid var(--accent);border-block-end:1px solid var(--accent);overflow-x:auto;scrollbar-width:thin;display:flex;flex-flow:row;gap:calc(2*var(--rhythm))}:is(.navbar,header[is="nav-bar"]) :first-child{-webkit-margin-start:auto;margin-inline-start:auto}:is(.navbar,header[is="nav-bar"]) :last-child{-webkit-margin-end:auto;margin-inline-end:auto}:is(.navbar,header[is="nav-bar"]) *,:is(.navbar,header[is="nav-bar"]) nav ul[role=list] *{flex-shrink:0}:is(.navbar,header[is="nav-bar"]) nav ul[role=list]{-webkit-padding-start:0;padding-inline-start:0;display:flex;flex-flow:row;gap:var(--rhythm)}:is(.navbar,header[is="nav-bar"]) a{font-weight:700;text-decoration:none}:is(.navbar,header[is="nav-bar"]) a:focus,:is(.navbar,header[is="nav-bar"]) a:hover{text-decoration:underline}:is(.navbar,header[is="nav-bar"]) [aria-current=page]{background:var(--accent);color:var(--box-bg);border-radius:var(--border-radius);outline:.2em solid var(--accent)}.permalink-anchor{display:none}:hover>.permalink-anchor{display:initial}.sidebar{margin:var(--gap) 0;padding:var(--gap);overflow:clip;border-radius:var(--border-radius);background:var(--box-bg);border:1px solid var(--faded-fg);font-family:var(--secondary-font);border-block:none;-webkit-border-start:none;border-inline-start:none;border-radius:0;margin:0;font-size:.8em;--rhythm: 1em
-}.sidebar>:first-child:first-child:first-child:first-child,.sidebar>:first-child>:first-child:first-child:first-child,.sidebar>:first-child>:first-child>:first-child:first-child,.sidebar>:first-child>:first-child>:first-child>:first-child{-webkit-margin-before:0;margin-block-start:0}.sidebar>:last-child:last-child:last-child:last-child,.sidebar>:last-child>:last-child:last-child:last-child,.sidebar>:last-child>:last-child>:last-child:last-child,.sidebar>:last-child>:last-child>:last-child>:last-child{-webkit-margin-after:0;margin-block-end:0}.sidebar li{padding:calc(.5*var(--gap));margin-inline:calc(-.5*var(--gap));border-radius:var(--border-radius)}.sidebar a{font-weight:700;text-decoration:none}.sub-title,sub-title{display:block;font-weight:400;color:var(--muted-fg)}[role=tablist]{display:flex;gap:.5ch;scrollbar-width:thin}[role=tab][role=tab]{all:initial;font-family:var(--secondary-font);padding:0 calc(var(--rhythm)/4);margin:0;min-height:var(--rhythm);border:solid var(--box-border);border-width:1px 1px 0;border-block-end-color:transparent;background:var(--interactive-bg);border-start-start-radius:.4em;border-start-end-radius:.4em}[role=tab][role=tab]:active,[role=tab][role=tab][aria-selected=true]{transform:none;bottom:-1px;position:relative;background:var(--box-bg);-webkit-border-after:1px solid var(--box-bg);border-block-end:1px solid var(--box-bg)}[role=tabpanel]{margin:var(--gap) 0;padding:var(--gap);overflow:clip;border-radius:var(--border-radius);background:var(--box-bg);border:1px solid var(--faded-fg);-webkit-margin-before:0;margin-block-start:0;border-start-start-radius:0;border-start-end-radius:0;z-index:1}[role=tabpanel]>:first-child:first-child:first-child:first-child,[role=tabpanel]>:first-child>:first-child:first-child:first-child,[role=tabpanel]>:first-child>:first-child>:first-child:first-child,[role=tabpanel]>:first-child>:first-child>:first-child>:first-child{-webkit-margin-before:0;margin-block-start:0}[role=tabpanel]>:last-child:last-child:last-child:last-child,[role=tabpanel]>:last-child>:last-child:last-child:last-child,[role=tabpanel]>:last-child>:last-child>:last-child:last-child,[role=tabpanel]>:last-child>:last-child>:last-child>:last-child{-webkit-margin-after:0;margin-block-end:0}.tool-bar{display:flex;flex-flow:row wrap;gap:calc(var(--gap)/2)}.tool-bar>*{margin:0}.plain{--box-bg: var(--plain-bg);--accent: var(--plain-fg);--faded-fg: var(--plain-faded-fg)}.info{--box-bg: var(--info-bg);--accent: var(--info-fg);--faded-fg: var(--info-faded-fg)}.ok{--box-bg: var(--ok-bg);--accent: var(--ok-fg);--faded-fg: var(--ok-faded-fg)}.warn{--box-bg: var(--warn-bg);--accent: var(--warn-fg);--faded-fg: var(--warn-faded-fg)}.bad{--box-bg: var(--bad-bg);--accent: var(--bad-fg);--faded-fg: var(--bad-faded-fg)}.color{color:var(--accent)}.bg{background:var(--box-bg)}.border{border-style:solid;border-color:var(--faded-fg)}.airy{--density: 3}.dense{--density: 1}.crowded{--density: .5}.packed,address{--density: 0}.autodensity{--density: 1
-}@media (min-width:768px){.autodensity{--density: 2
-}}@media (min-width:1024px){.autodensity{--density: 3
-}}.f-row{display:flex;flex-direction:row;gap:var(--gap)}.f-row>*{margin:0}.f-col{display:flex;flex-direction:column;gap:var(--gap)}.f-col>*,body{margin:0}.f-switch{display:flex;flex-flow:row wrap;gap:var(--gap);--col-width: 15ch
-}.f-switch>*{margin:0;flex-basis:calc((var(--col-width) - 100%)*999);flex-grow:1}.justify-content\:start{justify-content:start}.justify-content\:end{justify-content:end}.justify-content\:baseline{justify-content:baseline}.justify-content\:center{justify-content:center}.justify-content\:stretch{justify-content:stretch}.align-items\:start{align-items:start}.align-items\:end{align-items:end}.align-items\:baseline{align-items:baseline}.align-items\:center{align-items:center}.align-items\:stretch{align-items:stretch}.align-self\:start{align-self:start}.align-self\:end{align-self:end}.align-self\:baseline{align-self:baseline}.align-self\:center{align-self:center}.align-self\:stretch{align-self:stretch}.flex-grow\:0{flex-grow:0}.flex-grow\:1{flex-grow:1}.flex-grow\:2{flex-grow:2}.flex-grow\:3{flex-grow:3}.flex-grow\:4{flex-grow:4}.flex-grow\:5{flex-grow:5}.flex-grow\:6{flex-grow:6}.flex-grow\:7{flex-grow:7}.flex-grow\:8{flex-grow:8}.flex-grow\:9{flex-grow:9}.flex-grow\:10{flex-grow:10}.flex-grow\:11{flex-grow:11}.flex-grow\:12{flex-grow:12}.vh,v-h{clip:rect(0 0 0 0);-webkit-clip-path:inset(50%);clip-path:inset(50%);block-size:1px;overflow:hidden;position:absolute;white-space:nowrap;inline-size:1px}.all\:initial{all:initial}.textcolumns{--col-width: 30ch;column-width:var(--col-width);column-gap:var(--gap);margin-block:var(--gap)}.textcolumns :first-child{-webkit-margin-before:0!important;margin-block-start:0!important}.text-align\:center{text-align:center}.center{display:grid;place-items:center}.container{max-inline-size:var(--eff-line-length);margin-inline:auto}.fullbleed{position:relative;width:100vw;left:50%;transform:translateX(-50vw);border-radius:0;border-inline:none}.padding{padding-inline:var(--gap)}.padding>:first-child:first-child:first-child:first-child,.padding>:first-child>:first-child:first-child:first-child,.padding>:first-child>:first-child>:first-child:first-child,.padding>:first-child>:first-child>:first-child>:first-child{-webkit-margin-before:0;margin-block-start:0}.padding>:last-child:last-child:last-child:last-child,.padding>:last-child>:last-child:last-child:last-child,.padding>:last-child>:last-child>:last-child:last-child,.padding>:last-child>:last-child>:last-child>:last-child{-webkit-margin-after:0;margin-block-end:0}.padding-block{padding-block:var(--gap)}.padding-block>:first-child:first-child:first-child:first-child,.padding-block>:first-child>:first-child:first-child:first-child,.padding-block>:first-child>:first-child>:first-child:first-child,.padding-block>:first-child>:first-child>:first-child>:first-child,fieldset>:first-child:first-child:first-child:first-child,fieldset>:first-child>:first-child:first-child:first-child,fieldset>:first-child>:first-child>:first-child:first-child,fieldset>:first-child>:first-child>:first-child>:first-child{-webkit-margin-before:0;margin-block-start:0}.padding-block>:last-child:last-child:last-child:last-child,.padding-block>:last-child>:last-child:last-child:last-child,.padding-block>:last-child>:last-child>:last-child:last-child,.padding-block>:last-child>:last-child>:last-child>:last-child,fieldset>:last-child:last-child:last-child:last-child,fieldset>:last-child>:last-child:last-child:last-child,fieldset>:last-child>:last-child>:last-child:last-child,fieldset>:last-child>:last-child>:last-child>:last-child{-webkit-margin-after:0;margin-block-end:0}.padding-inline{padding-inline:var(--gap)}.margin{margin:var(--gap)}.margin-block,dl,p{margin-block:var(--gap)}.margin-inline{margin-inline:var(--gap)}.inline{display:inline}.block,input{display:block}.contents{display:contents}.table{display:table;width:100%;margin:0}.row,.rows>*{display:table-row}.row:not(:last-child)>*,.rows>:not(:last-child)>*{margin-bottom:var(--gap)}.row>:not([specificity-hack]),.rows>*>:not([specificity-hack]){display:table-cell;vertical-align:top}.row>*+:not([specificity-hack]),:is(.rows > *)>*+:not([specificity-hack]){-webkit-margin-start:var(--gap);margin-inline-start:var(--gap);display:inline-block}.fixed{position:fixed}.sticky{position:sticky}.top{top:0}.right{right:0}.bottom{bottom:0}.left{left:0}.float\:left{float:left}.float\:right{float:right}.overflow\:auto{overflow:auto}.overflow\:scroll{overflow:scroll}.allcaps,all-caps{text-transform:uppercase;letter-spacing:.1rem}.monospace,code,kbd,samp{font-family:var(--mono-font)}audio,embed,iframe,img,object,video{max-inline-size:100%;inline-size:max-content;block-size:auto}label input:not([specificity-hack]){display:inline;padding-block:0}.\<button\>,button,input::file-selector-button,input[type=button],input[type=reset],input[type=submit]{display:inline-block;padding:0 calc(var(--rhythm)/4);vertical-align:top;font-size:.8rem;line-height:1.125em;font-family:var(--secondary-font);min-height:var(--rhythm);background:var(--interactive-bg);border:1px solid var(--muted-fg);box-sizing:border-box;border-radius:var(--border-radius);color:var(--fg);text-decoration:none;display:inline-flex;place-items:center}:is(button,input[type="submit"],input[type="reset"],input[type="button"],input::file-selector-button,.\<button\>):focus-visible,:is(button,input[type="submit"],input[type="reset"],input[type="button"],input::file-selector-button,.\<button\>):hover{filter:brightness(1.1);text-decoration:none}:is(button,input[type="submit"],input[type="reset"],input[type="button"],input::file-selector-button,.\<button\>):active{filter:brightness(.8)}[aria-expanded=true]:is(button,input[type="submit"],input[type="reset"],input[type="button"],input::file-selector-button,.\<button\>),[aria-pressed=true]:is(button,input[type="submit"],input[type="reset"],input[type="button"],input::file-selector-button,.\<button\>){box-shadow:0 .05em var(--accent);transform:translateY(.05em);background:var(--pressed-interactive-bg)}[disabled]:is(button,input[type="submit"],input[type="reset"],input[type="button"],input::file-selector-button,.\<button\>){color:var(--muted-fg)}strong>:is(button,input[type="submit"],input[type="reset"],input[type="button"],input::file-selector-button,.\<button\>){background:var(--accent);color:var(--bg);border:0;font-weight:700}strong>[disabled]:is(button,input[type="submit"],input[type="reset"],input[type="button"],input::file-selector-button,.\<button\>){color:var(--muted-accent)}input:not([type]),input[type=date],input[type=datetime-local],input[type=datetime],input[type=email],input[type=month],input[type=number],input[type=password],input[type=search],input[type=tel],input[type=text],input[type=time],input[type=url],input[type=week],select,textarea{padding:calc(var(--rhythm)/4);font-size:1rem;line-height:inherit;font-family:var(--main-font);background:var(--bg);color:var(--fg);border:1px solid var(--faded-fg);border-radius:var(--border-radius);vertical-align:top}:is(input:not([type]),input[type="text"],input[type="search"],input[type="tel"],input[type="url"],input[type="email"],input[type="password"],input[type="date"],input[type="month"],input[type="week"],input[type="time"],input[type="datetime"],input[type="datetime-local"],input[type="number"],select,textarea):focus-visible{border:1px solid var(--accent)}:is(input:not([type]),input[type="text"],input[type="search"],input[type="tel"],input[type="url"],input[type="email"],input[type="password"],input[type="date"],input[type="month"],input[type="week"],input[type="time"],input[type="datetime"],input[type="datetime-local"],input[type="number"],select,textarea)::placeholder{color:var(--muted-fg);opacity:1;text-align:end}input[type=range]{width:100%;padding:calc(var(--gap)/4)}input[type=color]{padding:0;margin:0;height:calc(1.5*var(--rhythm));border:0;background:0 0}input[type=file]{padding:calc(var(--gap)/4) 0;font:inherit;line-height:calc(var(--rhythm)/2)}input[type=file]::file-selector-button{margin-block:.1em 0;-webkit-margin-end:1ch;margin-inline-end:1ch}select[multiple],td,th{vertical-align:top}optgroup::before{color:var(--muted-fg)}label[for]{display:block;padding-block:calc(var(--gap)/4)}fieldset>legend+*{-webkit-margin-before:0;margin-block-start:0}hr{color:inherit;margin-inline:0;margin-block:var(--gap);flex-grow:0;-webkit-border-start:1px solid var(--accent);border-inline-start:1px solid var(--accent);block-size:auto;-webkit-border-before:1px solid var(--accent);border-block-start:1px solid var(--accent);-webkit-border-after:none;border-block-end:none;-webkit-border-end:none;border-inline-end:none}blockquote,pre{line-height:var(--rhythm)}pre{font-family:var(--mono-font);tab-size:2;margin:var(--gap) 0;overflow-x:auto;scrollbar-width:thin;scrollbar-color:var(--accent) transparent;font-size:.9em}blockquote{margin-inline:0 var(--gap);padding-inline:var(--gap) 0;margin-block:var(--gap);font-size:1.1em;font-style:italic;-webkit-border-start:1px solid var(--faded-fg);border-inline-start:1px solid var(--faded-fg);color:var(--muted-fg)}blockquote address,blockquote cite,blockquote dfn,blockquote em,blockquote i,blockquote var,optgroup::before,q address,q cite,q dfn,q em,q i,q var{font-style:normal}blockquote footer{text-align:right;text-align:end}ol,ol[role=list],ul,ul[role=list]{-webkit-padding-start:0;padding-inline-start:0}ol ol,ol ul,ul ol,ul ul{-webkit-padding-start:var(--gap);padding-inline-start:var(--gap)}ol[role=list],ul[role=list]{list-style:none}ol{list-style:decimal}dd{-webkit-margin-start:var(--rhythm);margin-inline-start:var(--rhythm)}li::marker{font-family:var(--secondary-font)}figure{max-width:100%;margin-inline:0;margin:var(--gap) 0;padding:var(--gap);overflow:clip;border-radius:var(--border-radius);background:var(--box-bg);border:1px solid var(--faded-fg)}figure>:first-child:first-child:first-child:first-child,figure>:first-child>:first-child:first-child:first-child,figure>:first-child>:first-child>:first-child:first-child,figure>:first-child>:first-child>:first-child>:first-child{-webkit-margin-before:0;margin-block-start:0}figure>:last-child:last-child:last-child:last-child,figure>:last-child>:last-child:last-child:last-child,figure>:last-child>:last-child>:last-child:last-child,figure>:last-child>:last-child>:last-child>:last-child{-webkit-margin-after:0;margin-block-end:0}a,figcaption{font-family:var(--secondary-font)}figcaption{margin-block:var(--gap);color:var(--muted-fg)}main{max-inline-size:var(--eff-line-length);margin:auto}a{color:var(--link-fg, var(--accent))}.list-of-links a{text-decoration:none}a:hover{text-decoration:underline}span>small:only-child{display:block;float:inline-end;clear:inline-end;--sidenote-width: 20ch;max-inline-size:var(--sidenote-width);padding-inline:1.5ch 1ch;-webkit-margin-end:calc(1em - var(--sidenote-width));margin-inline-end:calc(1em - var(--sidenote-width));-webkit-margin-after:var(--rhythm);margin-block-end:var(--rhythm);font-family:var(--secondary-font);background:var(--bg);border:1px solid transparent;transition:transform .1s ease-in-out}span>small:only-child:focus-within,span>small:only-child:hover{border:1px solid var(--faded-fg);border-radius:var(--border-radius);transform:translateX(calc(0px - var(--sidenote-width) + min(var(--gutter-width),var(--sidenote-width))))}del,s{color:var(--bad-fg)}q{font-style:italic}time{font-variant-numeric:tabular-nums}ins,samp{color:var(--ok-fg)}kbd kbd{display:inline-block;padding:0 .3em;font-size:.8em;line-height:1.1em;background:var(--interactive-bg);border:1px outset var(--faded-fg);border-block-end-width:3px;border-radius:var(--border-radius)}sub,sup{vertical-align:bottom;line-height:1}sup{vertical-align:top}mark{background:var(--warn-bg);color:var(--warn-fg)}ins{background:var(--ok-bg)}del{background:var(--bad-bg)}details>:first-child:first-child:first-child:first-child,details>:first-child>:first-child:first-child:first-child,details>:first-child>:first-child>:first-child:first-child,details>:first-child>:first-child>:first-child>:first-child{-webkit-margin-before:0;margin-block-start:0}details>:last-child:last-child:last-child:last-child,details>:last-child>:last-child:last-child:last-child,details>:last-child>:last-child>:last-child:last-child,details>:last-child>:last-child>:last-child>:last-child{-webkit-margin-after:0;margin-block-end:0}details{-webkit-padding-before:0;padding-block-start:0}details:not([open]){-webkit-padding-after:0;padding-block-end:0}summary{margin:calc(0px - var(--gap));margin-bottom:0;padding-inline:var(--gap);font-family:var(--secondary-font);font-weight:700;background:var(--accent);color:var(--bg);cursor:pointer}summary:active,summary:focus-visible{filter:brightness(.8)}details[open] summary{-webkit-border-after:1px solid var(--accent);border-block-end:1px solid var(--accent);border-end-end-radius:0;border-end-start-radius:0}dialog>:first-child:first-child:first-child:first-child,dialog>:first-child>:first-child:first-child:first-child,dialog>:first-child>:first-child>:first-child:first-child,dialog>:first-child>:first-child>:first-child>:first-child{-webkit-margin-before:0;margin-block-start:0}dialog>:last-child:last-child:last-child:last-child,dialog>:last-child>:last-child:last-child:last-child,dialog>:last-child>:last-child>:last-child:last-child,dialog>:last-child>:last-child>:last-child>:last-child{-webkit-margin-after:0;margin-block-end:0}dialog{position:absolute;inline-inset:0;block-size:-moz-fit-content;block-size:fit-content;inline-size:-moz-fit-content;inline-size:fit-content;margin:auto;background-color:var(--bg);color:var(--fg);box-shadow:0 0 .2em .1em var(--shadow),0 .2em .4em var(--shadow),0 .25em 1em var(--shadow)}dialog[open]::-webkit-backdrop{display:block;background:#000;opacity:.4;animation:bg 2s}dialog[open]::backdrop{display:block;background:#000;opacity:.4;animation:bg 2s}dialog:not([open]){display:none}html{font-family:var(--main-font);line-height:var(--rhythm);background:var(--bg);color:var(--fg)}footer,header,section+section{margin-block:calc(2*var(--gap))}nav a{text-decoration:none;color:var(--accent)}aside>:first-child:first-child:first-child:first-child,aside>:first-child>:first-child:first-child:first-child,aside>:first-child>:first-child>:first-child:first-child,aside>:first-child>:first-child>:first-child>:first-child{-webkit-margin-before:0;margin-block-start:0}aside>:last-child:last-child:last-child:last-child,aside>:last-child>:last-child:last-child:last-child,aside>:last-child>:last-child>:last-child:last-child,aside>:last-child>:last-child>:last-child>:last-child{-webkit-margin-after:0;margin-block-end:0}aside h1,aside h2,aside h3,aside h4,aside h5,aside h6{font-size:1em;text-transform:none;letter-spacing:none}.\<h1\>,.\<h2\>,.\<h3\>,.\<h4\>,.\<h5\>,.\<h6\>,h1,h2,h3,h4,h5,h6{-webkit-margin-after:var(--gap);margin-block-end:var(--gap);font-family:var(--secondary-font);-webkit-margin-before:calc(2*var(--gap));margin-block-start:calc(2*var(--gap))}.\<h1\>,.\<h2\>,h1,h2{font-size:2em;text-transform:none;line-height:calc(2*var(--rhythm));letter-spacing:0}.\<h2\>,h2{font-size:1.6em;line-height:calc(1.5*var(--rhythm))}.\<h3\>,.\<h4\>,.\<h5\>,.\<h6\>,h3,h4,h5,h6{font-size:1.17em;line-height:calc(1*var(--rhythm))}.\<h4\>,.\<h5\>,.\<h6\>,h4,h5,h6{font-size:1em;text-transform:none;letter-spacing:0;-webkit-margin-before:var(--gap);margin-block-start:var(--gap)}h1+h2,h1:first-child,h2+h3,h2:first-child,h3+h4,h3:first-child,h4+h5,h4:first-child,h5+h6,h5:first-child,h6:first-child{-webkit-margin-before:var(--gap);margin-block-start:var(--gap)}h1:target,h2:target,h3:target,h4:target,h5:target,h6:target{outline:0}h1:target::before,h2:target::before,h3:target::before,h4:target::before,h5:target::before,h6:target::before{content:'❧';display:inline-block;width:0;transform:translateX(-1.5ch);font-size:2em;vertical-align:bottom;color:var(--accent)}header{-webkit-border-after:1px solid var(--faded-fg);border-block-end:1px solid var(--faded-fg)}caption,footer,header{font-family:var(--secondary-font)}footer{-webkit-border-before:1px solid var(--faded-fg);border-block-start:1px solid var(--faded-fg)}body>footer,body>header,main+footer{padding:var(--rhythm) calc((100% - var(--eff-line-length))/2)}caption{text-align:start;font-style:italic}tbody{border-block:1px solid var(--fg)}td:not(:last-child),th:not(:last-child){-webkit-padding-end:var(--rhythm);padding-inline-end:var(--rhythm)}th{font-family:var(--secondary-font);text-align:start}:root{--fg: var(--gray-12);--muted-fg: var(--gray-10);--faded-fg: var(--plain-faded-fg);--plain-fg: var(--blue-10);--info-fg: var(--blue-11);--ok-fg: var(--green-11);--bad-fg: var(--red-11);--warn-fg: var(--yellow-11);--plain-faded-fg: var(--gray-6);--info-faded-fg: var(--blue-6);--ok-faded-fg: var(--green-6);--bad-faded-fg: var(--red-6);--warn-faded-fg: var(--yellow-6);--bg: var(--gray-0);--box-bg: var(--plain-bg);--interactive-bg: var(--gray-3);--plain-bg: var(--gray-1);--info-bg: var(--blue-1);--ok-bg: var(--green-1);--bad-bg: var(--red-1);--warn-bg: var(--yellow-1);--accent: var(--blue-10);--muted-accent: var(--blue-7);--rhythm: 1.4rem;--line-length: 40rem;--border-radius: .2rem;--main-font: 'Source Sans 3', 'Source Sans Pro', -apple-system, system-ui, sans-serif;--secondary-font: var(--main-font);--mono-font: 'M Plus Code Latin', monospace, monospace;--density: 1;--full-width: 100vw;--eff-line-length: /* Effective line length for prose. */
- min(
- calc( var(--full-width) - (2 * var(--rhythm)) ),
- var(--line-length)
- );--gutter-width: /* Width of spaces at each side of page content. */
- calc(
- (
- var(--full-width) /* Viewport width */
- - var(--eff-line-length) /* minus line width */
- ) / 2)}@media (prefers-color-scheme:dark){:root:not(.-no-dark-theme){--fg: var(--gray-0);--muted-fg: var(--gray-2);--faded-fg: var(--gray-7);--info-bg: var(--blue-12);--ok-bg: var(--green-12);--bad-bg: var(--red-12);--warn-bg: var(--yellow-12);--bg: var(--gray-12);--box-bg: var(--gray-10);--interactive-bg: var(--gray-8);--info-fg: var(--blue-3);--ok-fg: var(--green-3);--bad-fg: var(--red-3);--warn-fg: var(--yellow-3);--accent: var(--blue-3);--muted-accent: var(--blue-5)}}*{--gap: calc(var(--rhythm) * var(--density));accent-color:var(--accent)} \ No newline at end of file
diff --git a/www/releases/_artifacts/v0.1.0/missing.min.css.br b/www/releases/_artifacts/v0.1.0/missing.min.css.br
deleted file mode 100644
index 3023045..0000000
--- a/www/releases/_artifacts/v0.1.0/missing.min.css.br
+++ /dev/null
Binary files differ
diff --git a/www/releases/_artifacts/v0.1.0/missing.min.css.gz b/www/releases/_artifacts/v0.1.0/missing.min.css.gz
deleted file mode 100644
index 5b1ec2e..0000000
--- a/www/releases/_artifacts/v0.1.0/missing.min.css.gz
+++ /dev/null
Binary files differ
diff --git a/www/releases/_artifacts/v0.2.0/missing-prism.css b/www/releases/_artifacts/v0.2.0/missing-prism.css
deleted file mode 100644
index 23e48b5..0000000
--- a/www/releases/_artifacts/v0.2.0/missing-prism.css
+++ /dev/null
@@ -1,62 +0,0 @@
-
-.token.comment,
-.token.prolog,
-.token.doctype,
-.token.cdata,
-.token.punctuation {
- color: var(--muted-fg);
-}
-
-.token.property,
-.token.tag,
-.token.boolean,
-.token.number,
-.token.constant,
-.token.symbol,
-.token.deleted {
- color: var(--bad-fg);
-}
-
-.token.selector,
-.token.attr-name,
-.token.string,
-.token.char,
-.token.builtin,
-.token.inserted {
- color: var(--ok-fg);
-}
-
-.token.operator,
-.token.entity,
-.token.url,
-.language-css .token.string,
-.style .token.string,
-.token.regex,
-.token.important,
-.token.variable {
- color: var(--warn-fg)
-}
-
-.token.atrule,
-.token.attr-value,
-.token.keyword {
- color: var(--info-fg);
-}
-
-.token.function {
- color: var(--bad-fg);
- font-style: italic;
-}
-
-.token.important,
-.token.bold {
- font-weight: bold;
-}
-
-.token.italic {
- font-style: italic;
-}
-
-.token.entity {
- cursor: help;
-}
diff --git a/www/releases/_artifacts/v0.2.0/missing-prism.min.css b/www/releases/_artifacts/v0.2.0/missing-prism.min.css
deleted file mode 100644
index 41c91b1..0000000
--- a/www/releases/_artifacts/v0.2.0/missing-prism.min.css
+++ /dev/null
@@ -1 +0,0 @@
-.token.cdata,.token.comment,.token.doctype,.token.prolog,.token.punctuation{color:var(--muted-fg)}.token.boolean,.token.constant,.token.deleted,.token.number,.token.property,.token.symbol,.token.tag{color:var(--bad-fg)}.token.attr-name,.token.builtin,.token.char,.token.inserted,.token.selector,.token.string{color:var(--ok-fg)}.language-css .token.string,.style .token.string,.token.entity,.token.important,.token.operator,.token.regex,.token.url,.token.variable{color:var(--warn-fg)}.token.atrule,.token.attr-value,.token.keyword{color:var(--info-fg)}.token.function{color:var(--bad-fg);font-style:italic}.token.bold,.token.important{font-weight:700}.token.italic{font-style:italic}.token.entity{cursor:help} \ No newline at end of file
diff --git a/www/releases/_artifacts/v0.2.0/missing-prism.min.css.br b/www/releases/_artifacts/v0.2.0/missing-prism.min.css.br
deleted file mode 100644
index 2a4ac49..0000000
--- a/www/releases/_artifacts/v0.2.0/missing-prism.min.css.br
+++ /dev/null
Binary files differ
diff --git a/www/releases/_artifacts/v0.2.0/missing-prism.min.css.gz b/www/releases/_artifacts/v0.2.0/missing-prism.min.css.gz
deleted file mode 100644
index e834bd4..0000000
--- a/www/releases/_artifacts/v0.2.0/missing-prism.min.css.gz
+++ /dev/null
Binary files differ
diff --git a/www/releases/_artifacts/v0.2.0/missing.css b/www/releases/_artifacts/v0.2.0/missing.css
deleted file mode 100644
index f636d0c..0000000
--- a/www/releases/_artifacts/v0.2.0/missing.css
+++ /dev/null
@@ -1,2020 +0,0 @@
-/* Document
- * ========================================================================== */
-
-/**
- * 1. Add border box sizing in all browsers (opinionated).
- * 2. Backgrounds do not repeat by default (opinionated).
- */
-
-*,
-::before,
-::after {
- box-sizing: border-box; /* 1 */
- background-repeat: no-repeat; /* 2 */
-}
-
-/**
- * 1. Add text decoration inheritance in all browsers (opinionated).
- * 2. Add vertical alignment inheritance in all browsers (opinionated).
- */
-
-::before,
-::after {
- text-decoration: inherit; /* 1 */
- vertical-align: inherit; /* 2 */
-}
-
-/**
- * 1. Use the default cursor in all browsers (opinionated).
- * 3. Breaks words to prevent overflow in all browsers (opinionated).
- * 5. Remove the grey highlight on links in iOS (opinionated).
- * 6. Prevent adjustments of font size after orientation changes in iOS.
- */
-
-:root {
- cursor: default; /* 1 */
- overflow-wrap: break-word; /* 3 */
- -webkit-tap-highlight-color: transparent; /* 5 */
- text-size-adjust: none;
- -webkit-text-size-adjust: none;
-}
-
-/* Text-level semantics
- * ========================================================================== */
-
-/**
- * Add the correct text decoration in Safari.
- */
-
-abbr[title] {
- text-decoration: underline;
- -webkit-text-decoration: underline dotted;
- text-decoration: underline dotted;
-}
-
-/**
- * Add the correct font weight in Chrome, Edge, and Safari.
- */
-
-strong, b {
- font-weight: bolder;
-}
-
-/**
- * Add the correct font size in all browsers.
- */
-
-small {
- font-size: 80%;
-}
-
-/* Embedded content
- * ========================================================================== */
-
-/*
- * Change the alignment on media elements in all browsers (opinionated).
- */
-
-audio, canvas, iframe, img, svg, video {
- vertical-align: middle;
-}
-
-/**
- * Change the fill color to match the text color in all browsers (opinionated).
- */
-
-svg:not([fill]) {
- fill: currentColor;
-}
-
-/* Tabular data
- * ========================================================================== */
-
-/**
- * 1. Collapse border spacing in all browsers (opinionated).
- * 2. Correct table border color in Chrome, Edge, and Safari.
- * 3. Remove text indentation from table contents in Chrome, Edge, and Safari.
- */
-
-table {
- border-collapse: collapse; /* 1 */
- border-color: currentColor; /* 2 */
- text-indent: 0; /* 3 */
-}
-
-/* Forms
- * ========================================================================== */
-
-/**
- * Remove the margin on controls in Safari.
- */
-
-button, input, select {
- margin: 0;
-}
-
-/**
- * Correct the inability to style buttons in iOS and Safari.
- */
-
-button, [type="button"], [type="reset"], [type="submit"] {
- -webkit-appearance: button;
-}
-
-/**
- * Change the inconsistent appearance in all browsers (opinionated).
- */
-
-fieldset {
- border: 1px solid #a0a0a0;
-}
-
-/**
- * Add the correct vertical alignment in Chrome, Edge, and Firefox.
- */
-
-progress {
- vertical-align: baseline;
-}
-
-/**
- * 1. Remove the margin in Firefox and Safari.
- */
-
-textarea {
- margin: 0; /* 1 */
-}
-
-/**
- * 1. Correct the odd appearance in Chrome, Edge, and Safari.
- * 2. Correct the outline style in Safari.
- */
-
-[type="search"] {
- -webkit-appearance: textfield; /* 1 */
- outline-offset: -2px; /* 2 */
-}
-
-/**
- * Correct the cursor style of increment and decrement buttons in Safari.
- */
-
-::-webkit-inner-spin-button,
-::-webkit-outer-spin-button {
- block-size: auto;
-}
-
-/**
- * Correct the text style of placeholders in Chrome, Edge, and Safari.
- */
-
-::-webkit-input-placeholder {
- color: inherit;
- opacity: 0.54;
-}
-
-/**
- * Remove the inner padding in Chrome, Edge, and Safari on macOS.
- */
-
-::-webkit-search-decoration {
- -webkit-appearance: none;
-}
-
-/**
- * 1. Correct the inability to style upload buttons in iOS and Safari.
- * 2. Change font properties to `inherit` in Safari.
- */
-
-::-webkit-file-upload-button {
- -webkit-appearance: button; /* 1 */
- font: inherit; /* 2 */
-}
-
-/* Interactive
- * ========================================================================== */
-
-[hidden] {
- display: none !important;
-}
-
-:focus-visible {
- outline: .2em solid var(--accent);
- z-index: 32;
-}
-
-iframe:focus-visible,
- html:focus-visible,
- body:focus-visible {
- outline: none;
- }
-
-:target {
- outline: .2em solid var(--fg);
- z-index: 32;
-}
-
-/*
- * Add the correct display in Safari.
- */
-
-details > summary:first-of-type {
- display: list-item;
-}
-
-/* Accessibility
- * ========================================================================== */
-
-/**
- * Change the cursor on busy elements in all browsers (opinionated).
- */
-
-[aria-busy="true"] {
- cursor: progress;
-}
-
-/*
- * Change the cursor on disabled, not-editable, or otherwise
- * inoperable elements in all browsers (opinionated).
- */
-
-[aria-disabled="true"], [disabled] {
- cursor: not-allowed;
-}
-
-datalist {
- display: none !important;
-}
-
-/* https://github.com/fchristant/colar/ */
-
-:root {
- --gray-0: #f8fafb;
- --gray-1: #f2f4f6;
- --gray-2: #ebedef;
- --gray-3: #e0e4e5;
- --gray-4: #d1d6d8;
- --gray-5: #b1b6b9;
- --gray-6: #979b9d;
- --gray-7: #7e8282;
- --gray-8: #666968;
- --gray-9: #50514f;
- --gray-10: #3a3a37;
- --gray-11: #252521;
- --gray-12: #121210;
-
- --red-0: #fff5f5;
- --red-1: #ffe3e3;
- --red-2: #ffc9c9;
- --red-3: #ffa8a8;
- --red-4: #ff8787;
- --red-5: #ff6b6b;
- --red-6: #fa5252;
- --red-7: #f03e3e;
- --red-8: #e03131;
- --red-9: #c92a2a;
- --red-10: #b02525;
- --red-11: #962020;
- --red-12: #7d1a1a;
-
- --pink-0: #fff0f6;
- --pink-1: #ffdeeb;
- --pink-2: #fcc2d7;
- --pink-3: #faa2c1;
- --pink-4: #f783ac;
- --pink-5: #f06595;
- --pink-6: #e64980;
- --pink-7: #d6336c;
- --pink-8: #c2255c;
- --pink-9: #a61e4d;
- --pink-10: #8c1941;
- --pink-11: #731536;
- --pink-12: #59102a;
-
- --purple-0: #f8f0fc;
- --purple-1: #f3d9fa;
- --purple-2: #eebefa;
- --purple-3: #e599f7;
- --purple-4: #da77f2;
- --purple-5: #cc5de8;
- --purple-6: #be4bdb;
- --purple-7: #ae3ec9;
- --purple-8: #9c36b5;
- --purple-9: #862e9c;
- --purple-10: #702682;
- --purple-11: #5a1e69;
- --purple-12: #44174f;
-
- --violet-0: #f3f0ff;
- --violet-1: #e5dbff;
- --violet-2: #d0bfff;
- --violet-3: #b197fc;
- --violet-4: #9775fa;
- --violet-5: #845ef7;
- --violet-6: #7950f2;
- --violet-7: #7048e8;
- --violet-8: #6741d9;
- --violet-9: #5f3dc4;
- --violet-10: #5235ab;
- --violet-11: #462d91;
- --violet-12: #3a2578;
-
- --indigo-0: #edf2ff;
- --indigo-1: #dbe4ff;
- --indigo-2: #bac8ff;
- --indigo-3: #91a7ff;
- --indigo-4: #748ffc;
- --indigo-5: #5c7cfa;
- --indigo-6: #4c6ef5;
- --indigo-7: #4263eb;
- --indigo-8: #3b5bdb;
- --indigo-9: #364fc7;
- --indigo-10: #2f44ad;
- --indigo-11: #283a94;
- --indigo-12: #21307a;
-
- --blue-0: #e7f5ff;
- --blue-1: #d0ebff;
- --blue-2: #a5d8ff;
- --blue-3: #74c0fc;
- --blue-4: #4dabf7;
- --blue-5: #339af0;
- --blue-6: #228be6;
- --blue-7: #1c7ed6;
- --blue-8: #1971c2;
- --blue-9: #1864ab;
- --blue-10: #145591;
- --blue-11: #114678;
- --blue-12: #0d375e;
-
- --cyan-0: #e3fafc;
- --cyan-1: #c5f6fa;
- --cyan-2: #99e9f2;
- --cyan-3: #66d9e8;
- --cyan-4: #3bc9db;
- --cyan-5: #22b8cf;
- --cyan-6: #15aabf;
- --cyan-7: #1098ad;
- --cyan-8: #0c8599;
- --cyan-9: #0b7285;
- --cyan-10: #095c6b;
- --cyan-11: #074652;
- --cyan-12: #053038;
-
- --teal-0: #e6fcf5;
- --teal-1: #c3fae8;
- --teal-2: #96f2d7;
- --teal-3: #63e6be;
- --teal-4: #38d9a9;
- --teal-5: #20c997;
- --teal-6: #12b886;
- --teal-7: #0ca678;
- --teal-8: #099268;
- --teal-9: #087f5b;
- --teal-10: #066649;
- --teal-11: #054d37;
- --teal-12: #033325;
-
- --green-0: #ebfbee;
- --green-1: #d3f9d8;
- --green-2: #b2f2bb;
- --green-3: #8ce99a;
- --green-4: #69db7c;
- --green-5: #51cf66;
- --green-6: #40c057;
- --green-7: #37b24d;
- --green-8: #2f9e44;
- --green-9: #2b8a3e;
- --green-10: #237032;
- --green-11: #1b5727;
- --green-12: #133d1b;
-
- --lime-0: #f4fce3;
- --lime-1: #e9fac8;
- --lime-2: #d8f5a2;
- --lime-3: #c0eb75;
- --lime-4: #a9e34b;
- --lime-5: #94d82d;
- --lime-6: #82c91e;
- --lime-7: #74b816;
- --lime-8: #66a80f;
- --lime-9: #5c940d;
- --lime-10: #4c7a0b;
- --lime-11: #3c6109;
- --lime-12: #2c4706;
-
- --yellow-0: #fff9db;
- --yellow-1: #fff3bf;
- --yellow-2: #ffec99;
- --yellow-3: #ffe066;
- --yellow-4: #ffd43b;
- --yellow-5: #fcc419;
- --yellow-6: #fab005;
- --yellow-7: #f59f00;
- --yellow-8: #f08c00;
- --yellow-9: #e67700;
- --yellow-10: #b35c00;
- --yellow-11: #804200;
- --yellow-12: #663500;
-
- --orange-0: #fff4e6;
- --orange-1: #ffe8cc;
- --orange-2: #ffd8a8;
- --orange-3: #ffc078;
- --orange-4: #ffa94d;
- --orange-5: #ff922b;
- --orange-6: #fd7e14;
- --orange-7: #f76707;
- --orange-8: #e8590c;
- --orange-9: #d9480f;
- --orange-10: #bf400d;
- --orange-11: #99330b;
- --orange-12: #802b09;
-
- --choco-0: #fff8dc;
- --choco-1: #fce1bc;
- --choco-2: #f7ca9e;
- --choco-3: #f1b280;
- --choco-4: #e99b62;
- --choco-5: #df8545;
- --choco-6: #d46e25;
- --choco-7: #bd5f1b;
- --choco-8: #a45117;
- --choco-9: #8a4513;
- --choco-10: #703a13;
- --choco-11: #572f12;
- --choco-12: #3d210d;
-
- --brown-0: #faf4eb;
- --brown-1: #ede0d1;
- --brown-2: #e0cab7;
- --brown-3: #d3b79e;
- --brown-4: #c5a285;
- --brown-5: #b78f6d;
- --brown-6: #a87c56;
- --brown-7: #956b47;
- --brown-8: #825b3a;
- --brown-9: #6f4b2d;
- --brown-10:#5e3a21;
- --brown-11:#4e2b15;
- --brown-12: #422412;
-
- --sand-0: #f8fafb;
- --sand-1: #e6e4dc;
- --sand-2: #d5cfbd;
- --sand-3: #c2b9a0;
- --sand-4: #aea58c;
- --sand-5: #9a9178;
- --sand-6: #867c65;
- --sand-7: #736a53;
- --sand-8: #5f5746;
- --sand-9: #4b4639;
- --sand-10:#38352d;
- --sand-11:#252521;
- --sand-12: #121210;
-
- --camo-0: #f9fbe7;
- --camo-1: #e8ed9c;
- --camo-2: #d2df4e;
- --camo-3: #c2ce34;
- --camo-4: #b5bb2e;
- --camo-5: #a7a827;
- --camo-6: #999621;
- --camo-7: #8c851c;
- --camo-8: #7e7416;
- --camo-9: #6d6414;
- --camo-10: #5d5411;
- --camo-11: #4d460e;
- --camo-12: #36300a;
-
- --jungle-0: #ecfeb0;
- --jungle-1: #def39a;
- --jungle-2: #d0e884;
- --jungle-3: #c2dd6e;
- --jungle-4: #b5d15b;
- --jungle-5: #a8c648;
- --jungle-6: #9bbb36;
- --jungle-7: #8fb024;
- --jungle-8: #84a513;
- --jungle-9: #7a9908;
- --jungle-10: #658006;
- --jungle-11: #516605;
- --jungle-12: #3d4d04;
-}
-
-.box {
- margin: var(--gap) 0;
- padding: var(--gap);
- overflow: clip;
- border-radius: var(--border-radius);
- background: var(--box-bg);
- border: 1px solid var(--faded-fg);
- /* artificially increase specificity */
- /* TODO: come up with a better way to do this */
-}
-
-.box > :first-child:first-child:first-child:first-child,
- .box > :first-child>:first-child:first-child:first-child,
- .box > :first-child>:first-child>:first-child:first-child,
- .box > :first-child>:first-child>:first-child>:first-child { -webkit-margin-before: 0; margin-block-start: 0; }
-
-.box > :last-child:last-child:last-child:last-child,
- .box > :last-child>:last-child:last-child:last-child,
- .box > :last-child>:last-child>:last-child:last-child,
- .box > :last-child>:last-child>:last-child>:last-child { -webkit-margin-after: 0; margin-block-end: 0; }
-
-.titlebar {
- margin-inline: calc(0px - var(--gap));
- -webkit-margin-after: calc(0px - var(--gap));
- margin-block-end: calc(0px - var(--gap));
- padding-inline: var(--gap);
- font: inherit;
- font-family: var(--secondary-font);
- font-weight: bold;
- translate: 0 calc(-1px - var(--gap));
- background: var(--accent);
- color: var(--bg);
-}
-
-.breadcrumbs[aria-label] {
- font-family: var(--secondary-font)
-}
-
-.breadcrumbs[aria-label] ul, .breadcrumbs[aria-label] ol {
- list-style: none;
- -webkit-padding-start: 0;
- padding-inline-start: 0;
- }
-
-.breadcrumbs[aria-label] li {
- display: inline
- }
-
-:is(.breadcrumbs[aria-label] li)+li::before {
- content: ' / ' / '';
- content: ' / ';
- display: inline;
- }
-
-.breadcrumbs[aria-label] [aria-current="page"] {
- font-weight: bold;
- }
-
-.chip, chip {
- font-family: var(--secondary-font);
- border: 1px solid var(--accent);
- background: var(--box-bg);
- border-radius: calc(var(--rhythm) / 2);
- padding-inline: calc(var(--rhythm) / 2);
-}
-
-[role="menu"] {
- margin: var(--gap) 0;
- padding: var(--gap);
- overflow: clip;
- border-radius: var(--border-radius);
- background: var(--box-bg);
- border: 1px solid var(--faded-fg);
- /* artificially increase specificity */
- /* TODO: come up with a better way to do this */
-}
-
-[role="menu"] > :first-child:first-child:first-child:first-child,
- [role="menu"] > :first-child>:first-child:first-child:first-child,
- [role="menu"] > :first-child>:first-child>:first-child:first-child,
- [role="menu"] > :first-child>:first-child>:first-child>:first-child { -webkit-margin-before: 0; margin-block-start: 0; }
-
-[role="menu"] > :last-child:last-child:last-child:last-child,
- [role="menu"] > :last-child>:last-child:last-child:last-child,
- [role="menu"] > :last-child>:last-child>:last-child:last-child,
- [role="menu"] > :last-child>:last-child>:last-child>:last-child { -webkit-margin-after: 0; margin-block-end: 0; }
-
-[role="menu"] {
-
- position: absolute;
-
- padding: calc(var(--gap) / 2) 0;
- margin: 1px 0 0 0;
-
- display: flex;
- flex-flow: column nowrap;
-}
-
-[role=menuitem] {
- padding: 0 calc(var(--gap) / 2);
-
- display: block;
-
- text-decoration: none;
-
- color: var(--fg)
-}
-
-[role=menuitem]:focus {
- background: var(--accent);
- color: var(--bg);
- }
-
-.navbar {
- margin: 0;
- padding: 0 var(--rhythm);
-
- font-family: var(--secondary-font);
-
- background: var(--box-bg);
- -webkit-border-after: 1px solid var(--accent);
- border-block-end: 1px solid var(--accent);
-
- overflow-x: auto;
- scrollbar-width: thin;
-
- /* Inner layout */
- display: flex;
- flex-flow: row;
- gap: calc(2 * var(--rhythm))
-}
-
-.navbar :first-child { -webkit-margin-start: auto; margin-inline-start: auto; }
-
-.navbar :last-child { -webkit-margin-end: auto; margin-inline-end: auto; }
-
-.navbar * { flex-shrink: 0 }
-
-.navbar nav ul[role="list"] {
- -webkit-padding-start: 0;
- padding-inline-start: 0;
- display: flex;
- flex-flow: row;
- gap: var(--rhythm)
- }
-
-.navbar nav ul[role="list"] * { flex-shrink: 0 }
-
-.navbar a {
- font-weight: bold;
- text-decoration: none;
- }
-
-.navbar a:hover, .navbar a:focus {
- text-decoration: underline;
- }
-
-.navbar [aria-current=page] {
- background: var(--accent);
- color: var(--box-bg);
- border-radius: var(--border-radius);
- outline: .2em solid var(--accent);
- }
-
-.permalink-anchor {
- display: none
-}
-
-*:hover > .permalink-anchor {
- display: initial
-}
-
-.sidebar {
- margin: var(--gap) 0;
- padding: var(--gap);
- overflow: clip;
- border-radius: var(--border-radius);
- background: var(--box-bg);
- border: 1px solid var(--faded-fg)
- /* artificially increase specificity */
- /* TODO: come up with a better way to do this */
-}
-
-.sidebar > :first-child:first-child:first-child:first-child,
- .sidebar > :first-child>:first-child:first-child:first-child,
- .sidebar > :first-child>:first-child>:first-child:first-child,
- .sidebar > :first-child>:first-child>:first-child>:first-child { -webkit-margin-before: 0; margin-block-start: 0; }
-
-.sidebar > :last-child:last-child:last-child:last-child,
- .sidebar > :last-child>:last-child:last-child:last-child,
- .sidebar > :last-child>:last-child>:last-child:last-child,
- .sidebar > :last-child>:last-child>:last-child>:last-child { -webkit-margin-after: 0; margin-block-end: 0; }
-
-.sidebar {
-
- font-family: var(--secondary-font);
-
- border-block: none;
- -webkit-border-start: none;
- border-inline-start: none;
- border-radius: 0;
- margin: 0;
-
- font-size: .8em;
- --rhythm: 1em
-}
-
-.sidebar li {
- padding: calc(.5 * var(--gap));
- margin-inline: calc(-.5 * var(--gap));
- border-radius: var(--border-radius);
- }
-
-.sidebar a {
- font-weight: bold;
- text-decoration: none;
- }
-
-.sub-title, sub-title {
- /***
- Meant for use in headings. Make sure to also use visually-hidden punctuation
- to mark the subtitle as shown below:
-
- 1 | <h1>
- 2 | Foo Bar<v-h>:</v-h>
- 3 | <sub-title>How I Learned To Stop Worrying and Love Baz</sub-title>
- 4 | </h1>
-
- 1 | <h1>
- 2 | <sub-title class="-allcaps">Breaking News</sub-title><v-h>:</v-h>
- 3 | Bad Thing Happens
- 4 | <h1>
- ***/
-
- display: block;
-
- font-weight: normal;
-
- color: var(--muted-fg);
-}
-
-[role="tablist"] {
- display: flex;
- gap: .5ch;
- scrollbar-width: thin;
-}
-
-[role="tab"][role="tab"] {
- all: initial;
-
- font-family: var(--secondary-font);
-
- padding: 0 calc(var(--rhythm) / 4);
- margin: 0;
- min-height: var(--rhythm);
-
- border: solid var(--box-border);
- border-width: 1px 1px 0 1px;
- border-block-end-color: transparent;
- background: var(--interactive-bg);
-
- border-start-start-radius: .4em;
- border-start-end-radius: .4em
-}
-
-[role="tab"][role="tab"]:active, [role="tab"][role="tab"][aria-selected="true"] {
- transform: none;
- bottom: -1px;
- position: relative;
- background: var(--box-bg);
- -webkit-border-after: 1px solid var(--box-bg);
- border-block-end: 1px solid var(--box-bg);
- }
-
-[role="tabpanel"] {
- margin: var(--gap) 0;
- padding: var(--gap);
- overflow: clip;
- border-radius: var(--border-radius);
- background: var(--box-bg);
- border: 1px solid var(--faded-fg);
- /* artificially increase specificity */
- /* TODO: come up with a better way to do this */
-}
-
-[role="tabpanel"] > :first-child:first-child:first-child:first-child,
- [role="tabpanel"] > :first-child>:first-child:first-child:first-child,
- [role="tabpanel"] > :first-child>:first-child>:first-child:first-child,
- [role="tabpanel"] > :first-child>:first-child>:first-child>:first-child { -webkit-margin-before: 0; margin-block-start: 0; }
-
-[role="tabpanel"] > :last-child:last-child:last-child:last-child,
- [role="tabpanel"] > :last-child>:last-child:last-child:last-child,
- [role="tabpanel"] > :last-child>:last-child>:last-child:last-child,
- [role="tabpanel"] > :last-child>:last-child>:last-child>:last-child { -webkit-margin-after: 0; margin-block-end: 0; }
-
-[role="tabpanel"] {
- -webkit-margin-before: 0;
- margin-block-start: 0;
- border-start-start-radius: 0;
- border-start-end-radius: 0;
- z-index: 1;
-}
-
-.tool-bar {
- display: flex;
- flex-flow: row wrap;
- gap: calc(var(--gap) / 2)
-}
-
-.tool-bar > * { margin: 0; }
-
-.plain {
- --box-bg: var(--plain-bg);
- --accent: var(--plain-fg);
- --faded-fg: var(--plain-faded-fg);
-}
-
-.info {
- --box-bg: var(--info-bg);
- --accent: var(--info-fg);
- --faded-fg: var(--info-faded-fg);
-}
-
-.ok {
- --box-bg: var(--ok-bg);
- --accent: var(--ok-fg);
- --faded-fg: var(--ok-faded-fg);
-}
-
-.warn {
- --box-bg: var(--warn-bg);
- --accent: var(--warn-fg);
- --faded-fg: var(--warn-faded-fg);
-}
-
-.bad {
- --box-bg: var(--bad-bg);
- --accent: var(--bad-fg);
- --faded-fg: var(--bad-faded-fg);
-}
-
-.color {
- color: var(--accent);
-}
-
-.bg {
- background: var(--box-bg);
-}
-
-.border {
- border-style: solid;
- border-color: var(--faded-fg);
-}
-
-.airy { --density: 3; }
-
-.dense { --density: 1; }
-
-.crowded { --density: .5; }
-
-.packed { --density: 0; }
-
-.autodensity {
- --density: 1
-}
-
-@media (min-width: 768px) {
-
-.autodensity { --density: 2
-}}
-
-@media (min-width: 1024px) {
-
-.autodensity { --density: 3
-}}
-
-.f-row {
- display: flex;
- flex-direction: row;
- gap: var(--gap)
-}
-
-.f-row > * { margin: 0 }
-
-.f-col {
- display: flex;
- flex-direction: column;
- gap: var(--gap)
-}
-
-.f-col > * { margin: 0 }
-
-.f-switch {
- display: flex;
- flex-flow: row wrap;
- gap: var(--gap);
- --col-width: 15ch
-}
-
-.f-switch > * { margin: 0 }
-
-.f-switch > * {
- flex-basis: calc((var(--col-width) - 100%) * 999);
- flex-grow: 1;
- }
-
-.justify-content\:start { justify-content: start }
-
-.justify-content\:end { justify-content: end }
-
-.justify-content\:baseline { justify-content: baseline }
-
-.justify-content\:center { justify-content: center }
-
-.justify-content\:stretch { justify-content: stretch }
-
-.align-items\:start { align-items: start }
-
-.align-items\:end { align-items: end }
-
-.align-items\:baseline { align-items: baseline }
-
-.align-items\:center { align-items: center }
-
-.align-items\:stretch { align-items: stretch }
-
-.align-self\:start { align-self: start }
-
-.align-self\:end { align-self: end }
-
-.align-self\:baseline { align-self: baseline }
-
-.align-self\:center { align-self: center }
-
-.align-self\:stretch { align-self: stretch }
-
-.flex-grow\:0 { flex-grow: 0 }
-
-.flex-grow\:1 { flex-grow: 1 }
-
-.flex-grow\:2 { flex-grow: 2 }
-
-.flex-grow\:3 { flex-grow: 3 }
-
-.flex-grow\:4 { flex-grow: 4 }
-
-.flex-grow\:5 { flex-grow: 5 }
-
-.flex-grow\:6 { flex-grow: 6 }
-
-.flex-grow\:7 { flex-grow: 7 }
-
-.flex-grow\:8 { flex-grow: 8 }
-
-.flex-grow\:9 { flex-grow: 9 }
-
-.flex-grow\:10 { flex-grow: 10 }
-
-.flex-grow\:11 { flex-grow: 11 }
-
-.flex-grow\:12 { flex-grow: 12 }
-
-.flex-wrap\:wrap { flex-wrap: wrap }
-
-.flex-wrap\:nowrap { flex-wrap: nowrap }
-
-.vh, v-h {
- clip: rect(0 0 0 0);
- -webkit-clip-path: inset(50%);
- clip-path: inset(50%);
- block-size: 1px;
- overflow: hidden;
- position: absolute;
- white-space: nowrap;
- inline-size: 1px;
-}
-
-.all\:initial {
- all: initial;
-}
-
-.textcolumns {
- --col-width: 30ch;
- column-width: var(--col-width);
- column-gap: var(--gap);
- margin-block: var(--gap)
-}
-
-.textcolumns :first-child { -webkit-margin-before: 0 !important; margin-block-start: 0 !important }
-
-.text-align\:center {
- text-align: center;
-}
-
-.center {
- display: grid;
- place-items: center;
-}
-
-/**/
-
-.container {
- max-inline-size: var(--eff-line-length);
- margin-inline: auto;
-}
-
-.fullbleed {
- position: relative;
- width: 100vw;
- left: 50%;
- transform: translateX(-50vw);
-
- border-radius: 0;
- border-inline: none;
-}
-
-.width\:100\% { width:100% }
-
-/**/
-
-.padding { padding-inline: var(--gap); /* artificially increase specificity */ /* TODO: come up with a better way to do this */ }
-
-.padding > :first-child:first-child:first-child:first-child,
- .padding > :first-child>:first-child:first-child:first-child,
- .padding > :first-child>:first-child>:first-child:first-child,
- .padding > :first-child>:first-child>:first-child>:first-child { -webkit-margin-before: 0; margin-block-start: 0; }
-
-.padding > :last-child:last-child:last-child:last-child,
- .padding > :last-child>:last-child:last-child:last-child,
- .padding > :last-child>:last-child>:last-child:last-child,
- .padding > :last-child>:last-child>:last-child>:last-child { -webkit-margin-after: 0; margin-block-end: 0; }
-
-.padding-block { padding-block: var(--gap); /* artificially increase specificity */ /* TODO: come up with a better way to do this */ }
-
-.padding-block > :first-child:first-child:first-child:first-child,
- .padding-block > :first-child>:first-child:first-child:first-child,
- .padding-block > :first-child>:first-child>:first-child:first-child,
- .padding-block > :first-child>:first-child>:first-child>:first-child { -webkit-margin-before: 0; margin-block-start: 0; }
-
-.padding-block > :last-child:last-child:last-child:last-child,
- .padding-block > :last-child>:last-child:last-child:last-child,
- .padding-block > :last-child>:last-child>:last-child:last-child,
- .padding-block > :last-child>:last-child>:last-child>:last-child { -webkit-margin-after: 0; margin-block-end: 0; }
-
-.padding-inline { padding-inline: var(--gap) }
-
-.margin { margin: var(--gap) }
-
-.margin-block { margin-block: var(--gap) }
-
-.margin-inline { margin-inline: var(--gap) }
-
-/**/
-
-.inline { display: inline }
-
-.block { display: block }
-
-.contents { display: contents }
-
-.table {
- display: table;
- width: 100%;
- margin: 0;
-}
-
-.row, .rows > * {
- display: table-row
-}
-
-.row:not(:last-child) > *, .rows > *:not(:last-child) > * {
- margin-bottom: var(--gap);
- }
-
-.row > *:not([specificity-hack]), .rows > * > *:not([specificity-hack]) {
- display: table-cell;
- vertical-align: top;
- }
-
-.row > * + *:not([specificity-hack]), :is(.rows > *) > * + *:not([specificity-hack]) {
- -webkit-margin-start: var(--gap);
- margin-inline-start: var(--gap);
- display: inline-block;
- }
-
-/**/
-
-.fixed { position: fixed }
-
-.sticky { position: sticky }
-
-.top { top: 0 }
-
-.right { right: 0 }
-
-.bottom { bottom: 0 }
-
-.left { left: 0 }
-
-.float\:left { float: left }
-
-.float\:right { float: right }
-
-.overflow\:auto { overflow: auto }
-
-.overflow\:scroll { overflow: scroll }
-
-.allcaps {
- text-transform: uppercase;
- letter-spacing: .1rem;
-}
-
-.monospace {
- font-family: var(--mono-font);
-}
-
-/***
- 4.8 Embedded content
- https://html.spec.whatwg.org/multipage/embedded-content.html
- ***/
-
-img, video, audio, iframe, object, embed {
- max-inline-size: 100%;
- inline-size: max-content;
- block-size: auto;
-}
-
-/***
- 4.10 Forms
- https://html.spec.whatwg.org/multipage/forms.html
- ***/
-
-input { display: block; }
-
-label input:not([specificity-hack]) { display: inline; padding-block: 0; }
-
-button,
-input[type="submit"],
-input[type="reset"],
-input[type="button"],
-input::file-selector-button,
-.\<button\> {
- display: inline-block;
- padding: 0 calc(var(--rhythm) / 4);
- vertical-align: top;
-
- font-size: .8rem;
- line-height: 1.125em;
- font-family: var(--secondary-font);
- min-height: var(--rhythm);
-
- background: var(--interactive-bg);
- color: var(--fg);
- border: 1px solid var(--muted-fg);
- box-sizing: border-box;
- border-radius: var(--border-radius);
-
- /* a-specific resets */
- color: var(--fg);
- text-decoration: none;
- display: inline-flex;
- place-items: center
-}
-
-:is(button,input[type="submit"],input[type="reset"],input[type="button"],input::file-selector-button,.\<button\>):hover, :is(button,input[type="submit"],input[type="reset"],input[type="button"],input::file-selector-button,.\<button\>):focus-visible {
- filter: brightness(1.1);
-
- /* a-specific resets */
- text-decoration: none;
- }
-
-:is(button,input[type="submit"],input[type="reset"],input[type="button"],input::file-selector-button,.\<button\>):active {
- filter: brightness(.8);
- }
-
-[aria-pressed="true"]:is(button,input[type="submit"],input[type="reset"],input[type="button"],input::file-selector-button,.\<button\>), [aria-expanded="true"]:is(button,input[type="submit"],input[type="reset"],input[type="button"],input::file-selector-button,.\<button\>) {
- box-shadow: 0 .05em var(--accent);
- transform: translateY(.05em);
- background: var(--pressed-interactive-bg);
- }
-
-[disabled]:is(button,input[type="submit"],input[type="reset"],input[type="button"],input::file-selector-button,.\<button\>) {
- color: var(--muted-fg);
- }
-
-strong > :is(button,input[type="submit"],input[type="reset"],input[type="button"],input::file-selector-button,.\<button\>) {
- background: var(--accent);
- color: var(--bg);
- border: none;
- font-weight: bold
-}
-
-strong > [disabled]:is(button,input[type="submit"],input[type="reset"],input[type="button"],input::file-selector-button,.\<button\>) {
- color: var(--muted-accent);
- }
-
-input:not([type]),
-input[type="text"],
-input[type="search"],
-input[type="tel"],
-input[type="url"],
-input[type="email"],
-input[type="password"],
-input[type="date"],
-input[type="month"],
-input[type="week"],
-input[type="time"],
-input[type="datetime"],
-input[type="datetime-local"],
-input[type="number"],
-select,
-textarea {
- padding: calc(var(--rhythm) / 4);
- vertical-align: top;
-
- font-size: 1rem;
- line-height: inherit;
- font-family: var(--main-font);
-
- background: var(--bg);
- color: var(--fg);
- border: 1px solid var(--faded-fg);
- border-radius: var(--border-radius);
-
- vertical-align: top
-}
-
-:is(input:not([type]),input[type="text"],input[type="search"],input[type="tel"],input[type="url"],input[type="email"],input[type="password"],input[type="date"],input[type="month"],input[type="week"],input[type="time"],input[type="datetime"],input[type="datetime-local"],input[type="number"],select,textarea):focus-visible {
- border: 1px solid var(--accent);
- }
-
-:is(input:not([type]),input[type="text"],input[type="search"],input[type="tel"],input[type="url"],input[type="email"],input[type="password"],input[type="date"],input[type="month"],input[type="week"],input[type="time"],input[type="datetime"],input[type="datetime-local"],input[type="number"],select,textarea)::placeholder {
- color: var(--muted-fg);
- opacity: 1;
- text-align: end;
- }
-
-input[type="range"] {
- width: 100%;
- padding: calc(var(--gap) / 4);
-}
-
-input[type="color"] {
- padding: 0;
- margin: 0;
- height: calc(1.5 * var(--rhythm));
-
- border: none;
- background: none;
-}
-
-input[type="file"] {
- padding: calc(var(--gap) / 4) 0;
- font: inherit;
- line-height: calc(var(--rhythm) / 2)
-}
-
-input[type="file"]::file-selector-button {
- margin-block: .1em 0;
- -webkit-margin-end: 1ch;
- margin-inline-end: 1ch;
- }
-
-select[multiple] {
- vertical-align: top;
-}
-
-optgroup::before {
- color: var(--muted-fg);
- font-style: normal;
-}
-
-progress {
- /* TODO */
-}
-
-meter {
- /* TODO */
-}
-
-label[for] {
- display: block;
- padding-block: calc(var(--gap) / 4);
-}
-
-fieldset {
- position: relative;
-
- padding: var(--gap);
- margin: var(--gap) 0;
- width: 100%;
- border-radius: var(--border-radius);
-
- /* artificially increase specificity */
-
- /* TODO: come up with a better way to do this */
-}
-
-fieldset > :first-child:first-child:first-child:first-child,
- fieldset > :first-child>:first-child:first-child:first-child,
- fieldset > :first-child>:first-child>:first-child:first-child,
- fieldset > :first-child>:first-child>:first-child>:first-child { -webkit-margin-before: 0; margin-block-start: 0; }
-
-fieldset > :last-child:last-child:last-child:last-child,
- fieldset > :last-child>:last-child:last-child:last-child,
- fieldset > :last-child>:last-child>:last-child:last-child,
- fieldset > :last-child>:last-child>:last-child>:last-child { -webkit-margin-after: 0; margin-block-end: 0; }
-
-fieldset > legend + * { -webkit-margin-before: 0; margin-block-start: 0 }
-
-fieldset {
-
- border: 1px solid var(--faded-fg);
-}
-
-/***
- 4.4 Grouping content
- https://html.spec.whatwg.org/multipage/grouping-content.html
- ***/
-
-p {
- margin-block: var(--gap);
-}
-
-hr {
- color: inherit;
- margin-inline: 0;
- margin-block: var(--gap);
-
- flex-grow: 0;
- -webkit-border-start: 1px solid var(--accent);
- border-inline-start: 1px solid var(--accent);
- block-size: auto;
- -webkit-border-before: 1px solid var(--accent);
- border-block-start: 1px solid var(--accent);
- -webkit-border-after: none;
- border-block-end: none;
- -webkit-border-end: none;
- border-inline-end: none;
-}
-
-pre {
- font-family: var(--mono-font);
- font-size: .9em;
- line-height: var(--rhythm);
- tab-size: 2;
-
- margin: var(--gap) 0;
-
- overflow-x: auto;
- scrollbar-width: thin;
- scrollbar-color: var(--accent) transparent;
-}
-
-blockquote {
- margin-inline: 0 var(--gap);
- padding-inline: var(--gap) 0;
- margin-block: var(--gap);
-
- font-size: 1.1em;
- line-height: var(--rhythm);
- font-style: italic;
-
- -webkit-border-start: 1px solid var(--faded-fg);
-
- border-inline-start: 1px solid var(--faded-fg);
- color: var(--muted-fg)
-}
-
-blockquote em, blockquote cite, blockquote dfn, blockquote var, blockquote i, blockquote address {
- font-style: normal;
- }
-
-blockquote footer {
- text-align: right;
- text-align: end;
- }
-
-ul, ol {
- -webkit-padding-start: 0;
- padding-inline-start: 0
-}
-
-ul ul, ul ol, ol ul, ol ol {
- -webkit-padding-start: var(--gap);
- padding-inline-start: var(--gap);
- }
-
-ul[role="list"], ol[role="list"] {
- -webkit-padding-start: 0;
- padding-inline-start: 0;
- list-style: none;
- }
-
-ul {
-}
-
-ol {
- list-style: decimal;
-}
-
-dl {
- margin-block: var(--gap);
-}
-
-dt {
- font-weight: bold;
- }
-
-dd {
- -webkit-margin-start: var(--rhythm);
- margin-inline-start: var(--rhythm);
- }
-
-li::marker {
- font-family: var(--secondary-font);
-}
-
-figure {
- max-width: 100%;
- margin-inline: 0;
-
- margin: var(--gap) 0;
-
- padding: var(--gap);
-
- overflow: clip;
-
- border-radius: var(--border-radius);
-
- background: var(--box-bg);
-
- border: 1px solid var(--faded-fg);
-
- /* artificially increase specificity */
-
- /* TODO: come up with a better way to do this */
-}
-
-figure > :first-child:first-child:first-child:first-child,
- figure > :first-child>:first-child:first-child:first-child,
- figure > :first-child>:first-child>:first-child:first-child,
- figure > :first-child>:first-child>:first-child>:first-child { -webkit-margin-before: 0; margin-block-start: 0; }
-
-figure > :last-child:last-child:last-child:last-child,
- figure > :last-child>:last-child:last-child:last-child,
- figure > :last-child>:last-child>:last-child:last-child,
- figure > :last-child>:last-child>:last-child>:last-child { -webkit-margin-after: 0; margin-block-end: 0; }
-
-figcaption {
- margin-block: var(--gap);
-
- font-family: var(--secondary-font);
-
- color: var(--muted-fg);
-}
-
-main {
- max-inline-size: var(--eff-line-length);
- margin: auto;
-}
-
-/***
- 4.5 Text-level semantics
- https://html.spec.whatwg.org/multipage/text-level-semantics.html
-
- 4.7 Edits
- https://html.spec.whatwg.org/multipage/edits.html
- ***/
-
-/* Text-level semantics */
-
-a {
- color: var(--link-fg, var(--accent));
- font-family: var(--secondary-font)
-}
-
-.list-of-links a {
- text-decoration: none
-}
-
-a:hover {
- text-decoration: underline;
- }
-
-span > small:only-child {
- /***
- Sidenote
- ***/
- display: block;
- float: inline-end;
- clear: inline-end;
-
- --sidenote-width: 20ch;
-
- max-inline-size: var(--sidenote-width);
- padding-inline: 1.5ch 1ch;
-
- -webkit-margin-end: calc(1em - var(--sidenote-width));
-
- margin-inline-end: calc(1em - var(--sidenote-width));
- -webkit-margin-after: var(--rhythm);
- margin-block-end: var(--rhythm);
-
- font-family: var(--secondary-font);
-
- background: var(--bg);
- border: 1px solid transparent;
-
- transition: transform .1s ease-in-out
-}
-
-span > small:only-child:hover, span > small:only-child:focus-within {
- border: 1px solid var(--faded-fg);
- border-radius: var(--border-radius);
- transform: translateX(calc(
- 0px - var(--sidenote-width)
- + min(var(--gutter-width), var(--sidenote-width))
- ))
- }
-
-s {
- color: var(--bad-fg);
-}
-
-q {
- font-style: italic
-}
-
-q em, q cite, q dfn, q var, q i, q address {
- font-style: normal;
- }
-
-time {
- font-variant-numeric: tabular-nums;
-}
-
-code, samp, kbd {
- font-family: var(--mono-font);
-}
-
-samp {
- color: var(--ok-fg);
-}
-
-kbd kbd /*
- We apply the key-like styling to a nested kbd element, a pattern shown in
- WHATWG HTML for marking up keyboard input:
-
- > Here the kbd element is used to indicate keys to press:
- > ~~~ html
- > <p>To make George eat an apple, press <kbd><kbd>Shift</kbd> + <kbd>F3</kbd></kbd></p>
- > ~~~
-
- The plain kbd element can also be used for clicking menus (<kbd>File |
- New...</kbd>) or voice input (<kbd>Hey Siri, </kbd>)
-*/ {
- display: inline-block;
-
- padding: 0 .3em;
- font-size: .8em;
- line-height: 1.1em;
-
- background: var(--interactive-bg);
- border: 1px outset var(--faded-fg);
- border-block-end-width: 3px;
- border-radius: var(--border-radius);
-}
-
-sub {
- vertical-align: bottom;
- line-height: 1;
-}
-
-sup {
- vertical-align: top;
- line-height: 1;
-}
-
-mark {
- background: var(--warn-bg);
- color: var(--warn-fg);
-}
-
-/* Edits */
-
-ins {
- background: var(--ok-bg);
- color: var(--ok-fg);
-}
-
-del {
- background: var(--bad-bg);
- color: var(--bad-fg);
-}
-
-/***
- 4.11 Interactive elements
- https://html.spec.whatwg.org/multipage/interactive-elements.html#interactive-elements
- ***/
-
-details {
- margin: var(--gap) 0;
- padding: var(--gap);
- overflow: clip;
- border-radius: var(--border-radius);
- background: var(--box-bg);
- border: 1px solid var(--faded-fg)
- /* artificially increase specificity */
- /* TODO: come up with a better way to do this */
-}
-
-details > :first-child:first-child:first-child:first-child,
- details > :first-child>:first-child:first-child:first-child,
- details > :first-child>:first-child>:first-child:first-child,
- details > :first-child>:first-child>:first-child>:first-child { -webkit-margin-before: 0; margin-block-start: 0; }
-
-details > :last-child:last-child:last-child:last-child,
- details > :last-child>:last-child:last-child:last-child,
- details > :last-child>:last-child>:last-child:last-child,
- details > :last-child>:last-child>:last-child>:last-child { -webkit-margin-after: 0; margin-block-end: 0; }
-
-details {
- -webkit-padding-before: 0;
- padding-block-start: 0
-}
-
-details:not([open]) { -webkit-padding-after: 0; padding-block-end: 0; }
-
-summary {
- margin: calc(0px - var(--gap));
- margin-top: calc(0px - var(--gap));
- margin-bottom: 0;
- padding-inline: var(--gap);
-
- font-family: var(--secondary-font);
- font-weight: bold;
-
- background: var(--accent);
- color: var(--bg);
-
- cursor: pointer
-}
-
-summary:focus-visible, summary:active {
- filter: brightness(.8);
- }
-
-details[open] summary {
- -webkit-border-after: 1px solid var(--accent);
- border-block-end: 1px solid var(--accent);
- border-end-end-radius: 0;
- border-end-start-radius: 0
-}
-
-dialog {
- margin: var(--gap) 0;
- padding: var(--gap);
- overflow: clip;
- border-radius: var(--border-radius);
- background: var(--box-bg);
- border: 1px solid var(--faded-fg);
- /* artificially increase specificity */
- /* TODO: come up with a better way to do this */
-}
-
-dialog > :first-child:first-child:first-child:first-child,
- dialog > :first-child>:first-child:first-child:first-child,
- dialog > :first-child>:first-child>:first-child:first-child,
- dialog > :first-child>:first-child>:first-child>:first-child { -webkit-margin-before: 0; margin-block-start: 0; }
-
-dialog > :last-child:last-child:last-child:last-child,
- dialog > :last-child>:last-child:last-child:last-child,
- dialog > :last-child>:last-child>:last-child:last-child,
- dialog > :last-child>:last-child>:last-child>:last-child { -webkit-margin-after: 0; margin-block-end: 0; }
-
-dialog {
- position: absolute;
- inline-inset: 0;
-
- block-size: -moz-fit-content;
-
- block-size: fit-content;
- inline-size: -moz-fit-content;
- inline-size: fit-content;
-
- margin: auto;
-
- background-color: var(--bg);
- color: var(--fg);
-
- box-shadow:
- 0 0 .2em .1em var(--shadow),
- 0 .2em .4em var(--shadow),
- 0 .25em 1em var(--shadow);
-}
-
-dialog[open]::-webkit-backdrop {
- display: block;
- background: black;
- opacity: .4;
- animation: bg 2s;
-}
-
-dialog[open]::backdrop {
- display: block;
- background: black;
- opacity: .4;
- animation: bg 2s;
-}
-
-@keyframes bg {
- from { background: transparent; }
-}
-
-dialog:not([open]) {
- display: none;
-}
-
-/***
- 4.1 The document element
- https://html.spec.whatwg.org/multipage/semantics.html#the-root-element
-
- 4.3 Sections
- https://html.spec.whatwg.org/multipage/sections.html
- ***/
-
-html {
- font-family: var(--main-font);
- line-height: var(--rhythm);
-
- background: var(--bg);
- color: var(--fg);
-}
-
-body {
- margin: 0;
-}
-
-header, footer, section + section {
- margin-block: calc(2 * var(--gap));
-}
-
-nav a {
- text-decoration: none;
- color: var(--accent);
- }
-
-aside {
- margin: var(--gap) 0;
- padding: var(--gap);
- overflow: clip;
- border-radius: var(--border-radius);
- background: var(--box-bg);
- border: 1px solid var(--faded-fg)
- /* artificially increase specificity */
- /* TODO: come up with a better way to do this */
-}
-
-aside > :first-child:first-child:first-child:first-child,
- aside > :first-child>:first-child:first-child:first-child,
- aside > :first-child>:first-child>:first-child:first-child,
- aside > :first-child>:first-child>:first-child>:first-child { -webkit-margin-before: 0; margin-block-start: 0; }
-
-aside > :last-child:last-child:last-child:last-child,
- aside > :last-child>:last-child:last-child:last-child,
- aside > :last-child>:last-child>:last-child:last-child,
- aside > :last-child>:last-child>:last-child>:last-child { -webkit-margin-after: 0; margin-block-end: 0; }
-
-aside h1,
- aside h2,
- aside h3,
- aside h4,
- aside h5,
- aside h6 {
- font-size: 1em;
- text-transform: none;
- letter-spacing: none;
- }
-
-h1, h2, h3, h4, h5, h6,
-.\<h1\>, .\<h2\>, .\<h3\>, .\<h4\>, .\<h5\>, .\<h6\> {
- -webkit-margin-after: var(--gap);
- margin-block-end: var(--gap);
- font-family: var(--secondary-font);
- font-size: 1em;
- -webkit-margin-before: calc(2 * var(--gap));
- margin-block-start: calc(2 * var(--gap));
-}
-
-h1, .\<h1\> {
- font-size: 2em;
- text-transform: none;
- line-height: calc(2 * var(--rhythm));
- letter-spacing: 0;
-}
-
-h2, .\<h2\> {
- font-size: 1.6em;
- text-transform: none;
- line-height: calc(1.5 * var(--rhythm));
- letter-spacing: 0;
-}
-
-h3, .\<h3\> {
- font-size: 1.17em;
- line-height: calc(1 * var(--rhythm));
-}
-
-h4, .\<h4\>, h5, .\<h5\>, h6, .\<h6\> {
- font-size: 1em;
- text-transform: none;
- line-height: calc(1 * var(--rhythm));
- letter-spacing: 0;
- -webkit-margin-before: var(--gap);
- margin-block-start: var(--gap);
-}
-
-h1 + h2,
-h2 + h3,
-h3 + h4,
-h4 + h5,
-h5 + h6,
-h1:first-child,
-h2:first-child,
-h3:first-child,
-h4:first-child,
-h5:first-child,
-h6:first-child {
- -webkit-margin-before: var(--gap);
- margin-block-start: var(--gap);
-}
-
-h1:target,
-h2:target,
-h3:target,
-h4:target,
-h5:target,
-h6:target {
- outline: none
-}
-
-h1:target::before, h2:target::before, h3:target::before, h4:target::before, h5:target::before, h6:target::before {
- content: '❧';
- display: inline-block;
- width: 0;
- transform: translateX(-1.5ch);
- font-size: 2em;
- vertical-align: bottom;
- color: var(--accent);
- }
-
-header {
- font-family: var(--secondary-font);
- -webkit-border-after: 1px solid var(--faded-fg);
- border-block-end: 1px solid var(--faded-fg);
-}
-
-footer {
- font-family: var(--secondary-font);
- -webkit-border-before: 1px solid var(--faded-fg);
- border-block-start: 1px solid var(--faded-fg);
-}
-
-body > header,
-body > footer,
-main + footer {
- padding: var(--rhythm) calc((100% - var(--eff-line-length)) / 2)
-}
-
-address {
- --density: 0;
-}
-
-/***
- 4.9 Tabular data
- https://html.spec.whatwg.org/multipage/tables.html
- ***/
-
-table {
- font-variant-numeric: tabular-nums;
- font: inherit;
-}
-
-caption {
- text-align: start;
- font-family: var(--secondary-font);
- font-style: italic;
-}
-
-tbody {
- border-block: 1px solid var(--fg);
-}
-
-thead {
-}
-
-tfoot {
-}
-
-tr {
-
-}
-
-td, th {
- vertical-align: top
-}
-
-td:not(:last-child), th:not(:last-child) {
- -webkit-padding-end: var(--rhythm);
- padding-inline-end: var(--rhythm);
- }
-
-td {
- }
-
-th {
- font-family: var(--secondary-font);
- text-align: start;
- }
-
-:root {
- /* Colors */
- --fg: var(--gray-12); /* Text. */
- --muted-fg: var(--gray-10); /* De-emphasized or disabled elements' text. Will be
- used with a background of --c-bg and --c-bg-2 -- check contrast! */
- --faded-fg: var(--plain-faded-fg); /* De-emphasized or disabled graphical elements. Will not
- be used as a text color. */
-
- --plain-fg: var(--blue-10);
- --info-fg: var(--blue-11);
- --ok-fg: var(--green-11);
- --bad-fg: var(--red-11);
- --warn-fg: var(--yellow-11);
-
- --plain-faded-fg: var(--gray-6);
- --info-faded-fg: var(--blue-6);
- --ok-faded-fg: var(--green-6);
- --bad-faded-fg: var(--red-6);
- --warn-faded-fg: var(--yellow-6);
-
- --bg: var(--gray-0); /* Page background. */
- --box-bg: var(--plain-bg); /* Background for blocks: cards, admonitions etc. */
- --interactive-bg: var(--gray-3); /* Background for interactive elements */
-
- --plain-bg: var(--gray-1);
- --info-bg: var(--blue-1);
- --ok-bg: var(--green-1);
- --bad-bg: var(--red-1);
- --warn-bg: var(--yellow-1);
-
- --accent: var(--blue-10); /* Accent color. Will be used *as a text color* with a
- background of --c-bg and --c-bg-2 -- check contrast! */
- --muted-accent: var(--blue-7); /* Muted accent color. Will not be used for text. */
-
- /* Lengths */
- --rhythm: 1.4rem; /* Vertical rhythm, line height. */
- --line-length: 40rem; /* Maximum line length for prose. */
- --border-radius: .2rem;
-
- /* Fonts */
- --main-font: 'Source Sans 3', 'Source Sans Pro', -apple-system, system-ui, sans-serif;
- --secondary-font: var(--main-font); /* Headings etc. */
- --mono-font: 'M Plus Code Latin', monospace, monospace; /* monospace twice stops browsers from
- shrinking this */
-
- /* Density */
- --density: 1;
-
- /* Width */
- --full-width: 100vw;
-
- /* Do not set these. */
- --eff-line-length: /* Effective line length for prose. */
- min(
- calc( var(--full-width) - (2 * var(--rhythm)) ),
- var(--line-length)
- );
-
- --gutter-width: /* Width of spaces at each side of page content. */
- calc(
- (
- var(--full-width) /* Viewport width */
- - var(--eff-line-length) /* minus line width */
- ) / 2); /* Divide by 2: there are two page margins */
-}
-
-@media (prefers-color-scheme: dark) {
- :root:not(.-no-dark-theme) {
- --fg: var(--gray-0);
- --muted-fg: var(--gray-2);
- --faded-fg: var(--gray-7);
-
- --info-bg: var(--blue-12);
- --ok-bg: var(--green-12);
- --bad-bg: var(--red-12);
- --warn-bg: var(--yellow-12);
-
- --bg: var(--gray-12);
- --box-bg: var(--gray-10);
- --interactive-bg: var(--gray-8);
-
- --info-fg: var(--blue-3);
- --ok-fg: var(--green-3);
- --bad-fg: var(--red-3);
- --warn-fg: var(--yellow-3);
-
- --accent: var(--blue-3);
- --muted-accent: var(--blue-5);
- }
-}
-
-* {
- --gap: calc(var(--rhythm) * var(--density));
- accent-color: var(--accent);
-}
diff --git a/www/releases/_artifacts/v0.2.0/missing.min.css b/www/releases/_artifacts/v0.2.0/missing.min.css
deleted file mode 100644
index b4ddbbd..0000000
--- a/www/releases/_artifacts/v0.2.0/missing.min.css
+++ /dev/null
@@ -1,15 +0,0 @@
-@keyframes bg{0%{background:0 0}}*,::after,::before{box-sizing:border-box;background-repeat:no-repeat}::after,::before{text-decoration:inherit;vertical-align:inherit}:root{cursor:default;overflow-wrap:break-word;-webkit-tap-highlight-color:transparent;text-size-adjust:none;-webkit-text-size-adjust:none}abbr[title]{-webkit-text-decoration:underline dotted;text-decoration:underline dotted}b,strong{font-weight:bolder}small{font-size:80%}audio,canvas,iframe,img,svg,video{vertical-align:middle}svg:not([fill]){fill:currentColor}table{border-collapse:collapse;border-color:currentColor;text-indent:0;font-variant-numeric:tabular-nums;font:inherit}button,input,select,textarea{margin:0}[type=button],[type=reset],[type=submit],button{-webkit-appearance:button}fieldset{border:1px solid #a0a0a0;position:relative;padding:var(--gap);margin:var(--gap) 0;width:100%;border-radius:var(--border-radius);border:1px solid var(--faded-fg)}progress{vertical-align:baseline}[type=search]{-webkit-appearance:textfield;outline-offset:-2px}::-webkit-inner-spin-button,::-webkit-outer-spin-button{block-size:auto}::-webkit-input-placeholder{color:inherit;opacity:.54}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{-webkit-appearance:button;font:inherit}[hidden],datalist{display:none!important}:focus-visible{outline:.2em solid var(--accent);z-index:32}body:focus-visible,html:focus-visible,iframe:focus-visible{outline:0}:target{outline:.2em solid var(--fg);z-index:32}details>summary:first-of-type{display:list-item}[aria-busy=true]{cursor:progress}[aria-disabled=true],[disabled]{cursor:not-allowed}:root{--gray-0: #f8fafb;--gray-1: #f2f4f6;--gray-2: #ebedef;--gray-3: #e0e4e5;--gray-4: #d1d6d8;--gray-5: #b1b6b9;--gray-6: #979b9d;--gray-7: #7e8282;--gray-8: #666968;--gray-9: #50514f;--gray-10: #3a3a37;--gray-11: #252521;--gray-12: #121210;--red-0: #fff5f5;--red-1: #ffe3e3;--red-2: #ffc9c9;--red-3: #ffa8a8;--red-4: #ff8787;--red-5: #ff6b6b;--red-6: #fa5252;--red-7: #f03e3e;--red-8: #e03131;--red-9: #c92a2a;--red-10: #b02525;--red-11: #962020;--red-12: #7d1a1a;--pink-0: #fff0f6;--pink-1: #ffdeeb;--pink-2: #fcc2d7;--pink-3: #faa2c1;--pink-4: #f783ac;--pink-5: #f06595;--pink-6: #e64980;--pink-7: #d6336c;--pink-8: #c2255c;--pink-9: #a61e4d;--pink-10: #8c1941;--pink-11: #731536;--pink-12: #59102a;--purple-0: #f8f0fc;--purple-1: #f3d9fa;--purple-2: #eebefa;--purple-3: #e599f7;--purple-4: #da77f2;--purple-5: #cc5de8;--purple-6: #be4bdb;--purple-7: #ae3ec9;--purple-8: #9c36b5;--purple-9: #862e9c;--purple-10: #702682;--purple-11: #5a1e69;--purple-12: #44174f;--violet-0: #f3f0ff;--violet-1: #e5dbff;--violet-2: #d0bfff;--violet-3: #b197fc;--violet-4: #9775fa;--violet-5: #845ef7;--violet-6: #7950f2;--violet-7: #7048e8;--violet-8: #6741d9;--violet-9: #5f3dc4;--violet-10: #5235ab;--violet-11: #462d91;--violet-12: #3a2578;--indigo-0: #edf2ff;--indigo-1: #dbe4ff;--indigo-2: #bac8ff;--indigo-3: #91a7ff;--indigo-4: #748ffc;--indigo-5: #5c7cfa;--indigo-6: #4c6ef5;--indigo-7: #4263eb;--indigo-8: #3b5bdb;--indigo-9: #364fc7;--indigo-10: #2f44ad;--indigo-11: #283a94;--indigo-12: #21307a;--blue-0: #e7f5ff;--blue-1: #d0ebff;--blue-2: #a5d8ff;--blue-3: #74c0fc;--blue-4: #4dabf7;--blue-5: #339af0;--blue-6: #228be6;--blue-7: #1c7ed6;--blue-8: #1971c2;--blue-9: #1864ab;--blue-10: #145591;--blue-11: #114678;--blue-12: #0d375e;--cyan-0: #e3fafc;--cyan-1: #c5f6fa;--cyan-2: #99e9f2;--cyan-3: #66d9e8;--cyan-4: #3bc9db;--cyan-5: #22b8cf;--cyan-6: #15aabf;--cyan-7: #1098ad;--cyan-8: #0c8599;--cyan-9: #0b7285;--cyan-10: #095c6b;--cyan-11: #074652;--cyan-12: #053038;--teal-0: #e6fcf5;--teal-1: #c3fae8;--teal-2: #96f2d7;--teal-3: #63e6be;--teal-4: #38d9a9;--teal-5: #20c997;--teal-6: #12b886;--teal-7: #0ca678;--teal-8: #099268;--teal-9: #087f5b;--teal-10: #066649;--teal-11: #054d37;--teal-12: #033325;--green-0: #ebfbee;--green-1: #d3f9d8;--green-2: #b2f2bb;--green-3: #8ce99a;--green-4: #69db7c;--green-5: #51cf66;--green-6: #40c057;--green-7: #37b24d;--green-8: #2f9e44;--green-9: #2b8a3e;--green-10: #237032;--green-11: #1b5727;--green-12: #133d1b;--lime-0: #f4fce3;--lime-1: #e9fac8;--lime-2: #d8f5a2;--lime-3: #c0eb75;--lime-4: #a9e34b;--lime-5: #94d82d;--lime-6: #82c91e;--lime-7: #74b816;--lime-8: #66a80f;--lime-9: #5c940d;--lime-10: #4c7a0b;--lime-11: #3c6109;--lime-12: #2c4706;--yellow-0: #fff9db;--yellow-1: #fff3bf;--yellow-2: #ffec99;--yellow-3: #ffe066;--yellow-4: #ffd43b;--yellow-5: #fcc419;--yellow-6: #fab005;--yellow-7: #f59f00;--yellow-8: #f08c00;--yellow-9: #e67700;--yellow-10: #b35c00;--yellow-11: #804200;--yellow-12: #663500;--orange-0: #fff4e6;--orange-1: #ffe8cc;--orange-2: #ffd8a8;--orange-3: #ffc078;--orange-4: #ffa94d;--orange-5: #ff922b;--orange-6: #fd7e14;--orange-7: #f76707;--orange-8: #e8590c;--orange-9: #d9480f;--orange-10: #bf400d;--orange-11: #99330b;--orange-12: #802b09;--choco-0: #fff8dc;--choco-1: #fce1bc;--choco-2: #f7ca9e;--choco-3: #f1b280;--choco-4: #e99b62;--choco-5: #df8545;--choco-6: #d46e25;--choco-7: #bd5f1b;--choco-8: #a45117;--choco-9: #8a4513;--choco-10: #703a13;--choco-11: #572f12;--choco-12: #3d210d;--brown-0: #faf4eb;--brown-1: #ede0d1;--brown-2: #e0cab7;--brown-3: #d3b79e;--brown-4: #c5a285;--brown-5: #b78f6d;--brown-6: #a87c56;--brown-7: #956b47;--brown-8: #825b3a;--brown-9: #6f4b2d;--brown-10:#5e3a21;--brown-11:#4e2b15;--brown-12: #422412;--sand-0: #f8fafb;--sand-1: #e6e4dc;--sand-2: #d5cfbd;--sand-3: #c2b9a0;--sand-4: #aea58c;--sand-5: #9a9178;--sand-6: #867c65;--sand-7: #736a53;--sand-8: #5f5746;--sand-9: #4b4639;--sand-10:#38352d;--sand-11:#252521;--sand-12: #121210;--camo-0: #f9fbe7;--camo-1: #e8ed9c;--camo-2: #d2df4e;--camo-3: #c2ce34;--camo-4: #b5bb2e;--camo-5: #a7a827;--camo-6: #999621;--camo-7: #8c851c;--camo-8: #7e7416;--camo-9: #6d6414;--camo-10: #5d5411;--camo-11: #4d460e;--camo-12: #36300a;--jungle-0: #ecfeb0;--jungle-1: #def39a;--jungle-2: #d0e884;--jungle-3: #c2dd6e;--jungle-4: #b5d15b;--jungle-5: #a8c648;--jungle-6: #9bbb36;--jungle-7: #8fb024;--jungle-8: #84a513;--jungle-9: #7a9908;--jungle-10: #658006;--jungle-11: #516605;--jungle-12: #3d4d04}.box,aside,details,dialog{margin:var(--gap) 0;padding:var(--gap);overflow:clip;border-radius:var(--border-radius);background:var(--box-bg);border:1px solid var(--faded-fg)}.box>:first-child:first-child:first-child:first-child,.box>:first-child>:first-child:first-child:first-child,.box>:first-child>:first-child>:first-child:first-child,.box>:first-child>:first-child>:first-child>:first-child{-webkit-margin-before:0;margin-block-start:0}.box>:last-child:last-child:last-child:last-child,.box>:last-child>:last-child:last-child:last-child,.box>:last-child>:last-child>:last-child:last-child,.box>:last-child>:last-child>:last-child>:last-child{-webkit-margin-after:0;margin-block-end:0}.titlebar{margin-inline:calc(0px - var(--gap));-webkit-margin-after:calc(0px - var(--gap));margin-block-end:calc(0px - var(--gap));padding-inline:var(--gap);font:inherit;font-weight:700;translate:0 calc(-1px - var(--gap));background:var(--accent);color:var(--bg)}.breadcrumbs[aria-label],.titlebar{font-family:var(--secondary-font)}.breadcrumbs[aria-label] ol,.breadcrumbs[aria-label] ul{list-style:none;-webkit-padding-start:0;padding-inline-start:0}.breadcrumbs[aria-label] li{display:inline}:is(.breadcrumbs[aria-label] li)+li::before{content:' / ';display:inline}.breadcrumbs[aria-label] [aria-current=page],dt{font-weight:700}.chip,[role=menu],chip{background:var(--box-bg)}.chip,chip{font-family:var(--secondary-font);border-radius:calc(var(--rhythm)/2);padding-inline:calc(var(--rhythm)/2);border:1px solid var(--accent)}[role=menu]{margin:var(--gap) 0;padding:var(--gap);overflow:clip;border-radius:var(--border-radius);border:1px solid var(--faded-fg);position:absolute;padding:calc(var(--gap)/2) 0;margin:1px 0 0;display:flex;flex-flow:column nowrap}[role=menu]>:first-child:first-child:first-child:first-child,[role=menu]>:first-child>:first-child:first-child:first-child,[role=menu]>:first-child>:first-child>:first-child:first-child,[role=menu]>:first-child>:first-child>:first-child>:first-child{-webkit-margin-before:0;margin-block-start:0}[role=menu]>:last-child:last-child:last-child:last-child,[role=menu]>:last-child>:last-child:last-child:last-child,[role=menu]>:last-child>:last-child>:last-child:last-child,[role=menu]>:last-child>:last-child>:last-child>:last-child{-webkit-margin-after:0;margin-block-end:0}[role=menuitem]{padding:0 calc(var(--gap)/2);display:block;text-decoration:none;color:var(--fg)}[role=menuitem]:focus{background:var(--accent);color:var(--bg)}.navbar{margin:0;padding:0 var(--rhythm);font-family:var(--secondary-font);background:var(--box-bg);-webkit-border-after:1px solid var(--accent);border-block-end:1px solid var(--accent);overflow-x:auto;scrollbar-width:thin;display:flex;flex-flow:row;gap:calc(2*var(--rhythm))}.navbar :first-child{-webkit-margin-start:auto;margin-inline-start:auto}.navbar :last-child{-webkit-margin-end:auto;margin-inline-end:auto}.navbar *,.navbar nav ul[role=list] *{flex-shrink:0}.navbar nav ul[role=list]{-webkit-padding-start:0;padding-inline-start:0;display:flex;flex-flow:row;gap:var(--rhythm)}.navbar a,.sidebar a{font-weight:700;text-decoration:none}.navbar a:focus,.navbar a:hover{text-decoration:underline}.navbar [aria-current=page]{background:var(--accent);color:var(--box-bg);border-radius:var(--border-radius);outline:.2em solid var(--accent)}.permalink-anchor{display:none}:hover>.permalink-anchor{display:initial}.sidebar{margin:var(--gap) 0;padding:var(--gap);overflow:clip;border-radius:var(--border-radius);background:var(--box-bg);border:1px solid var(--faded-fg);font-family:var(--secondary-font);border-block:none;-webkit-border-start:none;border-inline-start:none;border-radius:0;margin:0;font-size:.8em;--rhythm: 1em
-}.sidebar>:first-child:first-child:first-child:first-child,.sidebar>:first-child>:first-child:first-child:first-child,.sidebar>:first-child>:first-child>:first-child:first-child,.sidebar>:first-child>:first-child>:first-child>:first-child{-webkit-margin-before:0;margin-block-start:0}.sidebar>:last-child:last-child:last-child:last-child,.sidebar>:last-child>:last-child:last-child:last-child,.sidebar>:last-child>:last-child>:last-child:last-child,.sidebar>:last-child>:last-child>:last-child>:last-child{-webkit-margin-after:0;margin-block-end:0}.sidebar li{padding:calc(.5*var(--gap));margin-inline:calc(-.5*var(--gap));border-radius:var(--border-radius)}.sub-title,sub-title{display:block;font-weight:400;color:var(--muted-fg)}[role=tablist]{display:flex;gap:.5ch;scrollbar-width:thin}[role=tab][role=tab]{all:initial;font-family:var(--secondary-font);padding:0 calc(var(--rhythm)/4);margin:0;min-height:var(--rhythm);border:solid var(--box-border);border-width:1px 1px 0;border-block-end-color:transparent;background:var(--interactive-bg);border-start-start-radius:.4em;border-start-end-radius:.4em}[role=tab][role=tab]:active,[role=tab][role=tab][aria-selected=true]{transform:none;bottom:-1px;position:relative;background:var(--box-bg);-webkit-border-after:1px solid var(--box-bg);border-block-end:1px solid var(--box-bg)}[role=tabpanel]{margin:var(--gap) 0;padding:var(--gap);overflow:clip;border-radius:var(--border-radius);background:var(--box-bg);border:1px solid var(--faded-fg);-webkit-margin-before:0;margin-block-start:0;border-start-start-radius:0;border-start-end-radius:0;z-index:1}[role=tabpanel]>:first-child:first-child:first-child:first-child,[role=tabpanel]>:first-child>:first-child:first-child:first-child,[role=tabpanel]>:first-child>:first-child>:first-child:first-child,[role=tabpanel]>:first-child>:first-child>:first-child>:first-child{-webkit-margin-before:0;margin-block-start:0}[role=tabpanel]>:last-child:last-child:last-child:last-child,[role=tabpanel]>:last-child>:last-child:last-child:last-child,[role=tabpanel]>:last-child>:last-child>:last-child:last-child,[role=tabpanel]>:last-child>:last-child>:last-child>:last-child{-webkit-margin-after:0;margin-block-end:0}.tool-bar{display:flex;flex-flow:row wrap;gap:calc(var(--gap)/2)}.tool-bar>*{margin:0}.plain{--box-bg: var(--plain-bg);--accent: var(--plain-fg);--faded-fg: var(--plain-faded-fg)}.info{--box-bg: var(--info-bg);--accent: var(--info-fg);--faded-fg: var(--info-faded-fg)}.ok{--box-bg: var(--ok-bg);--accent: var(--ok-fg);--faded-fg: var(--ok-faded-fg)}.warn{--box-bg: var(--warn-bg);--accent: var(--warn-fg);--faded-fg: var(--warn-faded-fg)}.bad{--box-bg: var(--bad-bg);--accent: var(--bad-fg);--faded-fg: var(--bad-faded-fg)}.color{color:var(--accent)}.bg{background:var(--box-bg)}.border{border-style:solid;border-color:var(--faded-fg)}.airy{--density: 3}.dense{--density: 1}.crowded{--density: .5}.packed,address{--density: 0}.autodensity{--density: 1
-}@media (min-width:768px){.autodensity{--density: 2
-}}@media (min-width:1024px){.autodensity{--density: 3
-}}.f-row{display:flex;flex-direction:row;gap:var(--gap)}.f-row>*{margin:0}.f-col{display:flex;flex-direction:column;gap:var(--gap)}.f-col>*,body{margin:0}.f-switch{display:flex;flex-flow:row wrap;gap:var(--gap);--col-width: 15ch
-}.f-switch>*{margin:0;flex-basis:calc((var(--col-width) - 100%)*999);flex-grow:1}.justify-content\:start{justify-content:start}.justify-content\:end{justify-content:end}.justify-content\:baseline{justify-content:baseline}.justify-content\:center{justify-content:center}.justify-content\:stretch{justify-content:stretch}.align-items\:start{align-items:start}.align-items\:end{align-items:end}.align-items\:baseline{align-items:baseline}.align-items\:center{align-items:center}.align-items\:stretch{align-items:stretch}.align-self\:start{align-self:start}.align-self\:end{align-self:end}.align-self\:baseline{align-self:baseline}.align-self\:center{align-self:center}.align-self\:stretch{align-self:stretch}.flex-grow\:0{flex-grow:0}.flex-grow\:1{flex-grow:1}.flex-grow\:2{flex-grow:2}.flex-grow\:3{flex-grow:3}.flex-grow\:4{flex-grow:4}.flex-grow\:5{flex-grow:5}.flex-grow\:6{flex-grow:6}.flex-grow\:7{flex-grow:7}.flex-grow\:8{flex-grow:8}.flex-grow\:9{flex-grow:9}.flex-grow\:10{flex-grow:10}.flex-grow\:11{flex-grow:11}.flex-grow\:12{flex-grow:12}.flex-wrap\:wrap{flex-wrap:wrap}.flex-wrap\:nowrap{flex-wrap:nowrap}.vh,v-h{clip:rect(0 0 0 0);-webkit-clip-path:inset(50%);clip-path:inset(50%);block-size:1px;overflow:hidden;position:absolute;white-space:nowrap;inline-size:1px}.all\:initial{all:initial}.textcolumns{--col-width: 30ch;column-width:var(--col-width);column-gap:var(--gap);margin-block:var(--gap)}.textcolumns :first-child{-webkit-margin-before:0!important;margin-block-start:0!important}.text-align\:center{text-align:center}.center{display:grid;place-items:center}.container{max-inline-size:var(--eff-line-length);margin-inline:auto}.fullbleed{position:relative;width:100vw;left:50%;transform:translateX(-50vw);border-radius:0;border-inline:none}.width\:100\%{width:100%}.padding{padding-inline:var(--gap)}.padding>:first-child:first-child:first-child:first-child,.padding>:first-child>:first-child:first-child:first-child,.padding>:first-child>:first-child>:first-child:first-child,.padding>:first-child>:first-child>:first-child>:first-child{-webkit-margin-before:0;margin-block-start:0}.padding>:last-child:last-child:last-child:last-child,.padding>:last-child>:last-child:last-child:last-child,.padding>:last-child>:last-child>:last-child:last-child,.padding>:last-child>:last-child>:last-child>:last-child{-webkit-margin-after:0;margin-block-end:0}.padding-block{padding-block:var(--gap)}.padding-block>:first-child:first-child:first-child:first-child,.padding-block>:first-child>:first-child:first-child:first-child,.padding-block>:first-child>:first-child>:first-child:first-child,.padding-block>:first-child>:first-child>:first-child>:first-child,fieldset>:first-child:first-child:first-child:first-child,fieldset>:first-child>:first-child:first-child:first-child,fieldset>:first-child>:first-child>:first-child:first-child,fieldset>:first-child>:first-child>:first-child>:first-child{-webkit-margin-before:0;margin-block-start:0}.padding-block>:last-child:last-child:last-child:last-child,.padding-block>:last-child>:last-child:last-child:last-child,.padding-block>:last-child>:last-child>:last-child:last-child,.padding-block>:last-child>:last-child>:last-child>:last-child,fieldset>:last-child:last-child:last-child:last-child,fieldset>:last-child>:last-child:last-child:last-child,fieldset>:last-child>:last-child>:last-child:last-child,fieldset>:last-child>:last-child>:last-child>:last-child{-webkit-margin-after:0;margin-block-end:0}.padding-inline{padding-inline:var(--gap)}.margin{margin:var(--gap)}.margin-block,dl,p{margin-block:var(--gap)}.margin-inline{margin-inline:var(--gap)}.inline{display:inline}.block,input{display:block}.contents{display:contents}.table{display:table;width:100%;margin:0}.row,.rows>*{display:table-row}.row:not(:last-child)>*,.rows>:not(:last-child)>*{margin-bottom:var(--gap)}.row>:not([specificity-hack]),.rows>*>:not([specificity-hack]){display:table-cell;vertical-align:top}.row>*+:not([specificity-hack]),:is(.rows > *)>*+:not([specificity-hack]){-webkit-margin-start:var(--gap);margin-inline-start:var(--gap);display:inline-block}.fixed{position:fixed}.sticky{position:sticky}.top{top:0}.right{right:0}.bottom{bottom:0}.left{left:0}.float\:left{float:left}.float\:right{float:right}.overflow\:auto{overflow:auto}.overflow\:scroll{overflow:scroll}.allcaps{text-transform:uppercase;letter-spacing:.1rem}.monospace,code,kbd,samp{font-family:var(--mono-font)}audio,embed,iframe,img,object,video{max-inline-size:100%;inline-size:max-content;block-size:auto}label input:not([specificity-hack]){display:inline;padding-block:0}.\<button\>,button,input::file-selector-button,input[type=button],input[type=reset],input[type=submit]{display:inline-block;padding:0 calc(var(--rhythm)/4);vertical-align:top;font-size:.8rem;line-height:1.125em;font-family:var(--secondary-font);min-height:var(--rhythm);background:var(--interactive-bg);border:1px solid var(--muted-fg);box-sizing:border-box;border-radius:var(--border-radius);color:var(--fg);text-decoration:none;display:inline-flex;place-items:center}:is(button,input[type="submit"],input[type="reset"],input[type="button"],input::file-selector-button,.\<button\>):focus-visible,:is(button,input[type="submit"],input[type="reset"],input[type="button"],input::file-selector-button,.\<button\>):hover{filter:brightness(1.1);text-decoration:none}:is(button,input[type="submit"],input[type="reset"],input[type="button"],input::file-selector-button,.\<button\>):active{filter:brightness(.8)}[aria-expanded=true]:is(button,input[type="submit"],input[type="reset"],input[type="button"],input::file-selector-button,.\<button\>),[aria-pressed=true]:is(button,input[type="submit"],input[type="reset"],input[type="button"],input::file-selector-button,.\<button\>){box-shadow:0 .05em var(--accent);transform:translateY(.05em);background:var(--pressed-interactive-bg)}[disabled]:is(button,input[type="submit"],input[type="reset"],input[type="button"],input::file-selector-button,.\<button\>){color:var(--muted-fg)}strong>:is(button,input[type="submit"],input[type="reset"],input[type="button"],input::file-selector-button,.\<button\>){background:var(--accent);color:var(--bg);border:0;font-weight:700}strong>[disabled]:is(button,input[type="submit"],input[type="reset"],input[type="button"],input::file-selector-button,.\<button\>){color:var(--muted-accent)}input:not([type]),input[type=date],input[type=datetime-local],input[type=datetime],input[type=email],input[type=month],input[type=number],input[type=password],input[type=search],input[type=tel],input[type=text],input[type=time],input[type=url],input[type=week],select,textarea{padding:calc(var(--rhythm)/4);font-size:1rem;line-height:inherit;font-family:var(--main-font);background:var(--bg);color:var(--fg);border:1px solid var(--faded-fg);border-radius:var(--border-radius);vertical-align:top}:is(input:not([type]),input[type="text"],input[type="search"],input[type="tel"],input[type="url"],input[type="email"],input[type="password"],input[type="date"],input[type="month"],input[type="week"],input[type="time"],input[type="datetime"],input[type="datetime-local"],input[type="number"],select,textarea):focus-visible{border:1px solid var(--accent)}:is(input:not([type]),input[type="text"],input[type="search"],input[type="tel"],input[type="url"],input[type="email"],input[type="password"],input[type="date"],input[type="month"],input[type="week"],input[type="time"],input[type="datetime"],input[type="datetime-local"],input[type="number"],select,textarea)::placeholder{color:var(--muted-fg);opacity:1;text-align:end}input[type=range]{width:100%;padding:calc(var(--gap)/4)}input[type=color]{padding:0;margin:0;height:calc(1.5*var(--rhythm));border:0;background:0 0}input[type=file]{padding:calc(var(--gap)/4) 0;font:inherit;line-height:calc(var(--rhythm)/2)}input[type=file]::file-selector-button{margin-block:.1em 0;-webkit-margin-end:1ch;margin-inline-end:1ch}select[multiple],td,th{vertical-align:top}optgroup::before{color:var(--muted-fg)}label[for]{display:block;padding-block:calc(var(--gap)/4)}fieldset>legend+*{-webkit-margin-before:0;margin-block-start:0}hr{color:inherit;margin-inline:0;margin-block:var(--gap);flex-grow:0;-webkit-border-start:1px solid var(--accent);border-inline-start:1px solid var(--accent);block-size:auto;-webkit-border-before:1px solid var(--accent);border-block-start:1px solid var(--accent);-webkit-border-after:none;border-block-end:none;-webkit-border-end:none;border-inline-end:none}blockquote,pre{line-height:var(--rhythm)}pre{font-family:var(--mono-font);tab-size:2;margin:var(--gap) 0;overflow-x:auto;scrollbar-width:thin;scrollbar-color:var(--accent) transparent;font-size:.9em}blockquote{margin-inline:0 var(--gap);padding-inline:var(--gap) 0;margin-block:var(--gap);font-size:1.1em;font-style:italic;-webkit-border-start:1px solid var(--faded-fg);border-inline-start:1px solid var(--faded-fg);color:var(--muted-fg)}blockquote address,blockquote cite,blockquote dfn,blockquote em,blockquote i,blockquote var,optgroup::before,q address,q cite,q dfn,q em,q i,q var{font-style:normal}blockquote footer{text-align:right;text-align:end}ol,ol[role=list],ul,ul[role=list]{-webkit-padding-start:0;padding-inline-start:0}ol ol,ol ul,ul ol,ul ul{-webkit-padding-start:var(--gap);padding-inline-start:var(--gap)}ol[role=list],ul[role=list]{list-style:none}ol{list-style:decimal}dd{-webkit-margin-start:var(--rhythm);margin-inline-start:var(--rhythm)}li::marker{font-family:var(--secondary-font)}figure{max-width:100%;margin-inline:0;margin:var(--gap) 0;padding:var(--gap);overflow:clip;border-radius:var(--border-radius);background:var(--box-bg);border:1px solid var(--faded-fg)}figure>:first-child:first-child:first-child:first-child,figure>:first-child>:first-child:first-child:first-child,figure>:first-child>:first-child>:first-child:first-child,figure>:first-child>:first-child>:first-child>:first-child{-webkit-margin-before:0;margin-block-start:0}figure>:last-child:last-child:last-child:last-child,figure>:last-child>:last-child:last-child:last-child,figure>:last-child>:last-child>:last-child:last-child,figure>:last-child>:last-child>:last-child>:last-child{-webkit-margin-after:0;margin-block-end:0}a,figcaption{font-family:var(--secondary-font)}figcaption{margin-block:var(--gap);color:var(--muted-fg)}main{max-inline-size:var(--eff-line-length);margin:auto}a{color:var(--link-fg, var(--accent))}.list-of-links a{text-decoration:none}a:hover{text-decoration:underline}span>small:only-child{display:block;float:inline-end;clear:inline-end;--sidenote-width: 20ch;max-inline-size:var(--sidenote-width);padding-inline:1.5ch 1ch;-webkit-margin-end:calc(1em - var(--sidenote-width));margin-inline-end:calc(1em - var(--sidenote-width));-webkit-margin-after:var(--rhythm);margin-block-end:var(--rhythm);font-family:var(--secondary-font);background:var(--bg);border:1px solid transparent;transition:transform .1s ease-in-out}span>small:only-child:focus-within,span>small:only-child:hover{border:1px solid var(--faded-fg);border-radius:var(--border-radius);transform:translateX(calc(0px - var(--sidenote-width) + min(var(--gutter-width),var(--sidenote-width))))}del,s{color:var(--bad-fg)}q{font-style:italic}time{font-variant-numeric:tabular-nums}ins,samp{color:var(--ok-fg)}kbd kbd{display:inline-block;padding:0 .3em;font-size:.8em;line-height:1.1em;background:var(--interactive-bg);border:1px outset var(--faded-fg);border-block-end-width:3px;border-radius:var(--border-radius)}sub,sup{vertical-align:bottom;line-height:1}sup{vertical-align:top}mark{background:var(--warn-bg);color:var(--warn-fg)}ins{background:var(--ok-bg)}del{background:var(--bad-bg)}details>:first-child:first-child:first-child:first-child,details>:first-child>:first-child:first-child:first-child,details>:first-child>:first-child>:first-child:first-child,details>:first-child>:first-child>:first-child>:first-child{-webkit-margin-before:0;margin-block-start:0}details>:last-child:last-child:last-child:last-child,details>:last-child>:last-child:last-child:last-child,details>:last-child>:last-child>:last-child:last-child,details>:last-child>:last-child>:last-child>:last-child{-webkit-margin-after:0;margin-block-end:0}details{-webkit-padding-before:0;padding-block-start:0}details:not([open]){-webkit-padding-after:0;padding-block-end:0}summary{margin:calc(0px - var(--gap));margin-bottom:0;padding-inline:var(--gap);font-family:var(--secondary-font);font-weight:700;background:var(--accent);color:var(--bg);cursor:pointer}summary:active,summary:focus-visible{filter:brightness(.8)}details[open] summary{-webkit-border-after:1px solid var(--accent);border-block-end:1px solid var(--accent);border-end-end-radius:0;border-end-start-radius:0}dialog>:first-child:first-child:first-child:first-child,dialog>:first-child>:first-child:first-child:first-child,dialog>:first-child>:first-child>:first-child:first-child,dialog>:first-child>:first-child>:first-child>:first-child{-webkit-margin-before:0;margin-block-start:0}dialog>:last-child:last-child:last-child:last-child,dialog>:last-child>:last-child:last-child:last-child,dialog>:last-child>:last-child>:last-child:last-child,dialog>:last-child>:last-child>:last-child>:last-child{-webkit-margin-after:0;margin-block-end:0}dialog{position:absolute;inline-inset:0;block-size:-moz-fit-content;block-size:fit-content;inline-size:-moz-fit-content;inline-size:fit-content;margin:auto;background-color:var(--bg);color:var(--fg);box-shadow:0 0 .2em .1em var(--shadow),0 .2em .4em var(--shadow),0 .25em 1em var(--shadow)}dialog[open]::-webkit-backdrop{display:block;background:#000;opacity:.4;animation:bg 2s}dialog[open]::backdrop{display:block;background:#000;opacity:.4;animation:bg 2s}dialog:not([open]){display:none}html{font-family:var(--main-font);line-height:var(--rhythm);background:var(--bg);color:var(--fg)}footer,header,section+section{margin-block:calc(2*var(--gap))}nav a{text-decoration:none;color:var(--accent)}aside>:first-child:first-child:first-child:first-child,aside>:first-child>:first-child:first-child:first-child,aside>:first-child>:first-child>:first-child:first-child,aside>:first-child>:first-child>:first-child>:first-child{-webkit-margin-before:0;margin-block-start:0}aside>:last-child:last-child:last-child:last-child,aside>:last-child>:last-child:last-child:last-child,aside>:last-child>:last-child>:last-child:last-child,aside>:last-child>:last-child>:last-child>:last-child{-webkit-margin-after:0;margin-block-end:0}aside h1,aside h2,aside h3,aside h4,aside h5,aside h6{font-size:1em;text-transform:none;letter-spacing:none}.\<h1\>,.\<h2\>,.\<h3\>,.\<h4\>,.\<h5\>,.\<h6\>,h1,h2,h3,h4,h5,h6{-webkit-margin-after:var(--gap);margin-block-end:var(--gap);font-family:var(--secondary-font);-webkit-margin-before:calc(2*var(--gap));margin-block-start:calc(2*var(--gap))}.\<h1\>,.\<h2\>,h1,h2{font-size:2em;text-transform:none;line-height:calc(2*var(--rhythm));letter-spacing:0}.\<h2\>,h2{font-size:1.6em;line-height:calc(1.5*var(--rhythm))}.\<h3\>,.\<h4\>,.\<h5\>,.\<h6\>,h3,h4,h5,h6{font-size:1.17em;line-height:calc(1*var(--rhythm))}.\<h4\>,.\<h5\>,.\<h6\>,h4,h5,h6{font-size:1em;text-transform:none;letter-spacing:0;-webkit-margin-before:var(--gap);margin-block-start:var(--gap)}h1+h2,h1:first-child,h2+h3,h2:first-child,h3+h4,h3:first-child,h4+h5,h4:first-child,h5+h6,h5:first-child,h6:first-child{-webkit-margin-before:var(--gap);margin-block-start:var(--gap)}h1:target,h2:target,h3:target,h4:target,h5:target,h6:target{outline:0}h1:target::before,h2:target::before,h3:target::before,h4:target::before,h5:target::before,h6:target::before{content:'❧';display:inline-block;width:0;transform:translateX(-1.5ch);font-size:2em;vertical-align:bottom;color:var(--accent)}header{-webkit-border-after:1px solid var(--faded-fg);border-block-end:1px solid var(--faded-fg)}caption,footer,header{font-family:var(--secondary-font)}footer{-webkit-border-before:1px solid var(--faded-fg);border-block-start:1px solid var(--faded-fg)}body>footer,body>header,main+footer{padding:var(--rhythm) calc((100% - var(--eff-line-length))/2)}caption{text-align:start;font-style:italic}tbody{border-block:1px solid var(--fg)}td:not(:last-child),th:not(:last-child){-webkit-padding-end:var(--rhythm);padding-inline-end:var(--rhythm)}th{font-family:var(--secondary-font);text-align:start}:root{--fg: var(--gray-12);--muted-fg: var(--gray-10);--faded-fg: var(--plain-faded-fg);--plain-fg: var(--blue-10);--info-fg: var(--blue-11);--ok-fg: var(--green-11);--bad-fg: var(--red-11);--warn-fg: var(--yellow-11);--plain-faded-fg: var(--gray-6);--info-faded-fg: var(--blue-6);--ok-faded-fg: var(--green-6);--bad-faded-fg: var(--red-6);--warn-faded-fg: var(--yellow-6);--bg: var(--gray-0);--box-bg: var(--plain-bg);--interactive-bg: var(--gray-3);--plain-bg: var(--gray-1);--info-bg: var(--blue-1);--ok-bg: var(--green-1);--bad-bg: var(--red-1);--warn-bg: var(--yellow-1);--accent: var(--blue-10);--muted-accent: var(--blue-7);--rhythm: 1.4rem;--line-length: 40rem;--border-radius: .2rem;--main-font: 'Source Sans 3', 'Source Sans Pro', -apple-system, system-ui, sans-serif;--secondary-font: var(--main-font);--mono-font: 'M Plus Code Latin', monospace, monospace;--density: 1;--full-width: 100vw;--eff-line-length: /* Effective line length for prose. */
- min(
- calc( var(--full-width) - (2 * var(--rhythm)) ),
- var(--line-length)
- );--gutter-width: /* Width of spaces at each side of page content. */
- calc(
- (
- var(--full-width) /* Viewport width */
- - var(--eff-line-length) /* minus line width */
- ) / 2)}@media (prefers-color-scheme:dark){:root:not(.-no-dark-theme){--fg: var(--gray-0);--muted-fg: var(--gray-2);--faded-fg: var(--gray-7);--info-bg: var(--blue-12);--ok-bg: var(--green-12);--bad-bg: var(--red-12);--warn-bg: var(--yellow-12);--bg: var(--gray-12);--box-bg: var(--gray-10);--interactive-bg: var(--gray-8);--info-fg: var(--blue-3);--ok-fg: var(--green-3);--bad-fg: var(--red-3);--warn-fg: var(--yellow-3);--accent: var(--blue-3);--muted-accent: var(--blue-5)}}*{--gap: calc(var(--rhythm) * var(--density));accent-color:var(--accent)} \ No newline at end of file
diff --git a/www/releases/_artifacts/v0.2.0/missing.min.css.br b/www/releases/_artifacts/v0.2.0/missing.min.css.br
deleted file mode 100644
index 3023045..0000000
--- a/www/releases/_artifacts/v0.2.0/missing.min.css.br
+++ /dev/null
Binary files differ
diff --git a/www/releases/_artifacts/v0.2.0/missing.min.css.gz b/www/releases/_artifacts/v0.2.0/missing.min.css.gz
deleted file mode 100644
index 5b1ec2e..0000000
--- a/www/releases/_artifacts/v0.2.0/missing.min.css.gz
+++ /dev/null
Binary files differ
diff --git a/www/releases/_artifacts/v0.2.1/missing-prism.css b/www/releases/_artifacts/v0.2.1/missing-prism.css
deleted file mode 100644
index 23e48b5..0000000
--- a/www/releases/_artifacts/v0.2.1/missing-prism.css
+++ /dev/null
@@ -1,62 +0,0 @@
-
-.token.comment,
-.token.prolog,
-.token.doctype,
-.token.cdata,
-.token.punctuation {
- color: var(--muted-fg);
-}
-
-.token.property,
-.token.tag,
-.token.boolean,
-.token.number,
-.token.constant,
-.token.symbol,
-.token.deleted {
- color: var(--bad-fg);
-}
-
-.token.selector,
-.token.attr-name,
-.token.string,
-.token.char,
-.token.builtin,
-.token.inserted {
- color: var(--ok-fg);
-}
-
-.token.operator,
-.token.entity,
-.token.url,
-.language-css .token.string,
-.style .token.string,
-.token.regex,
-.token.important,
-.token.variable {
- color: var(--warn-fg)
-}
-
-.token.atrule,
-.token.attr-value,
-.token.keyword {
- color: var(--info-fg);
-}
-
-.token.function {
- color: var(--bad-fg);
- font-style: italic;
-}
-
-.token.important,
-.token.bold {
- font-weight: bold;
-}
-
-.token.italic {
- font-style: italic;
-}
-
-.token.entity {
- cursor: help;
-}
diff --git a/www/releases/_artifacts/v0.2.1/missing-prism.min.css b/www/releases/_artifacts/v0.2.1/missing-prism.min.css
deleted file mode 100644
index 41c91b1..0000000
--- a/www/releases/_artifacts/v0.2.1/missing-prism.min.css
+++ /dev/null
@@ -1 +0,0 @@
-.token.cdata,.token.comment,.token.doctype,.token.prolog,.token.punctuation{color:var(--muted-fg)}.token.boolean,.token.constant,.token.deleted,.token.number,.token.property,.token.symbol,.token.tag{color:var(--bad-fg)}.token.attr-name,.token.builtin,.token.char,.token.inserted,.token.selector,.token.string{color:var(--ok-fg)}.language-css .token.string,.style .token.string,.token.entity,.token.important,.token.operator,.token.regex,.token.url,.token.variable{color:var(--warn-fg)}.token.atrule,.token.attr-value,.token.keyword{color:var(--info-fg)}.token.function{color:var(--bad-fg);font-style:italic}.token.bold,.token.important{font-weight:700}.token.italic{font-style:italic}.token.entity{cursor:help} \ No newline at end of file
diff --git a/www/releases/_artifacts/v0.2.1/missing-prism.min.css.br b/www/releases/_artifacts/v0.2.1/missing-prism.min.css.br
deleted file mode 100644
index 2a4ac49..0000000
--- a/www/releases/_artifacts/v0.2.1/missing-prism.min.css.br
+++ /dev/null
Binary files differ
diff --git a/www/releases/_artifacts/v0.2.1/missing-prism.min.css.gz b/www/releases/_artifacts/v0.2.1/missing-prism.min.css.gz
deleted file mode 100644
index e834bd4..0000000
--- a/www/releases/_artifacts/v0.2.1/missing-prism.min.css.gz
+++ /dev/null
Binary files differ
diff --git a/www/releases/_artifacts/v0.2.1/missing.css b/www/releases/_artifacts/v0.2.1/missing.css
deleted file mode 100644
index ad745e1..0000000
--- a/www/releases/_artifacts/v0.2.1/missing.css
+++ /dev/null
@@ -1,2019 +0,0 @@
-/* Document
- * ========================================================================== */
-
-/**
- * 1. Add border box sizing in all browsers (opinionated).
- * 2. Backgrounds do not repeat by default (opinionated).
- */
-
-*,
-::before,
-::after {
- box-sizing: border-box; /* 1 */
- background-repeat: no-repeat; /* 2 */
-}
-
-/**
- * 1. Add text decoration inheritance in all browsers (opinionated).
- * 2. Add vertical alignment inheritance in all browsers (opinionated).
- */
-
-::before,
-::after {
- text-decoration: inherit; /* 1 */
- vertical-align: inherit; /* 2 */
-}
-
-/**
- * 1. Use the default cursor in all browsers (opinionated).
- * 3. Breaks words to prevent overflow in all browsers (opinionated).
- * 5. Remove the grey highlight on links in iOS (opinionated).
- * 6. Prevent adjustments of font size after orientation changes in iOS.
- */
-
-:root {
- cursor: default; /* 1 */
- overflow-wrap: break-word; /* 3 */
- -webkit-tap-highlight-color: transparent; /* 5 */
- text-size-adjust: none;
- -webkit-text-size-adjust: none;
-}
-
-/* Text-level semantics
- * ========================================================================== */
-
-/**
- * Add the correct text decoration in Safari.
- */
-
-abbr[title] {
- text-decoration: underline;
- -webkit-text-decoration: underline dotted;
- text-decoration: underline dotted;
-}
-
-/**
- * Add the correct font weight in Chrome, Edge, and Safari.
- */
-
-strong, b {
- font-weight: bolder;
-}
-
-/**
- * Add the correct font size in all browsers.
- */
-
-small {
- font-size: 80%;
-}
-
-/* Embedded content
- * ========================================================================== */
-
-/*
- * Change the alignment on media elements in all browsers (opinionated).
- */
-
-audio, canvas, iframe, img, svg, video {
- vertical-align: middle;
-}
-
-/**
- * Change the fill color to match the text color in all browsers (opinionated).
- */
-
-svg:not([fill]) {
- fill: currentColor;
-}
-
-/* Tabular data
- * ========================================================================== */
-
-/**
- * 1. Collapse border spacing in all browsers (opinionated).
- * 2. Correct table border color in Chrome, Edge, and Safari.
- * 3. Remove text indentation from table contents in Chrome, Edge, and Safari.
- */
-
-table {
- border-collapse: collapse; /* 1 */
- border-color: currentColor; /* 2 */
- text-indent: 0; /* 3 */
-}
-
-/* Forms
- * ========================================================================== */
-
-/**
- * Remove the margin on controls in Safari.
- */
-
-button, input, select {
- margin: 0;
-}
-
-/**
- * Correct the inability to style buttons in iOS and Safari.
- */
-
-button, [type="button"], [type="reset"], [type="submit"] {
- -webkit-appearance: button;
-}
-
-/**
- * Change the inconsistent appearance in all browsers (opinionated).
- */
-
-fieldset {
- border: 1px solid #a0a0a0;
-}
-
-/**
- * Add the correct vertical alignment in Chrome, Edge, and Firefox.
- */
-
-progress {
- vertical-align: baseline;
-}
-
-/**
- * 1. Remove the margin in Firefox and Safari.
- */
-
-textarea {
- margin: 0; /* 1 */
-}
-
-/**
- * 1. Correct the odd appearance in Chrome, Edge, and Safari.
- * 2. Correct the outline style in Safari.
- */
-
-[type="search"] {
- -webkit-appearance: textfield; /* 1 */
- outline-offset: -2px; /* 2 */
-}
-
-/**
- * Correct the cursor style of increment and decrement buttons in Safari.
- */
-
-::-webkit-inner-spin-button,
-::-webkit-outer-spin-button {
- block-size: auto;
-}
-
-/**
- * Correct the text style of placeholders in Chrome, Edge, and Safari.
- */
-
-::-webkit-input-placeholder {
- color: inherit;
- opacity: 0.54;
-}
-
-/**
- * Remove the inner padding in Chrome, Edge, and Safari on macOS.
- */
-
-::-webkit-search-decoration {
- -webkit-appearance: none;
-}
-
-/**
- * 1. Correct the inability to style upload buttons in iOS and Safari.
- * 2. Change font properties to `inherit` in Safari.
- */
-
-::-webkit-file-upload-button {
- -webkit-appearance: button; /* 1 */
- font: inherit; /* 2 */
-}
-
-/* Interactive
- * ========================================================================== */
-
-[hidden] {
- display: none !important;
-}
-
-:focus-visible {
- outline: .2em solid var(--accent);
- z-index: 32;
-}
-
-iframe:focus-visible,
- html:focus-visible,
- body:focus-visible {
- outline: none;
- }
-
-:target {
- outline: .2em solid var(--fg);
- z-index: 32;
-}
-
-/*
- * Add the correct display in Safari.
- */
-
-details > summary:first-of-type {
- display: list-item;
-}
-
-/* Accessibility
- * ========================================================================== */
-
-/**
- * Change the cursor on busy elements in all browsers (opinionated).
- */
-
-[aria-busy="true"] {
- cursor: progress;
-}
-
-/*
- * Change the cursor on disabled, not-editable, or otherwise
- * inoperable elements in all browsers (opinionated).
- */
-
-[aria-disabled="true"], [disabled] {
- cursor: not-allowed;
-}
-
-datalist {
- display: none !important;
-}
-
-/* https://github.com/fchristant/colar/ */
-
-:root {
- --gray-0: #f8fafb;
- --gray-1: #f2f4f6;
- --gray-2: #ebedef;
- --gray-3: #e0e4e5;
- --gray-4: #d1d6d8;
- --gray-5: #b1b6b9;
- --gray-6: #979b9d;
- --gray-7: #7e8282;
- --gray-8: #666968;
- --gray-9: #50514f;
- --gray-10: #3a3a37;
- --gray-11: #252521;
- --gray-12: #121210;
-
- --red-0: #fff5f5;
- --red-1: #ffe3e3;
- --red-2: #ffc9c9;
- --red-3: #ffa8a8;
- --red-4: #ff8787;
- --red-5: #ff6b6b;
- --red-6: #fa5252;
- --red-7: #f03e3e;
- --red-8: #e03131;
- --red-9: #c92a2a;
- --red-10: #b02525;
- --red-11: #962020;
- --red-12: #7d1a1a;
-
- --pink-0: #fff0f6;
- --pink-1: #ffdeeb;
- --pink-2: #fcc2d7;
- --pink-3: #faa2c1;
- --pink-4: #f783ac;
- --pink-5: #f06595;
- --pink-6: #e64980;
- --pink-7: #d6336c;
- --pink-8: #c2255c;
- --pink-9: #a61e4d;
- --pink-10: #8c1941;
- --pink-11: #731536;
- --pink-12: #59102a;
-
- --purple-0: #f8f0fc;
- --purple-1: #f3d9fa;
- --purple-2: #eebefa;
- --purple-3: #e599f7;
- --purple-4: #da77f2;
- --purple-5: #cc5de8;
- --purple-6: #be4bdb;
- --purple-7: #ae3ec9;
- --purple-8: #9c36b5;
- --purple-9: #862e9c;
- --purple-10: #702682;
- --purple-11: #5a1e69;
- --purple-12: #44174f;
-
- --violet-0: #f3f0ff;
- --violet-1: #e5dbff;
- --violet-2: #d0bfff;
- --violet-3: #b197fc;
- --violet-4: #9775fa;
- --violet-5: #845ef7;
- --violet-6: #7950f2;
- --violet-7: #7048e8;
- --violet-8: #6741d9;
- --violet-9: #5f3dc4;
- --violet-10: #5235ab;
- --violet-11: #462d91;
- --violet-12: #3a2578;
-
- --indigo-0: #edf2ff;
- --indigo-1: #dbe4ff;
- --indigo-2: #bac8ff;
- --indigo-3: #91a7ff;
- --indigo-4: #748ffc;
- --indigo-5: #5c7cfa;
- --indigo-6: #4c6ef5;
- --indigo-7: #4263eb;
- --indigo-8: #3b5bdb;
- --indigo-9: #364fc7;
- --indigo-10: #2f44ad;
- --indigo-11: #283a94;
- --indigo-12: #21307a;
-
- --blue-0: #e7f5ff;
- --blue-1: #d0ebff;
- --blue-2: #a5d8ff;
- --blue-3: #74c0fc;
- --blue-4: #4dabf7;
- --blue-5: #339af0;
- --blue-6: #228be6;
- --blue-7: #1c7ed6;
- --blue-8: #1971c2;
- --blue-9: #1864ab;
- --blue-10: #145591;
- --blue-11: #114678;
- --blue-12: #0d375e;
-
- --cyan-0: #e3fafc;
- --cyan-1: #c5f6fa;
- --cyan-2: #99e9f2;
- --cyan-3: #66d9e8;
- --cyan-4: #3bc9db;
- --cyan-5: #22b8cf;
- --cyan-6: #15aabf;
- --cyan-7: #1098ad;
- --cyan-8: #0c8599;
- --cyan-9: #0b7285;
- --cyan-10: #095c6b;
- --cyan-11: #074652;
- --cyan-12: #053038;
-
- --teal-0: #e6fcf5;
- --teal-1: #c3fae8;
- --teal-2: #96f2d7;
- --teal-3: #63e6be;
- --teal-4: #38d9a9;
- --teal-5: #20c997;
- --teal-6: #12b886;
- --teal-7: #0ca678;
- --teal-8: #099268;
- --teal-9: #087f5b;
- --teal-10: #066649;
- --teal-11: #054d37;
- --teal-12: #033325;
-
- --green-0: #ebfbee;
- --green-1: #d3f9d8;
- --green-2: #b2f2bb;
- --green-3: #8ce99a;
- --green-4: #69db7c;
- --green-5: #51cf66;
- --green-6: #40c057;
- --green-7: #37b24d;
- --green-8: #2f9e44;
- --green-9: #2b8a3e;
- --green-10: #237032;
- --green-11: #1b5727;
- --green-12: #133d1b;
-
- --lime-0: #f4fce3;
- --lime-1: #e9fac8;
- --lime-2: #d8f5a2;
- --lime-3: #c0eb75;
- --lime-4: #a9e34b;
- --lime-5: #94d82d;
- --lime-6: #82c91e;
- --lime-7: #74b816;
- --lime-8: #66a80f;
- --lime-9: #5c940d;
- --lime-10: #4c7a0b;
- --lime-11: #3c6109;
- --lime-12: #2c4706;
-
- --yellow-0: #fff9db;
- --yellow-1: #fff3bf;
- --yellow-2: #ffec99;
- --yellow-3: #ffe066;
- --yellow-4: #ffd43b;
- --yellow-5: #fcc419;
- --yellow-6: #fab005;
- --yellow-7: #f59f00;
- --yellow-8: #f08c00;
- --yellow-9: #e67700;
- --yellow-10: #b35c00;
- --yellow-11: #804200;
- --yellow-12: #663500;
-
- --orange-0: #fff4e6;
- --orange-1: #ffe8cc;
- --orange-2: #ffd8a8;
- --orange-3: #ffc078;
- --orange-4: #ffa94d;
- --orange-5: #ff922b;
- --orange-6: #fd7e14;
- --orange-7: #f76707;
- --orange-8: #e8590c;
- --orange-9: #d9480f;
- --orange-10: #bf400d;
- --orange-11: #99330b;
- --orange-12: #802b09;
-
- --choco-0: #fff8dc;
- --choco-1: #fce1bc;
- --choco-2: #f7ca9e;
- --choco-3: #f1b280;
- --choco-4: #e99b62;
- --choco-5: #df8545;
- --choco-6: #d46e25;
- --choco-7: #bd5f1b;
- --choco-8: #a45117;
- --choco-9: #8a4513;
- --choco-10: #703a13;
- --choco-11: #572f12;
- --choco-12: #3d210d;
-
- --brown-0: #faf4eb;
- --brown-1: #ede0d1;
- --brown-2: #e0cab7;
- --brown-3: #d3b79e;
- --brown-4: #c5a285;
- --brown-5: #b78f6d;
- --brown-6: #a87c56;
- --brown-7: #956b47;
- --brown-8: #825b3a;
- --brown-9: #6f4b2d;
- --brown-10:#5e3a21;
- --brown-11:#4e2b15;
- --brown-12: #422412;
-
- --sand-0: #f8fafb;
- --sand-1: #e6e4dc;
- --sand-2: #d5cfbd;
- --sand-3: #c2b9a0;
- --sand-4: #aea58c;
- --sand-5: #9a9178;
- --sand-6: #867c65;
- --sand-7: #736a53;
- --sand-8: #5f5746;
- --sand-9: #4b4639;
- --sand-10:#38352d;
- --sand-11:#252521;
- --sand-12: #121210;
-
- --camo-0: #f9fbe7;
- --camo-1: #e8ed9c;
- --camo-2: #d2df4e;
- --camo-3: #c2ce34;
- --camo-4: #b5bb2e;
- --camo-5: #a7a827;
- --camo-6: #999621;
- --camo-7: #8c851c;
- --camo-8: #7e7416;
- --camo-9: #6d6414;
- --camo-10: #5d5411;
- --camo-11: #4d460e;
- --camo-12: #36300a;
-
- --jungle-0: #ecfeb0;
- --jungle-1: #def39a;
- --jungle-2: #d0e884;
- --jungle-3: #c2dd6e;
- --jungle-4: #b5d15b;
- --jungle-5: #a8c648;
- --jungle-6: #9bbb36;
- --jungle-7: #8fb024;
- --jungle-8: #84a513;
- --jungle-9: #7a9908;
- --jungle-10: #658006;
- --jungle-11: #516605;
- --jungle-12: #3d4d04;
-}
-
-.box {
- margin: var(--gap) 0;
- padding: var(--gap);
- overflow: clip;
- border-radius: var(--border-radius);
- background: var(--box-bg);
- border: 1px solid var(--faded-fg);
- /* artificially increase specificity */
- /* TODO: come up with a better way to do this */
-}
-
-.box > :first-child:first-child:first-child:first-child,
- .box > :first-child>:first-child:first-child:first-child,
- .box > :first-child>:first-child>:first-child:first-child,
- .box > :first-child>:first-child>:first-child>:first-child { -webkit-margin-before: 0; margin-block-start: 0; }
-
-.box > :last-child:last-child:last-child:last-child,
- .box > :last-child>:last-child:last-child:last-child,
- .box > :last-child>:last-child>:last-child:last-child,
- .box > :last-child>:last-child>:last-child>:last-child { -webkit-margin-after: 0; margin-block-end: 0; }
-
-.titlebar {
- margin-inline: calc(0px - var(--gap));
- -webkit-margin-after: calc(0px - var(--gap));
- margin-block-end: calc(0px - var(--gap));
- padding-inline: var(--gap);
- font: inherit;
- font-family: var(--secondary-font);
- font-weight: bold;
- translate: 0 calc(-1px - var(--gap));
- background: var(--accent);
- color: var(--bg);
-}
-
-.breadcrumbs[aria-label] {
- font-family: var(--secondary-font)
-}
-
-.breadcrumbs[aria-label] ul, .breadcrumbs[aria-label] ol {
- list-style: none;
- -webkit-padding-start: 0;
- padding-inline-start: 0;
- }
-
-.breadcrumbs[aria-label] li {
- display: inline
- }
-
-:is(.breadcrumbs[aria-label] li)+li::before {
- content: ' / ' / '';
- content: ' / ';
- display: inline;
- }
-
-.breadcrumbs[aria-label] [aria-current="page"] {
- font-weight: bold;
- }
-
-.chip, chip {
- font-family: var(--secondary-font);
- border: 1px solid var(--accent);
- background: var(--box-bg);
- border-radius: calc(var(--rhythm) / 2);
- padding-inline: calc(var(--rhythm) / 2);
-}
-
-[role="menu"] {
- margin: var(--gap) 0;
- padding: var(--gap);
- overflow: clip;
- border-radius: var(--border-radius);
- background: var(--box-bg);
- border: 1px solid var(--faded-fg);
- /* artificially increase specificity */
- /* TODO: come up with a better way to do this */
-}
-
-[role="menu"] > :first-child:first-child:first-child:first-child,
- [role="menu"] > :first-child>:first-child:first-child:first-child,
- [role="menu"] > :first-child>:first-child>:first-child:first-child,
- [role="menu"] > :first-child>:first-child>:first-child>:first-child { -webkit-margin-before: 0; margin-block-start: 0; }
-
-[role="menu"] > :last-child:last-child:last-child:last-child,
- [role="menu"] > :last-child>:last-child:last-child:last-child,
- [role="menu"] > :last-child>:last-child>:last-child:last-child,
- [role="menu"] > :last-child>:last-child>:last-child>:last-child { -webkit-margin-after: 0; margin-block-end: 0; }
-
-[role="menu"] {
-
- position: absolute;
-
- padding: calc(var(--gap) / 2) 0;
- margin: 1px 0 0 0;
-
- display: flex;
- flex-flow: column nowrap;
-}
-
-[role=menuitem] {
- padding: 0 calc(var(--gap) / 2);
-
- display: block;
-
- text-decoration: none;
-
- color: var(--fg)
-}
-
-[role=menuitem]:focus {
- background: var(--accent);
- color: var(--bg);
- }
-
-.navbar {
- margin: 0;
- padding: 0 var(--rhythm);
-
- font-family: var(--secondary-font);
-
- background: var(--box-bg);
- -webkit-border-after: 1px solid var(--accent);
- border-block-end: 1px solid var(--accent);
-
- overflow-x: auto;
- scrollbar-width: thin;
-
- /* Inner layout */
- display: flex;
- flex-flow: row;
- gap: calc(2 * var(--rhythm))
-}
-
-.navbar :first-child { -webkit-margin-start: auto; margin-inline-start: auto; }
-
-.navbar :last-child { -webkit-margin-end: auto; margin-inline-end: auto; }
-
-.navbar * { flex-shrink: 0 }
-
-.navbar nav ul[role="list"] {
- -webkit-padding-start: 0;
- padding-inline-start: 0;
- display: flex;
- flex-flow: row;
- gap: var(--rhythm)
- }
-
-.navbar nav ul[role="list"] * { flex-shrink: 0 }
-
-.navbar a {
- font-weight: bold;
- text-decoration: none;
- }
-
-.navbar a:hover, .navbar a:focus {
- text-decoration: underline;
- }
-
-.navbar [aria-current=page] {
- background: var(--accent);
- color: var(--box-bg);
- border-radius: var(--border-radius);
- outline: .2em solid var(--accent);
- }
-
-.permalink-anchor {
- display: none
-}
-
-*:hover > .permalink-anchor {
- display: initial
-}
-
-.sidebar {
- margin: var(--gap) 0;
- padding: var(--gap);
- overflow: clip;
- border-radius: var(--border-radius);
- background: var(--box-bg);
- border: 1px solid var(--faded-fg)
- /* artificially increase specificity */
- /* TODO: come up with a better way to do this */
-}
-
-.sidebar > :first-child:first-child:first-child:first-child,
- .sidebar > :first-child>:first-child:first-child:first-child,
- .sidebar > :first-child>:first-child>:first-child:first-child,
- .sidebar > :first-child>:first-child>:first-child>:first-child { -webkit-margin-before: 0; margin-block-start: 0; }
-
-.sidebar > :last-child:last-child:last-child:last-child,
- .sidebar > :last-child>:last-child:last-child:last-child,
- .sidebar > :last-child>:last-child>:last-child:last-child,
- .sidebar > :last-child>:last-child>:last-child>:last-child { -webkit-margin-after: 0; margin-block-end: 0; }
-
-.sidebar {
-
- font-family: var(--secondary-font);
-
- border-block: none;
- -webkit-border-start: none;
- border-inline-start: none;
- border-radius: 0;
- margin: 0;
-
- font-size: .8em;
- --rhythm: 1em
-}
-
-.sidebar li {
- padding: calc(.5 * var(--gap));
- margin-inline: calc(-.5 * var(--gap));
- border-radius: var(--border-radius);
- }
-
-.sidebar a {
- font-weight: bold;
- text-decoration: none;
- }
-
-.sub-title, sub-title {
- /***
- Meant for use in headings. Make sure to also use visually-hidden punctuation
- to mark the subtitle as shown below:
-
- 1 | <h1>
- 2 | Foo Bar<v-h>:</v-h>
- 3 | <sub-title>How I Learned To Stop Worrying and Love Baz</sub-title>
- 4 | </h1>
-
- 1 | <h1>
- 2 | <sub-title class="-allcaps">Breaking News</sub-title><v-h>:</v-h>
- 3 | Bad Thing Happens
- 4 | <h1>
- ***/
-
- display: block;
-
- font-weight: normal;
-
- color: var(--muted-fg);
-}
-
-[role="tablist"] {
- display: flex;
- gap: .5ch;
- scrollbar-width: thin;
-}
-
-[role="tab"][role="tab"] {
- all: initial;
-
- font-family: var(--secondary-font);
-
- padding: 0 calc(var(--rhythm) / 4);
- margin: 0;
- min-height: var(--rhythm);
-
- border: solid var(--box-border);
- border-width: 1px 1px 0 1px;
- border-block-end-color: transparent;
- background: var(--interactive-bg);
-
- border-start-start-radius: .4em;
- border-start-end-radius: .4em
-}
-
-[role="tab"][role="tab"]:active, [role="tab"][role="tab"][aria-selected="true"] {
- transform: none;
- bottom: -1px;
- position: relative;
- background: var(--box-bg);
- -webkit-border-after: 1px solid var(--box-bg);
- border-block-end: 1px solid var(--box-bg);
- }
-
-[role="tabpanel"] {
- margin: var(--gap) 0;
- padding: var(--gap);
- overflow: clip;
- border-radius: var(--border-radius);
- background: var(--box-bg);
- border: 1px solid var(--faded-fg);
- /* artificially increase specificity */
- /* TODO: come up with a better way to do this */
-}
-
-[role="tabpanel"] > :first-child:first-child:first-child:first-child,
- [role="tabpanel"] > :first-child>:first-child:first-child:first-child,
- [role="tabpanel"] > :first-child>:first-child>:first-child:first-child,
- [role="tabpanel"] > :first-child>:first-child>:first-child>:first-child { -webkit-margin-before: 0; margin-block-start: 0; }
-
-[role="tabpanel"] > :last-child:last-child:last-child:last-child,
- [role="tabpanel"] > :last-child>:last-child:last-child:last-child,
- [role="tabpanel"] > :last-child>:last-child>:last-child:last-child,
- [role="tabpanel"] > :last-child>:last-child>:last-child>:last-child { -webkit-margin-after: 0; margin-block-end: 0; }
-
-[role="tabpanel"] {
- -webkit-margin-before: 0;
- margin-block-start: 0;
- border-start-start-radius: 0;
- border-start-end-radius: 0;
- z-index: 1;
-}
-
-.tool-bar {
- display: flex;
- flex-flow: row wrap;
- gap: calc(var(--gap) / 2)
-}
-
-.tool-bar > * { margin: 0; }
-
-.plain {
- --box-bg: var(--plain-bg);
- --accent: var(--plain-fg);
- --faded-fg: var(--plain-faded-fg);
-}
-
-.info {
- --box-bg: var(--info-bg);
- --accent: var(--info-fg);
- --faded-fg: var(--info-faded-fg);
-}
-
-.ok {
- --box-bg: var(--ok-bg);
- --accent: var(--ok-fg);
- --faded-fg: var(--ok-faded-fg);
-}
-
-.warn {
- --box-bg: var(--warn-bg);
- --accent: var(--warn-fg);
- --faded-fg: var(--warn-faded-fg);
-}
-
-.bad {
- --box-bg: var(--bad-bg);
- --accent: var(--bad-fg);
- --faded-fg: var(--bad-faded-fg);
-}
-
-.color {
- color: var(--accent);
-}
-
-.bg {
- background: var(--box-bg);
-}
-
-.border {
- border-style: solid;
- border-color: var(--faded-fg);
-}
-
-.airy { --density: 3; }
-
-.dense { --density: 1; }
-
-.crowded { --density: .5; }
-
-.packed { --density: 0; }
-
-.autodensity {
- --density: 1
-}
-
-@media (min-width: 768px) {
-
-.autodensity { --density: 2
-}}
-
-@media (min-width: 1024px) {
-
-.autodensity { --density: 3
-}}
-
-.f-row {
- display: flex;
- flex-direction: row;
- gap: var(--gap)
-}
-
-.f-row > * { margin: 0 }
-
-.f-col {
- display: flex;
- flex-direction: column;
- gap: var(--gap)
-}
-
-.f-col > * { margin: 0 }
-
-.f-switch {
- display: flex;
- flex-flow: row wrap;
- gap: var(--gap);
- --col-width: 15ch
-}
-
-.f-switch > * { margin: 0 }
-
-.f-switch > * {
- flex-basis: calc((var(--col-width) - 100%) * 999);
- flex-grow: 1;
- }
-
-.justify-content\:start { justify-content: start }
-
-.justify-content\:end { justify-content: end }
-
-.justify-content\:baseline { justify-content: baseline }
-
-.justify-content\:center { justify-content: center }
-
-.justify-content\:stretch { justify-content: stretch }
-
-.align-items\:start { align-items: start }
-
-.align-items\:end { align-items: end }
-
-.align-items\:baseline { align-items: baseline }
-
-.align-items\:center { align-items: center }
-
-.align-items\:stretch { align-items: stretch }
-
-.align-self\:start { align-self: start }
-
-.align-self\:end { align-self: end }
-
-.align-self\:baseline { align-self: baseline }
-
-.align-self\:center { align-self: center }
-
-.align-self\:stretch { align-self: stretch }
-
-.flex-grow\:0 { flex-grow: 0 }
-
-.flex-grow\:1 { flex-grow: 1 }
-
-.flex-grow\:2 { flex-grow: 2 }
-
-.flex-grow\:3 { flex-grow: 3 }
-
-.flex-grow\:4 { flex-grow: 4 }
-
-.flex-grow\:5 { flex-grow: 5 }
-
-.flex-grow\:6 { flex-grow: 6 }
-
-.flex-grow\:7 { flex-grow: 7 }
-
-.flex-grow\:8 { flex-grow: 8 }
-
-.flex-grow\:9 { flex-grow: 9 }
-
-.flex-grow\:10 { flex-grow: 10 }
-
-.flex-grow\:11 { flex-grow: 11 }
-
-.flex-grow\:12 { flex-grow: 12 }
-
-.flex-wrap\:wrap { flex-wrap: wrap }
-
-.flex-wrap\:nowrap { flex-wrap: nowrap }
-
-.vh, v-h {
- clip: rect(0 0 0 0);
- -webkit-clip-path: inset(50%);
- clip-path: inset(50%);
- block-size: 1px;
- inline-size: 1px;
- overflow: hidden;
- white-space: nowrap;
-}
-
-.all\:initial {
- all: initial;
-}
-
-.textcolumns {
- --col-width: 30ch;
- column-width: var(--col-width);
- column-gap: var(--gap);
- margin-block: var(--gap)
-}
-
-.textcolumns :first-child { -webkit-margin-before: 0 !important; margin-block-start: 0 !important }
-
-.text-align\:center {
- text-align: center;
-}
-
-.center {
- display: grid;
- place-items: center;
-}
-
-/**/
-
-.container {
- max-inline-size: var(--eff-line-length);
- margin-inline: auto;
-}
-
-.fullbleed {
- position: relative;
- width: 100vw;
- left: 50%;
- transform: translateX(-50vw);
-
- border-radius: 0;
- border-inline: none;
-}
-
-.width\:100\% { width:100% }
-
-/**/
-
-.padding { padding-inline: var(--gap); /* artificially increase specificity */ /* TODO: come up with a better way to do this */ }
-
-.padding > :first-child:first-child:first-child:first-child,
- .padding > :first-child>:first-child:first-child:first-child,
- .padding > :first-child>:first-child>:first-child:first-child,
- .padding > :first-child>:first-child>:first-child>:first-child { -webkit-margin-before: 0; margin-block-start: 0; }
-
-.padding > :last-child:last-child:last-child:last-child,
- .padding > :last-child>:last-child:last-child:last-child,
- .padding > :last-child>:last-child>:last-child:last-child,
- .padding > :last-child>:last-child>:last-child>:last-child { -webkit-margin-after: 0; margin-block-end: 0; }
-
-.padding-block { padding-block: var(--gap); /* artificially increase specificity */ /* TODO: come up with a better way to do this */ }
-
-.padding-block > :first-child:first-child:first-child:first-child,
- .padding-block > :first-child>:first-child:first-child:first-child,
- .padding-block > :first-child>:first-child>:first-child:first-child,
- .padding-block > :first-child>:first-child>:first-child>:first-child { -webkit-margin-before: 0; margin-block-start: 0; }
-
-.padding-block > :last-child:last-child:last-child:last-child,
- .padding-block > :last-child>:last-child:last-child:last-child,
- .padding-block > :last-child>:last-child>:last-child:last-child,
- .padding-block > :last-child>:last-child>:last-child>:last-child { -webkit-margin-after: 0; margin-block-end: 0; }
-
-.padding-inline { padding-inline: var(--gap) }
-
-.margin { margin: var(--gap) }
-
-.margin-block { margin-block: var(--gap) }
-
-.margin-inline { margin-inline: var(--gap) }
-
-/**/
-
-.inline { display: inline }
-
-.block { display: block }
-
-.contents { display: contents }
-
-.table {
- display: table;
- width: 100%;
- margin: 0;
-}
-
-.row, .rows > * {
- display: table-row
-}
-
-.row:not(:last-child) > *, .rows > *:not(:last-child) > * {
- margin-bottom: var(--gap);
- }
-
-.row > *:not([specificity-hack]), .rows > * > *:not([specificity-hack]) {
- display: table-cell;
- vertical-align: top;
- }
-
-.row > * + *:not([specificity-hack]), :is(.rows > *) > * + *:not([specificity-hack]) {
- -webkit-margin-start: var(--gap);
- margin-inline-start: var(--gap);
- display: inline-block;
- }
-
-/**/
-
-.fixed { position: fixed }
-
-.sticky { position: sticky }
-
-.top { top: 0 }
-
-.right { right: 0 }
-
-.bottom { bottom: 0 }
-
-.left { left: 0 }
-
-.float\:left { float: left }
-
-.float\:right { float: right }
-
-.overflow\:auto { overflow: auto }
-
-.overflow\:scroll { overflow: scroll }
-
-.allcaps {
- text-transform: uppercase;
- letter-spacing: .1rem;
-}
-
-.monospace {
- font-family: var(--mono-font);
-}
-
-/***
- 4.8 Embedded content
- https://html.spec.whatwg.org/multipage/embedded-content.html
- ***/
-
-img, video, audio, iframe, object, embed {
- max-inline-size: 100%;
- inline-size: max-content;
- block-size: auto;
-}
-
-/***
- 4.10 Forms
- https://html.spec.whatwg.org/multipage/forms.html
- ***/
-
-input { display: block; }
-
-label input:not([specificity-hack]) { display: inline; padding-block: 0; }
-
-button,
-input[type="submit"],
-input[type="reset"],
-input[type="button"],
-input::file-selector-button,
-.\<button\> {
- display: inline-block;
- padding: 0 calc(var(--rhythm) / 4);
- vertical-align: top;
-
- font-size: .8rem;
- line-height: 1.125em;
- font-family: var(--secondary-font);
- min-height: var(--rhythm);
-
- background: var(--interactive-bg);
- color: var(--fg);
- border: 1px solid var(--muted-fg);
- box-sizing: border-box;
- border-radius: var(--border-radius);
-
- /* a-specific resets */
- color: var(--fg);
- text-decoration: none;
- display: inline-flex;
- place-items: center
-}
-
-:is(button,input[type="submit"],input[type="reset"],input[type="button"],input::file-selector-button,.\<button\>):hover, :is(button,input[type="submit"],input[type="reset"],input[type="button"],input::file-selector-button,.\<button\>):focus-visible {
- filter: brightness(1.1);
-
- /* a-specific resets */
- text-decoration: none;
- }
-
-:is(button,input[type="submit"],input[type="reset"],input[type="button"],input::file-selector-button,.\<button\>):active {
- filter: brightness(.8);
- }
-
-[aria-pressed="true"]:is(button,input[type="submit"],input[type="reset"],input[type="button"],input::file-selector-button,.\<button\>), [aria-expanded="true"]:is(button,input[type="submit"],input[type="reset"],input[type="button"],input::file-selector-button,.\<button\>) {
- box-shadow: 0 .05em var(--accent);
- transform: translateY(.05em);
- background: var(--pressed-interactive-bg);
- }
-
-[disabled]:is(button,input[type="submit"],input[type="reset"],input[type="button"],input::file-selector-button,.\<button\>) {
- color: var(--muted-fg);
- }
-
-strong > :is(button,input[type="submit"],input[type="reset"],input[type="button"],input::file-selector-button,.\<button\>) {
- background: var(--accent);
- color: var(--bg);
- border: none;
- font-weight: bold
-}
-
-strong > [disabled]:is(button,input[type="submit"],input[type="reset"],input[type="button"],input::file-selector-button,.\<button\>) {
- color: var(--muted-accent);
- }
-
-input:not([type]),
-input[type="text"],
-input[type="search"],
-input[type="tel"],
-input[type="url"],
-input[type="email"],
-input[type="password"],
-input[type="date"],
-input[type="month"],
-input[type="week"],
-input[type="time"],
-input[type="datetime"],
-input[type="datetime-local"],
-input[type="number"],
-select,
-textarea {
- padding: calc(var(--rhythm) / 4);
- vertical-align: top;
-
- font-size: 1rem;
- line-height: inherit;
- font-family: var(--main-font);
-
- background: var(--bg);
- color: var(--fg);
- border: 1px solid var(--faded-fg);
- border-radius: var(--border-radius);
-
- vertical-align: top
-}
-
-:is(input:not([type]),input[type="text"],input[type="search"],input[type="tel"],input[type="url"],input[type="email"],input[type="password"],input[type="date"],input[type="month"],input[type="week"],input[type="time"],input[type="datetime"],input[type="datetime-local"],input[type="number"],select,textarea):focus-visible {
- border: 1px solid var(--accent);
- }
-
-:is(input:not([type]),input[type="text"],input[type="search"],input[type="tel"],input[type="url"],input[type="email"],input[type="password"],input[type="date"],input[type="month"],input[type="week"],input[type="time"],input[type="datetime"],input[type="datetime-local"],input[type="number"],select,textarea)::placeholder {
- color: var(--muted-fg);
- opacity: 1;
- text-align: end;
- }
-
-input[type="range"] {
- width: 100%;
- padding: calc(var(--gap) / 4);
-}
-
-input[type="color"] {
- padding: 0;
- margin: 0;
- height: calc(1.5 * var(--rhythm));
-
- border: none;
- background: none;
-}
-
-input[type="file"] {
- padding: calc(var(--gap) / 4) 0;
- font: inherit;
- line-height: calc(var(--rhythm) / 2)
-}
-
-input[type="file"]::file-selector-button {
- margin-block: .1em 0;
- -webkit-margin-end: 1ch;
- margin-inline-end: 1ch;
- }
-
-select[multiple] {
- vertical-align: top;
-}
-
-optgroup::before {
- color: var(--muted-fg);
- font-style: normal;
-}
-
-progress {
- /* TODO */
-}
-
-meter {
- /* TODO */
-}
-
-label[for] {
- display: block;
- padding-block: calc(var(--gap) / 4);
-}
-
-fieldset {
- position: relative;
-
- padding: var(--gap);
- margin: var(--gap) 0;
- width: 100%;
- border-radius: var(--border-radius);
-
- /* artificially increase specificity */
-
- /* TODO: come up with a better way to do this */
-}
-
-fieldset > :first-child:first-child:first-child:first-child,
- fieldset > :first-child>:first-child:first-child:first-child,
- fieldset > :first-child>:first-child>:first-child:first-child,
- fieldset > :first-child>:first-child>:first-child>:first-child { -webkit-margin-before: 0; margin-block-start: 0; }
-
-fieldset > :last-child:last-child:last-child:last-child,
- fieldset > :last-child>:last-child:last-child:last-child,
- fieldset > :last-child>:last-child>:last-child:last-child,
- fieldset > :last-child>:last-child>:last-child>:last-child { -webkit-margin-after: 0; margin-block-end: 0; }
-
-fieldset > legend + * { -webkit-margin-before: 0; margin-block-start: 0 }
-
-fieldset {
-
- border: 1px solid var(--faded-fg);
-}
-
-/***
- 4.4 Grouping content
- https://html.spec.whatwg.org/multipage/grouping-content.html
- ***/
-
-p {
- margin-block: var(--gap);
-}
-
-hr {
- color: inherit;
- margin-inline: 0;
- margin-block: var(--gap);
-
- flex-grow: 0;
- -webkit-border-start: 1px solid var(--accent);
- border-inline-start: 1px solid var(--accent);
- block-size: auto;
- -webkit-border-before: 1px solid var(--accent);
- border-block-start: 1px solid var(--accent);
- -webkit-border-after: none;
- border-block-end: none;
- -webkit-border-end: none;
- border-inline-end: none;
-}
-
-pre {
- font-family: var(--mono-font);
- font-size: .9em;
- line-height: var(--rhythm);
- tab-size: 2;
-
- margin: var(--gap) 0;
-
- overflow-x: auto;
- scrollbar-width: thin;
- scrollbar-color: var(--accent) transparent;
-}
-
-blockquote {
- margin-inline: 0 var(--gap);
- padding-inline: var(--gap) 0;
- margin-block: var(--gap);
-
- font-size: 1.1em;
- line-height: var(--rhythm);
- font-style: italic;
-
- -webkit-border-start: 1px solid var(--faded-fg);
-
- border-inline-start: 1px solid var(--faded-fg);
- color: var(--muted-fg)
-}
-
-blockquote em, blockquote cite, blockquote dfn, blockquote var, blockquote i, blockquote address {
- font-style: normal;
- }
-
-blockquote footer {
- text-align: right;
- text-align: end;
- }
-
-ul, ol {
- -webkit-padding-start: var(--rhythm);
- padding-inline-start: var(--rhythm)
-}
-
-ul ul, ul ol, ol ul, ol ol {
- -webkit-padding-start: var(--gap);
- padding-inline-start: var(--gap);
- }
-
-ul[role="list"], ol[role="list"] {
- -webkit-padding-start: 0;
- padding-inline-start: 0;
- list-style: none;
- }
-
-ul {
-}
-
-ol {
- list-style: decimal;
-}
-
-dl {
- margin-block: var(--gap);
-}
-
-dt {
- font-weight: bold;
- }
-
-dd {
- -webkit-margin-start: var(--rhythm);
- margin-inline-start: var(--rhythm);
- }
-
-li::marker {
- font-family: var(--secondary-font);
-}
-
-figure {
- max-width: 100%;
- margin-inline: 0;
-
- margin: var(--gap) 0;
-
- padding: var(--gap);
-
- overflow: clip;
-
- border-radius: var(--border-radius);
-
- background: var(--box-bg);
-
- border: 1px solid var(--faded-fg);
-
- /* artificially increase specificity */
-
- /* TODO: come up with a better way to do this */
-}
-
-figure > :first-child:first-child:first-child:first-child,
- figure > :first-child>:first-child:first-child:first-child,
- figure > :first-child>:first-child>:first-child:first-child,
- figure > :first-child>:first-child>:first-child>:first-child { -webkit-margin-before: 0; margin-block-start: 0; }
-
-figure > :last-child:last-child:last-child:last-child,
- figure > :last-child>:last-child:last-child:last-child,
- figure > :last-child>:last-child>:last-child:last-child,
- figure > :last-child>:last-child>:last-child>:last-child { -webkit-margin-after: 0; margin-block-end: 0; }
-
-figcaption {
- margin-block: var(--gap);
-
- font-family: var(--secondary-font);
-
- color: var(--muted-fg);
-}
-
-main {
- max-inline-size: var(--eff-line-length);
- margin: auto;
-}
-
-/***
- 4.5 Text-level semantics
- https://html.spec.whatwg.org/multipage/text-level-semantics.html
-
- 4.7 Edits
- https://html.spec.whatwg.org/multipage/edits.html
- ***/
-
-/* Text-level semantics */
-
-a {
- color: var(--link-fg, var(--accent));
- font-family: var(--secondary-font)
-}
-
-.list-of-links a {
- text-decoration: none
-}
-
-a:hover {
- text-decoration: underline;
- }
-
-span > small:only-child {
- /***
- Sidenote
- ***/
- display: block;
- float: inline-end;
- clear: inline-end;
-
- --sidenote-width: 20ch;
-
- max-inline-size: var(--sidenote-width);
- padding-inline: 1.5ch 1ch;
-
- -webkit-margin-end: calc(1em - var(--sidenote-width));
-
- margin-inline-end: calc(1em - var(--sidenote-width));
- -webkit-margin-after: var(--rhythm);
- margin-block-end: var(--rhythm);
-
- font-family: var(--secondary-font);
-
- background: var(--bg);
- border: 1px solid transparent;
-
- transition: transform .1s ease-in-out
-}
-
-span > small:only-child:hover, span > small:only-child:focus-within {
- border: 1px solid var(--faded-fg);
- border-radius: var(--border-radius);
- transform: translateX(calc(
- 0px - var(--sidenote-width)
- + min(var(--gutter-width), var(--sidenote-width))
- ))
- }
-
-s {
- color: var(--bad-fg);
-}
-
-q {
- font-style: italic
-}
-
-q em, q cite, q dfn, q var, q i, q address {
- font-style: normal;
- }
-
-time {
- font-variant-numeric: tabular-nums;
-}
-
-code, samp, kbd {
- font-family: var(--mono-font);
-}
-
-samp {
- color: var(--ok-fg);
-}
-
-kbd kbd /*
- We apply the key-like styling to a nested kbd element, a pattern shown in
- WHATWG HTML for marking up keyboard input:
-
- > Here the kbd element is used to indicate keys to press:
- > ~~~ html
- > <p>To make George eat an apple, press <kbd><kbd>Shift</kbd> + <kbd>F3</kbd></kbd></p>
- > ~~~
-
- The plain kbd element can also be used for clicking menus (<kbd>File |
- New...</kbd>) or voice input (<kbd>Hey Siri, </kbd>)
-*/ {
- display: inline-block;
-
- padding: 0 .3em;
- font-size: .8em;
- line-height: 1.1em;
-
- background: var(--interactive-bg);
- border: 1px outset var(--faded-fg);
- border-block-end-width: 3px;
- border-radius: var(--border-radius);
-}
-
-sub {
- vertical-align: bottom;
- line-height: 1;
-}
-
-sup {
- vertical-align: top;
- line-height: 1;
-}
-
-mark {
- background: var(--warn-bg);
- color: var(--warn-fg);
-}
-
-/* Edits */
-
-ins {
- background: var(--ok-bg);
- color: var(--ok-fg);
-}
-
-del {
- background: var(--bad-bg);
- color: var(--bad-fg);
-}
-
-/***
- 4.11 Interactive elements
- https://html.spec.whatwg.org/multipage/interactive-elements.html#interactive-elements
- ***/
-
-details {
- margin: var(--gap) 0;
- padding: var(--gap);
- overflow: clip;
- border-radius: var(--border-radius);
- background: var(--box-bg);
- border: 1px solid var(--faded-fg)
- /* artificially increase specificity */
- /* TODO: come up with a better way to do this */
-}
-
-details > :first-child:first-child:first-child:first-child,
- details > :first-child>:first-child:first-child:first-child,
- details > :first-child>:first-child>:first-child:first-child,
- details > :first-child>:first-child>:first-child>:first-child { -webkit-margin-before: 0; margin-block-start: 0; }
-
-details > :last-child:last-child:last-child:last-child,
- details > :last-child>:last-child:last-child:last-child,
- details > :last-child>:last-child>:last-child:last-child,
- details > :last-child>:last-child>:last-child>:last-child { -webkit-margin-after: 0; margin-block-end: 0; }
-
-details {
- -webkit-padding-before: 0;
- padding-block-start: 0
-}
-
-details:not([open]) { -webkit-padding-after: 0; padding-block-end: 0; }
-
-summary {
- margin: calc(0px - var(--gap));
- margin-top: calc(0px - var(--gap));
- margin-bottom: 0;
- padding-inline: var(--gap);
-
- font-family: var(--secondary-font);
- font-weight: bold;
-
- background: var(--accent);
- color: var(--bg);
-
- cursor: pointer
-}
-
-summary:focus-visible, summary:active {
- filter: brightness(.8);
- }
-
-details[open] summary {
- -webkit-border-after: 1px solid var(--accent);
- border-block-end: 1px solid var(--accent);
- border-end-end-radius: 0;
- border-end-start-radius: 0
-}
-
-dialog {
- margin: var(--gap) 0;
- padding: var(--gap);
- overflow: clip;
- border-radius: var(--border-radius);
- background: var(--box-bg);
- border: 1px solid var(--faded-fg);
- /* artificially increase specificity */
- /* TODO: come up with a better way to do this */
-}
-
-dialog > :first-child:first-child:first-child:first-child,
- dialog > :first-child>:first-child:first-child:first-child,
- dialog > :first-child>:first-child>:first-child:first-child,
- dialog > :first-child>:first-child>:first-child>:first-child { -webkit-margin-before: 0; margin-block-start: 0; }
-
-dialog > :last-child:last-child:last-child:last-child,
- dialog > :last-child>:last-child:last-child:last-child,
- dialog > :last-child>:last-child>:last-child:last-child,
- dialog > :last-child>:last-child>:last-child>:last-child { -webkit-margin-after: 0; margin-block-end: 0; }
-
-dialog {
- position: absolute;
- inline-inset: 0;
-
- block-size: -moz-fit-content;
-
- block-size: fit-content;
- inline-size: -moz-fit-content;
- inline-size: fit-content;
-
- margin: auto;
-
- background-color: var(--bg);
- color: var(--fg);
-
- box-shadow:
- 0 0 .2em .1em var(--shadow),
- 0 .2em .4em var(--shadow),
- 0 .25em 1em var(--shadow);
-}
-
-dialog[open]::-webkit-backdrop {
- display: block;
- background: black;
- opacity: .4;
- animation: bg 2s;
-}
-
-dialog[open]::backdrop {
- display: block;
- background: black;
- opacity: .4;
- animation: bg 2s;
-}
-
-@keyframes bg {
- from { background: transparent; }
-}
-
-dialog:not([open]) {
- display: none;
-}
-
-/***
- 4.1 The document element
- https://html.spec.whatwg.org/multipage/semantics.html#the-root-element
-
- 4.3 Sections
- https://html.spec.whatwg.org/multipage/sections.html
- ***/
-
-html {
- font-family: var(--main-font);
- line-height: var(--rhythm);
-
- background: var(--bg);
- color: var(--fg);
-}
-
-body {
- margin: 0;
-}
-
-header, footer, section + section {
- margin-block: calc(2 * var(--gap));
-}
-
-nav a {
- text-decoration: none;
- color: var(--accent);
- }
-
-aside {
- margin: var(--gap) 0;
- padding: var(--gap);
- overflow: clip;
- border-radius: var(--border-radius);
- background: var(--box-bg);
- border: 1px solid var(--faded-fg)
- /* artificially increase specificity */
- /* TODO: come up with a better way to do this */
-}
-
-aside > :first-child:first-child:first-child:first-child,
- aside > :first-child>:first-child:first-child:first-child,
- aside > :first-child>:first-child>:first-child:first-child,
- aside > :first-child>:first-child>:first-child>:first-child { -webkit-margin-before: 0; margin-block-start: 0; }
-
-aside > :last-child:last-child:last-child:last-child,
- aside > :last-child>:last-child:last-child:last-child,
- aside > :last-child>:last-child>:last-child:last-child,
- aside > :last-child>:last-child>:last-child>:last-child { -webkit-margin-after: 0; margin-block-end: 0; }
-
-aside h1,
- aside h2,
- aside h3,
- aside h4,
- aside h5,
- aside h6 {
- font-size: 1em;
- text-transform: none;
- letter-spacing: none;
- }
-
-h1, h2, h3, h4, h5, h6,
-.\<h1\>, .\<h2\>, .\<h3\>, .\<h4\>, .\<h5\>, .\<h6\> {
- -webkit-margin-after: var(--gap);
- margin-block-end: var(--gap);
- font-family: var(--secondary-font);
- font-size: 1em;
- -webkit-margin-before: calc(2 * var(--gap));
- margin-block-start: calc(2 * var(--gap));
-}
-
-h1, .\<h1\> {
- font-size: 2em;
- text-transform: none;
- line-height: calc(2 * var(--rhythm));
- letter-spacing: 0;
-}
-
-h2, .\<h2\> {
- font-size: 1.6em;
- text-transform: none;
- line-height: calc(1.5 * var(--rhythm));
- letter-spacing: 0;
-}
-
-h3, .\<h3\> {
- font-size: 1.17em;
- line-height: calc(1 * var(--rhythm));
-}
-
-h4, .\<h4\>, h5, .\<h5\>, h6, .\<h6\> {
- font-size: 1em;
- text-transform: none;
- line-height: calc(1 * var(--rhythm));
- letter-spacing: 0;
- -webkit-margin-before: var(--gap);
- margin-block-start: var(--gap);
-}
-
-h1 + h2,
-h2 + h3,
-h3 + h4,
-h4 + h5,
-h5 + h6,
-h1:first-child,
-h2:first-child,
-h3:first-child,
-h4:first-child,
-h5:first-child,
-h6:first-child {
- -webkit-margin-before: var(--gap);
- margin-block-start: var(--gap);
-}
-
-h1:target,
-h2:target,
-h3:target,
-h4:target,
-h5:target,
-h6:target {
- outline: none
-}
-
-h1:target::before, h2:target::before, h3:target::before, h4:target::before, h5:target::before, h6:target::before {
- content: '❧';
- display: inline-block;
- width: 0;
- transform: translateX(-1.5ch);
- font-size: 2em;
- vertical-align: bottom;
- color: var(--accent);
- }
-
-header {
- font-family: var(--secondary-font);
- -webkit-border-after: 1px solid var(--faded-fg);
- border-block-end: 1px solid var(--faded-fg);
-}
-
-footer {
- font-family: var(--secondary-font);
- -webkit-border-before: 1px solid var(--faded-fg);
- border-block-start: 1px solid var(--faded-fg);
-}
-
-body > header,
-body > footer,
-main + footer {
- padding: var(--rhythm) calc((100% - var(--eff-line-length)) / 2)
-}
-
-address {
- --density: 0;
-}
-
-/***
- 4.9 Tabular data
- https://html.spec.whatwg.org/multipage/tables.html
- ***/
-
-table {
- font-variant-numeric: tabular-nums;
- font: inherit;
-}
-
-caption {
- text-align: start;
- font-family: var(--secondary-font);
- font-style: italic;
-}
-
-tbody {
- border-block: 1px solid var(--fg);
-}
-
-thead {
-}
-
-tfoot {
-}
-
-tr {
-
-}
-
-td, th {
- vertical-align: top
-}
-
-td:not(:last-child), th:not(:last-child) {
- -webkit-padding-end: var(--rhythm);
- padding-inline-end: var(--rhythm);
- }
-
-td {
- }
-
-th {
- font-family: var(--secondary-font);
- text-align: start;
- }
-
-:root {
- /* Colors */
- --fg: var(--gray-12); /* Text. */
- --muted-fg: var(--gray-10); /* De-emphasized or disabled elements' text. Will be
- used with a background of --c-bg and --c-bg-2 -- check contrast! */
- --faded-fg: var(--plain-faded-fg); /* De-emphasized or disabled graphical elements. Will not
- be used as a text color. */
-
- --plain-fg: var(--blue-10);
- --info-fg: var(--blue-11);
- --ok-fg: var(--green-11);
- --bad-fg: var(--red-11);
- --warn-fg: var(--yellow-11);
-
- --plain-faded-fg: var(--gray-6);
- --info-faded-fg: var(--blue-6);
- --ok-faded-fg: var(--green-6);
- --bad-faded-fg: var(--red-6);
- --warn-faded-fg: var(--yellow-6);
-
- --bg: var(--gray-0); /* Page background. */
- --box-bg: var(--plain-bg); /* Background for blocks: cards, admonitions etc. */
- --interactive-bg: var(--gray-3); /* Background for interactive elements */
-
- --plain-bg: var(--gray-1);
- --info-bg: var(--blue-1);
- --ok-bg: var(--green-1);
- --bad-bg: var(--red-1);
- --warn-bg: var(--yellow-1);
-
- --accent: var(--blue-10); /* Accent color. Will be used *as a text color* with a
- background of --c-bg and --c-bg-2 -- check contrast! */
- --muted-accent: var(--blue-7); /* Muted accent color. Will not be used for text. */
-
- /* Lengths */
- --rhythm: 1.4rem; /* Vertical rhythm, line height. */
- --line-length: 40rem; /* Maximum line length for prose. */
- --border-radius: .2rem;
-
- /* Fonts */
- --main-font: 'Source Sans 3', 'Source Sans Pro', -apple-system, system-ui, sans-serif;
- --secondary-font: var(--main-font); /* Headings etc. */
- --mono-font: 'M Plus Code Latin', monospace, monospace; /* monospace twice stops browsers from
- shrinking this */
-
- /* Density */
- --density: 1;
-
- /* Width */
- --full-width: 100vw;
-
- /* Do not set these. */
- --eff-line-length: /* Effective line length for prose. */
- min(
- calc( var(--full-width) - (2 * var(--rhythm)) ),
- var(--line-length)
- );
-
- --gutter-width: /* Width of spaces at each side of page content. */
- calc(
- (
- var(--full-width) /* Viewport width */
- - var(--eff-line-length) /* minus line width */
- ) / 2); /* Divide by 2: there are two page margins */
-}
-
-@media (prefers-color-scheme: dark) {
- :root:not(.-no-dark-theme) {
- --fg: var(--gray-0);
- --muted-fg: var(--gray-2);
- --faded-fg: var(--gray-7);
-
- --info-bg: var(--blue-12);
- --ok-bg: var(--green-12);
- --bad-bg: var(--red-12);
- --warn-bg: var(--yellow-12);
-
- --bg: var(--gray-12);
- --box-bg: var(--gray-10);
- --interactive-bg: var(--gray-8);
-
- --info-fg: var(--blue-3);
- --ok-fg: var(--green-3);
- --bad-fg: var(--red-3);
- --warn-fg: var(--yellow-3);
-
- --accent: var(--blue-3);
- --muted-accent: var(--blue-5);
- }
-}
-
-* {
- --gap: calc(var(--rhythm) * var(--density));
- accent-color: var(--accent);
-}
diff --git a/www/releases/_artifacts/v0.2.1/missing.min.css b/www/releases/_artifacts/v0.2.1/missing.min.css
deleted file mode 100644
index 9a6e2c5..0000000
--- a/www/releases/_artifacts/v0.2.1/missing.min.css
+++ /dev/null
@@ -1,15 +0,0 @@
-@keyframes bg{0%{background:0 0}}*,::after,::before{box-sizing:border-box;background-repeat:no-repeat}::after,::before{text-decoration:inherit;vertical-align:inherit}:root{cursor:default;overflow-wrap:break-word;-webkit-tap-highlight-color:transparent;text-size-adjust:none;-webkit-text-size-adjust:none}abbr[title]{-webkit-text-decoration:underline dotted;text-decoration:underline dotted}b,strong{font-weight:bolder}small{font-size:80%}audio,canvas,iframe,img,svg,video{vertical-align:middle}svg:not([fill]){fill:currentColor}table{border-collapse:collapse;border-color:currentColor;text-indent:0;font-variant-numeric:tabular-nums;font:inherit}button,input,select,textarea{margin:0}[type=button],[type=reset],[type=submit],button{-webkit-appearance:button}fieldset{border:1px solid #a0a0a0;position:relative;padding:var(--gap);margin:var(--gap) 0;width:100%;border-radius:var(--border-radius);border:1px solid var(--faded-fg)}progress{vertical-align:baseline}[type=search]{-webkit-appearance:textfield;outline-offset:-2px}::-webkit-inner-spin-button,::-webkit-outer-spin-button{block-size:auto}::-webkit-input-placeholder{color:inherit;opacity:.54}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{-webkit-appearance:button;font:inherit}[hidden],datalist{display:none!important}:focus-visible{outline:.2em solid var(--accent);z-index:32}body:focus-visible,html:focus-visible,iframe:focus-visible{outline:0}:target{outline:.2em solid var(--fg);z-index:32}details>summary:first-of-type{display:list-item}[aria-busy=true]{cursor:progress}[aria-disabled=true],[disabled]{cursor:not-allowed}:root{--gray-0: #f8fafb;--gray-1: #f2f4f6;--gray-2: #ebedef;--gray-3: #e0e4e5;--gray-4: #d1d6d8;--gray-5: #b1b6b9;--gray-6: #979b9d;--gray-7: #7e8282;--gray-8: #666968;--gray-9: #50514f;--gray-10: #3a3a37;--gray-11: #252521;--gray-12: #121210;--red-0: #fff5f5;--red-1: #ffe3e3;--red-2: #ffc9c9;--red-3: #ffa8a8;--red-4: #ff8787;--red-5: #ff6b6b;--red-6: #fa5252;--red-7: #f03e3e;--red-8: #e03131;--red-9: #c92a2a;--red-10: #b02525;--red-11: #962020;--red-12: #7d1a1a;--pink-0: #fff0f6;--pink-1: #ffdeeb;--pink-2: #fcc2d7;--pink-3: #faa2c1;--pink-4: #f783ac;--pink-5: #f06595;--pink-6: #e64980;--pink-7: #d6336c;--pink-8: #c2255c;--pink-9: #a61e4d;--pink-10: #8c1941;--pink-11: #731536;--pink-12: #59102a;--purple-0: #f8f0fc;--purple-1: #f3d9fa;--purple-2: #eebefa;--purple-3: #e599f7;--purple-4: #da77f2;--purple-5: #cc5de8;--purple-6: #be4bdb;--purple-7: #ae3ec9;--purple-8: #9c36b5;--purple-9: #862e9c;--purple-10: #702682;--purple-11: #5a1e69;--purple-12: #44174f;--violet-0: #f3f0ff;--violet-1: #e5dbff;--violet-2: #d0bfff;--violet-3: #b197fc;--violet-4: #9775fa;--violet-5: #845ef7;--violet-6: #7950f2;--violet-7: #7048e8;--violet-8: #6741d9;--violet-9: #5f3dc4;--violet-10: #5235ab;--violet-11: #462d91;--violet-12: #3a2578;--indigo-0: #edf2ff;--indigo-1: #dbe4ff;--indigo-2: #bac8ff;--indigo-3: #91a7ff;--indigo-4: #748ffc;--indigo-5: #5c7cfa;--indigo-6: #4c6ef5;--indigo-7: #4263eb;--indigo-8: #3b5bdb;--indigo-9: #364fc7;--indigo-10: #2f44ad;--indigo-11: #283a94;--indigo-12: #21307a;--blue-0: #e7f5ff;--blue-1: #d0ebff;--blue-2: #a5d8ff;--blue-3: #74c0fc;--blue-4: #4dabf7;--blue-5: #339af0;--blue-6: #228be6;--blue-7: #1c7ed6;--blue-8: #1971c2;--blue-9: #1864ab;--blue-10: #145591;--blue-11: #114678;--blue-12: #0d375e;--cyan-0: #e3fafc;--cyan-1: #c5f6fa;--cyan-2: #99e9f2;--cyan-3: #66d9e8;--cyan-4: #3bc9db;--cyan-5: #22b8cf;--cyan-6: #15aabf;--cyan-7: #1098ad;--cyan-8: #0c8599;--cyan-9: #0b7285;--cyan-10: #095c6b;--cyan-11: #074652;--cyan-12: #053038;--teal-0: #e6fcf5;--teal-1: #c3fae8;--teal-2: #96f2d7;--teal-3: #63e6be;--teal-4: #38d9a9;--teal-5: #20c997;--teal-6: #12b886;--teal-7: #0ca678;--teal-8: #099268;--teal-9: #087f5b;--teal-10: #066649;--teal-11: #054d37;--teal-12: #033325;--green-0: #ebfbee;--green-1: #d3f9d8;--green-2: #b2f2bb;--green-3: #8ce99a;--green-4: #69db7c;--green-5: #51cf66;--green-6: #40c057;--green-7: #37b24d;--green-8: #2f9e44;--green-9: #2b8a3e;--green-10: #237032;--green-11: #1b5727;--green-12: #133d1b;--lime-0: #f4fce3;--lime-1: #e9fac8;--lime-2: #d8f5a2;--lime-3: #c0eb75;--lime-4: #a9e34b;--lime-5: #94d82d;--lime-6: #82c91e;--lime-7: #74b816;--lime-8: #66a80f;--lime-9: #5c940d;--lime-10: #4c7a0b;--lime-11: #3c6109;--lime-12: #2c4706;--yellow-0: #fff9db;--yellow-1: #fff3bf;--yellow-2: #ffec99;--yellow-3: #ffe066;--yellow-4: #ffd43b;--yellow-5: #fcc419;--yellow-6: #fab005;--yellow-7: #f59f00;--yellow-8: #f08c00;--yellow-9: #e67700;--yellow-10: #b35c00;--yellow-11: #804200;--yellow-12: #663500;--orange-0: #fff4e6;--orange-1: #ffe8cc;--orange-2: #ffd8a8;--orange-3: #ffc078;--orange-4: #ffa94d;--orange-5: #ff922b;--orange-6: #fd7e14;--orange-7: #f76707;--orange-8: #e8590c;--orange-9: #d9480f;--orange-10: #bf400d;--orange-11: #99330b;--orange-12: #802b09;--choco-0: #fff8dc;--choco-1: #fce1bc;--choco-2: #f7ca9e;--choco-3: #f1b280;--choco-4: #e99b62;--choco-5: #df8545;--choco-6: #d46e25;--choco-7: #bd5f1b;--choco-8: #a45117;--choco-9: #8a4513;--choco-10: #703a13;--choco-11: #572f12;--choco-12: #3d210d;--brown-0: #faf4eb;--brown-1: #ede0d1;--brown-2: #e0cab7;--brown-3: #d3b79e;--brown-4: #c5a285;--brown-5: #b78f6d;--brown-6: #a87c56;--brown-7: #956b47;--brown-8: #825b3a;--brown-9: #6f4b2d;--brown-10:#5e3a21;--brown-11:#4e2b15;--brown-12: #422412;--sand-0: #f8fafb;--sand-1: #e6e4dc;--sand-2: #d5cfbd;--sand-3: #c2b9a0;--sand-4: #aea58c;--sand-5: #9a9178;--sand-6: #867c65;--sand-7: #736a53;--sand-8: #5f5746;--sand-9: #4b4639;--sand-10:#38352d;--sand-11:#252521;--sand-12: #121210;--camo-0: #f9fbe7;--camo-1: #e8ed9c;--camo-2: #d2df4e;--camo-3: #c2ce34;--camo-4: #b5bb2e;--camo-5: #a7a827;--camo-6: #999621;--camo-7: #8c851c;--camo-8: #7e7416;--camo-9: #6d6414;--camo-10: #5d5411;--camo-11: #4d460e;--camo-12: #36300a;--jungle-0: #ecfeb0;--jungle-1: #def39a;--jungle-2: #d0e884;--jungle-3: #c2dd6e;--jungle-4: #b5d15b;--jungle-5: #a8c648;--jungle-6: #9bbb36;--jungle-7: #8fb024;--jungle-8: #84a513;--jungle-9: #7a9908;--jungle-10: #658006;--jungle-11: #516605;--jungle-12: #3d4d04}.box,aside,details,dialog{margin:var(--gap) 0;padding:var(--gap);overflow:clip;border-radius:var(--border-radius);background:var(--box-bg);border:1px solid var(--faded-fg)}.box>:first-child:first-child:first-child:first-child,.box>:first-child>:first-child:first-child:first-child,.box>:first-child>:first-child>:first-child:first-child,.box>:first-child>:first-child>:first-child>:first-child{-webkit-margin-before:0;margin-block-start:0}.box>:last-child:last-child:last-child:last-child,.box>:last-child>:last-child:last-child:last-child,.box>:last-child>:last-child>:last-child:last-child,.box>:last-child>:last-child>:last-child>:last-child{-webkit-margin-after:0;margin-block-end:0}.titlebar{margin-inline:calc(0px - var(--gap));-webkit-margin-after:calc(0px - var(--gap));margin-block-end:calc(0px - var(--gap));padding-inline:var(--gap);font:inherit;font-weight:700;translate:0 calc(-1px - var(--gap));background:var(--accent);color:var(--bg)}.breadcrumbs[aria-label],.titlebar{font-family:var(--secondary-font)}.breadcrumbs[aria-label] ol,.breadcrumbs[aria-label] ul{list-style:none;-webkit-padding-start:0;padding-inline-start:0}.breadcrumbs[aria-label] li{display:inline}:is(.breadcrumbs[aria-label] li)+li::before{content:' / ';display:inline}.breadcrumbs[aria-label] [aria-current=page],dt{font-weight:700}.chip,[role=menu],chip{background:var(--box-bg)}.chip,chip{font-family:var(--secondary-font);border-radius:calc(var(--rhythm)/2);padding-inline:calc(var(--rhythm)/2);border:1px solid var(--accent)}[role=menu]{margin:var(--gap) 0;padding:var(--gap);overflow:clip;border-radius:var(--border-radius);border:1px solid var(--faded-fg);position:absolute;padding:calc(var(--gap)/2) 0;margin:1px 0 0;display:flex;flex-flow:column nowrap}[role=menu]>:first-child:first-child:first-child:first-child,[role=menu]>:first-child>:first-child:first-child:first-child,[role=menu]>:first-child>:first-child>:first-child:first-child,[role=menu]>:first-child>:first-child>:first-child>:first-child{-webkit-margin-before:0;margin-block-start:0}[role=menu]>:last-child:last-child:last-child:last-child,[role=menu]>:last-child>:last-child:last-child:last-child,[role=menu]>:last-child>:last-child>:last-child:last-child,[role=menu]>:last-child>:last-child>:last-child>:last-child{-webkit-margin-after:0;margin-block-end:0}[role=menuitem]{padding:0 calc(var(--gap)/2);display:block;text-decoration:none;color:var(--fg)}[role=menuitem]:focus{background:var(--accent);color:var(--bg)}.navbar{margin:0;padding:0 var(--rhythm);font-family:var(--secondary-font);background:var(--box-bg);-webkit-border-after:1px solid var(--accent);border-block-end:1px solid var(--accent);overflow-x:auto;scrollbar-width:thin;display:flex;flex-flow:row;gap:calc(2*var(--rhythm))}.navbar :first-child{-webkit-margin-start:auto;margin-inline-start:auto}.navbar :last-child{-webkit-margin-end:auto;margin-inline-end:auto}.navbar *,.navbar nav ul[role=list] *{flex-shrink:0}.navbar nav ul[role=list]{-webkit-padding-start:0;padding-inline-start:0;display:flex;flex-flow:row;gap:var(--rhythm)}.navbar a,.sidebar a{font-weight:700;text-decoration:none}.navbar a:focus,.navbar a:hover{text-decoration:underline}.navbar [aria-current=page]{background:var(--accent);color:var(--box-bg);border-radius:var(--border-radius);outline:.2em solid var(--accent)}.permalink-anchor{display:none}:hover>.permalink-anchor{display:initial}.sidebar{margin:var(--gap) 0;padding:var(--gap);overflow:clip;border-radius:var(--border-radius);background:var(--box-bg);border:1px solid var(--faded-fg);font-family:var(--secondary-font);border-block:none;-webkit-border-start:none;border-inline-start:none;border-radius:0;margin:0;font-size:.8em;--rhythm: 1em
-}.sidebar>:first-child:first-child:first-child:first-child,.sidebar>:first-child>:first-child:first-child:first-child,.sidebar>:first-child>:first-child>:first-child:first-child,.sidebar>:first-child>:first-child>:first-child>:first-child{-webkit-margin-before:0;margin-block-start:0}.sidebar>:last-child:last-child:last-child:last-child,.sidebar>:last-child>:last-child:last-child:last-child,.sidebar>:last-child>:last-child>:last-child:last-child,.sidebar>:last-child>:last-child>:last-child>:last-child{-webkit-margin-after:0;margin-block-end:0}.sidebar li{padding:calc(.5*var(--gap));margin-inline:calc(-.5*var(--gap));border-radius:var(--border-radius)}.sub-title,sub-title{display:block;font-weight:400;color:var(--muted-fg)}[role=tablist]{display:flex;gap:.5ch;scrollbar-width:thin}[role=tab][role=tab]{all:initial;font-family:var(--secondary-font);padding:0 calc(var(--rhythm)/4);margin:0;min-height:var(--rhythm);border:solid var(--box-border);border-width:1px 1px 0;border-block-end-color:transparent;background:var(--interactive-bg);border-start-start-radius:.4em;border-start-end-radius:.4em}[role=tab][role=tab]:active,[role=tab][role=tab][aria-selected=true]{transform:none;bottom:-1px;position:relative;background:var(--box-bg);-webkit-border-after:1px solid var(--box-bg);border-block-end:1px solid var(--box-bg)}[role=tabpanel]{margin:var(--gap) 0;padding:var(--gap);overflow:clip;border-radius:var(--border-radius);background:var(--box-bg);border:1px solid var(--faded-fg);-webkit-margin-before:0;margin-block-start:0;border-start-start-radius:0;border-start-end-radius:0;z-index:1}[role=tabpanel]>:first-child:first-child:first-child:first-child,[role=tabpanel]>:first-child>:first-child:first-child:first-child,[role=tabpanel]>:first-child>:first-child>:first-child:first-child,[role=tabpanel]>:first-child>:first-child>:first-child>:first-child{-webkit-margin-before:0;margin-block-start:0}[role=tabpanel]>:last-child:last-child:last-child:last-child,[role=tabpanel]>:last-child>:last-child:last-child:last-child,[role=tabpanel]>:last-child>:last-child>:last-child:last-child,[role=tabpanel]>:last-child>:last-child>:last-child>:last-child{-webkit-margin-after:0;margin-block-end:0}.tool-bar{display:flex;flex-flow:row wrap;gap:calc(var(--gap)/2)}.tool-bar>*{margin:0}.plain{--box-bg: var(--plain-bg);--accent: var(--plain-fg);--faded-fg: var(--plain-faded-fg)}.info{--box-bg: var(--info-bg);--accent: var(--info-fg);--faded-fg: var(--info-faded-fg)}.ok{--box-bg: var(--ok-bg);--accent: var(--ok-fg);--faded-fg: var(--ok-faded-fg)}.warn{--box-bg: var(--warn-bg);--accent: var(--warn-fg);--faded-fg: var(--warn-faded-fg)}.bad{--box-bg: var(--bad-bg);--accent: var(--bad-fg);--faded-fg: var(--bad-faded-fg)}.color{color:var(--accent)}.bg{background:var(--box-bg)}.border{border-style:solid;border-color:var(--faded-fg)}.airy{--density: 3}.dense{--density: 1}.crowded{--density: .5}.packed,address{--density: 0}.autodensity{--density: 1
-}@media (min-width:768px){.autodensity{--density: 2
-}}@media (min-width:1024px){.autodensity{--density: 3
-}}.f-row{display:flex;flex-direction:row;gap:var(--gap)}.f-row>*{margin:0}.f-col{display:flex;flex-direction:column;gap:var(--gap)}.f-col>*,body{margin:0}.f-switch{display:flex;flex-flow:row wrap;gap:var(--gap);--col-width: 15ch
-}.f-switch>*{margin:0;flex-basis:calc((var(--col-width) - 100%)*999);flex-grow:1}.justify-content\:start{justify-content:start}.justify-content\:end{justify-content:end}.justify-content\:baseline{justify-content:baseline}.justify-content\:center{justify-content:center}.justify-content\:stretch{justify-content:stretch}.align-items\:start{align-items:start}.align-items\:end{align-items:end}.align-items\:baseline{align-items:baseline}.align-items\:center{align-items:center}.align-items\:stretch{align-items:stretch}.align-self\:start{align-self:start}.align-self\:end{align-self:end}.align-self\:baseline{align-self:baseline}.align-self\:center{align-self:center}.align-self\:stretch{align-self:stretch}.flex-grow\:0{flex-grow:0}.flex-grow\:1{flex-grow:1}.flex-grow\:2{flex-grow:2}.flex-grow\:3{flex-grow:3}.flex-grow\:4{flex-grow:4}.flex-grow\:5{flex-grow:5}.flex-grow\:6{flex-grow:6}.flex-grow\:7{flex-grow:7}.flex-grow\:8{flex-grow:8}.flex-grow\:9{flex-grow:9}.flex-grow\:10{flex-grow:10}.flex-grow\:11{flex-grow:11}.flex-grow\:12{flex-grow:12}.flex-wrap\:wrap{flex-wrap:wrap}.flex-wrap\:nowrap{flex-wrap:nowrap}.vh,v-h{clip:rect(0 0 0 0);-webkit-clip-path:inset(50%);clip-path:inset(50%);block-size:1px;inline-size:1px;overflow:hidden;white-space:nowrap}.all\:initial{all:initial}.textcolumns{--col-width: 30ch;column-width:var(--col-width);column-gap:var(--gap);margin-block:var(--gap)}.textcolumns :first-child{-webkit-margin-before:0!important;margin-block-start:0!important}.text-align\:center{text-align:center}.center{display:grid;place-items:center}.container{max-inline-size:var(--eff-line-length);margin-inline:auto}.fullbleed{position:relative;width:100vw;left:50%;transform:translateX(-50vw);border-radius:0;border-inline:none}.width\:100\%{width:100%}.padding{padding-inline:var(--gap)}.padding>:first-child:first-child:first-child:first-child,.padding>:first-child>:first-child:first-child:first-child,.padding>:first-child>:first-child>:first-child:first-child,.padding>:first-child>:first-child>:first-child>:first-child{-webkit-margin-before:0;margin-block-start:0}.padding>:last-child:last-child:last-child:last-child,.padding>:last-child>:last-child:last-child:last-child,.padding>:last-child>:last-child>:last-child:last-child,.padding>:last-child>:last-child>:last-child>:last-child{-webkit-margin-after:0;margin-block-end:0}.padding-block{padding-block:var(--gap)}.padding-block>:first-child:first-child:first-child:first-child,.padding-block>:first-child>:first-child:first-child:first-child,.padding-block>:first-child>:first-child>:first-child:first-child,.padding-block>:first-child>:first-child>:first-child>:first-child,fieldset>:first-child:first-child:first-child:first-child,fieldset>:first-child>:first-child:first-child:first-child,fieldset>:first-child>:first-child>:first-child:first-child,fieldset>:first-child>:first-child>:first-child>:first-child{-webkit-margin-before:0;margin-block-start:0}.padding-block>:last-child:last-child:last-child:last-child,.padding-block>:last-child>:last-child:last-child:last-child,.padding-block>:last-child>:last-child>:last-child:last-child,.padding-block>:last-child>:last-child>:last-child>:last-child,fieldset>:last-child:last-child:last-child:last-child,fieldset>:last-child>:last-child:last-child:last-child,fieldset>:last-child>:last-child>:last-child:last-child,fieldset>:last-child>:last-child>:last-child>:last-child{-webkit-margin-after:0;margin-block-end:0}.padding-inline{padding-inline:var(--gap)}.margin{margin:var(--gap)}.margin-block,dl,p{margin-block:var(--gap)}.margin-inline{margin-inline:var(--gap)}.inline{display:inline}.block,input{display:block}.contents{display:contents}.table{display:table;width:100%;margin:0}.row,.rows>*{display:table-row}.row:not(:last-child)>*,.rows>:not(:last-child)>*{margin-bottom:var(--gap)}.row>:not([specificity-hack]),.rows>*>:not([specificity-hack]){display:table-cell;vertical-align:top}.row>*+:not([specificity-hack]),:is(.rows > *)>*+:not([specificity-hack]){-webkit-margin-start:var(--gap);margin-inline-start:var(--gap);display:inline-block}.fixed{position:fixed}.sticky{position:sticky}.top{top:0}.right{right:0}.bottom{bottom:0}.left{left:0}.float\:left{float:left}.float\:right{float:right}.overflow\:auto{overflow:auto}.overflow\:scroll{overflow:scroll}.allcaps{text-transform:uppercase;letter-spacing:.1rem}.monospace,code,kbd,samp{font-family:var(--mono-font)}audio,embed,iframe,img,object,video{max-inline-size:100%;inline-size:max-content;block-size:auto}label input:not([specificity-hack]){display:inline;padding-block:0}.\<button\>,button,input::file-selector-button,input[type=button],input[type=reset],input[type=submit]{display:inline-block;padding:0 calc(var(--rhythm)/4);vertical-align:top;font-size:.8rem;line-height:1.125em;font-family:var(--secondary-font);min-height:var(--rhythm);background:var(--interactive-bg);border:1px solid var(--muted-fg);box-sizing:border-box;border-radius:var(--border-radius);color:var(--fg);text-decoration:none;display:inline-flex;place-items:center}:is(button,input[type="submit"],input[type="reset"],input[type="button"],input::file-selector-button,.\<button\>):focus-visible,:is(button,input[type="submit"],input[type="reset"],input[type="button"],input::file-selector-button,.\<button\>):hover{filter:brightness(1.1);text-decoration:none}:is(button,input[type="submit"],input[type="reset"],input[type="button"],input::file-selector-button,.\<button\>):active{filter:brightness(.8)}[aria-expanded=true]:is(button,input[type="submit"],input[type="reset"],input[type="button"],input::file-selector-button,.\<button\>),[aria-pressed=true]:is(button,input[type="submit"],input[type="reset"],input[type="button"],input::file-selector-button,.\<button\>){box-shadow:0 .05em var(--accent);transform:translateY(.05em);background:var(--pressed-interactive-bg)}[disabled]:is(button,input[type="submit"],input[type="reset"],input[type="button"],input::file-selector-button,.\<button\>){color:var(--muted-fg)}strong>:is(button,input[type="submit"],input[type="reset"],input[type="button"],input::file-selector-button,.\<button\>){background:var(--accent);color:var(--bg);border:0;font-weight:700}strong>[disabled]:is(button,input[type="submit"],input[type="reset"],input[type="button"],input::file-selector-button,.\<button\>){color:var(--muted-accent)}input:not([type]),input[type=date],input[type=datetime-local],input[type=datetime],input[type=email],input[type=month],input[type=number],input[type=password],input[type=search],input[type=tel],input[type=text],input[type=time],input[type=url],input[type=week],select,textarea{padding:calc(var(--rhythm)/4);font-size:1rem;line-height:inherit;font-family:var(--main-font);background:var(--bg);color:var(--fg);border:1px solid var(--faded-fg);border-radius:var(--border-radius);vertical-align:top}:is(input:not([type]),input[type="text"],input[type="search"],input[type="tel"],input[type="url"],input[type="email"],input[type="password"],input[type="date"],input[type="month"],input[type="week"],input[type="time"],input[type="datetime"],input[type="datetime-local"],input[type="number"],select,textarea):focus-visible{border:1px solid var(--accent)}:is(input:not([type]),input[type="text"],input[type="search"],input[type="tel"],input[type="url"],input[type="email"],input[type="password"],input[type="date"],input[type="month"],input[type="week"],input[type="time"],input[type="datetime"],input[type="datetime-local"],input[type="number"],select,textarea)::placeholder{color:var(--muted-fg);opacity:1;text-align:end}input[type=range]{width:100%;padding:calc(var(--gap)/4)}input[type=color]{padding:0;margin:0;height:calc(1.5*var(--rhythm));border:0;background:0 0}input[type=file]{padding:calc(var(--gap)/4) 0;font:inherit;line-height:calc(var(--rhythm)/2)}input[type=file]::file-selector-button{margin-block:.1em 0;-webkit-margin-end:1ch;margin-inline-end:1ch}select[multiple],td,th{vertical-align:top}optgroup::before{color:var(--muted-fg)}label[for]{display:block;padding-block:calc(var(--gap)/4)}fieldset>legend+*{-webkit-margin-before:0;margin-block-start:0}hr{color:inherit;margin-inline:0;margin-block:var(--gap);flex-grow:0;-webkit-border-start:1px solid var(--accent);border-inline-start:1px solid var(--accent);block-size:auto;-webkit-border-before:1px solid var(--accent);border-block-start:1px solid var(--accent);-webkit-border-after:none;border-block-end:none;-webkit-border-end:none;border-inline-end:none}blockquote,pre{line-height:var(--rhythm)}pre{font-family:var(--mono-font);tab-size:2;margin:var(--gap) 0;overflow-x:auto;scrollbar-width:thin;scrollbar-color:var(--accent) transparent;font-size:.9em}blockquote{margin-inline:0 var(--gap);padding-inline:var(--gap) 0;margin-block:var(--gap);font-size:1.1em;font-style:italic;-webkit-border-start:1px solid var(--faded-fg);border-inline-start:1px solid var(--faded-fg);color:var(--muted-fg)}blockquote address,blockquote cite,blockquote dfn,blockquote em,blockquote i,blockquote var,optgroup::before,q address,q cite,q dfn,q em,q i,q var{font-style:normal}blockquote footer{text-align:right;text-align:end}ol,ul{-webkit-padding-start:var(--rhythm);padding-inline-start:var(--rhythm)}ol ol,ol ul,ul ol,ul ul{-webkit-padding-start:var(--gap);padding-inline-start:var(--gap)}ol[role=list],ul[role=list]{-webkit-padding-start:0;padding-inline-start:0;list-style:none}ol{list-style:decimal}dd{-webkit-margin-start:var(--rhythm);margin-inline-start:var(--rhythm)}li::marker{font-family:var(--secondary-font)}figure{max-width:100%;margin-inline:0;margin:var(--gap) 0;padding:var(--gap);overflow:clip;border-radius:var(--border-radius);background:var(--box-bg);border:1px solid var(--faded-fg)}figure>:first-child:first-child:first-child:first-child,figure>:first-child>:first-child:first-child:first-child,figure>:first-child>:first-child>:first-child:first-child,figure>:first-child>:first-child>:first-child>:first-child{-webkit-margin-before:0;margin-block-start:0}figure>:last-child:last-child:last-child:last-child,figure>:last-child>:last-child:last-child:last-child,figure>:last-child>:last-child>:last-child:last-child,figure>:last-child>:last-child>:last-child>:last-child{-webkit-margin-after:0;margin-block-end:0}a,figcaption{font-family:var(--secondary-font)}figcaption{margin-block:var(--gap);color:var(--muted-fg)}main{max-inline-size:var(--eff-line-length);margin:auto}a{color:var(--link-fg, var(--accent))}.list-of-links a{text-decoration:none}a:hover{text-decoration:underline}span>small:only-child{display:block;float:inline-end;clear:inline-end;--sidenote-width: 20ch;max-inline-size:var(--sidenote-width);padding-inline:1.5ch 1ch;-webkit-margin-end:calc(1em - var(--sidenote-width));margin-inline-end:calc(1em - var(--sidenote-width));-webkit-margin-after:var(--rhythm);margin-block-end:var(--rhythm);font-family:var(--secondary-font);background:var(--bg);border:1px solid transparent;transition:transform .1s ease-in-out}span>small:only-child:focus-within,span>small:only-child:hover{border:1px solid var(--faded-fg);border-radius:var(--border-radius);transform:translateX(calc(0px - var(--sidenote-width) + min(var(--gutter-width),var(--sidenote-width))))}del,s{color:var(--bad-fg)}q{font-style:italic}time{font-variant-numeric:tabular-nums}ins,samp{color:var(--ok-fg)}kbd kbd{display:inline-block;padding:0 .3em;font-size:.8em;line-height:1.1em;background:var(--interactive-bg);border:1px outset var(--faded-fg);border-block-end-width:3px;border-radius:var(--border-radius)}sub,sup{vertical-align:bottom;line-height:1}sup{vertical-align:top}mark{background:var(--warn-bg);color:var(--warn-fg)}ins{background:var(--ok-bg)}del{background:var(--bad-bg)}details>:first-child:first-child:first-child:first-child,details>:first-child>:first-child:first-child:first-child,details>:first-child>:first-child>:first-child:first-child,details>:first-child>:first-child>:first-child>:first-child{-webkit-margin-before:0;margin-block-start:0}details>:last-child:last-child:last-child:last-child,details>:last-child>:last-child:last-child:last-child,details>:last-child>:last-child>:last-child:last-child,details>:last-child>:last-child>:last-child>:last-child{-webkit-margin-after:0;margin-block-end:0}details{-webkit-padding-before:0;padding-block-start:0}details:not([open]){-webkit-padding-after:0;padding-block-end:0}summary{margin:calc(0px - var(--gap));margin-bottom:0;padding-inline:var(--gap);font-family:var(--secondary-font);font-weight:700;background:var(--accent);color:var(--bg);cursor:pointer}summary:active,summary:focus-visible{filter:brightness(.8)}details[open] summary{-webkit-border-after:1px solid var(--accent);border-block-end:1px solid var(--accent);border-end-end-radius:0;border-end-start-radius:0}dialog>:first-child:first-child:first-child:first-child,dialog>:first-child>:first-child:first-child:first-child,dialog>:first-child>:first-child>:first-child:first-child,dialog>:first-child>:first-child>:first-child>:first-child{-webkit-margin-before:0;margin-block-start:0}dialog>:last-child:last-child:last-child:last-child,dialog>:last-child>:last-child:last-child:last-child,dialog>:last-child>:last-child>:last-child:last-child,dialog>:last-child>:last-child>:last-child>:last-child{-webkit-margin-after:0;margin-block-end:0}dialog{position:absolute;inline-inset:0;block-size:-moz-fit-content;block-size:fit-content;inline-size:-moz-fit-content;inline-size:fit-content;margin:auto;background-color:var(--bg);color:var(--fg);box-shadow:0 0 .2em .1em var(--shadow),0 .2em .4em var(--shadow),0 .25em 1em var(--shadow)}dialog[open]::-webkit-backdrop{display:block;background:#000;opacity:.4;animation:bg 2s}dialog[open]::backdrop{display:block;background:#000;opacity:.4;animation:bg 2s}dialog:not([open]){display:none}html{font-family:var(--main-font);line-height:var(--rhythm);background:var(--bg);color:var(--fg)}footer,header,section+section{margin-block:calc(2*var(--gap))}nav a{text-decoration:none;color:var(--accent)}aside>:first-child:first-child:first-child:first-child,aside>:first-child>:first-child:first-child:first-child,aside>:first-child>:first-child>:first-child:first-child,aside>:first-child>:first-child>:first-child>:first-child{-webkit-margin-before:0;margin-block-start:0}aside>:last-child:last-child:last-child:last-child,aside>:last-child>:last-child:last-child:last-child,aside>:last-child>:last-child>:last-child:last-child,aside>:last-child>:last-child>:last-child>:last-child{-webkit-margin-after:0;margin-block-end:0}aside h1,aside h2,aside h3,aside h4,aside h5,aside h6{font-size:1em;text-transform:none;letter-spacing:none}.\<h1\>,.\<h2\>,.\<h3\>,.\<h4\>,.\<h5\>,.\<h6\>,h1,h2,h3,h4,h5,h6{-webkit-margin-after:var(--gap);margin-block-end:var(--gap);font-family:var(--secondary-font);-webkit-margin-before:calc(2*var(--gap));margin-block-start:calc(2*var(--gap))}.\<h1\>,.\<h2\>,h1,h2{font-size:2em;text-transform:none;line-height:calc(2*var(--rhythm));letter-spacing:0}.\<h2\>,h2{font-size:1.6em;line-height:calc(1.5*var(--rhythm))}.\<h3\>,.\<h4\>,.\<h5\>,.\<h6\>,h3,h4,h5,h6{font-size:1.17em;line-height:calc(1*var(--rhythm))}.\<h4\>,.\<h5\>,.\<h6\>,h4,h5,h6{font-size:1em;text-transform:none;letter-spacing:0;-webkit-margin-before:var(--gap);margin-block-start:var(--gap)}h1+h2,h1:first-child,h2+h3,h2:first-child,h3+h4,h3:first-child,h4+h5,h4:first-child,h5+h6,h5:first-child,h6:first-child{-webkit-margin-before:var(--gap);margin-block-start:var(--gap)}h1:target,h2:target,h3:target,h4:target,h5:target,h6:target{outline:0}h1:target::before,h2:target::before,h3:target::before,h4:target::before,h5:target::before,h6:target::before{content:'❧';display:inline-block;width:0;transform:translateX(-1.5ch);font-size:2em;vertical-align:bottom;color:var(--accent)}header{-webkit-border-after:1px solid var(--faded-fg);border-block-end:1px solid var(--faded-fg)}caption,footer,header{font-family:var(--secondary-font)}footer{-webkit-border-before:1px solid var(--faded-fg);border-block-start:1px solid var(--faded-fg)}body>footer,body>header,main+footer{padding:var(--rhythm) calc((100% - var(--eff-line-length))/2)}caption{text-align:start;font-style:italic}tbody{border-block:1px solid var(--fg)}td:not(:last-child),th:not(:last-child){-webkit-padding-end:var(--rhythm);padding-inline-end:var(--rhythm)}th{font-family:var(--secondary-font);text-align:start}:root{--fg: var(--gray-12);--muted-fg: var(--gray-10);--faded-fg: var(--plain-faded-fg);--plain-fg: var(--blue-10);--info-fg: var(--blue-11);--ok-fg: var(--green-11);--bad-fg: var(--red-11);--warn-fg: var(--yellow-11);--plain-faded-fg: var(--gray-6);--info-faded-fg: var(--blue-6);--ok-faded-fg: var(--green-6);--bad-faded-fg: var(--red-6);--warn-faded-fg: var(--yellow-6);--bg: var(--gray-0);--box-bg: var(--plain-bg);--interactive-bg: var(--gray-3);--plain-bg: var(--gray-1);--info-bg: var(--blue-1);--ok-bg: var(--green-1);--bad-bg: var(--red-1);--warn-bg: var(--yellow-1);--accent: var(--blue-10);--muted-accent: var(--blue-7);--rhythm: 1.4rem;--line-length: 40rem;--border-radius: .2rem;--main-font: 'Source Sans 3', 'Source Sans Pro', -apple-system, system-ui, sans-serif;--secondary-font: var(--main-font);--mono-font: 'M Plus Code Latin', monospace, monospace;--density: 1;--full-width: 100vw;--eff-line-length: /* Effective line length for prose. */
- min(
- calc( var(--full-width) - (2 * var(--rhythm)) ),
- var(--line-length)
- );--gutter-width: /* Width of spaces at each side of page content. */
- calc(
- (
- var(--full-width) /* Viewport width */
- - var(--eff-line-length) /* minus line width */
- ) / 2)}@media (prefers-color-scheme:dark){:root:not(.-no-dark-theme){--fg: var(--gray-0);--muted-fg: var(--gray-2);--faded-fg: var(--gray-7);--info-bg: var(--blue-12);--ok-bg: var(--green-12);--bad-bg: var(--red-12);--warn-bg: var(--yellow-12);--bg: var(--gray-12);--box-bg: var(--gray-10);--interactive-bg: var(--gray-8);--info-fg: var(--blue-3);--ok-fg: var(--green-3);--bad-fg: var(--red-3);--warn-fg: var(--yellow-3);--accent: var(--blue-3);--muted-accent: var(--blue-5)}}*{--gap: calc(var(--rhythm) * var(--density));accent-color:var(--accent)} \ No newline at end of file
diff --git a/www/releases/_artifacts/v0.2.1/missing.min.css.br b/www/releases/_artifacts/v0.2.1/missing.min.css.br
deleted file mode 100644
index 3023045..0000000
--- a/www/releases/_artifacts/v0.2.1/missing.min.css.br
+++ /dev/null
Binary files differ
diff --git a/www/releases/_artifacts/v0.2.1/missing.min.css.gz b/www/releases/_artifacts/v0.2.1/missing.min.css.gz
deleted file mode 100644
index 5b1ec2e..0000000
--- a/www/releases/_artifacts/v0.2.1/missing.min.css.gz
+++ /dev/null
Binary files differ
diff --git a/www/releases/_artifacts/v0.3.0/missing-prism.css b/www/releases/_artifacts/v0.3.0/missing-prism.css
deleted file mode 100644
index 23e48b5..0000000
--- a/www/releases/_artifacts/v0.3.0/missing-prism.css
+++ /dev/null
@@ -1,62 +0,0 @@
-
-.token.comment,
-.token.prolog,
-.token.doctype,
-.token.cdata,
-.token.punctuation {
- color: var(--muted-fg);
-}
-
-.token.property,
-.token.tag,
-.token.boolean,
-.token.number,
-.token.constant,
-.token.symbol,
-.token.deleted {
- color: var(--bad-fg);
-}
-
-.token.selector,
-.token.attr-name,
-.token.string,
-.token.char,
-.token.builtin,
-.token.inserted {
- color: var(--ok-fg);
-}
-
-.token.operator,
-.token.entity,
-.token.url,
-.language-css .token.string,
-.style .token.string,
-.token.regex,
-.token.important,
-.token.variable {
- color: var(--warn-fg)
-}
-
-.token.atrule,
-.token.attr-value,
-.token.keyword {
- color: var(--info-fg);
-}
-
-.token.function {
- color: var(--bad-fg);
- font-style: italic;
-}
-
-.token.important,
-.token.bold {
- font-weight: bold;
-}
-
-.token.italic {
- font-style: italic;
-}
-
-.token.entity {
- cursor: help;
-}
diff --git a/www/releases/_artifacts/v0.3.0/missing-prism.min.css b/www/releases/_artifacts/v0.3.0/missing-prism.min.css
deleted file mode 100644
index 41c91b1..0000000
--- a/www/releases/_artifacts/v0.3.0/missing-prism.min.css
+++ /dev/null
@@ -1 +0,0 @@
-.token.cdata,.token.comment,.token.doctype,.token.prolog,.token.punctuation{color:var(--muted-fg)}.token.boolean,.token.constant,.token.deleted,.token.number,.token.property,.token.symbol,.token.tag{color:var(--bad-fg)}.token.attr-name,.token.builtin,.token.char,.token.inserted,.token.selector,.token.string{color:var(--ok-fg)}.language-css .token.string,.style .token.string,.token.entity,.token.important,.token.operator,.token.regex,.token.url,.token.variable{color:var(--warn-fg)}.token.atrule,.token.attr-value,.token.keyword{color:var(--info-fg)}.token.function{color:var(--bad-fg);font-style:italic}.token.bold,.token.important{font-weight:700}.token.italic{font-style:italic}.token.entity{cursor:help} \ No newline at end of file
diff --git a/www/releases/_artifacts/v0.3.0/missing-prism.min.css.br b/www/releases/_artifacts/v0.3.0/missing-prism.min.css.br
deleted file mode 100644
index 2a4ac49..0000000
--- a/www/releases/_artifacts/v0.3.0/missing-prism.min.css.br
+++ /dev/null
Binary files differ
diff --git a/www/releases/_artifacts/v0.3.0/missing-prism.min.css.gz b/www/releases/_artifacts/v0.3.0/missing-prism.min.css.gz
deleted file mode 100644
index e834bd4..0000000
--- a/www/releases/_artifacts/v0.3.0/missing-prism.min.css.gz
+++ /dev/null
Binary files differ
diff --git a/www/releases/_artifacts/v0.3.0/missing.css b/www/releases/_artifacts/v0.3.0/missing.css
deleted file mode 100644
index dafdb8f..0000000
--- a/www/releases/_artifacts/v0.3.0/missing.css
+++ /dev/null
@@ -1,1865 +0,0 @@
-/* Document
- * ========================================================================== */
-
-/**
- * 1. Add border box sizing in all browsers (opinionated).
- * 2. Backgrounds do not repeat by default (opinionated).
- */
-
-*,
-::before,
-::after {
- box-sizing: border-box; /* 1 */
- background-repeat: no-repeat; /* 2 */
-}
-
-/**
- * 1. Add text decoration inheritance in all browsers (opinionated).
- * 2. Add vertical alignment inheritance in all browsers (opinionated).
- */
-
-::before,
-::after {
- text-decoration: inherit; /* 1 */
- vertical-align: inherit; /* 2 */
-}
-
-/**
- * 1. Use the default cursor in all browsers (opinionated).
- * 3. Breaks words to prevent overflow in all browsers (opinionated).
- * 5. Remove the grey highlight on links in iOS (opinionated).
- * 6. Prevent adjustments of font size after orientation changes in iOS.
- */
-
-:root {
- cursor: default; /* 1 */
- overflow-wrap: break-word; /* 3 */
- -webkit-tap-highlight-color: transparent; /* 5 */
- text-size-adjust: none;
- -webkit-text-size-adjust: none;
-}
-
-/* Text-level semantics
- * ========================================================================== */
-
-/**
- * Add the correct text decoration in Safari.
- */
-
-abbr[title] {
- text-decoration: underline;
- -webkit-text-decoration: underline dotted;
- text-decoration: underline dotted;
-}
-
-/**
- * Add the correct font weight in Chrome, Edge, and Safari.
- */
-
-strong, b {
- font-weight: bolder;
-}
-
-/**
- * Add the correct font size in all browsers.
- */
-
-small {
- font-size: 80%;
-}
-
-/* Embedded content
- * ========================================================================== */
-
-/*
- * Change the alignment on media elements in all browsers (opinionated).
- */
-
-audio, canvas, iframe, img, svg, video {
- vertical-align: middle;
-}
-
-/**
- * Change the fill color to match the text color in all browsers (opinionated).
- */
-
-svg:not([fill]) {
- fill: currentColor;
-}
-
-/* Tabular data
- * ========================================================================== */
-
-/**
- * 1. Collapse border spacing in all browsers (opinionated).
- * 2. Correct table border color in Chrome, Edge, and Safari.
- * 3. Remove text indentation from table contents in Chrome, Edge, and Safari.
- */
-
-table {
- border-collapse: collapse; /* 1 */
- border-color: currentColor; /* 2 */
- text-indent: 0; /* 3 */
-}
-
-/* Forms
- * ========================================================================== */
-
-/**
- * Remove the margin on controls in Safari.
- */
-
-button, input, select {
- margin: 0;
-}
-
-/**
- * Correct the inability to style buttons in iOS and Safari.
- */
-
-button, [type="button"], [type="reset"], [type="submit"] {
- -webkit-appearance: button;
-}
-
-/**
- * Change the inconsistent appearance in all browsers (opinionated).
- */
-
-fieldset {
- border: 1px solid #a0a0a0;
-}
-
-/**
- * Add the correct vertical alignment in Chrome, Edge, and Firefox.
- */
-
-progress {
- vertical-align: baseline;
-}
-
-/**
- * 1. Remove the margin in Firefox and Safari.
- */
-
-textarea {
- margin: 0; /* 1 */
-}
-
-/**
- * 1. Correct the odd appearance in Chrome, Edge, and Safari.
- * 2. Correct the outline style in Safari.
- */
-
-[type="search"] {
- -webkit-appearance: textfield; /* 1 */
- outline-offset: -2px; /* 2 */
-}
-
-/**
- * Correct the cursor style of increment and decrement buttons in Safari.
- */
-
-::-webkit-inner-spin-button,
-::-webkit-outer-spin-button {
- block-size: auto;
-}
-
-/**
- * Correct the text style of placeholders in Chrome, Edge, and Safari.
- */
-
-::-webkit-input-placeholder {
- color: inherit;
- opacity: 0.54;
-}
-
-/**
- * Remove the inner padding in Chrome, Edge, and Safari on macOS.
- */
-
-::-webkit-search-decoration {
- -webkit-appearance: none;
-}
-
-/**
- * 1. Correct the inability to style upload buttons in iOS and Safari.
- * 2. Change font properties to `inherit` in Safari.
- */
-
-::-webkit-file-upload-button {
- -webkit-appearance: button; /* 1 */
- font: inherit; /* 2 */
-}
-
-/* Interactive
- * ========================================================================== */
-
-[hidden] {
- display: none !important;
-}
-
-:focus-visible {
- outline: .2em solid var(--accent);
- z-index: 32;
-}
-
-iframe:focus-visible,
- html:focus-visible,
- body:focus-visible {
- outline: none;
- }
-
-:target {
- outline: .2em solid var(--fg);
- z-index: 32;
-}
-
-/*
- * Add the correct display in Safari.
- */
-
-details > summary:first-of-type {
- display: list-item;
-}
-
-/* Accessibility
- * ========================================================================== */
-
-/**
- * Change the cursor on busy elements in all browsers (opinionated).
- */
-
-[aria-busy="true"] {
- cursor: progress;
-}
-
-/*
- * Change the cursor on disabled, not-editable, or otherwise
- * inoperable elements in all browsers (opinionated).
- */
-
-[aria-disabled="true"], [disabled] {
- cursor: not-allowed;
-}
-
-datalist {
- display: none !important;
-}
-
-/* https://github.com/fchristant/colar/ */
-
-:root {
- --gray-0: #f8fafb;
- --gray-1: #f2f4f6;
- --gray-2: #ebedef;
- --gray-3: #e0e4e5;
- --gray-4: #d1d6d8;
- --gray-5: #b1b6b9;
- --gray-6: #979b9d;
- --gray-7: #7e8282;
- --gray-8: #666968;
- --gray-9: #50514f;
- --gray-10: #3a3a37;
- --gray-11: #252521;
- --gray-12: #121210;
-
- --red-0: #fff5f5;
- --red-1: #ffe3e3;
- --red-2: #ffc9c9;
- --red-3: #ffa8a8;
- --red-4: #ff8787;
- --red-5: #ff6b6b;
- --red-6: #fa5252;
- --red-7: #f03e3e;
- --red-8: #e03131;
- --red-9: #c92a2a;
- --red-10: #b02525;
- --red-11: #962020;
- --red-12: #7d1a1a;
-
- --pink-0: #fff0f6;
- --pink-1: #ffdeeb;
- --pink-2: #fcc2d7;
- --pink-3: #faa2c1;
- --pink-4: #f783ac;
- --pink-5: #f06595;
- --pink-6: #e64980;
- --pink-7: #d6336c;
- --pink-8: #c2255c;
- --pink-9: #a61e4d;
- --pink-10: #8c1941;
- --pink-11: #731536;
- --pink-12: #59102a;
-
- --purple-0: #f8f0fc;
- --purple-1: #f3d9fa;
- --purple-2: #eebefa;
- --purple-3: #e599f7;
- --purple-4: #da77f2;
- --purple-5: #cc5de8;
- --purple-6: #be4bdb;
- --purple-7: #ae3ec9;
- --purple-8: #9c36b5;
- --purple-9: #862e9c;
- --purple-10: #702682;
- --purple-11: #5a1e69;
- --purple-12: #44174f;
-
- --violet-0: #f3f0ff;
- --violet-1: #e5dbff;
- --violet-2: #d0bfff;
- --violet-3: #b197fc;
- --violet-4: #9775fa;
- --violet-5: #845ef7;
- --violet-6: #7950f2;
- --violet-7: #7048e8;
- --violet-8: #6741d9;
- --violet-9: #5f3dc4;
- --violet-10: #5235ab;
- --violet-11: #462d91;
- --violet-12: #3a2578;
-
- --indigo-0: #edf2ff;
- --indigo-1: #dbe4ff;
- --indigo-2: #bac8ff;
- --indigo-3: #91a7ff;
- --indigo-4: #748ffc;
- --indigo-5: #5c7cfa;
- --indigo-6: #4c6ef5;
- --indigo-7: #4263eb;
- --indigo-8: #3b5bdb;
- --indigo-9: #364fc7;
- --indigo-10: #2f44ad;
- --indigo-11: #283a94;
- --indigo-12: #21307a;
-
- --blue-0: #e7f5ff;
- --blue-1: #d0ebff;
- --blue-2: #a5d8ff;
- --blue-3: #74c0fc;
- --blue-4: #4dabf7;
- --blue-5: #339af0;
- --blue-6: #228be6;
- --blue-7: #1c7ed6;
- --blue-8: #1971c2;
- --blue-9: #1864ab;
- --blue-10: #145591;
- --blue-11: #114678;
- --blue-12: #0d375e;
-
- --cyan-0: #e3fafc;
- --cyan-1: #c5f6fa;
- --cyan-2: #99e9f2;
- --cyan-3: #66d9e8;
- --cyan-4: #3bc9db;
- --cyan-5: #22b8cf;
- --cyan-6: #15aabf;
- --cyan-7: #1098ad;
- --cyan-8: #0c8599;
- --cyan-9: #0b7285;
- --cyan-10: #095c6b;
- --cyan-11: #074652;
- --cyan-12: #053038;
-
- --teal-0: #e6fcf5;
- --teal-1: #c3fae8;
- --teal-2: #96f2d7;
- --teal-3: #63e6be;
- --teal-4: #38d9a9;
- --teal-5: #20c997;
- --teal-6: #12b886;
- --teal-7: #0ca678;
- --teal-8: #099268;
- --teal-9: #087f5b;
- --teal-10: #066649;
- --teal-11: #054d37;
- --teal-12: #033325;
-
- --green-0: #ebfbee;
- --green-1: #d3f9d8;
- --green-2: #b2f2bb;
- --green-3: #8ce99a;
- --green-4: #69db7c;
- --green-5: #51cf66;
- --green-6: #40c057;
- --green-7: #37b24d;
- --green-8: #2f9e44;
- --green-9: #2b8a3e;
- --green-10: #237032;
- --green-11: #1b5727;
- --green-12: #133d1b;
-
- --lime-0: #f4fce3;
- --lime-1: #e9fac8;
- --lime-2: #d8f5a2;
- --lime-3: #c0eb75;
- --lime-4: #a9e34b;
- --lime-5: #94d82d;
- --lime-6: #82c91e;
- --lime-7: #74b816;
- --lime-8: #66a80f;
- --lime-9: #5c940d;
- --lime-10: #4c7a0b;
- --lime-11: #3c6109;
- --lime-12: #2c4706;
-
- --yellow-0: #fff9db;
- --yellow-1: #fff3bf;
- --yellow-2: #ffec99;
- --yellow-3: #ffe066;
- --yellow-4: #ffd43b;
- --yellow-5: #fcc419;
- --yellow-6: #fab005;
- --yellow-7: #f59f00;
- --yellow-8: #f08c00;
- --yellow-9: #e67700;
- --yellow-10: #b35c00;
- --yellow-11: #804200;
- --yellow-12: #663500;
-
- --orange-0: #fff4e6;
- --orange-1: #ffe8cc;
- --orange-2: #ffd8a8;
- --orange-3: #ffc078;
- --orange-4: #ffa94d;
- --orange-5: #ff922b;
- --orange-6: #fd7e14;
- --orange-7: #f76707;
- --orange-8: #e8590c;
- --orange-9: #d9480f;
- --orange-10: #bf400d;
- --orange-11: #99330b;
- --orange-12: #802b09;
-
- --choco-0: #fff8dc;
- --choco-1: #fce1bc;
- --choco-2: #f7ca9e;
- --choco-3: #f1b280;
- --choco-4: #e99b62;
- --choco-5: #df8545;
- --choco-6: #d46e25;
- --choco-7: #bd5f1b;
- --choco-8: #a45117;
- --choco-9: #8a4513;
- --choco-10: #703a13;
- --choco-11: #572f12;
- --choco-12: #3d210d;
-
- --brown-0: #faf4eb;
- --brown-1: #ede0d1;
- --brown-2: #e0cab7;
- --brown-3: #d3b79e;
- --brown-4: #c5a285;
- --brown-5: #b78f6d;
- --brown-6: #a87c56;
- --brown-7: #956b47;
- --brown-8: #825b3a;
- --brown-9: #6f4b2d;
- --brown-10:#5e3a21;
- --brown-11:#4e2b15;
- --brown-12: #422412;
-
- --sand-0: #f8fafb;
- --sand-1: #e6e4dc;
- --sand-2: #d5cfbd;
- --sand-3: #c2b9a0;
- --sand-4: #aea58c;
- --sand-5: #9a9178;
- --sand-6: #867c65;
- --sand-7: #736a53;
- --sand-8: #5f5746;
- --sand-9: #4b4639;
- --sand-10:#38352d;
- --sand-11:#252521;
- --sand-12: #121210;
-
- --camo-0: #f9fbe7;
- --camo-1: #e8ed9c;
- --camo-2: #d2df4e;
- --camo-3: #c2ce34;
- --camo-4: #b5bb2e;
- --camo-5: #a7a827;
- --camo-6: #999621;
- --camo-7: #8c851c;
- --camo-8: #7e7416;
- --camo-9: #6d6414;
- --camo-10: #5d5411;
- --camo-11: #4d460e;
- --camo-12: #36300a;
-
- --jungle-0: #ecfeb0;
- --jungle-1: #def39a;
- --jungle-2: #d0e884;
- --jungle-3: #c2dd6e;
- --jungle-4: #b5d15b;
- --jungle-5: #a8c648;
- --jungle-6: #9bbb36;
- --jungle-7: #8fb024;
- --jungle-8: #84a513;
- --jungle-9: #7a9908;
- --jungle-10: #658006;
- --jungle-11: #516605;
- --jungle-12: #3d4d04;
-}
-
-.box,
-/* defined elsewhere */
-[role=menu],
-.sidebar,
-[role=tabpanel],
-figure,
-details,
-dialog,
-aside {
- margin: var(--gap) 0;
- padding: var(--gap);
- overflow: clip;
-
- border-radius: var(--border-radius);
- background: var(--box-bg);
- border: 1px solid var(--faded-fg);
-}
-
-.titlebar {
- margin-inline: calc(0px - var(--gap));
- -webkit-margin-after: calc(0px - var(--gap));
- margin-block-end: calc(0px - var(--gap));
- padding-inline: var(--gap);
-
- font: inherit;
- font-family: var(--secondary-font);
- font-weight: bold;
-
- translate: 0 calc(-1px - var(--gap));
-
- background: var(--accent);
- color: var(--bg);
-}
-
-.breadcrumbs[aria-label] {
- font-family: var(--secondary-font)
-}
-
-.breadcrumbs[aria-label] ul, .breadcrumbs[aria-label] ol {
- list-style: none;
- -webkit-padding-start: 0;
- padding-inline-start: 0;
- }
-
-.breadcrumbs[aria-label] li {
- display: inline
- }
-
-:is(.breadcrumbs[aria-label] li)+li::before {
- content: ' / ' / '';
- content: ' / ';
- display: inline;
- }
-
-.breadcrumbs[aria-label] [aria-current="page"] {
- font-weight: bold;
- }
-
-.chip, chip {
- font-family: var(--secondary-font);
- border: 1px solid var(--accent);
- background: var(--box-bg);
- border-radius: calc(var(--rhythm) / 2);
- padding-inline: calc(var(--rhythm) / 2);
-}
-
-[role="menu"] {
- /* SEE components/box.css */
- position: absolute;
-
- padding: calc(var(--gap) / 2) 0;
- margin: 1px 0 0 0;
-
- display: flex;
- flex-flow: column nowrap;
-}
-
-[role=menuitem] {
- padding: 0 calc(var(--gap) / 2);
-
- display: block;
-
- text-decoration: none;
-
- color: var(--fg)
-}
-
-[role=menuitem]:focus {
- background: var(--accent);
- color: var(--bg);
- }
-
-.navbar {
- margin: 0 0 var(--gap) 0;
- padding: var(--rhythm);
-
- font-family: var(--secondary-font);
-
- background: var(--box-bg);
- -webkit-border-after: 1px solid var(--accent);
- border-block-end: 1px solid var(--accent);
-
- overflow-x: auto;
- scrollbar-width: thin;
-
- /* Inner layout */
- display: flex;
- flex-flow: row;
- justify-content: center;
- gap: calc(2 * var(--rhythm))
-}
-
-.navbar * {
- flex-shrink: 0;
- margin-block: 0;
- }
-
-.navbar nav ul[role="list"] {
- -webkit-padding-start: 0;
- padding-inline-start: 0;
- display: flex;
- flex-flow: row;
- gap: var(--rhythm)
- }
-
-.navbar nav ul[role="list"] * { flex-shrink: 0 }
-
-.navbar a {
- font-weight: bold;
- text-decoration: none;
- }
-
-.navbar a:hover, .navbar a:focus {
- text-decoration: underline;
- }
-
-.navbar [aria-current=page] {
- background: var(--accent);
- color: var(--box-bg);
- border-radius: var(--border-radius);
- outline: .2em solid var(--accent);
- }
-
-.permalink-anchor {
- display: none
-}
-
-*:hover > .permalink-anchor {
- display: initial
-}
-
-.sidebar {
- /* SEE components/box.css */
-
- font-family: var(--secondary-font);
-
- border-block: none;
- -webkit-border-start: none;
- border-inline-start: none;
- border-radius: 0;
- margin: 0;
-
- font-size: .8em;
- --rhythm: 1em
-}
-
-.sidebar li {
- padding: calc(.5 * var(--gap));
- margin-inline: calc(-.5 * var(--gap));
- border-radius: var(--border-radius);
- }
-
-.sidebar a {
- font-weight: bold;
- text-decoration: none;
- }
-
-.sub-title, sub-title {
- /***
- Meant for use in headings. Make sure to also use visually-hidden punctuation
- to mark the subtitle as shown below:
-
- 1 | <h1>
- 2 | Foo Bar<v-h>:</v-h>
- 3 | <sub-title>How I Learned To Stop Worrying and Love Baz</sub-title>
- 4 | </h1>
-
- 1 | <h1>
- 2 | <sub-title class="-allcaps">Breaking News</sub-title><v-h>:</v-h>
- 3 | Bad Thing Happens
- 4 | <h1>
- ***/
-
- display: block;
-
- font-weight: normal;
-
- color: var(--muted-fg);
-}
-
-[role="tablist"] {
- display: flex;
- gap: .5ch;
- scrollbar-width: thin;
-}
-
-[role="tab"][role="tab"] {
- all: initial;
-
- font-family: var(--secondary-font);
-
- padding: 0 calc(var(--rhythm) / 4);
- margin: 0;
- min-height: var(--rhythm);
-
- border: solid var(--faded-fg);
- border-width: 1px 1px 0 1px;
- border-block-end-color: transparent;
- background: var(--interactive-bg);
-
- border-start-start-radius: .4em;
- border-start-end-radius: .4em
-}
-
-[role="tab"][role="tab"]:active, [role="tab"][role="tab"][aria-selected="true"] {
- transform: none;
- bottom: -1px;
- position: relative;
- background: var(--box-bg);
- -webkit-border-after: 1px solid var(--box-bg);
- border-block-end: 1px solid var(--box-bg);
- }
-
-[role="tab"][role="tab"]:hover {
- background-color: var(--box-bg);
- }
-
-[role="tab"][role="tab"]:focus {
- background-color: var(--box-bg);
- border-color: var(--accent);
- outline: 1px solid var(--accent);
- }
-
-[role="tabpanel"] {
- /* SEE components/box.css */
-
- -webkit-margin-before: 0;
-
- margin-block-start: 0;
- border-start-start-radius: 0;
- border-start-end-radius: 0;
- z-index: 1;
-}
-
-.tool-bar {
- display: flex;
- flex-flow: row wrap;
- gap: calc(var(--gap) / 2)
-}
-
-.tool-bar > * { margin: 0; }
-
-.plain {
- --box-bg: var(--plain-bg);
- --accent: var(--plain-fg);
- --faded-fg: var(--plain-faded-fg);
-}
-
-.info {
- --box-bg: var(--info-bg);
- --accent: var(--info-fg);
- --faded-fg: var(--info-faded-fg);
-}
-
-.ok {
- --box-bg: var(--ok-bg);
- --accent: var(--ok-fg);
- --faded-fg: var(--ok-faded-fg);
-}
-
-.warn {
- --box-bg: var(--warn-bg);
- --accent: var(--warn-fg);
- --faded-fg: var(--warn-faded-fg);
-}
-
-.bad {
- --box-bg: var(--bad-bg);
- --accent: var(--bad-fg);
- --faded-fg: var(--bad-faded-fg);
-}
-
-.color {
- color: var(--accent);
-}
-
-.bg {
- background: var(--box-bg);
-}
-
-.border {
- border-style: solid;
- border-color: var(--faded-fg);
-}
-
-.airy { --density: 3; }
-
-.dense { --density: 1; }
-
-.crowded { --density: .5; }
-
-.packed { --density: 0; }
-
-.autodensity {
- --density: 1
-}
-
-@media (min-width: 768px) {
-
-.autodensity { --density: 2
-}}
-
-@media (min-width: 1024px) {
-
-.autodensity { --density: 3
-}}
-
-.f-row {
- display: flex;
- flex-direction: row;
- gap: var(--gap);
- --col-width: 30ch
-}
-
-.f-row > * { margin: 0; flex-basis: var(--col-width); }
-
-.f-col {
- display: flex;
- flex-direction: column;
- gap: var(--gap)
-}
-
-.f-col > * { margin: 0 }
-
-.f-switch {
- display: flex;
- flex-wrap: wrap;
- gap: var(--gap);
- --f-switch-threshold: 55ch
-}
-
-.f-switch > * {
- margin: 0;
-
- flex-grow: 1;
- flex-basis: calc((var(--f-switch-threshold) - 100%) * 999);
- }
-
-.justify-content\:start { justify-content: start }
-
-.justify-content\:end { justify-content: end }
-
-.justify-content\:baseline { justify-content: baseline }
-
-.justify-content\:center { justify-content: center }
-
-.justify-content\:stretch { justify-content: stretch }
-
-.align-items\:start { align-items: start }
-
-.align-items\:end { align-items: end }
-
-.align-items\:baseline { align-items: baseline }
-
-.align-items\:center { align-items: center }
-
-.align-items\:stretch { align-items: stretch }
-
-.align-self\:start { align-self: start }
-
-.align-self\:end { align-self: end }
-
-.align-self\:baseline { align-self: baseline }
-
-.align-self\:center { align-self: center }
-
-.align-self\:stretch { align-self: stretch }
-
-.flex-grow\:0 { flex-grow: 0 }
-
-.flex-grow\:1 { flex-grow: 1 }
-
-.flex-grow\:2 { flex-grow: 2 }
-
-.flex-grow\:3 { flex-grow: 3 }
-
-.flex-grow\:4 { flex-grow: 4 }
-
-.flex-grow\:5 { flex-grow: 5 }
-
-.flex-grow\:6 { flex-grow: 6 }
-
-.flex-grow\:7 { flex-grow: 7 }
-
-.flex-grow\:8 { flex-grow: 8 }
-
-.flex-grow\:9 { flex-grow: 9 }
-
-.flex-grow\:10 { flex-grow: 10 }
-
-.flex-grow\:11 { flex-grow: 11 }
-
-.flex-grow\:12 { flex-grow: 12 }
-
-.flex-wrap\:wrap { flex-wrap: wrap }
-
-.flex-wrap\:nowrap { flex-wrap: nowrap }
-
-.vh, v-h {
- clip: rect(0 0 0 0);
- -webkit-clip-path: inset(50%);
- clip-path: inset(50%);
- block-size: 1px;
- inline-size: 1px;
- overflow: hidden;
- white-space: nowrap;
-}
-
-.all\:initial {
- all: initial;
-}
-
-.textcolumns {
- --col-width: 30ch;
- column-width: var(--col-width);
- column-gap: var(--gap);
- margin-block: var(--gap)
-}
-
-.textcolumns :first-child { -webkit-margin-before: 0 !important; margin-block-start: 0 !important }
-
-.text-align\:center {
- text-align: center;
-}
-
-.center {
- display: grid;
- place-items: center;
-}
-
-/**/
-
-.container {
- max-inline-size: var(--eff-line-length);
- margin-inline: auto;
-}
-
-.fullbleed {
- position: relative;
- width: 100vw;
- left: 50%;
- transform: translateX(-50vw);
-
- border-radius: 0;
- border-inline: none;
-}
-
-.width\:100\% { width:100% }
-
-/**/
-
-/* ugh, specificity hacks */
-
-*:first-child:first-child:first-child { -webkit-margin-before: 0; margin-block-start: 0; }
-
-*:last-child:last-child:last-child { -webkit-margin-after: 0; margin-block-end: 0; }
-
-.padding { padding-inline: var(--gap) }
-
-.padding-block { padding-block: var(--gap) }
-
-.padding-inline { padding-inline: var(--gap) }
-
-.margin { margin: var(--gap) }
-
-.margin-block { margin-block: var(--gap) }
-
-.margin-inline { margin-inline: var(--gap) }
-
-.flow-gap > :not(:last-child) {
- margin-bottom: 1em;
- }
-
-/**/
-
-.inline { display: inline }
-
-.block { display: block }
-
-.contents { display: contents }
-
-.table {
- display: table;
- width: 100%;
- margin: 0;
-}
-
-.row, .rows > * {
- display: table-row
-}
-
-.row:not(:last-child):not([specificity-hack]) > *, .rows > *:not(:last-child):not([specificity-hack]) > * {
- margin-bottom: var(--gap);
- }
-
-.row > *:not([specificity-hack]), .rows > * > *:not([specificity-hack]) {
- display: table-cell;
- vertical-align: top;
- }
-
-.row > * + *:not([specificity-hack]), :is(.rows > *) > * + *:not([specificity-hack]) {
- -webkit-margin-start: var(--gap);
- margin-inline-start: var(--gap);
- display: inline-block;
- }
-
-/**/
-
-.fixed { position: fixed }
-
-.sticky { position: sticky }
-
-.top { top: 0 }
-
-.right { right: 0 }
-
-.bottom { bottom: 0 }
-
-.left { left: 0 }
-
-.float\:left { float: left }
-
-.float\:right { float: right }
-
-.overflow\:auto { overflow: auto }
-
-.overflow\:scroll { overflow: scroll }
-
-.allcaps {
- text-transform: uppercase;
- letter-spacing: .1rem;
-}
-
-.monospace {
- font-family: var(--mono-font);
-}
-
-/***
- 4.8 Embedded content
- https://html.spec.whatwg.org/multipage/embedded-content.html
- ***/
-
-img, video, audio, iframe, object, embed {
- max-inline-size: 100%;
- inline-size: max-content;
- block-size: auto;
-}
-
-/***
- 4.10 Forms
- https://html.spec.whatwg.org/multipage/forms.html
- ***/
-
-input { display: block; }
-
-label input:not([specificity-hack]) { display: inline; padding-block: 0; }
-
-button,
-input[type="submit"],
-input[type="reset"],
-input[type="button"],
-input::file-selector-button,
-.\<button\> {
- display: inline-block;
- padding: 0 calc(var(--rhythm) / 4);
- vertical-align: top;
-
- font-size: .8rem;
- line-height: 1.125em;
- font-family: var(--secondary-font);
- min-height: var(--rhythm);
-
- background: var(--interactive-bg);
- color: var(--fg);
- border: 1px solid var(--muted-fg);
- box-sizing: border-box;
- border-radius: var(--border-radius);
-
- /* a-specific resets */
- color: var(--fg);
- text-decoration: none;
- display: inline-flex;
- place-items: center
-}
-
-:is(button,input[type="submit"],input[type="reset"],input[type="button"],input::file-selector-button,.\<button\>):hover, :is(button,input[type="submit"],input[type="reset"],input[type="button"],input::file-selector-button,.\<button\>):focus-visible {
- filter: brightness(1.1);
-
- /* a-specific resets */
- text-decoration: none;
- }
-
-:is(button,input[type="submit"],input[type="reset"],input[type="button"],input::file-selector-button,.\<button\>):active {
- filter: brightness(.8);
- }
-
-[aria-pressed="true"]:is(button,input[type="submit"],input[type="reset"],input[type="button"],input::file-selector-button,.\<button\>), [aria-expanded="true"]:is(button,input[type="submit"],input[type="reset"],input[type="button"],input::file-selector-button,.\<button\>) {
- box-shadow: 0 .05em var(--accent);
- transform: translateY(.05em);
- background: var(--pressed-interactive-bg);
- }
-
-[disabled]:is(button,input[type="submit"],input[type="reset"],input[type="button"],input::file-selector-button,.\<button\>) {
- color: var(--muted-fg);
- }
-
-strong > :is(button,input[type="submit"],input[type="reset"],input[type="button"],input::file-selector-button,.\<button\>) {
- background: var(--accent);
- color: var(--bg);
- border: none;
- font-weight: bold
-}
-
-strong > [disabled]:is(button,input[type="submit"],input[type="reset"],input[type="button"],input::file-selector-button,.\<button\>) {
- color: var(--muted-accent);
- }
-
-input:not([type]),
-input[type="text"],
-input[type="search"],
-input[type="tel"],
-input[type="url"],
-input[type="email"],
-input[type="password"],
-input[type="date"],
-input[type="month"],
-input[type="week"],
-input[type="time"],
-input[type="datetime"],
-input[type="datetime-local"],
-input[type="number"],
-select,
-textarea {
- padding: calc(var(--rhythm) / 4);
- vertical-align: top;
-
- font-size: 1rem;
- line-height: inherit;
- font-family: var(--main-font);
-
- background: var(--bg);
- color: var(--fg);
- border: 1px solid var(--faded-fg);
- border-radius: var(--border-radius);
-
- vertical-align: top
-}
-
-:is(input:not([type]),input[type="text"],input[type="search"],input[type="tel"],input[type="url"],input[type="email"],input[type="password"],input[type="date"],input[type="month"],input[type="week"],input[type="time"],input[type="datetime"],input[type="datetime-local"],input[type="number"],select,textarea):focus-visible {
- border: 1px solid var(--accent);
- }
-
-:is(input:not([type]),input[type="text"],input[type="search"],input[type="tel"],input[type="url"],input[type="email"],input[type="password"],input[type="date"],input[type="month"],input[type="week"],input[type="time"],input[type="datetime"],input[type="datetime-local"],input[type="number"],select,textarea)::placeholder {
- color: var(--muted-fg);
- opacity: 1;
- text-align: end;
- }
-
-input[type="range"] {
- width: 100%;
- padding: calc(var(--gap) / 4);
-}
-
-input[type="color"] {
- padding: 0;
- margin: 0;
- height: calc(1.5 * var(--rhythm));
-
- border: none;
- background: none;
-}
-
-input[type="file"] {
- padding: calc(var(--gap) / 4) 0;
- font: inherit;
- line-height: calc(var(--rhythm) / 2)
-}
-
-input[type="file"]::file-selector-button {
- margin-block: .1em 0;
- -webkit-margin-end: 1ch;
- margin-inline-end: 1ch;
- }
-
-select[multiple] {
- vertical-align: top;
-}
-
-optgroup::before {
- color: var(--muted-fg);
- font-style: normal;
-}
-
-progress {
- /* TODO */
-}
-
-meter {
- /* TODO */
-}
-
-label[for] {
- display: block;
- padding-block: calc(var(--gap) / 4);
-}
-
-fieldset {
- position: relative;
-
- padding: var(--gap);
- margin: var(--gap) 0;
- width: 100%;
- border-radius: var(--border-radius);
-}
-
-fieldset > legend + * { -webkit-margin-before: 0; margin-block-start: 0 }
-
-fieldset {
-
- border: 1px solid var(--faded-fg);
-}
-
-/***
- 4.4 Grouping content
- https://html.spec.whatwg.org/multipage/grouping-content.html
- ***/
-
-p {
- margin-block: var(--gap);
-}
-
-hr {
- color: inherit;
- margin-inline: 0;
- margin-block: var(--gap);
-
- flex-grow: 0;
- -webkit-border-start: 1px solid var(--accent);
- border-inline-start: 1px solid var(--accent);
- block-size: auto;
- -webkit-border-before: 1px solid var(--accent);
- border-block-start: 1px solid var(--accent);
- -webkit-border-after: none;
- border-block-end: none;
- -webkit-border-end: none;
- border-inline-end: none;
-}
-
-pre {
- font-family: var(--mono-font);
- font-size: .9em;
- line-height: var(--rhythm);
- tab-size: 2;
-
- margin: var(--gap) 0;
-
- overflow-x: auto;
- scrollbar-width: thin;
- scrollbar-color: var(--accent) transparent;
-}
-
-blockquote {
- margin-inline: 0 var(--gap);
- padding-inline: var(--gap) 0;
- margin-block: var(--gap);
-
- font-size: 1.1em;
- line-height: var(--rhythm);
- font-style: italic;
-
- -webkit-border-start: 1px solid var(--faded-fg);
-
- border-inline-start: 1px solid var(--faded-fg);
- color: var(--muted-fg)
-}
-
-blockquote em, blockquote cite, blockquote dfn, blockquote var, blockquote i, blockquote address {
- font-style: normal;
- }
-
-blockquote footer {
- text-align: right;
- text-align: end;
- }
-
-ul, ol {
- -webkit-padding-start: var(--rhythm);
- padding-inline-start: var(--rhythm)
-}
-
-ul ul, ul ol, ol ul, ol ol {
- -webkit-padding-start: var(--gap);
- padding-inline-start: var(--gap);
- }
-
-ul[role="list"], ol[role="list"] {
- -webkit-padding-start: 0;
- padding-inline-start: 0;
- list-style: none;
- }
-
-ul {
-}
-
-ol {
- list-style: decimal;
-}
-
-dl {
- margin-block: var(--gap);
-}
-
-dt {
- font-weight: bold;
- }
-
-dd {
- -webkit-margin-start: var(--rhythm);
- margin-inline-start: var(--rhythm);
- }
-
-li::marker {
- font-family: var(--secondary-font);
-}
-
-figure {
- max-width: 100%;
- margin-inline: 0;
-
- /* SEE components/box.css */
-}
-
-figcaption {
- margin-block: var(--gap);
-
- font-family: var(--secondary-font);
-
- color: var(--muted-fg);
-}
-
-main {
- max-inline-size: var(--eff-line-length);
- margin: auto
-}
-
-main:first-child { padding-top: var(--gap); }
-
-/***
- 4.5 Text-level semantics
- https://html.spec.whatwg.org/multipage/text-level-semantics.html
-
- 4.7 Edits
- https://html.spec.whatwg.org/multipage/edits.html
- ***/
-
-/* Text-level semantics */
-
-a {
- color: var(--link-fg, var(--accent));
- font-family: var(--secondary-font)
-}
-
-.list-of-links a {
- text-decoration: none
-}
-
-a:hover {
- text-decoration: underline;
- }
-
-span > small:only-child {
- /***
- Sidenote
- ***/
- display: block;
- float: inline-end;
- clear: inline-end;
-
- --sidenote-width: 20ch;
-
- max-inline-size: var(--sidenote-width);
- padding-inline: 1.5ch 1ch;
-
- -webkit-margin-end: calc(1em - var(--sidenote-width));
-
- margin-inline-end: calc(1em - var(--sidenote-width));
- -webkit-margin-after: var(--rhythm);
- margin-block-end: var(--rhythm);
-
- font-family: var(--secondary-font);
-
- background: var(--bg);
- border: 1px solid transparent;
-
- transition: transform .1s ease-in-out
-}
-
-span > small:only-child:hover, span > small:only-child:focus-within {
- border: 1px solid var(--faded-fg);
- border-radius: var(--border-radius);
- transform: translateX(calc(
- 0px - var(--sidenote-width)
- + min(var(--gutter-width), var(--sidenote-width))
- ))
- }
-
-s {
- color: var(--bad-fg);
-}
-
-q {
- font-style: italic
-}
-
-q em, q cite, q dfn, q var, q i, q address {
- font-style: normal;
- }
-
-time {
- font-variant-numeric: tabular-nums;
-}
-
-code, samp, kbd {
- font-family: var(--mono-font);
-}
-
-samp {
- color: var(--ok-fg);
-}
-
-kbd kbd /*
- We apply the key-like styling to a nested kbd element, a pattern shown in
- WHATWG HTML for marking up keyboard input:
-
- > Here the kbd element is used to indicate keys to press:
- > ~~~ html
- > <p>To make George eat an apple, press <kbd><kbd>Shift</kbd> + <kbd>F3</kbd></kbd></p>
- > ~~~
-
- The plain kbd element can also be used for clicking menus (<kbd>File |
- New...</kbd>) or voice input (<kbd>Hey Siri, </kbd>)
-*/ {
- display: inline-block;
-
- padding: 0 .3em;
- font-size: .8em;
- line-height: 1.1em;
-
- background: var(--interactive-bg);
- border: 1px outset var(--faded-fg);
- border-block-end-width: 3px;
- border-radius: var(--border-radius);
-}
-
-sub {
- vertical-align: bottom;
- line-height: 1;
-}
-
-sup {
- vertical-align: top;
- line-height: 1;
-}
-
-mark {
- background: var(--warn-bg);
- color: var(--warn-fg);
-}
-
-/* Edits */
-
-ins {
- background: var(--ok-bg);
- color: var(--ok-fg);
-}
-
-del {
- background: var(--bad-bg);
- color: var(--bad-fg);
-}
-
-/***
- 4.11 Interactive elements
- https://html.spec.whatwg.org/multipage/interactive-elements.html#interactive-elements
- ***/
-
-details {
- /* SEE components/box.css */
-
- -webkit-padding-before: 0;
-
- padding-block-start: 0
-}
-
-details:not([open]) { -webkit-padding-after: 0; padding-block-end: 0; }
-
-summary {
- margin: calc(0px - var(--gap));
- margin-top: calc(0px - var(--gap));
- margin-bottom: 0;
- padding-inline: var(--gap);
-
- font-family: var(--secondary-font);
- font-weight: bold;
-
- background: var(--accent);
- color: var(--bg);
-
- cursor: pointer
-}
-
-summary:focus-visible, summary:active {
- filter: brightness(.8);
- }
-
-details[open] summary {
- -webkit-border-after: 1px solid var(--accent);
- border-block-end: 1px solid var(--accent);
- border-end-end-radius: 0;
- border-end-start-radius: 0
-}
-
-dialog {
- /* SEE components/box.css */
-
- position: absolute;
- inline-inset: 0;
-
- block-size: -moz-fit-content;
-
- block-size: fit-content;
- inline-size: -moz-fit-content;
- inline-size: fit-content;
-
- margin: auto !important;
-
- background-color: var(--bg);
- color: var(--fg);
- border-color: var(--accent);
-}
-
-dialog[open]::-webkit-backdrop {
- display: block;
- background: black;
- opacity: .4;
- animation: bg 2s;
-}
-
-dialog[open]::backdrop {
- display: block;
- background: black;
- opacity: .4;
- animation: bg 2s;
-}
-
-@keyframes bg {
- from { background: transparent; }
-}
-
-dialog:not([open]) {
- display: none;
-}
-
-/***
- 4.1 The document element
- https://html.spec.whatwg.org/multipage/semantics.html#the-root-element
-
- 4.3 Sections
- https://html.spec.whatwg.org/multipage/sections.html
- ***/
-
-html {
- font-family: var(--main-font);
- line-height: var(--rhythm);
-
- background: var(--bg);
- color: var(--fg);
-}
-
-body {
- margin: 0;
-}
-
-header, footer, section + section {
- margin-block: calc(2 * var(--gap));
-}
-
-nav a {
- text-decoration: none;
- color: var(--accent);
- }
-
-/* SEE components/box.css */
-
-aside h1,
- aside h2,
- aside h3,
- aside h4,
- aside h5,
- aside h6 {
- font-size: 1em;
- text-transform: none;
- letter-spacing: none;
- }
-
-h1, h2, h3, h4, h5, h6,
-.\<h1\>, .\<h2\>, .\<h3\>, .\<h4\>, .\<h5\>, .\<h6\> {
- -webkit-margin-after: var(--gap);
- margin-block-end: var(--gap);
- font-family: var(--secondary-font);
- font-size: 1em;
- -webkit-margin-before: calc(2 * var(--gap));
- margin-block-start: calc(2 * var(--gap));
-}
-
-h1, .\<h1\> {
- font-size: 2em;
- text-transform: none;
- line-height: calc(2 * var(--rhythm));
- letter-spacing: 0;
-}
-
-h2, .\<h2\> {
- font-size: 1.6em;
- text-transform: none;
- line-height: calc(1.5 * var(--rhythm));
- letter-spacing: 0;
-}
-
-h3, .\<h3\> {
- font-size: 1.17em;
- line-height: calc(1 * var(--rhythm));
-}
-
-h4, .\<h4\>, h5, .\<h5\>, h6, .\<h6\> {
- font-size: 1em;
- text-transform: none;
- line-height: calc(1 * var(--rhythm));
- letter-spacing: 0;
- -webkit-margin-before: var(--gap);
- margin-block-start: var(--gap);
-}
-
-h1 + h2,
-h2 + h3,
-h3 + h4,
-h4 + h5,
-h5 + h6,
-h1:first-child,
-h2:first-child,
-h3:first-child,
-h4:first-child,
-h5:first-child,
-h6:first-child {
- -webkit-margin-before: var(--gap);
- margin-block-start: var(--gap);
-}
-
-h1:target,
-h2:target,
-h3:target,
-h4:target,
-h5:target,
-h6:target {
- outline: none
-}
-
-h1:target::before, h2:target::before, h3:target::before, h4:target::before, h5:target::before, h6:target::before {
- content: '❧';
- display: inline-block;
- width: 0;
- transform: translateX(-1.5ch);
- font-size: 2em;
- vertical-align: bottom;
- color: var(--accent);
- }
-
-header {
- font-family: var(--secondary-font);
- -webkit-border-after: 1px solid var(--faded-fg);
- border-block-end: 1px solid var(--faded-fg);
-}
-
-footer {
- font-family: var(--secondary-font);
- -webkit-border-before: 1px solid var(--faded-fg);
- border-block-start: 1px solid var(--faded-fg);
-}
-
-body > header,
-body > footer,
-main + footer {
- padding: var(--rhythm) calc((100% - var(--eff-line-length)) / 2)
-}
-
-address {
- --density: 0;
-}
-
-/***
- 4.9 Tabular data
- https://html.spec.whatwg.org/multipage/tables.html
- ***/
-
-table {
- font-variant-numeric: tabular-nums;
- font: inherit;
-}
-
-caption {
- text-align: start;
- font-family: var(--secondary-font);
- font-style: italic;
-}
-
-tbody {
- border-block: 1px solid var(--fg);
-}
-
-thead {
-}
-
-tfoot {
-}
-
-tr {
-
-}
-
-td, th {
- vertical-align: top
-}
-
-td:not(:last-child), th:not(:last-child) {
- -webkit-padding-end: var(--rhythm);
- padding-inline-end: var(--rhythm);
- }
-
-td {
- }
-
-th {
- font-family: var(--secondary-font);
- text-align: start;
- }
-
-:root {
- /* Colors */
- --fg: var(--gray-12); /* Text. */
- --muted-fg: var(--gray-10); /* De-emphasized or disabled elements' text. Will be
- used with a background of --c-bg and --c-bg-2 -- check contrast! */
- --faded-fg: var(--plain-faded-fg); /* De-emphasized or disabled graphical elements. Will not
- be used as a text color. */
-
- --plain-fg: var(--blue-10);
- --info-fg: var(--blue-11);
- --ok-fg: var(--green-11);
- --bad-fg: var(--red-11);
- --warn-fg: var(--yellow-11);
-
- --plain-faded-fg: var(--gray-6);
- --info-faded-fg: var(--blue-6);
- --ok-faded-fg: var(--green-6);
- --bad-faded-fg: var(--red-6);
- --warn-faded-fg: var(--yellow-6);
-
- --bg: var(--gray-0); /* Page background. */
- --box-bg: var(--plain-bg); /* Background for blocks: cards, admonitions etc. */
- --interactive-bg: var(--gray-3); /* Background for interactive elements */
-
- --plain-bg: var(--gray-1);
- --info-bg: var(--blue-1);
- --ok-bg: var(--green-1);
- --bad-bg: var(--red-1);
- --warn-bg: var(--yellow-1);
-
- --accent: var(--blue-10); /* Accent color. Will be used *as a text color* with a
- background of --c-bg and --c-bg-2 -- check contrast! */
- --muted-accent: var(--blue-7); /* Muted accent color. Will not be used for text. */
-
- /* Lengths */
- --rhythm: 1.4rem; /* Vertical rhythm, line height. */
- --line-length: 40rem; /* Maximum line length for prose. */
- --border-radius: .2rem;
-
- /* Fonts */
- --main-font: 'Source Sans 3', 'Source Sans Pro', -apple-system, system-ui, sans-serif;
- --secondary-font: var(--main-font); /* Headings etc. */
- --mono-font: 'M Plus Code Latin', monospace, monospace; /* monospace twice stops browsers from
- shrinking this */
-
- /* Density */
- --density: 1;
-
- /* Width */
- --full-width: 100vw;
-
- /* Do not set these. */
- --eff-line-length: /* Effective line length for prose. */
- min(
- calc( var(--full-width) - (2 * var(--rhythm)) ),
- var(--line-length)
- );
-
- --gutter-width: /* Width of spaces at each side of page content. */
- calc(
- (
- var(--full-width) /* Viewport width */
- - var(--eff-line-length) /* minus line width */
- ) / 2); /* Divide by 2: there are two page margins */
-}
-
-@media (prefers-color-scheme: dark) {
- :root:not(.-no-dark-theme) {
- --fg: var(--gray-0);
- --muted-fg: var(--gray-2);
- --faded-fg: var(--gray-7);
-
- --info-bg: var(--blue-12);
- --ok-bg: var(--green-12);
- --bad-bg: var(--red-12);
- --warn-bg: var(--yellow-12);
-
- --bg: var(--gray-12);
- --box-bg: var(--gray-10);
- --interactive-bg: var(--gray-8);
-
- --info-fg: var(--blue-3);
- --ok-fg: var(--green-3);
- --bad-fg: var(--red-3);
- --warn-fg: var(--yellow-3);
-
- --accent: var(--blue-3);
- --muted-accent: var(--blue-5);
- }
-}
-
-* {
- --gap: calc(var(--rhythm) * var(--density));
- accent-color: var(--accent);
-}
diff --git a/www/releases/_artifacts/v0.3.0/missing.min.css b/www/releases/_artifacts/v0.3.0/missing.min.css
deleted file mode 100644
index bf9c32f..0000000
--- a/www/releases/_artifacts/v0.3.0/missing.min.css
+++ /dev/null
@@ -1,16 +0,0 @@
-@keyframes bg{0%{background:0 0}}*,::after,::before{box-sizing:border-box;background-repeat:no-repeat}::after,::before{text-decoration:inherit;vertical-align:inherit}:root{cursor:default;overflow-wrap:break-word;-webkit-tap-highlight-color:transparent;text-size-adjust:none;-webkit-text-size-adjust:none}abbr[title]{-webkit-text-decoration:underline dotted;text-decoration:underline dotted}b,strong{font-weight:bolder}small{font-size:80%}audio,canvas,iframe,img,svg,video{vertical-align:middle}svg:not([fill]){fill:currentColor}table{border-collapse:collapse;border-color:currentColor;text-indent:0;font-variant-numeric:tabular-nums;font:inherit}button,input,select,textarea{margin:0}[type=button],[type=reset],[type=submit],button{-webkit-appearance:button}fieldset{border:1px solid #a0a0a0;position:relative;padding:var(--gap);margin:var(--gap) 0;width:100%;border-radius:var(--border-radius);border:1px solid var(--faded-fg)}progress{vertical-align:baseline}[type=search]{-webkit-appearance:textfield;outline-offset:-2px}::-webkit-inner-spin-button,::-webkit-outer-spin-button{block-size:auto}::-webkit-input-placeholder{color:inherit;opacity:.54}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{-webkit-appearance:button;font:inherit}[hidden],datalist{display:none!important}:focus-visible{outline:.2em solid var(--accent);z-index:32}body:focus-visible,html:focus-visible,iframe:focus-visible{outline:0}:target{outline:.2em solid var(--fg);z-index:32}details>summary:first-of-type{display:list-item}[aria-busy=true]{cursor:progress}[aria-disabled=true],[disabled]{cursor:not-allowed}:root{--gray-0: #f8fafb;--gray-1: #f2f4f6;--gray-2: #ebedef;--gray-3: #e0e4e5;--gray-4: #d1d6d8;--gray-5: #b1b6b9;--gray-6: #979b9d;--gray-7: #7e8282;--gray-8: #666968;--gray-9: #50514f;--gray-10: #3a3a37;--gray-11: #252521;--gray-12: #121210;--red-0: #fff5f5;--red-1: #ffe3e3;--red-2: #ffc9c9;--red-3: #ffa8a8;--red-4: #ff8787;--red-5: #ff6b6b;--red-6: #fa5252;--red-7: #f03e3e;--red-8: #e03131;--red-9: #c92a2a;--red-10: #b02525;--red-11: #962020;--red-12: #7d1a1a;--pink-0: #fff0f6;--pink-1: #ffdeeb;--pink-2: #fcc2d7;--pink-3: #faa2c1;--pink-4: #f783ac;--pink-5: #f06595;--pink-6: #e64980;--pink-7: #d6336c;--pink-8: #c2255c;--pink-9: #a61e4d;--pink-10: #8c1941;--pink-11: #731536;--pink-12: #59102a;--purple-0: #f8f0fc;--purple-1: #f3d9fa;--purple-2: #eebefa;--purple-3: #e599f7;--purple-4: #da77f2;--purple-5: #cc5de8;--purple-6: #be4bdb;--purple-7: #ae3ec9;--purple-8: #9c36b5;--purple-9: #862e9c;--purple-10: #702682;--purple-11: #5a1e69;--purple-12: #44174f;--violet-0: #f3f0ff;--violet-1: #e5dbff;--violet-2: #d0bfff;--violet-3: #b197fc;--violet-4: #9775fa;--violet-5: #845ef7;--violet-6: #7950f2;--violet-7: #7048e8;--violet-8: #6741d9;--violet-9: #5f3dc4;--violet-10: #5235ab;--violet-11: #462d91;--violet-12: #3a2578;--indigo-0: #edf2ff;--indigo-1: #dbe4ff;--indigo-2: #bac8ff;--indigo-3: #91a7ff;--indigo-4: #748ffc;--indigo-5: #5c7cfa;--indigo-6: #4c6ef5;--indigo-7: #4263eb;--indigo-8: #3b5bdb;--indigo-9: #364fc7;--indigo-10: #2f44ad;--indigo-11: #283a94;--indigo-12: #21307a;--blue-0: #e7f5ff;--blue-1: #d0ebff;--blue-2: #a5d8ff;--blue-3: #74c0fc;--blue-4: #4dabf7;--blue-5: #339af0;--blue-6: #228be6;--blue-7: #1c7ed6;--blue-8: #1971c2;--blue-9: #1864ab;--blue-10: #145591;--blue-11: #114678;--blue-12: #0d375e;--cyan-0: #e3fafc;--cyan-1: #c5f6fa;--cyan-2: #99e9f2;--cyan-3: #66d9e8;--cyan-4: #3bc9db;--cyan-5: #22b8cf;--cyan-6: #15aabf;--cyan-7: #1098ad;--cyan-8: #0c8599;--cyan-9: #0b7285;--cyan-10: #095c6b;--cyan-11: #074652;--cyan-12: #053038;--teal-0: #e6fcf5;--teal-1: #c3fae8;--teal-2: #96f2d7;--teal-3: #63e6be;--teal-4: #38d9a9;--teal-5: #20c997;--teal-6: #12b886;--teal-7: #0ca678;--teal-8: #099268;--teal-9: #087f5b;--teal-10: #066649;--teal-11: #054d37;--teal-12: #033325;--green-0: #ebfbee;--green-1: #d3f9d8;--green-2: #b2f2bb;--green-3: #8ce99a;--green-4: #69db7c;--green-5: #51cf66;--green-6: #40c057;--green-7: #37b24d;--green-8: #2f9e44;--green-9: #2b8a3e;--green-10: #237032;--green-11: #1b5727;--green-12: #133d1b;--lime-0: #f4fce3;--lime-1: #e9fac8;--lime-2: #d8f5a2;--lime-3: #c0eb75;--lime-4: #a9e34b;--lime-5: #94d82d;--lime-6: #82c91e;--lime-7: #74b816;--lime-8: #66a80f;--lime-9: #5c940d;--lime-10: #4c7a0b;--lime-11: #3c6109;--lime-12: #2c4706;--yellow-0: #fff9db;--yellow-1: #fff3bf;--yellow-2: #ffec99;--yellow-3: #ffe066;--yellow-4: #ffd43b;--yellow-5: #fcc419;--yellow-6: #fab005;--yellow-7: #f59f00;--yellow-8: #f08c00;--yellow-9: #e67700;--yellow-10: #b35c00;--yellow-11: #804200;--yellow-12: #663500;--orange-0: #fff4e6;--orange-1: #ffe8cc;--orange-2: #ffd8a8;--orange-3: #ffc078;--orange-4: #ffa94d;--orange-5: #ff922b;--orange-6: #fd7e14;--orange-7: #f76707;--orange-8: #e8590c;--orange-9: #d9480f;--orange-10: #bf400d;--orange-11: #99330b;--orange-12: #802b09;--choco-0: #fff8dc;--choco-1: #fce1bc;--choco-2: #f7ca9e;--choco-3: #f1b280;--choco-4: #e99b62;--choco-5: #df8545;--choco-6: #d46e25;--choco-7: #bd5f1b;--choco-8: #a45117;--choco-9: #8a4513;--choco-10: #703a13;--choco-11: #572f12;--choco-12: #3d210d;--brown-0: #faf4eb;--brown-1: #ede0d1;--brown-2: #e0cab7;--brown-3: #d3b79e;--brown-4: #c5a285;--brown-5: #b78f6d;--brown-6: #a87c56;--brown-7: #956b47;--brown-8: #825b3a;--brown-9: #6f4b2d;--brown-10:#5e3a21;--brown-11:#4e2b15;--brown-12: #422412;--sand-0: #f8fafb;--sand-1: #e6e4dc;--sand-2: #d5cfbd;--sand-3: #c2b9a0;--sand-4: #aea58c;--sand-5: #9a9178;--sand-6: #867c65;--sand-7: #736a53;--sand-8: #5f5746;--sand-9: #4b4639;--sand-10:#38352d;--sand-11:#252521;--sand-12: #121210;--camo-0: #f9fbe7;--camo-1: #e8ed9c;--camo-2: #d2df4e;--camo-3: #c2ce34;--camo-4: #b5bb2e;--camo-5: #a7a827;--camo-6: #999621;--camo-7: #8c851c;--camo-8: #7e7416;--camo-9: #6d6414;--camo-10: #5d5411;--camo-11: #4d460e;--camo-12: #36300a;--jungle-0: #ecfeb0;--jungle-1: #def39a;--jungle-2: #d0e884;--jungle-3: #c2dd6e;--jungle-4: #b5d15b;--jungle-5: #a8c648;--jungle-6: #9bbb36;--jungle-7: #8fb024;--jungle-8: #84a513;--jungle-9: #7a9908;--jungle-10: #658006;--jungle-11: #516605;--jungle-12: #3d4d04}.box,.sidebar,[role=menu],[role=tabpanel],aside,details,dialog,figure{margin:var(--gap) 0;padding:var(--gap);overflow:clip;border-radius:var(--border-radius);background:var(--box-bg);border:1px solid var(--faded-fg)}.titlebar{margin-inline:calc(0px - var(--gap));-webkit-margin-after:calc(0px - var(--gap));margin-block-end:calc(0px - var(--gap));padding-inline:var(--gap);font:inherit;font-weight:700;translate:0 calc(-1px - var(--gap));background:var(--accent);color:var(--bg)}.breadcrumbs[aria-label],.titlebar{font-family:var(--secondary-font)}.breadcrumbs[aria-label] ol,.breadcrumbs[aria-label] ul{list-style:none;-webkit-padding-start:0;padding-inline-start:0}.breadcrumbs[aria-label] li{display:inline}:is(.breadcrumbs[aria-label] li)+li::before{content:' / ';display:inline}.breadcrumbs[aria-label] [aria-current=page],dt{font-weight:700}.chip,chip{font-family:var(--secondary-font);border:1px solid var(--accent);background:var(--box-bg);border-radius:calc(var(--rhythm)/2);padding-inline:calc(var(--rhythm)/2)}[role=menu]{position:absolute;padding:calc(var(--gap)/2) 0;margin:1px 0 0;display:flex;flex-flow:column nowrap}[role=menuitem]{padding:0 calc(var(--gap)/2);display:block;text-decoration:none;color:var(--fg)}[role=menuitem]:focus{background:var(--accent);color:var(--bg)}.navbar{margin:0 0 var(--gap);padding:var(--rhythm);font-family:var(--secondary-font);background:var(--box-bg);-webkit-border-after:1px solid var(--accent);border-block-end:1px solid var(--accent);overflow-x:auto;scrollbar-width:thin;display:flex;flex-flow:row;justify-content:center;gap:calc(2*var(--rhythm))}.navbar *{margin-block:0}.navbar nav ul[role=list]{-webkit-padding-start:0;padding-inline-start:0;display:flex;flex-flow:row;gap:var(--rhythm)}.navbar *,.navbar nav ul[role=list] *{flex-shrink:0}.navbar a,.sidebar a{font-weight:700;text-decoration:none}.navbar a:focus,.navbar a:hover{text-decoration:underline}.navbar [aria-current=page]{background:var(--accent);color:var(--box-bg);border-radius:var(--border-radius);outline:.2em solid var(--accent)}.permalink-anchor{display:none}:hover>.permalink-anchor{display:initial}.sidebar{font-family:var(--secondary-font);border-block:none;-webkit-border-start:none;border-inline-start:none;border-radius:0;margin:0;font-size:.8em;--rhythm: 1em
-}.sidebar li{padding:calc(.5*var(--gap));margin-inline:calc(-.5*var(--gap));border-radius:var(--border-radius)}.sub-title,sub-title{display:block;font-weight:400;color:var(--muted-fg)}[role=tablist]{display:flex;gap:.5ch;scrollbar-width:thin}[role=tab][role=tab]{all:initial;font-family:var(--secondary-font);padding:0 calc(var(--rhythm)/4);margin:0;min-height:var(--rhythm);border:solid var(--faded-fg);border-width:1px 1px 0;border-block-end-color:transparent;background:var(--interactive-bg);border-start-start-radius:.4em;border-start-end-radius:.4em}[role=tab][role=tab]:active,[role=tab][role=tab][aria-selected=true]{transform:none;bottom:-1px;position:relative;background:var(--box-bg);-webkit-border-after:1px solid var(--box-bg);border-block-end:1px solid var(--box-bg)}[role=tab][role=tab]:hover{background-color:var(--box-bg)}[role=tab][role=tab]:focus{background-color:var(--box-bg);border-color:var(--accent);outline:1px solid var(--accent)}[role=tabpanel]{-webkit-margin-before:0;margin-block-start:0;border-start-start-radius:0;border-start-end-radius:0;z-index:1}.tool-bar{display:flex;flex-flow:row wrap;gap:calc(var(--gap)/2)}.tool-bar>*{margin:0}.plain{--box-bg: var(--plain-bg);--accent: var(--plain-fg);--faded-fg: var(--plain-faded-fg)}.info{--box-bg: var(--info-bg);--accent: var(--info-fg);--faded-fg: var(--info-faded-fg)}.ok{--box-bg: var(--ok-bg);--accent: var(--ok-fg);--faded-fg: var(--ok-faded-fg)}.warn{--box-bg: var(--warn-bg);--accent: var(--warn-fg);--faded-fg: var(--warn-faded-fg)}.bad{--box-bg: var(--bad-bg);--accent: var(--bad-fg);--faded-fg: var(--bad-faded-fg)}.color{color:var(--accent)}.bg{background:var(--box-bg)}.border{border-style:solid;border-color:var(--faded-fg)}.airy{--density: 3}.dense{--density: 1}.crowded{--density: .5}.packed,address{--density: 0}.autodensity{--density: 1
-}@media (min-width:768px){.autodensity{--density: 2
-}}@media (min-width:1024px){.autodensity{--density: 3
-}}.f-row{display:flex;flex-direction:row;gap:var(--gap);--col-width: 30ch
-}.f-row>*{margin:0;flex-basis:var(--col-width)}.f-col{display:flex;flex-direction:column;gap:var(--gap)}.f-col>*,body{margin:0}.f-switch{display:flex;flex-wrap:wrap;gap:var(--gap);--f-switch-threshold: 55ch
-}.f-switch>*{margin:0;flex-grow:1;flex-basis:calc((var(--f-switch-threshold) - 100%)*999)}.justify-content\:start{justify-content:start}.justify-content\:end{justify-content:end}.justify-content\:baseline{justify-content:baseline}.justify-content\:center{justify-content:center}.justify-content\:stretch{justify-content:stretch}.align-items\:start{align-items:start}.align-items\:end{align-items:end}.align-items\:baseline{align-items:baseline}.align-items\:center{align-items:center}.align-items\:stretch{align-items:stretch}.align-self\:start{align-self:start}.align-self\:end{align-self:end}.align-self\:baseline{align-self:baseline}.align-self\:center{align-self:center}.align-self\:stretch{align-self:stretch}.flex-grow\:0{flex-grow:0}.flex-grow\:1{flex-grow:1}.flex-grow\:2{flex-grow:2}.flex-grow\:3{flex-grow:3}.flex-grow\:4{flex-grow:4}.flex-grow\:5{flex-grow:5}.flex-grow\:6{flex-grow:6}.flex-grow\:7{flex-grow:7}.flex-grow\:8{flex-grow:8}.flex-grow\:9{flex-grow:9}.flex-grow\:10{flex-grow:10}.flex-grow\:11{flex-grow:11}.flex-grow\:12{flex-grow:12}.flex-wrap\:wrap{flex-wrap:wrap}.flex-wrap\:nowrap{flex-wrap:nowrap}.vh,v-h{clip:rect(0 0 0 0);-webkit-clip-path:inset(50%);clip-path:inset(50%);block-size:1px;inline-size:1px;overflow:hidden;white-space:nowrap}.all\:initial{all:initial}.textcolumns{--col-width: 30ch;column-width:var(--col-width);column-gap:var(--gap);margin-block:var(--gap)}.textcolumns :first-child{-webkit-margin-before:0!important;margin-block-start:0!important}.text-align\:center{text-align:center}.center{display:grid;place-items:center}.container{max-inline-size:var(--eff-line-length);margin-inline:auto}.fullbleed{position:relative;width:100vw;left:50%;transform:translateX(-50vw);border-radius:0;border-inline:none}.width\:100\%{width:100%}:first-child:first-child:first-child{-webkit-margin-before:0;margin-block-start:0}:last-child:last-child:last-child{-webkit-margin-after:0;margin-block-end:0}.padding{padding-inline:var(--gap)}.padding-block{padding-block:var(--gap)}.padding-inline{padding-inline:var(--gap)}.margin{margin:var(--gap)}.margin-block,dl,p{margin-block:var(--gap)}.margin-inline{margin-inline:var(--gap)}.flow-gap>:not(:last-child){margin-bottom:1em}.inline{display:inline}.block,input{display:block}.contents{display:contents}.table{display:table;width:100%;margin:0}.row,.rows>*{display:table-row}.row:not(:last-child):not([specificity-hack])>*,.rows>:not(:last-child):not([specificity-hack])>*{margin-bottom:var(--gap)}.row>:not([specificity-hack]),.rows>*>:not([specificity-hack]){display:table-cell;vertical-align:top}.row>*+:not([specificity-hack]),:is(.rows > *)>*+:not([specificity-hack]){-webkit-margin-start:var(--gap);margin-inline-start:var(--gap);display:inline-block}.fixed{position:fixed}.sticky{position:sticky}.top{top:0}.right{right:0}.bottom{bottom:0}.left{left:0}.float\:left{float:left}.float\:right{float:right}.overflow\:auto{overflow:auto}.overflow\:scroll{overflow:scroll}.allcaps{text-transform:uppercase;letter-spacing:.1rem}.monospace,code,kbd,samp{font-family:var(--mono-font)}audio,embed,iframe,img,object,video{max-inline-size:100%;inline-size:max-content;block-size:auto}label input:not([specificity-hack]){display:inline;padding-block:0}.\<button\>,button,input::file-selector-button,input[type=button],input[type=reset],input[type=submit]{display:inline-block;padding:0 calc(var(--rhythm)/4);vertical-align:top;font-size:.8rem;line-height:1.125em;font-family:var(--secondary-font);min-height:var(--rhythm);background:var(--interactive-bg);border:1px solid var(--muted-fg);box-sizing:border-box;border-radius:var(--border-radius);color:var(--fg);text-decoration:none;display:inline-flex;place-items:center}:is(button,input[type="submit"],input[type="reset"],input[type="button"],input::file-selector-button,.\<button\>):focus-visible,:is(button,input[type="submit"],input[type="reset"],input[type="button"],input::file-selector-button,.\<button\>):hover{filter:brightness(1.1);text-decoration:none}:is(button,input[type="submit"],input[type="reset"],input[type="button"],input::file-selector-button,.\<button\>):active{filter:brightness(.8)}[aria-expanded=true]:is(button,input[type="submit"],input[type="reset"],input[type="button"],input::file-selector-button,.\<button\>),[aria-pressed=true]:is(button,input[type="submit"],input[type="reset"],input[type="button"],input::file-selector-button,.\<button\>){box-shadow:0 .05em var(--accent);transform:translateY(.05em);background:var(--pressed-interactive-bg)}[disabled]:is(button,input[type="submit"],input[type="reset"],input[type="button"],input::file-selector-button,.\<button\>){color:var(--muted-fg)}strong>:is(button,input[type="submit"],input[type="reset"],input[type="button"],input::file-selector-button,.\<button\>){background:var(--accent);color:var(--bg);border:0;font-weight:700}strong>[disabled]:is(button,input[type="submit"],input[type="reset"],input[type="button"],input::file-selector-button,.\<button\>){color:var(--muted-accent)}input:not([type]),input[type=date],input[type=datetime-local],input[type=datetime],input[type=email],input[type=month],input[type=number],input[type=password],input[type=search],input[type=tel],input[type=text],input[type=time],input[type=url],input[type=week],select,textarea{padding:calc(var(--rhythm)/4);font-size:1rem;line-height:inherit;font-family:var(--main-font);background:var(--bg);color:var(--fg);border:1px solid var(--faded-fg);border-radius:var(--border-radius);vertical-align:top}:is(input:not([type]),input[type="text"],input[type="search"],input[type="tel"],input[type="url"],input[type="email"],input[type="password"],input[type="date"],input[type="month"],input[type="week"],input[type="time"],input[type="datetime"],input[type="datetime-local"],input[type="number"],select,textarea):focus-visible{border:1px solid var(--accent)}:is(input:not([type]),input[type="text"],input[type="search"],input[type="tel"],input[type="url"],input[type="email"],input[type="password"],input[type="date"],input[type="month"],input[type="week"],input[type="time"],input[type="datetime"],input[type="datetime-local"],input[type="number"],select,textarea)::placeholder{color:var(--muted-fg);opacity:1;text-align:end}input[type=range]{width:100%;padding:calc(var(--gap)/4)}input[type=color]{padding:0;margin:0;height:calc(1.5*var(--rhythm));border:0;background:0 0}input[type=file]{padding:calc(var(--gap)/4) 0;font:inherit;line-height:calc(var(--rhythm)/2)}input[type=file]::file-selector-button{margin-block:.1em 0;-webkit-margin-end:1ch;margin-inline-end:1ch}select[multiple],td,th{vertical-align:top}optgroup::before{color:var(--muted-fg)}label[for]{display:block;padding-block:calc(var(--gap)/4)}fieldset>legend+*{-webkit-margin-before:0;margin-block-start:0}hr{color:inherit;margin-inline:0;margin-block:var(--gap);flex-grow:0;-webkit-border-start:1px solid var(--accent);border-inline-start:1px solid var(--accent);block-size:auto;-webkit-border-before:1px solid var(--accent);border-block-start:1px solid var(--accent);-webkit-border-after:none;border-block-end:none;-webkit-border-end:none;border-inline-end:none}blockquote,pre{line-height:var(--rhythm)}pre{font-family:var(--mono-font);tab-size:2;margin:var(--gap) 0;overflow-x:auto;scrollbar-width:thin;scrollbar-color:var(--accent) transparent;font-size:.9em}blockquote{margin-inline:0 var(--gap);padding-inline:var(--gap) 0;margin-block:var(--gap);font-size:1.1em;font-style:italic;-webkit-border-start:1px solid var(--faded-fg);border-inline-start:1px solid var(--faded-fg);color:var(--muted-fg)}blockquote address,blockquote cite,blockquote dfn,blockquote em,blockquote i,blockquote var,optgroup::before,q address,q cite,q dfn,q em,q i,q var{font-style:normal}blockquote footer{text-align:right;text-align:end}ol,ul{-webkit-padding-start:var(--rhythm);padding-inline-start:var(--rhythm)}ol ol,ol ul,ul ol,ul ul{-webkit-padding-start:var(--gap);padding-inline-start:var(--gap)}ol[role=list],ul[role=list]{-webkit-padding-start:0;padding-inline-start:0;list-style:none}ol{list-style:decimal}dd{-webkit-margin-start:var(--rhythm);margin-inline-start:var(--rhythm)}li::marker{font-family:var(--secondary-font)}figure{max-width:100%;margin-inline:0}figcaption{margin-block:var(--gap);font-family:var(--secondary-font);color:var(--muted-fg)}main{max-inline-size:var(--eff-line-length);margin:auto}main:first-child{padding-top:var(--gap)}a{color:var(--link-fg, var(--accent));font-family:var(--secondary-font)}.list-of-links a{text-decoration:none}a:hover{text-decoration:underline}span>small:only-child{display:block;float:inline-end;clear:inline-end;--sidenote-width: 20ch;max-inline-size:var(--sidenote-width);padding-inline:1.5ch 1ch;-webkit-margin-end:calc(1em - var(--sidenote-width));margin-inline-end:calc(1em - var(--sidenote-width));-webkit-margin-after:var(--rhythm);margin-block-end:var(--rhythm);font-family:var(--secondary-font);background:var(--bg);border:1px solid transparent;transition:transform .1s ease-in-out}span>small:only-child:focus-within,span>small:only-child:hover{border:1px solid var(--faded-fg);border-radius:var(--border-radius);transform:translateX(calc(0px - var(--sidenote-width) + min(var(--gutter-width),var(--sidenote-width))))}del,s{color:var(--bad-fg)}q{font-style:italic}time{font-variant-numeric:tabular-nums}ins,samp{color:var(--ok-fg)}kbd kbd{display:inline-block;padding:0 .3em;font-size:.8em;line-height:1.1em;background:var(--interactive-bg);border:1px outset var(--faded-fg);border-block-end-width:3px;border-radius:var(--border-radius)}sub,sup{vertical-align:bottom;line-height:1}sup{vertical-align:top}mark{background:var(--warn-bg);color:var(--warn-fg)}ins{background:var(--ok-bg)}del{background:var(--bad-bg)}details{-webkit-padding-before:0;padding-block-start:0}details:not([open]){-webkit-padding-after:0;padding-block-end:0}summary{margin:calc(0px - var(--gap));margin-bottom:0;padding-inline:var(--gap);font-family:var(--secondary-font);font-weight:700;background:var(--accent);color:var(--bg);cursor:pointer}summary:active,summary:focus-visible{filter:brightness(.8)}details[open] summary{-webkit-border-after:1px solid var(--accent);border-block-end:1px solid var(--accent);border-end-end-radius:0;border-end-start-radius:0}dialog{position:absolute;inline-inset:0;block-size:-moz-fit-content;block-size:fit-content;inline-size:-moz-fit-content;inline-size:fit-content;margin:auto!important;background-color:var(--bg);color:var(--fg);border-color:var(--accent)}dialog[open]::-webkit-backdrop{display:block;background:#000;opacity:.4;animation:bg 2s}dialog[open]::backdrop{display:block;background:#000;opacity:.4;animation:bg 2s}dialog:not([open]){display:none}html{font-family:var(--main-font);line-height:var(--rhythm);background:var(--bg);color:var(--fg)}footer,header,section+section{margin-block:calc(2*var(--gap))}nav a{text-decoration:none;color:var(--accent)}aside h1,aside h2,aside h3,aside h4,aside h5,aside h6{font-size:1em;text-transform:none;letter-spacing:none}.\<h1\>,.\<h2\>,.\<h3\>,.\<h4\>,.\<h5\>,.\<h6\>,h1,h2,h3,h4,h5,h6{-webkit-margin-after:var(--gap);margin-block-end:var(--gap);font-family:var(--secondary-font);-webkit-margin-before:calc(2*var(--gap));margin-block-start:calc(2*var(--gap))}.\<h1\>,.\<h2\>,h1,h2{font-size:2em;text-transform:none;line-height:calc(2*var(--rhythm));letter-spacing:0}.\<h2\>,h2{font-size:1.6em;line-height:calc(1.5*var(--rhythm))}.\<h3\>,.\<h4\>,.\<h5\>,.\<h6\>,h3,h4,h5,h6{font-size:1.17em;line-height:calc(1*var(--rhythm))}.\<h4\>,.\<h5\>,.\<h6\>,h4,h5,h6{font-size:1em;text-transform:none;letter-spacing:0;-webkit-margin-before:var(--gap);margin-block-start:var(--gap)}h1+h2,h1:first-child,h2+h3,h2:first-child,h3+h4,h3:first-child,h4+h5,h4:first-child,h5+h6,h5:first-child,h6:first-child{-webkit-margin-before:var(--gap);margin-block-start:var(--gap)}h1:target,h2:target,h3:target,h4:target,h5:target,h6:target{outline:0}h1:target::before,h2:target::before,h3:target::before,h4:target::before,h5:target::before,h6:target::before{content:'❧';display:inline-block;width:0;transform:translateX(-1.5ch);font-size:2em;vertical-align:bottom;color:var(--accent)}header{-webkit-border-after:1px solid var(--faded-fg);border-block-end:1px solid var(--faded-fg)}caption,footer,header{font-family:var(--secondary-font)}footer{-webkit-border-before:1px solid var(--faded-fg);border-block-start:1px solid var(--faded-fg)}body>footer,body>header,main+footer{padding:var(--rhythm) calc((100% - var(--eff-line-length))/2)}caption{text-align:start;font-style:italic}tbody{border-block:1px solid var(--fg)}td:not(:last-child),th:not(:last-child){-webkit-padding-end:var(--rhythm);padding-inline-end:var(--rhythm)}th{font-family:var(--secondary-font);text-align:start}:root{--fg: var(--gray-12);--muted-fg: var(--gray-10);--faded-fg: var(--plain-faded-fg);--plain-fg: var(--blue-10);--info-fg: var(--blue-11);--ok-fg: var(--green-11);--bad-fg: var(--red-11);--warn-fg: var(--yellow-11);--plain-faded-fg: var(--gray-6);--info-faded-fg: var(--blue-6);--ok-faded-fg: var(--green-6);--bad-faded-fg: var(--red-6);--warn-faded-fg: var(--yellow-6);--bg: var(--gray-0);--box-bg: var(--plain-bg);--interactive-bg: var(--gray-3);--plain-bg: var(--gray-1);--info-bg: var(--blue-1);--ok-bg: var(--green-1);--bad-bg: var(--red-1);--warn-bg: var(--yellow-1);--accent: var(--blue-10);--muted-accent: var(--blue-7);--rhythm: 1.4rem;--line-length: 40rem;--border-radius: .2rem;--main-font: 'Source Sans 3', 'Source Sans Pro', -apple-system, system-ui, sans-serif;--secondary-font: var(--main-font);--mono-font: 'M Plus Code Latin', monospace, monospace;--density: 1;--full-width: 100vw;--eff-line-length: /* Effective line length for prose. */
- min(
- calc( var(--full-width) - (2 * var(--rhythm)) ),
- var(--line-length)
- );--gutter-width: /* Width of spaces at each side of page content. */
- calc(
- (
- var(--full-width) /* Viewport width */
- - var(--eff-line-length) /* minus line width */
- ) / 2)}@media (prefers-color-scheme:dark){:root:not(.-no-dark-theme){--fg: var(--gray-0);--muted-fg: var(--gray-2);--faded-fg: var(--gray-7);--info-bg: var(--blue-12);--ok-bg: var(--green-12);--bad-bg: var(--red-12);--warn-bg: var(--yellow-12);--bg: var(--gray-12);--box-bg: var(--gray-10);--interactive-bg: var(--gray-8);--info-fg: var(--blue-3);--ok-fg: var(--green-3);--bad-fg: var(--red-3);--warn-fg: var(--yellow-3);--accent: var(--blue-3);--muted-accent: var(--blue-5)}}*{--gap: calc(var(--rhythm) * var(--density));accent-color:var(--accent)} \ No newline at end of file
diff --git a/www/releases/_artifacts/v0.3.0/missing.min.css.br b/www/releases/_artifacts/v0.3.0/missing.min.css.br
deleted file mode 100644
index 3023045..0000000
--- a/www/releases/_artifacts/v0.3.0/missing.min.css.br
+++ /dev/null
Binary files differ
diff --git a/www/releases/_artifacts/v0.3.0/missing.min.css.gz b/www/releases/_artifacts/v0.3.0/missing.min.css.gz
deleted file mode 100644
index 5b1ec2e..0000000
--- a/www/releases/_artifacts/v0.3.0/missing.min.css.gz
+++ /dev/null
Binary files differ
diff --git a/www/releases/_artifacts/v0.3.1/missing-prism.css b/www/releases/_artifacts/v0.3.1/missing-prism.css
deleted file mode 100644
index 23e48b5..0000000
--- a/www/releases/_artifacts/v0.3.1/missing-prism.css
+++ /dev/null
@@ -1,62 +0,0 @@
-
-.token.comment,
-.token.prolog,
-.token.doctype,
-.token.cdata,
-.token.punctuation {
- color: var(--muted-fg);
-}
-
-.token.property,
-.token.tag,
-.token.boolean,
-.token.number,
-.token.constant,
-.token.symbol,
-.token.deleted {
- color: var(--bad-fg);
-}
-
-.token.selector,
-.token.attr-name,
-.token.string,
-.token.char,
-.token.builtin,
-.token.inserted {
- color: var(--ok-fg);
-}
-
-.token.operator,
-.token.entity,
-.token.url,
-.language-css .token.string,
-.style .token.string,
-.token.regex,
-.token.important,
-.token.variable {
- color: var(--warn-fg)
-}
-
-.token.atrule,
-.token.attr-value,
-.token.keyword {
- color: var(--info-fg);
-}
-
-.token.function {
- color: var(--bad-fg);
- font-style: italic;
-}
-
-.token.important,
-.token.bold {
- font-weight: bold;
-}
-
-.token.italic {
- font-style: italic;
-}
-
-.token.entity {
- cursor: help;
-}
diff --git a/www/releases/_artifacts/v0.3.1/missing-prism.min.css b/www/releases/_artifacts/v0.3.1/missing-prism.min.css
deleted file mode 100644
index 41c91b1..0000000
--- a/www/releases/_artifacts/v0.3.1/missing-prism.min.css
+++ /dev/null
@@ -1 +0,0 @@
-.token.cdata,.token.comment,.token.doctype,.token.prolog,.token.punctuation{color:var(--muted-fg)}.token.boolean,.token.constant,.token.deleted,.token.number,.token.property,.token.symbol,.token.tag{color:var(--bad-fg)}.token.attr-name,.token.builtin,.token.char,.token.inserted,.token.selector,.token.string{color:var(--ok-fg)}.language-css .token.string,.style .token.string,.token.entity,.token.important,.token.operator,.token.regex,.token.url,.token.variable{color:var(--warn-fg)}.token.atrule,.token.attr-value,.token.keyword{color:var(--info-fg)}.token.function{color:var(--bad-fg);font-style:italic}.token.bold,.token.important{font-weight:700}.token.italic{font-style:italic}.token.entity{cursor:help} \ No newline at end of file
diff --git a/www/releases/_artifacts/v0.3.1/missing-prism.min.css.br b/www/releases/_artifacts/v0.3.1/missing-prism.min.css.br
deleted file mode 100644
index 2a4ac49..0000000
--- a/www/releases/_artifacts/v0.3.1/missing-prism.min.css.br
+++ /dev/null
Binary files differ
diff --git a/www/releases/_artifacts/v0.3.1/missing-prism.min.css.gz b/www/releases/_artifacts/v0.3.1/missing-prism.min.css.gz
deleted file mode 100644
index e834bd4..0000000
--- a/www/releases/_artifacts/v0.3.1/missing-prism.min.css.gz
+++ /dev/null
Binary files differ
diff --git a/www/releases/_artifacts/v0.3.1/missing.css b/www/releases/_artifacts/v0.3.1/missing.css
deleted file mode 100644
index a811e0d..0000000
--- a/www/releases/_artifacts/v0.3.1/missing.css
+++ /dev/null
@@ -1,1827 +0,0 @@
-/* Document
- * ========================================================================== */
-
-/**
- * 1. Add border box sizing in all browsers (opinionated).
- * 2. Backgrounds do not repeat by default (opinionated).
- */
-
-*,
-::before,
-::after {
- box-sizing: border-box; /* 1 */
- background-repeat: no-repeat; /* 2 */
-}
-
-/**
- * 1. Add text decoration inheritance in all browsers (opinionated).
- * 2. Add vertical alignment inheritance in all browsers (opinionated).
- */
-
-::before,
-::after {
- text-decoration: inherit; /* 1 */
- vertical-align: inherit; /* 2 */
-}
-
-/**
- * 1. Use the default cursor in all browsers (opinionated).
- * 3. Breaks words to prevent overflow in all browsers (opinionated).
- * 5. Remove the grey highlight on links in iOS (opinionated).
- * 6. Prevent adjustments of font size after orientation changes in iOS.
- */
-
-:root {
- cursor: default; /* 1 */
- overflow-wrap: break-word; /* 3 */
- -webkit-tap-highlight-color: transparent; /* 5 */
- text-size-adjust: none;
- -webkit-text-size-adjust: none;
-}
-
-/* Text-level semantics
- * ========================================================================== */
-
-/**
- * Add the correct text decoration in Safari.
- */
-
-abbr[title] {
- text-decoration: underline;
- -webkit-text-decoration: underline dotted;
- text-decoration: underline dotted;
-}
-
-/**
- * Add the correct font weight in Chrome, Edge, and Safari.
- */
-
-strong, b {
- font-weight: bolder;
-}
-
-/**
- * Add the correct font size in all browsers.
- */
-
-small {
- font-size: 80%;
-}
-
-/* Embedded content
- * ========================================================================== */
-
-/*
- * Change the alignment on media elements in all browsers (opinionated).
- */
-
-audio, canvas, iframe, img, svg, video {
- vertical-align: middle;
-}
-
-/**
- * Change the fill color to match the text color in all browsers (opinionated).
- */
-
-svg:not([fill]) {
- fill: currentColor;
-}
-
-/* Tabular data
- * ========================================================================== */
-
-/**
- * 1. Collapse border spacing in all browsers (opinionated).
- * 2. Correct table border color in Chrome, Edge, and Safari.
- * 3. Remove text indentation from table contents in Chrome, Edge, and Safari.
- */
-
-table {
- border-collapse: collapse; /* 1 */
- border-color: currentColor; /* 2 */
- text-indent: 0; /* 3 */
-}
-
-/* Forms
- * ========================================================================== */
-
-/**
- * Remove the margin on controls in Safari.
- */
-
-button, input, select {
- margin: 0;
-}
-
-/**
- * Correct the inability to style buttons in iOS and Safari.
- */
-
-button, [type="button"], [type="reset"], [type="submit"] {
- -webkit-appearance: button;
-}
-
-/**
- * Change the inconsistent appearance in all browsers (opinionated).
- */
-
-fieldset {
- border: 1px solid #a0a0a0;
-}
-
-/**
- * Add the correct vertical alignment in Chrome, Edge, and Firefox.
- */
-
-progress {
- vertical-align: baseline;
-}
-
-/**
- * 1. Remove the margin in Firefox and Safari.
- */
-
-textarea {
- margin: 0; /* 1 */
-}
-
-/**
- * 1. Correct the odd appearance in Chrome, Edge, and Safari.
- * 2. Correct the outline style in Safari.
- */
-
-[type="search"] {
- -webkit-appearance: textfield; /* 1 */
- outline-offset: -2px; /* 2 */
-}
-
-/**
- * Correct the cursor style of increment and decrement buttons in Safari.
- */
-
-::-webkit-inner-spin-button,
-::-webkit-outer-spin-button {
- block-size: auto;
-}
-
-/**
- * Correct the text style of placeholders in Chrome, Edge, and Safari.
- */
-
-::-webkit-input-placeholder {
- color: inherit;
- opacity: 0.54;
-}
-
-/**
- * Remove the inner padding in Chrome, Edge, and Safari on macOS.
- */
-
-::-webkit-search-decoration {
- -webkit-appearance: none;
-}
-
-/**
- * 1. Correct the inability to style upload buttons in iOS and Safari.
- * 2. Change font properties to `inherit` in Safari.
- */
-
-::-webkit-file-upload-button {
- -webkit-appearance: button; /* 1 */
- font: inherit; /* 2 */
-}
-
-/* Interactive
- * ========================================================================== */
-
-[hidden] {
- display: none !important;
-}
-
-:focus-visible {
- outline: .2em solid var(--accent);
- z-index: 32;
-}
-
-iframe:focus-visible,
- html:focus-visible,
- body:focus-visible {
- outline: none;
- }
-
-:target {
- outline: .2em solid var(--fg);
- z-index: 32;
-}
-
-/*
- * Add the correct display in Safari.
- */
-
-details > summary:first-of-type {
- display: list-item;
-}
-
-/* Accessibility
- * ========================================================================== */
-
-/**
- * Change the cursor on busy elements in all browsers (opinionated).
- */
-
-[aria-busy="true"] {
- cursor: progress;
-}
-
-/*
- * Change the cursor on disabled, not-editable, or otherwise
- * inoperable elements in all browsers (opinionated).
- */
-
-[aria-disabled="true"], [disabled] {
- cursor: not-allowed;
-}
-
-datalist {
- display: none !important;
-}
-
-/* https://github.com/fchristant/colar/ */
-
-:root {
- --gray-0: #f8fafb;
- --gray-1: #f2f4f6;
- --gray-2: #ebedef;
- --gray-3: #e0e4e5;
- --gray-4: #d1d6d8;
- --gray-5: #b1b6b9;
- --gray-6: #979b9d;
- --gray-7: #7e8282;
- --gray-8: #666968;
- --gray-9: #50514f;
- --gray-10: #3a3a37;
- --gray-11: #252521;
- --gray-12: #121210;
-
- --red-0: #fff5f5;
- --red-1: #ffe3e3;
- --red-2: #ffc9c9;
- --red-3: #ffa8a8;
- --red-4: #ff8787;
- --red-5: #ff6b6b;
- --red-6: #fa5252;
- --red-7: #f03e3e;
- --red-8: #e03131;
- --red-9: #c92a2a;
- --red-10: #b02525;
- --red-11: #962020;
- --red-12: #7d1a1a;
-
- --pink-0: #fff0f6;
- --pink-1: #ffdeeb;
- --pink-2: #fcc2d7;
- --pink-3: #faa2c1;
- --pink-4: #f783ac;
- --pink-5: #f06595;
- --pink-6: #e64980;
- --pink-7: #d6336c;
- --pink-8: #c2255c;
- --pink-9: #a61e4d;
- --pink-10: #8c1941;
- --pink-11: #731536;
- --pink-12: #59102a;
-
- --purple-0: #f8f0fc;
- --purple-1: #f3d9fa;
- --purple-2: #eebefa;
- --purple-3: #e599f7;
- --purple-4: #da77f2;
- --purple-5: #cc5de8;
- --purple-6: #be4bdb;
- --purple-7: #ae3ec9;
- --purple-8: #9c36b5;
- --purple-9: #862e9c;
- --purple-10: #702682;
- --purple-11: #5a1e69;
- --purple-12: #44174f;
-
- --violet-0: #f3f0ff;
- --violet-1: #e5dbff;
- --violet-2: #d0bfff;
- --violet-3: #b197fc;
- --violet-4: #9775fa;
- --violet-5: #845ef7;
- --violet-6: #7950f2;
- --violet-7: #7048e8;
- --violet-8: #6741d9;
- --violet-9: #5f3dc4;
- --violet-10: #5235ab;
- --violet-11: #462d91;
- --violet-12: #3a2578;
-
- --indigo-0: #edf2ff;
- --indigo-1: #dbe4ff;
- --indigo-2: #bac8ff;
- --indigo-3: #91a7ff;
- --indigo-4: #748ffc;
- --indigo-5: #5c7cfa;
- --indigo-6: #4c6ef5;
- --indigo-7: #4263eb;
- --indigo-8: #3b5bdb;
- --indigo-9: #364fc7;
- --indigo-10: #2f44ad;
- --indigo-11: #283a94;
- --indigo-12: #21307a;
-
- --blue-0: #e7f5ff;
- --blue-1: #d0ebff;
- --blue-2: #a5d8ff;
- --blue-3: #74c0fc;
- --blue-4: #4dabf7;
- --blue-5: #339af0;
- --blue-6: #228be6;
- --blue-7: #1c7ed6;
- --blue-8: #1971c2;
- --blue-9: #1864ab;
- --blue-10: #145591;
- --blue-11: #114678;
- --blue-12: #0d375e;
-
- --cyan-0: #e3fafc;
- --cyan-1: #c5f6fa;
- --cyan-2: #99e9f2;
- --cyan-3: #66d9e8;
- --cyan-4: #3bc9db;
- --cyan-5: #22b8cf;
- --cyan-6: #15aabf;
- --cyan-7: #1098ad;
- --cyan-8: #0c8599;
- --cyan-9: #0b7285;
- --cyan-10: #095c6b;
- --cyan-11: #074652;
- --cyan-12: #053038;
-
- --teal-0: #e6fcf5;
- --teal-1: #c3fae8;
- --teal-2: #96f2d7;
- --teal-3: #63e6be;
- --teal-4: #38d9a9;
- --teal-5: #20c997;
- --teal-6: #12b886;
- --teal-7: #0ca678;
- --teal-8: #099268;
- --teal-9: #087f5b;
- --teal-10: #066649;
- --teal-11: #054d37;
- --teal-12: #033325;
-
- --green-0: #ebfbee;
- --green-1: #d3f9d8;
- --green-2: #b2f2bb;
- --green-3: #8ce99a;
- --green-4: #69db7c;
- --green-5: #51cf66;
- --green-6: #40c057;
- --green-7: #37b24d;
- --green-8: #2f9e44;
- --green-9: #2b8a3e;
- --green-10: #237032;
- --green-11: #1b5727;
- --green-12: #133d1b;
-
- --lime-0: #f4fce3;
- --lime-1: #e9fac8;
- --lime-2: #d8f5a2;
- --lime-3: #c0eb75;
- --lime-4: #a9e34b;
- --lime-5: #94d82d;
- --lime-6: #82c91e;
- --lime-7: #74b816;
- --lime-8: #66a80f;
- --lime-9: #5c940d;
- --lime-10: #4c7a0b;
- --lime-11: #3c6109;
- --lime-12: #2c4706;
-
- --yellow-0: #fff9db;
- --yellow-1: #fff3bf;
- --yellow-2: #ffec99;
- --yellow-3: #ffe066;
- --yellow-4: #ffd43b;
- --yellow-5: #fcc419;
- --yellow-6: #fab005;
- --yellow-7: #f59f00;
- --yellow-8: #f08c00;
- --yellow-9: #e67700;
- --yellow-10: #b35c00;
- --yellow-11: #804200;
- --yellow-12: #663500;
-
- --orange-0: #fff4e6;
- --orange-1: #ffe8cc;
- --orange-2: #ffd8a8;
- --orange-3: #ffc078;
- --orange-4: #ffa94d;
- --orange-5: #ff922b;
- --orange-6: #fd7e14;
- --orange-7: #f76707;
- --orange-8: #e8590c;
- --orange-9: #d9480f;
- --orange-10: #bf400d;
- --orange-11: #99330b;
- --orange-12: #802b09;
-
- --choco-0: #fff8dc;
- --choco-1: #fce1bc;
- --choco-2: #f7ca9e;
- --choco-3: #f1b280;
- --choco-4: #e99b62;
- --choco-5: #df8545;
- --choco-6: #d46e25;
- --choco-7: #bd5f1b;
- --choco-8: #a45117;
- --choco-9: #8a4513;
- --choco-10: #703a13;
- --choco-11: #572f12;
- --choco-12: #3d210d;
-
- --brown-0: #faf4eb;
- --brown-1: #ede0d1;
- --brown-2: #e0cab7;
- --brown-3: #d3b79e;
- --brown-4: #c5a285;
- --brown-5: #b78f6d;
- --brown-6: #a87c56;
- --brown-7: #956b47;
- --brown-8: #825b3a;
- --brown-9: #6f4b2d;
- --brown-10:#5e3a21;
- --brown-11:#4e2b15;
- --brown-12: #422412;
-
- --sand-0: #f8fafb;
- --sand-1: #e6e4dc;
- --sand-2: #d5cfbd;
- --sand-3: #c2b9a0;
- --sand-4: #aea58c;
- --sand-5: #9a9178;
- --sand-6: #867c65;
- --sand-7: #736a53;
- --sand-8: #5f5746;
- --sand-9: #4b4639;
- --sand-10:#38352d;
- --sand-11:#252521;
- --sand-12: #121210;
-
- --camo-0: #f9fbe7;
- --camo-1: #e8ed9c;
- --camo-2: #d2df4e;
- --camo-3: #c2ce34;
- --camo-4: #b5bb2e;
- --camo-5: #a7a827;
- --camo-6: #999621;
- --camo-7: #8c851c;
- --camo-8: #7e7416;
- --camo-9: #6d6414;
- --camo-10: #5d5411;
- --camo-11: #4d460e;
- --camo-12: #36300a;
-
- --jungle-0: #ecfeb0;
- --jungle-1: #def39a;
- --jungle-2: #d0e884;
- --jungle-3: #c2dd6e;
- --jungle-4: #b5d15b;
- --jungle-5: #a8c648;
- --jungle-6: #9bbb36;
- --jungle-7: #8fb024;
- --jungle-8: #84a513;
- --jungle-9: #7a9908;
- --jungle-10: #658006;
- --jungle-11: #516605;
- --jungle-12: #3d4d04;
-}
-
-.box,
-/* defined elsewhere */
-[role=menu],
-.sidebar,
-[role=tabpanel],
-figure,
-details,
-dialog,
-aside {
- margin: var(--gap) 0;
- padding: var(--gap);
- overflow: clip;
-
- border-radius: var(--border-radius);
- background: var(--box-bg);
- border: 1px solid var(--faded-fg);
-}
-
-.titlebar {
- margin-inline: calc(0px - var(--gap));
- margin-block-end: calc(0px - var(--gap));
- padding-inline: var(--gap);
-
- font: inherit;
- font-family: var(--secondary-font);
- font-weight: bold;
-
- translate: 0 calc(-1px - var(--gap));
-
- background: var(--accent);
- color: var(--bg);
-}
-
-.breadcrumbs[aria-label] {
- font-family: var(--secondary-font)
-}
-
-.breadcrumbs[aria-label] ul, .breadcrumbs[aria-label] ol {
- list-style: none;
- padding-inline-start: 0;
- }
-
-.breadcrumbs[aria-label] li {
- display: inline
- }
-
-:is(.breadcrumbs[aria-label] li)+li::before {
- content: ' / ' / '';
- content: ' / ';
- display: inline;
- }
-
-.breadcrumbs[aria-label] [aria-current="page"] {
- font-weight: bold;
- }
-
-.chip, chip {
- font-family: var(--secondary-font);
- border: 1px solid var(--accent);
- background: var(--box-bg);
- border-radius: calc(var(--rhythm) / 2);
- padding-inline: calc(var(--rhythm) / 2);
-}
-
-[role="menu"] {
- /* SEE components/box.css */
- position: absolute;
-
- padding: calc(var(--gap) / 2) 0;
- margin: 1px 0 0 0;
-
- display: flex;
- flex-flow: column nowrap;
-}
-
-[role=menuitem] {
- padding: 0 calc(var(--gap) / 2);
-
- display: block;
-
- text-decoration: none;
-
- color: var(--fg)
-}
-
-[role=menuitem]:focus {
- background: var(--accent);
- color: var(--bg);
- }
-
-.navbar {
- margin: 0 0 var(--gap) 0;
- padding: var(--rhythm);
-
- font-family: var(--secondary-font);
-
- background: var(--box-bg);
- border-block-end: 1px solid var(--accent);
-
- overflow-x: auto;
- scrollbar-width: thin;
-
- /* Inner layout */
- display: flex;
- flex-flow: row;
- justify-content: center;
- gap: calc(2 * var(--rhythm))
-}
-
-.navbar * {
- flex-shrink: 0;
- margin-block: 0;
- }
-
-.navbar nav ul[role="list"] {
- padding-inline-start: 0;
- display: flex;
- flex-flow: row;
- gap: var(--rhythm)
- }
-
-.navbar nav ul[role="list"] * { flex-shrink: 0 }
-
-.navbar a {
- font-weight: bold;
- text-decoration: none;
- }
-
-.navbar a:hover, .navbar a:focus {
- text-decoration: underline;
- }
-
-.navbar [aria-current=page] {
- background: var(--accent);
- color: var(--box-bg);
- border-radius: var(--border-radius);
- outline: .2em solid var(--accent);
- }
-
-.permalink-anchor {
- display: none
-}
-
-*:hover > .permalink-anchor {
- display: initial
-}
-
-.sidebar {
- /* SEE components/box.css */
-
- font-family: var(--secondary-font);
-
- border-block: none;
- border-inline-start: none;
- border-radius: 0;
- margin: 0;
-
- font-size: .8em;
- --rhythm: 1em
-}
-
-.sidebar li {
- padding: calc(.5 * var(--gap));
- margin-inline: calc(-.5 * var(--gap));
- border-radius: var(--border-radius);
- }
-
-.sidebar a {
- font-weight: bold;
- text-decoration: none;
- }
-
-.sub-title, sub-title {
- /***
- Meant for use in headings. Make sure to also use visually-hidden punctuation
- to mark the subtitle as shown below:
-
- 1 | <h1>
- 2 | Foo Bar<v-h>:</v-h>
- 3 | <sub-title>How I Learned To Stop Worrying and Love Baz</sub-title>
- 4 | </h1>
-
- 1 | <h1>
- 2 | <sub-title class="-allcaps">Breaking News</sub-title><v-h>:</v-h>
- 3 | Bad Thing Happens
- 4 | <h1>
- ***/
-
- display: block;
-
- font-weight: normal;
-
- color: var(--muted-fg);
-}
-
-[role="tablist"] {
- display: flex;
- gap: .5ch;
- scrollbar-width: thin;
-}
-
-[role="tab"][role="tab"] {
- all: initial;
-
- font-family: var(--secondary-font);
-
- padding: 0 calc(var(--rhythm) / 4);
- margin: 0;
- min-height: var(--rhythm);
-
- border: solid var(--faded-fg);
- border-width: 1px 1px 0 1px;
- border-block-end-color: transparent;
- background: var(--interactive-bg);
-
- border-start-start-radius: .4em;
- border-start-end-radius: .4em
-}
-
-[role="tab"][role="tab"]:active, [role="tab"][role="tab"][aria-selected="true"] {
- transform: none;
- bottom: -1px;
- position: relative;
- background: var(--box-bg);
- border-block-end: 1px solid var(--box-bg);
- }
-
-[role="tab"][role="tab"]:hover {
- background-color: var(--box-bg);
- }
-
-[role="tab"][role="tab"]:focus {
- background-color: var(--box-bg);
- border-color: var(--accent);
- outline: 1px solid var(--accent);
- }
-
-[role="tabpanel"] {
- /* SEE components/box.css */
-
- margin-block-start: 0;
- border-start-start-radius: 0;
- border-start-end-radius: 0;
- z-index: 1;
-}
-
-.tool-bar {
- display: flex;
- flex-flow: row wrap;
- gap: calc(var(--gap) / 2)
-}
-
-.tool-bar > * { margin: 0; }
-
-.plain {
- --box-bg: var(--plain-bg);
- --accent: var(--plain-fg);
- --faded-fg: var(--plain-faded-fg);
-}
-
-.info {
- --box-bg: var(--info-bg);
- --accent: var(--info-fg);
- --faded-fg: var(--info-faded-fg);
-}
-
-.ok {
- --box-bg: var(--ok-bg);
- --accent: var(--ok-fg);
- --faded-fg: var(--ok-faded-fg);
-}
-
-.warn {
- --box-bg: var(--warn-bg);
- --accent: var(--warn-fg);
- --faded-fg: var(--warn-faded-fg);
-}
-
-.bad {
- --box-bg: var(--bad-bg);
- --accent: var(--bad-fg);
- --faded-fg: var(--bad-faded-fg);
-}
-
-.color {
- color: var(--accent);
-}
-
-.bg {
- background: var(--box-bg);
-}
-
-.border {
- border-style: solid;
- border-color: var(--faded-fg);
-}
-
-.airy { --density: 3; }
-
-.dense { --density: 1; }
-
-.crowded { --density: .5; }
-
-.packed { --density: 0; }
-
-.autodensity {
- --density: 1
-}
-
-@media (min-width: 768px) {
-
-.autodensity { --density: 2
-}}
-
-@media (min-width: 1024px) {
-
-.autodensity { --density: 3
-}}
-
-.f-row {
- display: flex;
- flex-direction: row;
- gap: var(--gap);
- --col-width: 30ch
-}
-
-:where(.f-row > *) { margin: 0; flex-basis: var(--col-width)
-}
-
-.f-col {
- display: flex;
- flex-direction: column;
- gap: var(--gap)
-}
-
-.f-col > * { margin: 0 }
-
-.f-switch {
- display: flex;
- flex-wrap: wrap;
- gap: var(--gap);
- --f-switch-threshold: 55ch
-}
-
-.f-switch > * {
- margin: 0;
-
- flex-grow: 1;
- flex-basis: calc((var(--f-switch-threshold) - 100%) * 999);
- }
-
-.justify-content\:start { justify-content: start }
-
-.justify-content\:end { justify-content: end }
-
-.justify-content\:baseline { justify-content: baseline }
-
-.justify-content\:center { justify-content: center }
-
-.justify-content\:stretch { justify-content: stretch }
-
-.align-items\:start { align-items: start }
-
-.align-items\:end { align-items: end }
-
-.align-items\:baseline { align-items: baseline }
-
-.align-items\:center { align-items: center }
-
-.align-items\:stretch { align-items: stretch }
-
-.align-self\:start { align-self: start }
-
-.align-self\:end { align-self: end }
-
-.align-self\:baseline { align-self: baseline }
-
-.align-self\:center { align-self: center }
-
-.align-self\:stretch { align-self: stretch }
-
-.flex-grow\:0 { flex-grow: 0 }
-
-.flex-grow\:1 { flex-grow: 1 }
-
-.flex-grow\:2 { flex-grow: 2 }
-
-.flex-grow\:3 { flex-grow: 3 }
-
-.flex-grow\:4 { flex-grow: 4 }
-
-.flex-grow\:5 { flex-grow: 5 }
-
-.flex-grow\:6 { flex-grow: 6 }
-
-.flex-grow\:7 { flex-grow: 7 }
-
-.flex-grow\:8 { flex-grow: 8 }
-
-.flex-grow\:9 { flex-grow: 9 }
-
-.flex-grow\:10 { flex-grow: 10 }
-
-.flex-grow\:11 { flex-grow: 11 }
-
-.flex-grow\:12 { flex-grow: 12 }
-
-.flex-wrap\:wrap { flex-wrap: wrap }
-
-.flex-wrap\:nowrap { flex-wrap: nowrap }
-
-.vh, v-h {
- clip: rect(0 0 0 0);
- -webkit-clip-path: inset(50%);
- clip-path: inset(50%);
- block-size: 1px;
- inline-size: 1px;
- overflow: hidden;
- white-space: nowrap;
-}
-
-.all\:initial {
- all: initial;
-}
-
-.textcolumns {
- --col-width: 30ch;
- column-width: var(--col-width);
- column-gap: var(--gap);
- margin-block: var(--gap)
-}
-
-.textcolumns :first-child { margin-block-start: 0 !important }
-
-.text-align\:center {
- text-align: center;
-}
-
-.center {
- display: grid;
- place-items: center;
-}
-
-/**/
-
-.container {
- max-inline-size: var(--eff-line-length);
- margin-inline: auto;
-}
-
-.fullbleed {
- position: relative;
- width: 100vw;
- left: 50%;
- transform: translateX(-50vw);
-
- border-radius: 0;
- border-inline: none;
-}
-
-.width\:100\% { width:100% }
-
-/**/
-
-/* ugh, specificity hacks */
-
-*:first-child:first-child:first-child { margin-block-start: 0; }
-
-*:last-child:last-child:last-child { margin-block-end: 0; }
-
-.padding { padding-inline: var(--gap) }
-
-.padding-block { padding-block: var(--gap) }
-
-.padding-inline { padding-inline: var(--gap) }
-
-.margin { margin: var(--gap) }
-
-.margin-block { margin-block: var(--gap) }
-
-.margin-inline { margin-inline: var(--gap) }
-
-.flow-gap > :not(:last-child) {
- margin-bottom: 1em;
- }
-
-/**/
-
-.inline { display: inline }
-
-.block { display: block }
-
-.contents { display: contents }
-
-.table {
- display: table;
- width: 100%;
- margin: 0;
-}
-
-.row, .rows > * {
- display: table-row
-}
-
-.row:not(:last-child):not([specificity-hack]) > *, .rows > *:not(:last-child):not([specificity-hack]) > * {
- margin-bottom: var(--gap);
- }
-
-.row > *:not([specificity-hack]), .rows > * > *:not([specificity-hack]) {
- display: table-cell;
- vertical-align: top;
- }
-
-.row > * + *:not([specificity-hack]), :is(.rows > *) > * + *:not([specificity-hack]) {
- margin-inline-start: var(--gap);
- display: inline-block;
- }
-
-/**/
-
-.fixed { position: fixed }
-
-.sticky { position: sticky }
-
-.top { top: 0 }
-
-.right { right: 0 }
-
-.bottom { bottom: 0 }
-
-.left { left: 0 }
-
-.float\:left { float: left }
-
-.float\:right { float: right }
-
-.overflow\:auto { overflow: auto }
-
-.overflow\:scroll { overflow: scroll }
-
-.allcaps {
- text-transform: uppercase;
- letter-spacing: .1rem;
-}
-
-.monospace {
- font-family: var(--mono-font);
-}
-
-/***
- 4.8 Embedded content
- https://html.spec.whatwg.org/multipage/embedded-content.html
- ***/
-
-img, video, audio, iframe, object, embed {
- max-inline-size: 100%;
- inline-size: max-content;
- block-size: auto;
-}
-
-/***
- 4.10 Forms
- https://html.spec.whatwg.org/multipage/forms.html
- ***/
-
-input { display: block; }
-
-label input:not([specificity-hack]) { display: inline; padding-block: 0; }
-
-button,
-input[type="submit"],
-input[type="reset"],
-input[type="button"],
-input::file-selector-button,
-.\<button\> {
- display: inline-block;
- padding: 0 calc(var(--rhythm) / 4);
- vertical-align: top;
-
- font-size: .8rem;
- line-height: 1.125em;
- font-family: var(--secondary-font);
- min-height: var(--rhythm);
-
- background: var(--interactive-bg);
- color: var(--fg);
- border: 1px solid var(--muted-fg);
- box-sizing: border-box;
- border-radius: var(--border-radius);
-
- /* a-specific resets */
- color: var(--fg);
- text-decoration: none;
- display: inline-flex;
- place-items: center
-}
-
-:is(button,input[type="submit"],input[type="reset"],input[type="button"],input::file-selector-button,.\<button\>):hover, :is(button,input[type="submit"],input[type="reset"],input[type="button"],input::file-selector-button,.\<button\>):focus-visible {
- filter: brightness(1.1);
-
- /* a-specific resets */
- text-decoration: none;
- }
-
-:is(button,input[type="submit"],input[type="reset"],input[type="button"],input::file-selector-button,.\<button\>):active {
- filter: brightness(.8);
- }
-
-[aria-pressed="true"]:is(button,input[type="submit"],input[type="reset"],input[type="button"],input::file-selector-button,.\<button\>), [aria-expanded="true"]:is(button,input[type="submit"],input[type="reset"],input[type="button"],input::file-selector-button,.\<button\>) {
- box-shadow: 0 .05em var(--accent);
- transform: translateY(.05em);
- background: var(--pressed-interactive-bg);
- }
-
-[disabled]:is(button,input[type="submit"],input[type="reset"],input[type="button"],input::file-selector-button,.\<button\>) {
- color: var(--muted-fg);
- }
-
-strong > :is(button,input[type="submit"],input[type="reset"],input[type="button"],input::file-selector-button,.\<button\>) {
- background: var(--accent);
- color: var(--bg);
- border: none;
- font-weight: bold
-}
-
-strong > [disabled]:is(button,input[type="submit"],input[type="reset"],input[type="button"],input::file-selector-button,.\<button\>) {
- color: var(--muted-accent);
- }
-
-input:not([type]),
-input[type="text"],
-input[type="search"],
-input[type="tel"],
-input[type="url"],
-input[type="email"],
-input[type="password"],
-input[type="date"],
-input[type="month"],
-input[type="week"],
-input[type="time"],
-input[type="datetime"],
-input[type="datetime-local"],
-input[type="number"],
-select,
-textarea {
- padding: calc(var(--rhythm) / 4);
- vertical-align: top;
-
- font-size: 1rem;
- line-height: inherit;
- font-family: var(--main-font);
-
- background: var(--bg);
- color: var(--fg);
- border: 1px solid var(--faded-fg);
- border-radius: var(--border-radius);
-
- vertical-align: top
-}
-
-:is(input:not([type]),input[type="text"],input[type="search"],input[type="tel"],input[type="url"],input[type="email"],input[type="password"],input[type="date"],input[type="month"],input[type="week"],input[type="time"],input[type="datetime"],input[type="datetime-local"],input[type="number"],select,textarea):focus-visible {
- border: 1px solid var(--accent);
- }
-
-:is(input:not([type]),input[type="text"],input[type="search"],input[type="tel"],input[type="url"],input[type="email"],input[type="password"],input[type="date"],input[type="month"],input[type="week"],input[type="time"],input[type="datetime"],input[type="datetime-local"],input[type="number"],select,textarea)::placeholder {
- color: var(--muted-fg);
- opacity: 1;
- text-align: end;
- }
-
-input[type="range"] {
- width: 100%;
- padding: calc(var(--gap) / 4);
-}
-
-input[type="color"] {
- padding: 0;
- margin: 0;
- height: calc(1.5 * var(--rhythm));
-
- border: none;
- background: none;
-}
-
-input[type="file"] {
- padding: calc(var(--gap) / 4) 0;
- font: inherit;
- line-height: calc(var(--rhythm) / 2)
-}
-
-input[type="file"]::file-selector-button {
- margin-block: .1em 0;
- margin-inline-end: 1ch;
- }
-
-select[multiple] {
- vertical-align: top;
-}
-
-optgroup::before {
- color: var(--muted-fg);
- font-style: normal;
-}
-
-progress {
- /* TODO */
-}
-
-meter {
- /* TODO */
-}
-
-label[for] {
- display: block;
- padding-block: calc(var(--gap) / 4);
-}
-
-fieldset {
- position: relative;
-
- padding: var(--gap);
- margin: var(--gap) 0;
- width: 100%;
- border-radius: var(--border-radius);
-}
-
-fieldset > legend + * { margin-block-start: 0 }
-
-fieldset {
-
- border: 1px solid var(--faded-fg);
-}
-
-/***
- 4.4 Grouping content
- https://html.spec.whatwg.org/multipage/grouping-content.html
- ***/
-
-p {
- margin-block: var(--gap);
-}
-
-hr {
- color: inherit;
- margin-inline: 0;
- margin-block: var(--gap);
-
- flex: 0 1 0px;
- border-inline-start: 1px solid var(--accent);
- block-size: auto;
- border-block-start: 1px solid var(--accent);
- border-block-end: none;
- border-inline-end: none;
-}
-
-pre {
- font-family: var(--mono-font);
- font-size: .9em;
- line-height: var(--rhythm);
- -o-tab-size: 2;
- tab-size: 2;
-
- margin: var(--gap) 0;
-
- overflow-x: auto;
- scrollbar-width: thin;
- scrollbar-color: var(--accent) transparent;
-}
-
-blockquote {
- margin-inline: 0 var(--gap);
- padding-inline: var(--gap) 0;
- margin-block: var(--gap);
-
- font-size: 1.1em;
- line-height: var(--rhythm);
- font-style: italic;
-
- border-inline-start: 1px solid var(--faded-fg);
- color: var(--muted-fg)
-}
-
-blockquote em, blockquote cite, blockquote dfn, blockquote var, blockquote i, blockquote address {
- font-style: normal;
- }
-
-blockquote footer {
- text-align: right;
- text-align: end;
- }
-
-ul, ol {
- padding-inline-start: var(--rhythm)
-}
-
-ul ul, ul ol, ol ul, ol ol {
- padding-inline-start: var(--gap);
- }
-
-ul[role="list"], ol[role="list"] {
- padding-inline-start: 0;
- list-style: none;
- }
-
-ul {
-}
-
-ol {
- list-style: decimal;
-}
-
-dl {
- margin-block: var(--gap);
-}
-
-dt {
- font-weight: bold;
- }
-
-dd {
- margin-inline-start: var(--rhythm);
- }
-
-li::marker {
- font-family: var(--secondary-font);
-}
-
-figure {
- max-width: 100%;
- margin-inline: 0;
-
- /* SEE components/box.css */
-}
-
-figcaption {
- margin-block: var(--gap);
-
- font-family: var(--secondary-font);
-
- color: var(--muted-fg);
-}
-
-main {
- max-inline-size: var(--eff-line-length);
- margin: auto
-}
-
-main:first-child { padding-top: var(--gap); }
-
-/***
- 4.5 Text-level semantics
- https://html.spec.whatwg.org/multipage/text-level-semantics.html
-
- 4.7 Edits
- https://html.spec.whatwg.org/multipage/edits.html
- ***/
-
-/* Text-level semantics */
-
-a {
- color: var(--link-fg, var(--accent));
- font-family: var(--secondary-font)
-}
-
-.list-of-links a {
- text-decoration: none
-}
-
-a:hover {
- text-decoration: underline;
- }
-
-span > small:only-child {
- /***
- Sidenote
- ***/
- display: block;
- float: inline-end;
- clear: inline-end;
-
- --sidenote-width: 20ch;
-
- max-inline-size: var(--sidenote-width);
- padding-inline: 1.5ch 1ch;
-
- margin-inline-end: calc(1em - var(--sidenote-width));
- margin-block-end: var(--rhythm);
-
- font-family: var(--secondary-font);
-
- background: var(--bg);
- border: 1px solid transparent;
-
- transition: transform .1s ease-in-out
-}
-
-span > small:only-child:hover, span > small:only-child:focus-within {
- border: 1px solid var(--faded-fg);
- border-radius: var(--border-radius);
- transform: translateX(calc(
- 0px - var(--sidenote-width)
- + min(var(--gutter-width), var(--sidenote-width))
- ))
- }
-
-s {
- color: var(--bad-fg);
-}
-
-q {
- font-style: italic
-}
-
-q em, q cite, q dfn, q var, q i, q address {
- font-style: normal;
- }
-
-time {
- font-variant-numeric: tabular-nums;
-}
-
-code, samp, kbd {
- font-family: var(--mono-font);
-}
-
-samp {
- color: var(--ok-fg);
-}
-
-kbd kbd /*
- We apply the key-like styling to a nested kbd element, a pattern shown in
- WHATWG HTML for marking up keyboard input:
-
- > Here the kbd element is used to indicate keys to press:
- > ~~~ html
- > <p>To make George eat an apple, press <kbd><kbd>Shift</kbd> + <kbd>F3</kbd></kbd></p>
- > ~~~
-
- The plain kbd element can also be used for clicking menus (<kbd>File |
- New...</kbd>) or voice input (<kbd>Hey Siri, </kbd>)
-*/ {
- display: inline-block;
-
- padding: 0 .3em;
- font-size: .8em;
- line-height: 1.1em;
-
- background: var(--interactive-bg);
- border: 1px outset var(--faded-fg);
- border-block-end-width: 3px;
- border-radius: var(--border-radius);
-}
-
-sub {
- vertical-align: bottom;
- line-height: 1;
-}
-
-sup {
- vertical-align: top;
- line-height: 1;
-}
-
-mark {
- background: var(--warn-bg);
- color: var(--warn-fg);
-}
-
-/* Edits */
-
-ins {
- background: var(--ok-bg);
- color: var(--ok-fg);
-}
-
-del {
- background: var(--bad-bg);
- color: var(--bad-fg);
-}
-
-/***
- 4.11 Interactive elements
- https://html.spec.whatwg.org/multipage/interactive-elements.html#interactive-elements
- ***/
-
-details {
- /* SEE components/box.css */
-
- padding-block-start: 0
-}
-
-details:not([open]) { padding-block-end: 0; }
-
-summary {
- margin: calc(0px - var(--gap));
- margin-top: calc(0px - var(--gap));
- margin-bottom: 0;
- padding-inline: var(--gap);
-
- font-family: var(--secondary-font);
- font-weight: bold;
-
- background: var(--accent);
- color: var(--bg);
-
- cursor: pointer
-}
-
-summary:focus-visible, summary:active {
- filter: brightness(.8);
- }
-
-details[open] summary {
- border-block-end: 1px solid var(--accent);
- border-end-end-radius: 0;
- border-end-start-radius: 0
-}
-
-dialog {
- /* SEE components/box.css */
-
- position: absolute;
- inline-inset: 0;
-
- block-size: -moz-fit-content;
-
- block-size: fit-content;
- inline-size: -moz-fit-content;
- inline-size: fit-content;
-
- margin: auto !important;
-
- background-color: var(--bg);
- color: var(--fg);
- border-color: var(--accent);
-}
-
-dialog[open]::backdrop {
- display: block;
- background: black;
- opacity: .4;
- animation: bg 2s;
-}
-
-@keyframes bg {
- from { background: transparent; }
-}
-
-dialog:not([open]) {
- display: none;
-}
-
-/***
- 4.1 The document element
- https://html.spec.whatwg.org/multipage/semantics.html#the-root-element
-
- 4.3 Sections
- https://html.spec.whatwg.org/multipage/sections.html
- ***/
-
-html {
- font-family: var(--main-font);
- line-height: var(--rhythm);
-
- background: var(--bg);
- color: var(--fg);
-}
-
-body {
- margin: 0;
-}
-
-header, footer, section + section {
- margin-block: calc(2 * var(--gap));
-}
-
-nav a {
- text-decoration: none;
- color: var(--accent);
- }
-
-/* SEE components/box.css */
-
-aside h1,
- aside h2,
- aside h3,
- aside h4,
- aside h5,
- aside h6 {
- font-size: 1em;
- text-transform: none;
- letter-spacing: none;
- }
-
-h1, h2, h3, h4, h5, h6,
-.\<h1\>, .\<h2\>, .\<h3\>, .\<h4\>, .\<h5\>, .\<h6\> {
- margin-block-end: var(--gap);
- font-family: var(--secondary-font);
- font-size: 1em;
- margin-block-start: calc(2 * var(--gap));
-}
-
-h1, .\<h1\> {
- font-size: 2em;
- text-transform: none;
- line-height: calc(2 * var(--rhythm));
- letter-spacing: 0;
-}
-
-h2, .\<h2\> {
- font-size: 1.6em;
- text-transform: none;
- line-height: calc(1.5 * var(--rhythm));
- letter-spacing: 0;
-}
-
-h3, .\<h3\> {
- font-size: 1.17em;
- line-height: calc(1 * var(--rhythm));
-}
-
-h4, .\<h4\>, h5, .\<h5\>, h6, .\<h6\> {
- font-size: 1em;
- text-transform: none;
- line-height: calc(1 * var(--rhythm));
- letter-spacing: 0;
- margin-block-start: var(--gap);
-}
-
-h1 + h2,
-h2 + h3,
-h3 + h4,
-h4 + h5,
-h5 + h6,
-h1:first-child,
-h2:first-child,
-h3:first-child,
-h4:first-child,
-h5:first-child,
-h6:first-child {
- margin-block-start: var(--gap);
-}
-
-h1:target,
-h2:target,
-h3:target,
-h4:target,
-h5:target,
-h6:target {
- outline: none
-}
-
-h1:target::before, h2:target::before, h3:target::before, h4:target::before, h5:target::before, h6:target::before {
- content: '❧';
- display: inline-block;
- width: 0;
- transform: translateX(-1.5ch);
- font-size: 2em;
- vertical-align: bottom;
- color: var(--accent);
- }
-
-header {
- font-family: var(--secondary-font);
- border-block-end: 1px solid var(--faded-fg);
-}
-
-footer {
- font-family: var(--secondary-font);
- border-block-start: 1px solid var(--faded-fg);
-}
-
-body > header,
-body > footer,
-main + footer {
- padding: var(--rhythm) calc((100% - var(--eff-line-length)) / 2)
-}
-
-address {
- --density: 0;
-}
-
-/***
- 4.9 Tabular data
- https://html.spec.whatwg.org/multipage/tables.html
- ***/
-
-table {
- font-variant-numeric: tabular-nums;
- font: inherit;
-}
-
-caption {
- text-align: start;
- font-family: var(--secondary-font);
- font-style: italic;
-}
-
-tbody {
- border-block: 1px solid var(--fg);
-}
-
-thead {
-}
-
-tfoot {
-}
-
-tr {
-
-}
-
-td, th {
- vertical-align: top
-}
-
-td:not(:last-child), th:not(:last-child) {
- padding-inline-end: var(--rhythm);
- }
-
-td {
- }
-
-th {
- font-family: var(--secondary-font);
- text-align: start;
- }
-
-:root {
- /* Colors */
- --fg: var(--gray-12); /* Text. */
- --muted-fg: var(--gray-10); /* De-emphasized or disabled elements' text. Will be
- used with a background of --c-bg and --c-bg-2 -- check contrast! */
- --faded-fg: var(--plain-faded-fg); /* De-emphasized or disabled graphical elements. Will not
- be used as a text color. */
-
- --plain-fg: var(--blue-10);
- --info-fg: var(--blue-11);
- --ok-fg: var(--green-11);
- --bad-fg: var(--red-11);
- --warn-fg: var(--yellow-11);
-
- --plain-faded-fg: var(--gray-6);
- --info-faded-fg: var(--blue-6);
- --ok-faded-fg: var(--green-6);
- --bad-faded-fg: var(--red-6);
- --warn-faded-fg: var(--yellow-6);
-
- --bg: var(--gray-0); /* Page background. */
- --box-bg: var(--plain-bg); /* Background for blocks: cards, admonitions etc. */
- --interactive-bg: var(--gray-3); /* Background for interactive elements */
-
- --plain-bg: var(--gray-1);
- --info-bg: var(--blue-1);
- --ok-bg: var(--green-1);
- --bad-bg: var(--red-1);
- --warn-bg: var(--yellow-1);
-
- --accent: var(--blue-10); /* Accent color. Will be used *as a text color* with a
- background of --c-bg and --c-bg-2 -- check contrast! */
- --muted-accent: var(--blue-7); /* Muted accent color. Will not be used for text. */
-
- /* Lengths */
- --rhythm: 1.4rem; /* Vertical rhythm, line height. */
- --line-length: 40rem; /* Maximum line length for prose. */
- --border-radius: .2rem;
-
- /* Fonts */
- --main-font: 'Source Sans 3', 'Source Sans Pro', -apple-system, system-ui, sans-serif;
- --secondary-font: var(--main-font); /* Headings etc. */
- --mono-font: 'M Plus Code Latin', monospace, monospace; /* monospace twice stops browsers from
- shrinking this */
-
- /* Density */
- --density: 1;
-
- /* Width */
- --full-width: 100vw;
-
- /* Do not set these. */
- --eff-line-length: /* Effective line length for prose. */
- min(
- calc( var(--full-width) - (2 * var(--rhythm)) ),
- var(--line-length)
- );
-
- --gutter-width: /* Width of spaces at each side of page content. */
- calc(
- (
- var(--full-width) /* Viewport width */
- - var(--eff-line-length) /* minus line width */
- ) / 2); /* Divide by 2: there are two page margins */
-}
-
-@media (prefers-color-scheme: dark) {
- :root:not(.-no-dark-theme) {
- --fg: var(--gray-0);
- --muted-fg: var(--gray-2);
- --faded-fg: var(--gray-7);
-
- --info-bg: var(--blue-12);
- --ok-bg: var(--green-12);
- --bad-bg: var(--red-12);
- --warn-bg: var(--yellow-12);
-
- --bg: var(--gray-12);
- --box-bg: var(--gray-10);
- --interactive-bg: var(--gray-8);
-
- --info-fg: var(--blue-3);
- --ok-fg: var(--green-3);
- --bad-fg: var(--red-3);
- --warn-fg: var(--yellow-3);
-
- --accent: var(--blue-3);
- --muted-accent: var(--blue-5);
- }
-}
-
-* {
- --gap: calc(var(--rhythm) * var(--density));
- accent-color: var(--accent);
-}
diff --git a/www/releases/_artifacts/v0.3.1/missing.min.css b/www/releases/_artifacts/v0.3.1/missing.min.css
deleted file mode 100644
index 7d88a05..0000000
--- a/www/releases/_artifacts/v0.3.1/missing.min.css
+++ /dev/null
@@ -1,16 +0,0 @@
-@keyframes bg{0%{background:0 0}}*,::after,::before{box-sizing:border-box;background-repeat:no-repeat}::after,::before{text-decoration:inherit;vertical-align:inherit}:root{cursor:default;overflow-wrap:break-word;-webkit-tap-highlight-color:transparent;text-size-adjust:none;-webkit-text-size-adjust:none}abbr[title]{-webkit-text-decoration:underline dotted;text-decoration:underline dotted}b,strong{font-weight:bolder}small{font-size:80%}audio,canvas,iframe,img,svg,video{vertical-align:middle}svg:not([fill]){fill:currentColor}table{border-collapse:collapse;border-color:currentColor;text-indent:0;font-variant-numeric:tabular-nums;font:inherit}button,input,select,textarea{margin:0}[type=button],[type=reset],[type=submit],button{-webkit-appearance:button}fieldset{border:1px solid #a0a0a0;position:relative;padding:var(--gap);margin:var(--gap) 0;width:100%;border-radius:var(--border-radius);border:1px solid var(--faded-fg)}progress{vertical-align:baseline}[type=search]{-webkit-appearance:textfield;outline-offset:-2px}::-webkit-inner-spin-button,::-webkit-outer-spin-button{block-size:auto}::-webkit-input-placeholder{color:inherit;opacity:.54}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{-webkit-appearance:button;font:inherit}[hidden],datalist{display:none!important}:focus-visible{outline:.2em solid var(--accent);z-index:32}body:focus-visible,html:focus-visible,iframe:focus-visible{outline:0}:target{outline:.2em solid var(--fg);z-index:32}details>summary:first-of-type{display:list-item}[aria-busy=true]{cursor:progress}[aria-disabled=true],[disabled]{cursor:not-allowed}:root{--gray-0: #f8fafb;--gray-1: #f2f4f6;--gray-2: #ebedef;--gray-3: #e0e4e5;--gray-4: #d1d6d8;--gray-5: #b1b6b9;--gray-6: #979b9d;--gray-7: #7e8282;--gray-8: #666968;--gray-9: #50514f;--gray-10: #3a3a37;--gray-11: #252521;--gray-12: #121210;--red-0: #fff5f5;--red-1: #ffe3e3;--red-2: #ffc9c9;--red-3: #ffa8a8;--red-4: #ff8787;--red-5: #ff6b6b;--red-6: #fa5252;--red-7: #f03e3e;--red-8: #e03131;--red-9: #c92a2a;--red-10: #b02525;--red-11: #962020;--red-12: #7d1a1a;--pink-0: #fff0f6;--pink-1: #ffdeeb;--pink-2: #fcc2d7;--pink-3: #faa2c1;--pink-4: #f783ac;--pink-5: #f06595;--pink-6: #e64980;--pink-7: #d6336c;--pink-8: #c2255c;--pink-9: #a61e4d;--pink-10: #8c1941;--pink-11: #731536;--pink-12: #59102a;--purple-0: #f8f0fc;--purple-1: #f3d9fa;--purple-2: #eebefa;--purple-3: #e599f7;--purple-4: #da77f2;--purple-5: #cc5de8;--purple-6: #be4bdb;--purple-7: #ae3ec9;--purple-8: #9c36b5;--purple-9: #862e9c;--purple-10: #702682;--purple-11: #5a1e69;--purple-12: #44174f;--violet-0: #f3f0ff;--violet-1: #e5dbff;--violet-2: #d0bfff;--violet-3: #b197fc;--violet-4: #9775fa;--violet-5: #845ef7;--violet-6: #7950f2;--violet-7: #7048e8;--violet-8: #6741d9;--violet-9: #5f3dc4;--violet-10: #5235ab;--violet-11: #462d91;--violet-12: #3a2578;--indigo-0: #edf2ff;--indigo-1: #dbe4ff;--indigo-2: #bac8ff;--indigo-3: #91a7ff;--indigo-4: #748ffc;--indigo-5: #5c7cfa;--indigo-6: #4c6ef5;--indigo-7: #4263eb;--indigo-8: #3b5bdb;--indigo-9: #364fc7;--indigo-10: #2f44ad;--indigo-11: #283a94;--indigo-12: #21307a;--blue-0: #e7f5ff;--blue-1: #d0ebff;--blue-2: #a5d8ff;--blue-3: #74c0fc;--blue-4: #4dabf7;--blue-5: #339af0;--blue-6: #228be6;--blue-7: #1c7ed6;--blue-8: #1971c2;--blue-9: #1864ab;--blue-10: #145591;--blue-11: #114678;--blue-12: #0d375e;--cyan-0: #e3fafc;--cyan-1: #c5f6fa;--cyan-2: #99e9f2;--cyan-3: #66d9e8;--cyan-4: #3bc9db;--cyan-5: #22b8cf;--cyan-6: #15aabf;--cyan-7: #1098ad;--cyan-8: #0c8599;--cyan-9: #0b7285;--cyan-10: #095c6b;--cyan-11: #074652;--cyan-12: #053038;--teal-0: #e6fcf5;--teal-1: #c3fae8;--teal-2: #96f2d7;--teal-3: #63e6be;--teal-4: #38d9a9;--teal-5: #20c997;--teal-6: #12b886;--teal-7: #0ca678;--teal-8: #099268;--teal-9: #087f5b;--teal-10: #066649;--teal-11: #054d37;--teal-12: #033325;--green-0: #ebfbee;--green-1: #d3f9d8;--green-2: #b2f2bb;--green-3: #8ce99a;--green-4: #69db7c;--green-5: #51cf66;--green-6: #40c057;--green-7: #37b24d;--green-8: #2f9e44;--green-9: #2b8a3e;--green-10: #237032;--green-11: #1b5727;--green-12: #133d1b;--lime-0: #f4fce3;--lime-1: #e9fac8;--lime-2: #d8f5a2;--lime-3: #c0eb75;--lime-4: #a9e34b;--lime-5: #94d82d;--lime-6: #82c91e;--lime-7: #74b816;--lime-8: #66a80f;--lime-9: #5c940d;--lime-10: #4c7a0b;--lime-11: #3c6109;--lime-12: #2c4706;--yellow-0: #fff9db;--yellow-1: #fff3bf;--yellow-2: #ffec99;--yellow-3: #ffe066;--yellow-4: #ffd43b;--yellow-5: #fcc419;--yellow-6: #fab005;--yellow-7: #f59f00;--yellow-8: #f08c00;--yellow-9: #e67700;--yellow-10: #b35c00;--yellow-11: #804200;--yellow-12: #663500;--orange-0: #fff4e6;--orange-1: #ffe8cc;--orange-2: #ffd8a8;--orange-3: #ffc078;--orange-4: #ffa94d;--orange-5: #ff922b;--orange-6: #fd7e14;--orange-7: #f76707;--orange-8: #e8590c;--orange-9: #d9480f;--orange-10: #bf400d;--orange-11: #99330b;--orange-12: #802b09;--choco-0: #fff8dc;--choco-1: #fce1bc;--choco-2: #f7ca9e;--choco-3: #f1b280;--choco-4: #e99b62;--choco-5: #df8545;--choco-6: #d46e25;--choco-7: #bd5f1b;--choco-8: #a45117;--choco-9: #8a4513;--choco-10: #703a13;--choco-11: #572f12;--choco-12: #3d210d;--brown-0: #faf4eb;--brown-1: #ede0d1;--brown-2: #e0cab7;--brown-3: #d3b79e;--brown-4: #c5a285;--brown-5: #b78f6d;--brown-6: #a87c56;--brown-7: #956b47;--brown-8: #825b3a;--brown-9: #6f4b2d;--brown-10:#5e3a21;--brown-11:#4e2b15;--brown-12: #422412;--sand-0: #f8fafb;--sand-1: #e6e4dc;--sand-2: #d5cfbd;--sand-3: #c2b9a0;--sand-4: #aea58c;--sand-5: #9a9178;--sand-6: #867c65;--sand-7: #736a53;--sand-8: #5f5746;--sand-9: #4b4639;--sand-10:#38352d;--sand-11:#252521;--sand-12: #121210;--camo-0: #f9fbe7;--camo-1: #e8ed9c;--camo-2: #d2df4e;--camo-3: #c2ce34;--camo-4: #b5bb2e;--camo-5: #a7a827;--camo-6: #999621;--camo-7: #8c851c;--camo-8: #7e7416;--camo-9: #6d6414;--camo-10: #5d5411;--camo-11: #4d460e;--camo-12: #36300a;--jungle-0: #ecfeb0;--jungle-1: #def39a;--jungle-2: #d0e884;--jungle-3: #c2dd6e;--jungle-4: #b5d15b;--jungle-5: #a8c648;--jungle-6: #9bbb36;--jungle-7: #8fb024;--jungle-8: #84a513;--jungle-9: #7a9908;--jungle-10: #658006;--jungle-11: #516605;--jungle-12: #3d4d04}.box,.sidebar,[role=menu],[role=tabpanel],aside,details,dialog,figure{margin:var(--gap) 0;padding:var(--gap);overflow:clip;border-radius:var(--border-radius);background:var(--box-bg);border:1px solid var(--faded-fg)}.titlebar{margin-inline:calc(0px - var(--gap));margin-block-end:calc(0px - var(--gap));padding-inline:var(--gap);font:inherit;font-weight:700;translate:0 calc(-1px - var(--gap));background:var(--accent);color:var(--bg)}.breadcrumbs[aria-label],.titlebar{font-family:var(--secondary-font)}.breadcrumbs[aria-label] ol,.breadcrumbs[aria-label] ul{list-style:none;padding-inline-start:0}.breadcrumbs[aria-label] li{display:inline}:is(.breadcrumbs[aria-label] li)+li::before{content:' / ';display:inline}.breadcrumbs[aria-label] [aria-current=page],dt{font-weight:700}.chip,chip{font-family:var(--secondary-font);border:1px solid var(--accent);background:var(--box-bg);border-radius:calc(var(--rhythm)/2);padding-inline:calc(var(--rhythm)/2)}[role=menu]{position:absolute;padding:calc(var(--gap)/2) 0;margin:1px 0 0;display:flex;flex-flow:column nowrap}[role=menuitem]{padding:0 calc(var(--gap)/2);display:block;text-decoration:none;color:var(--fg)}[role=menuitem]:focus{background:var(--accent);color:var(--bg)}.navbar{margin:0 0 var(--gap);padding:var(--rhythm);font-family:var(--secondary-font);background:var(--box-bg);border-block-end:1px solid var(--accent);overflow-x:auto;scrollbar-width:thin;display:flex;flex-flow:row;justify-content:center;gap:calc(2*var(--rhythm))}.navbar *{margin-block:0}.navbar nav ul[role=list]{padding-inline-start:0;display:flex;flex-flow:row;gap:var(--rhythm)}.navbar *,.navbar nav ul[role=list] *{flex-shrink:0}.navbar a,.sidebar a{font-weight:700;text-decoration:none}.navbar a:focus,.navbar a:hover{text-decoration:underline}.navbar [aria-current=page]{background:var(--accent);color:var(--box-bg);border-radius:var(--border-radius);outline:.2em solid var(--accent)}.permalink-anchor{display:none}:hover>.permalink-anchor{display:initial}.sidebar{font-family:var(--secondary-font);border-block:none;border-inline-start:none;border-radius:0;margin:0;font-size:.8em;--rhythm: 1em
-}.sidebar li{padding:calc(.5*var(--gap));margin-inline:calc(-.5*var(--gap));border-radius:var(--border-radius)}.sub-title,sub-title{display:block;font-weight:400;color:var(--muted-fg)}[role=tablist]{display:flex;gap:.5ch;scrollbar-width:thin}[role=tab][role=tab]{all:initial;font-family:var(--secondary-font);padding:0 calc(var(--rhythm)/4);margin:0;min-height:var(--rhythm);border:solid var(--faded-fg);border-width:1px 1px 0;border-block-end-color:transparent;background:var(--interactive-bg);border-start-start-radius:.4em;border-start-end-radius:.4em}[role=tab][role=tab]:active,[role=tab][role=tab][aria-selected=true]{transform:none;bottom:-1px;position:relative;background:var(--box-bg);border-block-end:1px solid var(--box-bg)}[role=tab][role=tab]:hover{background-color:var(--box-bg)}[role=tab][role=tab]:focus{background-color:var(--box-bg);border-color:var(--accent);outline:1px solid var(--accent)}[role=tabpanel]{margin-block-start:0;border-start-start-radius:0;border-start-end-radius:0;z-index:1}.tool-bar{display:flex;flex-flow:row wrap;gap:calc(var(--gap)/2)}.tool-bar>*{margin:0}.plain{--box-bg: var(--plain-bg);--accent: var(--plain-fg);--faded-fg: var(--plain-faded-fg)}.info{--box-bg: var(--info-bg);--accent: var(--info-fg);--faded-fg: var(--info-faded-fg)}.ok{--box-bg: var(--ok-bg);--accent: var(--ok-fg);--faded-fg: var(--ok-faded-fg)}.warn{--box-bg: var(--warn-bg);--accent: var(--warn-fg);--faded-fg: var(--warn-faded-fg)}.bad{--box-bg: var(--bad-bg);--accent: var(--bad-fg);--faded-fg: var(--bad-faded-fg)}.color{color:var(--accent)}.bg{background:var(--box-bg)}.border{border-style:solid;border-color:var(--faded-fg)}.airy{--density: 3}.dense{--density: 1}.crowded{--density: .5}.packed,address{--density: 0}.autodensity{--density: 1
-}@media (min-width:768px){.autodensity{--density: 2
-}}@media (min-width:1024px){.autodensity{--density: 3
-}}.f-row{display:flex;flex-direction:row;gap:var(--gap);--col-width: 30ch
-}:where(.f-row > *){margin:0;flex-basis:var(--col-width)}.f-col{display:flex;flex-direction:column;gap:var(--gap)}.f-col>*,body{margin:0}.f-switch{display:flex;flex-wrap:wrap;gap:var(--gap);--f-switch-threshold: 55ch
-}.f-switch>*{margin:0;flex-grow:1;flex-basis:calc((var(--f-switch-threshold) - 100%)*999)}.justify-content\:start{justify-content:start}.justify-content\:end{justify-content:end}.justify-content\:baseline{justify-content:baseline}.justify-content\:center{justify-content:center}.justify-content\:stretch{justify-content:stretch}.align-items\:start{align-items:start}.align-items\:end{align-items:end}.align-items\:baseline{align-items:baseline}.align-items\:center{align-items:center}.align-items\:stretch{align-items:stretch}.align-self\:start{align-self:start}.align-self\:end{align-self:end}.align-self\:baseline{align-self:baseline}.align-self\:center{align-self:center}.align-self\:stretch{align-self:stretch}.flex-grow\:0{flex-grow:0}.flex-grow\:1{flex-grow:1}.flex-grow\:2{flex-grow:2}.flex-grow\:3{flex-grow:3}.flex-grow\:4{flex-grow:4}.flex-grow\:5{flex-grow:5}.flex-grow\:6{flex-grow:6}.flex-grow\:7{flex-grow:7}.flex-grow\:8{flex-grow:8}.flex-grow\:9{flex-grow:9}.flex-grow\:10{flex-grow:10}.flex-grow\:11{flex-grow:11}.flex-grow\:12{flex-grow:12}.flex-wrap\:wrap{flex-wrap:wrap}.flex-wrap\:nowrap{flex-wrap:nowrap}.vh,v-h{clip:rect(0 0 0 0);-webkit-clip-path:inset(50%);clip-path:inset(50%);block-size:1px;inline-size:1px;overflow:hidden;white-space:nowrap}.all\:initial{all:initial}.textcolumns{--col-width: 30ch;column-width:var(--col-width);column-gap:var(--gap);margin-block:var(--gap)}.textcolumns :first-child{margin-block-start:0!important}.text-align\:center{text-align:center}.center{display:grid;place-items:center}.container{max-inline-size:var(--eff-line-length);margin-inline:auto}.fullbleed{position:relative;width:100vw;left:50%;transform:translateX(-50vw);border-radius:0;border-inline:none}.width\:100\%{width:100%}:first-child:first-child:first-child{margin-block-start:0}:last-child:last-child:last-child{margin-block-end:0}.padding{padding-inline:var(--gap)}.padding-block{padding-block:var(--gap)}.padding-inline{padding-inline:var(--gap)}.margin{margin:var(--gap)}.margin-block,dl,p{margin-block:var(--gap)}.margin-inline{margin-inline:var(--gap)}.flow-gap>:not(:last-child){margin-bottom:1em}.inline{display:inline}.block,input{display:block}.contents{display:contents}.table{display:table;width:100%;margin:0}.row,.rows>*{display:table-row}.row:not(:last-child):not([specificity-hack])>*,.rows>:not(:last-child):not([specificity-hack])>*{margin-bottom:var(--gap)}.row>:not([specificity-hack]),.rows>*>:not([specificity-hack]){display:table-cell;vertical-align:top}.row>*+:not([specificity-hack]),:is(.rows > *)>*+:not([specificity-hack]){margin-inline-start:var(--gap);display:inline-block}.fixed{position:fixed}.sticky{position:sticky}.top{top:0}.right{right:0}.bottom{bottom:0}.left{left:0}.float\:left{float:left}.float\:right{float:right}.overflow\:auto{overflow:auto}.overflow\:scroll{overflow:scroll}.allcaps{text-transform:uppercase;letter-spacing:.1rem}.monospace,code,kbd,samp{font-family:var(--mono-font)}audio,embed,iframe,img,object,video{max-inline-size:100%;inline-size:max-content;block-size:auto}label input:not([specificity-hack]){display:inline;padding-block:0}.\<button\>,button,input::file-selector-button,input[type=button],input[type=reset],input[type=submit]{display:inline-block;padding:0 calc(var(--rhythm)/4);vertical-align:top;font-size:.8rem;line-height:1.125em;font-family:var(--secondary-font);min-height:var(--rhythm);background:var(--interactive-bg);border:1px solid var(--muted-fg);box-sizing:border-box;border-radius:var(--border-radius);color:var(--fg);text-decoration:none;display:inline-flex;place-items:center}:is(button,input[type="submit"],input[type="reset"],input[type="button"],input::file-selector-button,.\<button\>):focus-visible,:is(button,input[type="submit"],input[type="reset"],input[type="button"],input::file-selector-button,.\<button\>):hover{filter:brightness(1.1);text-decoration:none}:is(button,input[type="submit"],input[type="reset"],input[type="button"],input::file-selector-button,.\<button\>):active{filter:brightness(.8)}[aria-expanded=true]:is(button,input[type="submit"],input[type="reset"],input[type="button"],input::file-selector-button,.\<button\>),[aria-pressed=true]:is(button,input[type="submit"],input[type="reset"],input[type="button"],input::file-selector-button,.\<button\>){box-shadow:0 .05em var(--accent);transform:translateY(.05em);background:var(--pressed-interactive-bg)}[disabled]:is(button,input[type="submit"],input[type="reset"],input[type="button"],input::file-selector-button,.\<button\>){color:var(--muted-fg)}strong>:is(button,input[type="submit"],input[type="reset"],input[type="button"],input::file-selector-button,.\<button\>){background:var(--accent);color:var(--bg);border:0;font-weight:700}strong>[disabled]:is(button,input[type="submit"],input[type="reset"],input[type="button"],input::file-selector-button,.\<button\>){color:var(--muted-accent)}input:not([type]),input[type=date],input[type=datetime-local],input[type=datetime],input[type=email],input[type=month],input[type=number],input[type=password],input[type=search],input[type=tel],input[type=text],input[type=time],input[type=url],input[type=week],select,textarea{padding:calc(var(--rhythm)/4);font-size:1rem;line-height:inherit;font-family:var(--main-font);background:var(--bg);color:var(--fg);border:1px solid var(--faded-fg);border-radius:var(--border-radius);vertical-align:top}:is(input:not([type]),input[type="text"],input[type="search"],input[type="tel"],input[type="url"],input[type="email"],input[type="password"],input[type="date"],input[type="month"],input[type="week"],input[type="time"],input[type="datetime"],input[type="datetime-local"],input[type="number"],select,textarea):focus-visible{border:1px solid var(--accent)}:is(input:not([type]),input[type="text"],input[type="search"],input[type="tel"],input[type="url"],input[type="email"],input[type="password"],input[type="date"],input[type="month"],input[type="week"],input[type="time"],input[type="datetime"],input[type="datetime-local"],input[type="number"],select,textarea)::placeholder{color:var(--muted-fg);opacity:1;text-align:end}input[type=range]{width:100%;padding:calc(var(--gap)/4)}input[type=color]{padding:0;margin:0;height:calc(1.5*var(--rhythm));border:0;background:0 0}input[type=file]{padding:calc(var(--gap)/4) 0;font:inherit;line-height:calc(var(--rhythm)/2)}input[type=file]::file-selector-button{margin-block:.1em 0;margin-inline-end:1ch}select[multiple],td,th{vertical-align:top}optgroup::before{color:var(--muted-fg)}label[for]{display:block;padding-block:calc(var(--gap)/4)}fieldset>legend+*{margin-block-start:0}hr{color:inherit;margin-inline:0;margin-block:var(--gap);flex:0 1 0px;border-inline-start:1px solid var(--accent);block-size:auto;border-block-start:1px solid var(--accent);border-block-end:none;border-inline-end:none}blockquote,pre{line-height:var(--rhythm)}pre{font-family:var(--mono-font);-o-tab-size:2;tab-size:2;margin:var(--gap) 0;overflow-x:auto;scrollbar-width:thin;scrollbar-color:var(--accent) transparent;font-size:.9em}blockquote{margin-inline:0 var(--gap);padding-inline:var(--gap) 0;margin-block:var(--gap);font-size:1.1em;font-style:italic;border-inline-start:1px solid var(--faded-fg);color:var(--muted-fg)}blockquote address,blockquote cite,blockquote dfn,blockquote em,blockquote i,blockquote var,optgroup::before,q address,q cite,q dfn,q em,q i,q var{font-style:normal}blockquote footer{text-align:right;text-align:end}ol,ul{padding-inline-start:var(--rhythm)}ol ol,ol ul,ul ol,ul ul{padding-inline-start:var(--gap)}ol[role=list],ul[role=list]{padding-inline-start:0;list-style:none}ol{list-style:decimal}dd{margin-inline-start:var(--rhythm)}li::marker{font-family:var(--secondary-font)}figure{max-width:100%;margin-inline:0}figcaption{margin-block:var(--gap);font-family:var(--secondary-font);color:var(--muted-fg)}main{max-inline-size:var(--eff-line-length);margin:auto}main:first-child{padding-top:var(--gap)}a{color:var(--link-fg, var(--accent));font-family:var(--secondary-font)}.list-of-links a{text-decoration:none}a:hover{text-decoration:underline}span>small:only-child{display:block;float:inline-end;clear:inline-end;--sidenote-width: 20ch;max-inline-size:var(--sidenote-width);padding-inline:1.5ch 1ch;margin-inline-end:calc(1em - var(--sidenote-width));margin-block-end:var(--rhythm);font-family:var(--secondary-font);background:var(--bg);border:1px solid transparent;transition:transform .1s ease-in-out}span>small:only-child:focus-within,span>small:only-child:hover{border:1px solid var(--faded-fg);border-radius:var(--border-radius);transform:translateX(calc(0px - var(--sidenote-width) + min(var(--gutter-width),var(--sidenote-width))))}del,s{color:var(--bad-fg)}q{font-style:italic}time{font-variant-numeric:tabular-nums}ins,samp{color:var(--ok-fg)}kbd kbd{display:inline-block;padding:0 .3em;font-size:.8em;line-height:1.1em;background:var(--interactive-bg);border:1px outset var(--faded-fg);border-block-end-width:3px;border-radius:var(--border-radius)}sub,sup{vertical-align:bottom;line-height:1}sup{vertical-align:top}mark{background:var(--warn-bg);color:var(--warn-fg)}ins{background:var(--ok-bg)}del{background:var(--bad-bg)}details{padding-block-start:0}details:not([open]){padding-block-end:0}summary{margin:calc(0px - var(--gap));margin-bottom:0;padding-inline:var(--gap);font-family:var(--secondary-font);font-weight:700;background:var(--accent);color:var(--bg);cursor:pointer}summary:active,summary:focus-visible{filter:brightness(.8)}details[open] summary{border-block-end:1px solid var(--accent);border-end-end-radius:0;border-end-start-radius:0}dialog{position:absolute;inline-inset:0;block-size:-moz-fit-content;block-size:fit-content;inline-size:-moz-fit-content;inline-size:fit-content;margin:auto!important;background-color:var(--bg);color:var(--fg);border-color:var(--accent)}dialog[open]::backdrop{display:block;background:#000;opacity:.4;animation:bg 2s}dialog:not([open]){display:none}html{font-family:var(--main-font);line-height:var(--rhythm);background:var(--bg);color:var(--fg)}footer,header,section+section{margin-block:calc(2*var(--gap))}nav a{text-decoration:none;color:var(--accent)}aside h1,aside h2,aside h3,aside h4,aside h5,aside h6{font-size:1em;text-transform:none;letter-spacing:none}.\<h1\>,.\<h2\>,.\<h3\>,.\<h4\>,.\<h5\>,.\<h6\>,h1,h2,h3,h4,h5,h6{margin-block-end:var(--gap);font-family:var(--secondary-font);margin-block-start:calc(2*var(--gap))}.\<h1\>,.\<h2\>,h1,h2{font-size:2em;text-transform:none;line-height:calc(2*var(--rhythm));letter-spacing:0}.\<h2\>,h2{font-size:1.6em;line-height:calc(1.5*var(--rhythm))}.\<h3\>,.\<h4\>,.\<h5\>,.\<h6\>,h3,h4,h5,h6{font-size:1.17em;line-height:calc(1*var(--rhythm))}.\<h4\>,.\<h5\>,.\<h6\>,h4,h5,h6{font-size:1em;text-transform:none;letter-spacing:0;margin-block-start:var(--gap)}h1+h2,h1:first-child,h2+h3,h2:first-child,h3+h4,h3:first-child,h4+h5,h4:first-child,h5+h6,h5:first-child,h6:first-child{margin-block-start:var(--gap)}h1:target,h2:target,h3:target,h4:target,h5:target,h6:target{outline:0}h1:target::before,h2:target::before,h3:target::before,h4:target::before,h5:target::before,h6:target::before{content:'❧';display:inline-block;width:0;transform:translateX(-1.5ch);font-size:2em;vertical-align:bottom;color:var(--accent)}header{border-block-end:1px solid var(--faded-fg)}caption,footer,header{font-family:var(--secondary-font)}footer{border-block-start:1px solid var(--faded-fg)}body>footer,body>header,main+footer{padding:var(--rhythm) calc((100% - var(--eff-line-length))/2)}caption{text-align:start;font-style:italic}tbody{border-block:1px solid var(--fg)}td:not(:last-child),th:not(:last-child){padding-inline-end:var(--rhythm)}th{font-family:var(--secondary-font);text-align:start}:root{--fg: var(--gray-12);--muted-fg: var(--gray-10);--faded-fg: var(--plain-faded-fg);--plain-fg: var(--blue-10);--info-fg: var(--blue-11);--ok-fg: var(--green-11);--bad-fg: var(--red-11);--warn-fg: var(--yellow-11);--plain-faded-fg: var(--gray-6);--info-faded-fg: var(--blue-6);--ok-faded-fg: var(--green-6);--bad-faded-fg: var(--red-6);--warn-faded-fg: var(--yellow-6);--bg: var(--gray-0);--box-bg: var(--plain-bg);--interactive-bg: var(--gray-3);--plain-bg: var(--gray-1);--info-bg: var(--blue-1);--ok-bg: var(--green-1);--bad-bg: var(--red-1);--warn-bg: var(--yellow-1);--accent: var(--blue-10);--muted-accent: var(--blue-7);--rhythm: 1.4rem;--line-length: 40rem;--border-radius: .2rem;--main-font: 'Source Sans 3', 'Source Sans Pro', -apple-system, system-ui, sans-serif;--secondary-font: var(--main-font);--mono-font: 'M Plus Code Latin', monospace, monospace;--density: 1;--full-width: 100vw;--eff-line-length: /* Effective line length for prose. */
- min(
- calc( var(--full-width) - (2 * var(--rhythm)) ),
- var(--line-length)
- );--gutter-width: /* Width of spaces at each side of page content. */
- calc(
- (
- var(--full-width) /* Viewport width */
- - var(--eff-line-length) /* minus line width */
- ) / 2)}@media (prefers-color-scheme:dark){:root:not(.-no-dark-theme){--fg: var(--gray-0);--muted-fg: var(--gray-2);--faded-fg: var(--gray-7);--info-bg: var(--blue-12);--ok-bg: var(--green-12);--bad-bg: var(--red-12);--warn-bg: var(--yellow-12);--bg: var(--gray-12);--box-bg: var(--gray-10);--interactive-bg: var(--gray-8);--info-fg: var(--blue-3);--ok-fg: var(--green-3);--bad-fg: var(--red-3);--warn-fg: var(--yellow-3);--accent: var(--blue-3);--muted-accent: var(--blue-5)}}*{--gap: calc(var(--rhythm) * var(--density));accent-color:var(--accent)} \ No newline at end of file
diff --git a/www/releases/_artifacts/v0.3.1/missing.min.css.br b/www/releases/_artifacts/v0.3.1/missing.min.css.br
deleted file mode 100644
index 3023045..0000000
--- a/www/releases/_artifacts/v0.3.1/missing.min.css.br
+++ /dev/null
Binary files differ
diff --git a/www/releases/_artifacts/v0.3.1/missing.min.css.gz b/www/releases/_artifacts/v0.3.1/missing.min.css.gz
deleted file mode 100644
index 5b1ec2e..0000000
--- a/www/releases/_artifacts/v0.3.1/missing.min.css.gz
+++ /dev/null
Binary files differ
diff --git a/www/releases/_artifacts/v1.0.0-prerelease.0/missing-prism.css b/www/releases/_artifacts/v1.0.0-prerelease.0/missing-prism.css
deleted file mode 100644
index 23e48b5..0000000
--- a/www/releases/_artifacts/v1.0.0-prerelease.0/missing-prism.css
+++ /dev/null
@@ -1,62 +0,0 @@
-
-.token.comment,
-.token.prolog,
-.token.doctype,
-.token.cdata,
-.token.punctuation {
- color: var(--muted-fg);
-}
-
-.token.property,
-.token.tag,
-.token.boolean,
-.token.number,
-.token.constant,
-.token.symbol,
-.token.deleted {
- color: var(--bad-fg);
-}
-
-.token.selector,
-.token.attr-name,
-.token.string,
-.token.char,
-.token.builtin,
-.token.inserted {
- color: var(--ok-fg);
-}
-
-.token.operator,
-.token.entity,
-.token.url,
-.language-css .token.string,
-.style .token.string,
-.token.regex,
-.token.important,
-.token.variable {
- color: var(--warn-fg)
-}
-
-.token.atrule,
-.token.attr-value,
-.token.keyword {
- color: var(--info-fg);
-}
-
-.token.function {
- color: var(--bad-fg);
- font-style: italic;
-}
-
-.token.important,
-.token.bold {
- font-weight: bold;
-}
-
-.token.italic {
- font-style: italic;
-}
-
-.token.entity {
- cursor: help;
-}
diff --git a/www/releases/_artifacts/v1.0.0-prerelease.0/missing-prism.min.css b/www/releases/_artifacts/v1.0.0-prerelease.0/missing-prism.min.css
deleted file mode 100644
index 41c91b1..0000000
--- a/www/releases/_artifacts/v1.0.0-prerelease.0/missing-prism.min.css
+++ /dev/null
@@ -1 +0,0 @@
-.token.cdata,.token.comment,.token.doctype,.token.prolog,.token.punctuation{color:var(--muted-fg)}.token.boolean,.token.constant,.token.deleted,.token.number,.token.property,.token.symbol,.token.tag{color:var(--bad-fg)}.token.attr-name,.token.builtin,.token.char,.token.inserted,.token.selector,.token.string{color:var(--ok-fg)}.language-css .token.string,.style .token.string,.token.entity,.token.important,.token.operator,.token.regex,.token.url,.token.variable{color:var(--warn-fg)}.token.atrule,.token.attr-value,.token.keyword{color:var(--info-fg)}.token.function{color:var(--bad-fg);font-style:italic}.token.bold,.token.important{font-weight:700}.token.italic{font-style:italic}.token.entity{cursor:help} \ No newline at end of file
diff --git a/www/releases/_artifacts/v1.0.0-prerelease.0/missing-prism.min.css.br b/www/releases/_artifacts/v1.0.0-prerelease.0/missing-prism.min.css.br
deleted file mode 100644
index 2a4ac49..0000000
--- a/www/releases/_artifacts/v1.0.0-prerelease.0/missing-prism.min.css.br
+++ /dev/null
Binary files differ
diff --git a/www/releases/_artifacts/v1.0.0-prerelease.0/missing-prism.min.css.gz b/www/releases/_artifacts/v1.0.0-prerelease.0/missing-prism.min.css.gz
deleted file mode 100644
index e834bd4..0000000
--- a/www/releases/_artifacts/v1.0.0-prerelease.0/missing-prism.min.css.gz
+++ /dev/null
Binary files differ
diff --git a/www/releases/_artifacts/v1.0.0-prerelease.0/missing.css b/www/releases/_artifacts/v1.0.0-prerelease.0/missing.css
deleted file mode 100644
index 19461c4..0000000
--- a/www/releases/_artifacts/v1.0.0-prerelease.0/missing.css
+++ /dev/null
@@ -1,2222 +0,0 @@
-/* Document
- * ========================================================================== */
-
-/**
- * 1. Add border box sizing in all browsers (opinionated).
- * 2. Backgrounds do not repeat by default (opinionated).
- */
-
-*,
-::before,
-::after {
- box-sizing: border-box; /* 1 */
- background-repeat: no-repeat; /* 2 */
-}
-
-/**
- * 1. Add text decoration inheritance in all browsers (opinionated).
- * 2. Add vertical alignment inheritance in all browsers (opinionated).
- */
-
-::before,
-::after {
- text-decoration: inherit; /* 1 */
- vertical-align: inherit; /* 2 */
-}
-
-/**
- * 1. Use the default cursor in all browsers (opinionated).
- * 3. Breaks words to prevent overflow in all browsers (opinionated).
- * 5. Remove the grey highlight on links in iOS (opinionated).
- * 6. Prevent adjustments of font size after orientation changes in iOS.
- */
-
-:root {
- cursor: default; /* 1 */
- overflow-wrap: break-word; /* 3 */
- -webkit-tap-highlight-color: transparent; /* 5 */
- text-size-adjust: none;
- -webkit-text-size-adjust: none;
-}
-
-/* Text-level semantics
- * ========================================================================== */
-
-/**
- * Add the correct text decoration in Safari.
- */
-
-abbr[title] {
- text-decoration: underline;
- -webkit-text-decoration: underline dotted;
- text-decoration: underline dotted;
-}
-
-/**
- * Add the correct font weight in Chrome, Edge, and Safari.
- */
-
-strong, b {
- font-weight: bolder;
-}
-
-/**
- * Add the correct font size in all browsers.
- */
-
-small {
- font-size: 80%;
-}
-
-/* Embedded content
- * ========================================================================== */
-
-/*
- * Change the alignment on media elements in all browsers (opinionated).
- */
-
-audio, canvas, iframe, img, svg, video {
- vertical-align: middle;
-}
-
-/**
- * Change the fill color to match the text color in all browsers (opinionated).
- */
-
-svg:not([fill]) {
- fill: currentColor;
-}
-
-/* Tabular data
- * ========================================================================== */
-
-/**
- * 1. Collapse border spacing in all browsers (opinionated).
- * 2. Correct table border color in Chrome, Edge, and Safari.
- * 3. Remove text indentation from table contents in Chrome, Edge, and Safari.
- */
-
-table {
- border-collapse: collapse; /* 1 */
- border-color: currentColor; /* 2 */
- text-indent: 0; /* 3 */
-}
-
-/* Forms
- * ========================================================================== */
-
-/**
- * Remove the margin on controls in Safari.
- */
-
-button, input, select {
- margin: 0;
-}
-
-/**
- * Correct the inability to style buttons in iOS and Safari.
- */
-
-button, [type="button"], [type="reset"], [type="submit"] {
- -webkit-appearance: button;
-}
-
-/**
- * Change the inconsistent appearance in all browsers (opinionated).
- */
-
-fieldset {
- border: 1px solid #a0a0a0;
-}
-
-/**
- * Add the correct vertical alignment in Chrome, Edge, and Firefox.
- */
-
-progress {
- vertical-align: baseline;
-}
-
-/**
- * 1. Remove the margin in Firefox and Safari.
- */
-
-textarea {
- margin: 0; /* 1 */
-}
-
-/**
- * 1. Correct the odd appearance in Chrome, Edge, and Safari.
- * 2. Correct the outline style in Safari.
- */
-
-[type="search"] {
- -webkit-appearance: textfield; /* 1 */
- outline-offset: -2px; /* 2 */
-}
-
-/**
- * Correct the cursor style of increment and decrement buttons in Safari.
- */
-
-::-webkit-inner-spin-button,
-::-webkit-outer-spin-button {
- block-size: auto;
-}
-
-/**
- * Correct the text style of placeholders in Chrome, Edge, and Safari.
- */
-
-::-webkit-input-placeholder {
- color: inherit;
- opacity: 0.54;
-}
-
-/**
- * Remove the inner padding in Chrome, Edge, and Safari on macOS.
- */
-
-::-webkit-search-decoration {
- -webkit-appearance: none;
-}
-
-/**
- * 1. Correct the inability to style upload buttons in iOS and Safari.
- * 2. Change font properties to `inherit` in Safari.
- */
-
-::-webkit-file-upload-button {
- -webkit-appearance: button; /* 1 */
- font: inherit; /* 2 */
-}
-
-/* Interactive
- * ========================================================================== */
-
-[hidden] {
- display: none !important;
-}
-
-:focus-visible {
- outline: .2em solid var(--accent);
- z-index: 32;
-}
-
-iframe:focus-visible,
- html:focus-visible,
- body:focus-visible {
- outline: none;
- }
-
-:target {
- outline: .2em solid var(--fg);
- z-index: 2;
-}
-
-/*
- * Add the correct display in Safari.
- */
-
-details > summary:first-of-type {
- display: list-item;
-}
-
-/* Accessibility
- * ========================================================================== */
-
-/**
- * Change the cursor on busy elements in all browsers (opinionated).
- */
-
-[aria-busy="true"] {
- cursor: progress;
-}
-
-/*
- * Change the cursor on disabled, not-editable, or otherwise
- * inoperable elements in all browsers (opinionated).
- */
-
-[aria-disabled="true"], [disabled] {
- cursor: not-allowed;
-}
-
-datalist {
- display: none !important;
-}
-
-/* https://github.com/fchristant/colar/ */
-
-:root {
- --gray-0: #f8fafb;
- --gray-1: #f2f4f6;
- --gray-2: #ebedef;
- --gray-3: #e0e4e5;
- --gray-4: #d1d6d8;
- --gray-5: #b1b6b9;
- --gray-6: #979b9d;
- --gray-7: #7e8282;
- --gray-8: #666968;
- --gray-9: #50514f;
- --gray-10: #3a3a37;
- --gray-11: #252521;
- --gray-12: #121210;
-
- --red-0: #fff5f5;
- --red-1: #ffe3e3;
- --red-2: #ffc9c9;
- --red-3: #ffa8a8;
- --red-4: #ff8787;
- --red-5: #ff6b6b;
- --red-6: #fa5252;
- --red-7: #f03e3e;
- --red-8: #e03131;
- --red-9: #c92a2a;
- --red-10: #b02525;
- --red-11: #962020;
- --red-12: #7d1a1a;
-
- --pink-0: #fff0f6;
- --pink-1: #ffdeeb;
- --pink-2: #fcc2d7;
- --pink-3: #faa2c1;
- --pink-4: #f783ac;
- --pink-5: #f06595;
- --pink-6: #e64980;
- --pink-7: #d6336c;
- --pink-8: #c2255c;
- --pink-9: #a61e4d;
- --pink-10: #8c1941;
- --pink-11: #731536;
- --pink-12: #59102a;
-
- --purple-0: #f8f0fc;
- --purple-1: #f3d9fa;
- --purple-2: #eebefa;
- --purple-3: #e599f7;
- --purple-4: #da77f2;
- --purple-5: #cc5de8;
- --purple-6: #be4bdb;
- --purple-7: #ae3ec9;
- --purple-8: #9c36b5;
- --purple-9: #862e9c;
- --purple-10: #702682;
- --purple-11: #5a1e69;
- --purple-12: #44174f;
-
- --violet-0: #f3f0ff;
- --violet-1: #e5dbff;
- --violet-2: #d0bfff;
- --violet-3: #b197fc;
- --violet-4: #9775fa;
- --violet-5: #845ef7;
- --violet-6: #7950f2;
- --violet-7: #7048e8;
- --violet-8: #6741d9;
- --violet-9: #5f3dc4;
- --violet-10: #5235ab;
- --violet-11: #462d91;
- --violet-12: #3a2578;
-
- --indigo-0: #edf2ff;
- --indigo-1: #dbe4ff;
- --indigo-2: #bac8ff;
- --indigo-3: #91a7ff;
- --indigo-4: #748ffc;
- --indigo-5: #5c7cfa;
- --indigo-6: #4c6ef5;
- --indigo-7: #4263eb;
- --indigo-8: #3b5bdb;
- --indigo-9: #364fc7;
- --indigo-10: #2f44ad;
- --indigo-11: #283a94;
- --indigo-12: #21307a;
-
- --blue-0: #e7f5ff;
- --blue-1: #d0ebff;
- --blue-2: #a5d8ff;
- --blue-3: #74c0fc;
- --blue-4: #4dabf7;
- --blue-5: #339af0;
- --blue-6: #228be6;
- --blue-7: #1c7ed6;
- --blue-8: #1971c2;
- --blue-9: #1864ab;
- --blue-10: #145591;
- --blue-11: #114678;
- --blue-12: #0d375e;
-
- --cyan-0: #e3fafc;
- --cyan-1: #c5f6fa;
- --cyan-2: #99e9f2;
- --cyan-3: #66d9e8;
- --cyan-4: #3bc9db;
- --cyan-5: #22b8cf;
- --cyan-6: #15aabf;
- --cyan-7: #1098ad;
- --cyan-8: #0c8599;
- --cyan-9: #0b7285;
- --cyan-10: #095c6b;
- --cyan-11: #074652;
- --cyan-12: #053038;
-
- --teal-0: #e6fcf5;
- --teal-1: #c3fae8;
- --teal-2: #96f2d7;
- --teal-3: #63e6be;
- --teal-4: #38d9a9;
- --teal-5: #20c997;
- --teal-6: #12b886;
- --teal-7: #0ca678;
- --teal-8: #099268;
- --teal-9: #087f5b;
- --teal-10: #066649;
- --teal-11: #054d37;
- --teal-12: #033325;
-
- --green-0: #ebfbee;
- --green-1: #d3f9d8;
- --green-2: #b2f2bb;
- --green-3: #8ce99a;
- --green-4: #69db7c;
- --green-5: #51cf66;
- --green-6: #40c057;
- --green-7: #37b24d;
- --green-8: #2f9e44;
- --green-9: #2b8a3e;
- --green-10: #237032;
- --green-11: #1b5727;
- --green-12: #133d1b;
-
- --lime-0: #f4fce3;
- --lime-1: #e9fac8;
- --lime-2: #d8f5a2;
- --lime-3: #c0eb75;
- --lime-4: #a9e34b;
- --lime-5: #94d82d;
- --lime-6: #82c91e;
- --lime-7: #74b816;
- --lime-8: #66a80f;
- --lime-9: #5c940d;
- --lime-10: #4c7a0b;
- --lime-11: #3c6109;
- --lime-12: #2c4706;
-
- --yellow-0: #fff9db;
- --yellow-1: #fff3bf;
- --yellow-2: #ffec99;
- --yellow-3: #ffe066;
- --yellow-4: #ffd43b;
- --yellow-5: #fcc419;
- --yellow-6: #fab005;
- --yellow-7: #f59f00;
- --yellow-8: #f08c00;
- --yellow-9: #e67700;
- --yellow-10: #b35c00;
- --yellow-11: #804200;
- --yellow-12: #663500;
-
- --orange-0: #fff4e6;
- --orange-1: #ffe8cc;
- --orange-2: #ffd8a8;
- --orange-3: #ffc078;
- --orange-4: #ffa94d;
- --orange-5: #ff922b;
- --orange-6: #fd7e14;
- --orange-7: #f76707;
- --orange-8: #e8590c;
- --orange-9: #d9480f;
- --orange-10: #bf400d;
- --orange-11: #99330b;
- --orange-12: #802b09;
-
- --choco-0: #fff8dc;
- --choco-1: #fce1bc;
- --choco-2: #f7ca9e;
- --choco-3: #f1b280;
- --choco-4: #e99b62;
- --choco-5: #df8545;
- --choco-6: #d46e25;
- --choco-7: #bd5f1b;
- --choco-8: #a45117;
- --choco-9: #8a4513;
- --choco-10: #703a13;
- --choco-11: #572f12;
- --choco-12: #3d210d;
-
- --brown-0: #faf4eb;
- --brown-1: #ede0d1;
- --brown-2: #e0cab7;
- --brown-3: #d3b79e;
- --brown-4: #c5a285;
- --brown-5: #b78f6d;
- --brown-6: #a87c56;
- --brown-7: #956b47;
- --brown-8: #825b3a;
- --brown-9: #6f4b2d;
- --brown-10:#5e3a21;
- --brown-11:#4e2b15;
- --brown-12: #422412;
-
- --sand-0: #f8fafb;
- --sand-1: #e6e4dc;
- --sand-2: #d5cfbd;
- --sand-3: #c2b9a0;
- --sand-4: #aea58c;
- --sand-5: #9a9178;
- --sand-6: #867c65;
- --sand-7: #736a53;
- --sand-8: #5f5746;
- --sand-9: #4b4639;
- --sand-10:#38352d;
- --sand-11:#252521;
- --sand-12: #121210;
-
- --camo-0: #f9fbe7;
- --camo-1: #e8ed9c;
- --camo-2: #d2df4e;
- --camo-3: #c2ce34;
- --camo-4: #b5bb2e;
- --camo-5: #a7a827;
- --camo-6: #999621;
- --camo-7: #8c851c;
- --camo-8: #7e7416;
- --camo-9: #6d6414;
- --camo-10: #5d5411;
- --camo-11: #4d460e;
- --camo-12: #36300a;
-
- --jungle-0: #ecfeb0;
- --jungle-1: #def39a;
- --jungle-2: #d0e884;
- --jungle-3: #c2dd6e;
- --jungle-4: #b5d15b;
- --jungle-5: #a8c648;
- --jungle-6: #9bbb36;
- --jungle-7: #8fb024;
- --jungle-8: #84a513;
- --jungle-9: #7a9908;
- --jungle-10: #658006;
- --jungle-11: #516605;
- --jungle-12: #3d4d04;
-}
-
-/***
- 4.1 The document element
- https://html.spec.whatwg.org/multipage/semantics.html#the-root-element
-
- 4.3 Sections
- https://html.spec.whatwg.org/multipage/sections.html
- ***/
-
-html {
- font-family: var(--main-font);
- line-height: var(--rhythm);
-
- background: var(--bg);
- color: var(--fg);
- scroll-padding-block-start: calc(4 * var(--gap));
-}
-
-body {
- margin: 0;
-}
-
-header, footer, section + section {
- margin-block: calc(2 * var(--gap));
-}
-
-nav a {
- text-decoration: none;
- color: var(--accent);
- }
-
-/* SEE components/box.css */
-
-aside h1,
- aside h2,
- aside h3,
- aside h4,
- aside h5,
- aside h6 {
- font-size: 1em;
- text-transform: none;
- letter-spacing: none;
- }
-
-h1, h2, h3, h4, h5, h6,
-.\<h1\>, .\<h2\>, .\<h3\>, .\<h4\>, .\<h5\>, .\<h6\> {
- margin-block-end: var(--gap);
- font-family: var(--secondary-font);
- font-size: 1em;
- margin-block-start: calc(2 * var(--gap));
- position: relative;
-}
-
-h1, .\<h1\> {
- font-size: 2em;
- text-transform: none;
- line-height: calc(2 * var(--rhythm));
- letter-spacing: 0;
-}
-
-h2, .\<h2\> {
- font-size: 1.6em;
- text-transform: none;
- line-height: calc(1.5 * var(--rhythm));
- letter-spacing: 0;
-}
-
-h3, .\<h3\> {
- font-size: 1.17em;
- line-height: calc(1 * var(--rhythm));
-}
-
-h4, .\<h4\>, h5, .\<h5\>, h6, .\<h6\> {
- font-size: 1em;
- text-transform: none;
- line-height: calc(1 * var(--rhythm));
- letter-spacing: 0;
- margin-block-start: var(--gap);
-}
-
-h1 + h2,
-h2 + h3,
-h3 + h4,
-h4 + h5,
-h5 + h6,
-h1:first-child,
-h2:first-child,
-h3:first-child,
-h4:first-child,
-h5:first-child,
-h6:first-child {
- margin-block-start: var(--gap);
-}
-
-h1:target,
-h2:target,
-h3:target,
-h4:target,
-h5:target,
-h6:target {
- outline: none
-}
-
-h1:target::before, h2:target::before, h3:target::before, h4:target::before, h5:target::before, h6:target::before {
- content: "";
- display: block;
- position: absolute;
- left: -.5em;
- width: 4px;
- height: 100%;
- background: var(--accent);
- }
-
-header {
- font-family: var(--secondary-font);
- border-block-end: 1px solid var(--faded-fg);
-}
-
-footer {
- font-family: var(--secondary-font);
- border-block-start: 1px solid var(--faded-fg);
-}
-
-body > header,
-body > footer,
-main + footer {
- padding: var(--rhythm) calc((100% - var(--eff-line-length)) / 2)
-}
-
-address {
- --density: 0;
-}
-
-/***
- 4.4 Grouping content
- https://html.spec.whatwg.org/multipage/grouping-content.html
- ***/
-
-p {
- margin-block: var(--gap);
-}
-
-hr {
- color: inherit;
- margin-inline: 0;
- margin-block: var(--gap);
-
- flex: 0 1 0px;
- border-inline-start: 1px solid var(--accent);
- block-size: auto;
- border-block-start: 1px solid var(--accent);
- border-block-end: none;
- border-inline-end: none;
-}
-
-pre {
- font-family: var(--mono-font);
- font-size: .9em;
- line-height: var(--rhythm);
- -o-tab-size: 2;
- tab-size: 2;
-
- margin: var(--gap) 0;
-
- overflow-x: auto;
- scrollbar-width: thin;
- scrollbar-color: var(--accent) transparent;
-}
-
-blockquote {
- margin-inline: 0 var(--gap);
- padding-inline: var(--gap) 0;
- margin-block: var(--gap);
-
- font-size: 1.1em;
- line-height: var(--rhythm);
- font-style: italic;
-
- border-inline-start: 1px solid var(--faded-fg);
- color: var(--muted-fg)
-}
-
-blockquote em, blockquote cite, blockquote dfn, blockquote var, blockquote i, blockquote address {
- font-style: normal;
- }
-
-blockquote footer {
- text-align: right;
- text-align: end;
- }
-
-ul, ol {
- padding-inline-start: var(--rhythm)
-}
-
-ul ul, ul ol, ol ul, ol ol {
- padding-inline-start: var(--gap);
- }
-
-ul[role="list"], ol[role="list"] {
- padding-inline-start: 0;
- list-style: none;
- }
-
-ul {
-}
-
-ol {
- list-style: decimal;
-}
-
-dl {
- margin-block: var(--gap);
-}
-
-dt {
- font-weight: bold;
- }
-
-dd {
- margin-inline-start: var(--rhythm);
- }
-
-li::marker {
- font-family: var(--secondary-font);
-}
-
-figure {
- max-width: 100%;
- margin-inline: 0;
-
- /* SEE components/box.css */
-}
-
-figcaption {
- margin-block: var(--gap);
-
- font-family: var(--secondary-font);
-
- color: var(--muted-fg);
-}
-
-main {
- max-inline-size: var(--eff-line-length);
- margin: auto
-}
-
-main:first-child { padding-top: var(--gap); }
-
-/***
- 4.5 Text-level semantics
- https://html.spec.whatwg.org/multipage/text-level-semantics.html
-
- 4.7 Edits
- https://html.spec.whatwg.org/multipage/edits.html
- ***/
-
-/* Text-level semantics */
-
-a {
- color: var(--link-fg, var(--accent));
- font-family: var(--secondary-font);
- border-radius: var(--border-radius);
- outline-offset: 1px
-}
-
-.list-of-links a {
- text-decoration: none
-}
-
-a:hover, a:focus {
- text-decoration: none;
- outline: 1px solid;
- transition: outline-offset .1s ease-in-out;
- }
-
-a:active {
- outline-offset: 0;
- }
-
-span > small:only-child {
- /***
- Sidenote
- ***/
- display: block;
- float: inline-end;
- clear: inline-end;
-
- --sidenote-width: 20ch;
-
- max-inline-size: var(--sidenote-width);
- padding-inline: 1.5ch 1ch;
-
- margin-inline-end: calc(1em - var(--sidenote-width));
- margin-block-end: var(--rhythm);
-
- font-family: var(--secondary-font);
-
- background: var(--bg);
- border: 1px solid transparent;
-
- transition: transform .1s ease-in-out
-}
-
-span > small:only-child:hover, span > small:only-child:focus-within {
- border: 1px solid var(--faded-fg);
- border-radius: var(--border-radius);
- transform: translateX(calc(
- 0px - var(--sidenote-width)
- + min(var(--gutter-width), var(--sidenote-width))
- ))
- }
-
-s {
- color: var(--bad-fg);
-}
-
-q {
- font-style: italic
-}
-
-q em, q cite, q dfn, q var, q i, q address {
- font-style: normal;
- }
-
-time {
- font-variant-numeric: tabular-nums;
-}
-
-code, samp, kbd {
- font-family: var(--mono-font);
-}
-
-samp {
- color: var(--ok-fg);
-}
-
-kbd kbd /*
- We apply the key-like styling to a nested kbd element, a pattern shown in
- WHATWG HTML for marking up keyboard input:
-
- > Here the kbd element is used to indicate keys to press:
- > ~~~ html
- > <p>To make George eat an apple, press <kbd><kbd>Shift</kbd> + <kbd>F3</kbd></kbd></p>
- > ~~~
-
- The plain kbd element can also be used for clicking menus (<kbd>File |
- New...</kbd>) or voice input (<kbd>Hey Siri, </kbd>)
-*/ {
- display: inline-block;
-
- padding: 0 .3em;
- font-size: .8em;
- line-height: 1.1em;
-
- background: var(--interactive-bg);
- border: 1px outset var(--faded-fg);
- border-block-end-width: 3px;
- border-radius: var(--border-radius);
-}
-
-sub {
- vertical-align: bottom;
- line-height: 1;
-}
-
-sup {
- vertical-align: top;
- line-height: 1;
-}
-
-mark {
- background: var(--warn-bg);
- color: var(--warn-fg);
-}
-
-/* Edits */
-
-ins {
- background: var(--ok-bg);
- color: var(--ok-fg);
-}
-
-del {
- background: var(--bad-bg);
- color: var(--bad-fg);
-}
-
-/***
- 4.8 Embedded content
- https://html.spec.whatwg.org/multipage/embedded-content.html
- ***/
-
-img, video, audio, iframe, object, embed {
- max-inline-size: 100%;
- inline-size: max-content;
- block-size: auto;
-}
-
-/***
- 4.9 Tabular data
- https://html.spec.whatwg.org/multipage/tables.html
- ***/
-
-table {
- font-variant-numeric: tabular-nums;
- font: inherit;
-}
-
-caption {
- text-align: start;
- font-family: var(--secondary-font);
- font-style: italic;
-}
-
-tbody {
- border-block: 1px solid var(--fg);
-}
-
-thead {
-}
-
-tfoot {
-}
-
-tr {
-
-}
-
-td, th {
- vertical-align: top
-}
-
-td:not(:last-child), th:not(:last-child) {
- padding-inline-end: var(--rhythm);
- }
-
-td {
- }
-
-th {
- font-family: var(--secondary-font);
- text-align: start;
- }
-
-/***
- 4.10 Forms
- https://html.spec.whatwg.org/multipage/forms.html
- ***/
-
-input { display: block; }
-
-label input:not([specificity-hack]) { display: inline; padding-block: 0; }
-
-button,
-input[type="submit"],
-input[type="reset"],
-input[type="button"],
-input::file-selector-button,
-.\<button\> {
- display: inline-block;
- padding: 0 calc(var(--rhythm) / 4);
- vertical-align: top;
-
- font-size: .8rem;
- line-height: 1.125em;
- font-family: var(--secondary-font);
- min-height: var(--rhythm);
-
- background: var(--interactive-bg);
- color: var(--fg);
- border: 1px solid var(--muted-fg);
- box-sizing: border-box;
- border-radius: var(--border-radius);
-
- /* a-specific resets */
- color: var(--fg);
- text-decoration: none;
- display: inline-flex;
- place-items: center
-}
-
-:is(button,input[type="submit"],input[type="reset"],input[type="button"],input::file-selector-button,.\<button\>):hover, :is(button,input[type="submit"],input[type="reset"],input[type="button"],input::file-selector-button,.\<button\>):focus-visible {
- filter: brightness(1.1);
-
- /* a-specific resets */
- text-decoration: none;
- }
-
-:is(button,input[type="submit"],input[type="reset"],input[type="button"],input::file-selector-button,.\<button\>):active {
- filter: brightness(.8);
- }
-
-[aria-pressed="true"]:is(button,input[type="submit"],input[type="reset"],input[type="button"],input::file-selector-button,.\<button\>), [aria-expanded="true"]:is(button,input[type="submit"],input[type="reset"],input[type="button"],input::file-selector-button,.\<button\>) {
- box-shadow: 0 .05em var(--accent);
- transform: translateY(.05em);
- background: var(--pressed-interactive-bg);
- }
-
-[disabled]:is(button,input[type="submit"],input[type="reset"],input[type="button"],input::file-selector-button,.\<button\>) {
- color: var(--muted-fg);
- }
-
-strong > :is(button,input[type="submit"],input[type="reset"],input[type="button"],input::file-selector-button,.\<button\>) {
- background: var(--accent);
- color: var(--bg);
- border: none;
- font-weight: bold
-}
-
-strong > [disabled]:is(button,input[type="submit"],input[type="reset"],input[type="button"],input::file-selector-button,.\<button\>) {
- color: var(--muted-accent);
- }
-
-input:not([type]),
-input[type="text"],
-input[type="search"],
-input[type="tel"],
-input[type="url"],
-input[type="email"],
-input[type="password"],
-input[type="date"],
-input[type="month"],
-input[type="week"],
-input[type="time"],
-input[type="datetime"],
-input[type="datetime-local"],
-input[type="number"],
-select,
-textarea {
- padding: calc(var(--rhythm) / 4);
- vertical-align: top;
-
- font-size: 1rem;
- line-height: inherit;
- font-family: var(--main-font);
-
- background: var(--bg);
- color: var(--fg);
- border: 1px solid var(--faded-fg);
- border-radius: var(--border-radius);
-
- vertical-align: top
-}
-
-:is(input:not([type]),input[type="text"],input[type="search"],input[type="tel"],input[type="url"],input[type="email"],input[type="password"],input[type="date"],input[type="month"],input[type="week"],input[type="time"],input[type="datetime"],input[type="datetime-local"],input[type="number"],select,textarea):focus-visible {
- border: 1px solid var(--accent);
- }
-
-:is(input:not([type]),input[type="text"],input[type="search"],input[type="tel"],input[type="url"],input[type="email"],input[type="password"],input[type="date"],input[type="month"],input[type="week"],input[type="time"],input[type="datetime"],input[type="datetime-local"],input[type="number"],select,textarea)::placeholder {
- color: var(--muted-fg);
- opacity: 1;
- text-align: end;
- }
-
-input[type="range"] {
- width: 100%;
- padding: calc(var(--gap) / 4);
-}
-
-input[type="color"] {
- padding: 0;
- margin: 0;
- height: calc(1.5 * var(--rhythm));
-
- border: none;
- background: none;
-}
-
-input[type="file"] {
- padding: calc(var(--gap) / 4) 0;
- font: inherit;
- line-height: calc(var(--rhythm) / 2)
-}
-
-input[type="file"]::file-selector-button {
- margin-block: .1em 0;
- margin-inline-end: 1ch;
- }
-
-select[multiple] {
- vertical-align: top;
-}
-
-optgroup::before {
- color: var(--muted-fg);
- font-style: normal;
-}
-
-progress {
- /* TODO */
-}
-
-meter {
- /* TODO */
-}
-
-label[for] {
- display: block;
- padding-block: calc(var(--gap) / 4);
-}
-
-fieldset {
- position: relative;
-
- padding: var(--gap);
- margin: var(--gap) 0;
- width: 100%;
- border-radius: var(--border-radius);
-}
-
-fieldset > legend + * { margin-block-start: 0 }
-
-fieldset {
-
- border: 1px solid var(--faded-fg);
-}
-
-/***
- 4.11 Interactive elements
- https://html.spec.whatwg.org/multipage/interactive-elements.html#interactive-elements
- ***/
-
-details {
- /* SEE components/box.css */
-
- padding-block-start: 0
-}
-
-details:not([open]) { padding-block-end: 0; }
-
-summary {
- margin: calc(0px - var(--gap));
- margin-top: calc(0px - var(--gap));
- margin-bottom: 0;
- padding-inline: var(--gap);
-
- font-family: var(--secondary-font);
- font-weight: bold;
-
- background: var(--accent);
- color: var(--bg);
-
- cursor: pointer
-}
-
-summary:focus-visible, summary:active {
- filter: brightness(.8);
- }
-
-details[open] summary {
- border-block-end: 1px solid var(--accent);
- border-end-end-radius: 0;
- border-end-start-radius: 0
-}
-
-dialog {
- /* SEE components/box.css */
-
- position: absolute;
- inline-inset: 0;
-
- block-size: -moz-fit-content;
-
- block-size: fit-content;
- inline-size: -moz-fit-content;
- inline-size: fit-content;
-
- margin: auto !important;
-
- background-color: var(--bg);
- color: var(--fg);
- border-color: var(--accent);
-}
-
-dialog[open]::backdrop {
- display: block;
- background: black;
- opacity: .4;
- animation: bg 2s;
-}
-
-@keyframes bg {
- from { background: transparent; }
-}
-
-dialog:not([open]) {
- display: none;
-}
-
-.box,
-/* defined elsewhere */
-[role=menu],
-.sidebar-layout > header,
-[role=tabpanel],
-figure,
-details,
-dialog,
-aside {
- margin: var(--gap) 0;
- padding: var(--gap);
- overflow: clip;
-
- border-radius: var(--border-radius);
- background: var(--box-bg);
- border: 1px solid var(--faded-fg);
-}
-
-.titlebar {
- margin-inline: calc(0px - var(--gap));
- margin-block-end: calc(0px - var(--gap));
- padding-inline: var(--gap);
-
- font: inherit;
- font-family: var(--secondary-font);
- font-weight: bold;
-
- translate: 0 calc(-1px - var(--gap));
-
- background: var(--accent);
- color: var(--bg);
-}
-
-.sub-title, sub-title {
- /***
- Meant for use in headings. Make sure to also use visually-hidden punctuation
- to mark the subtitle as shown below:
-
- 1 | <h1>
- 2 | Foo Bar<v-h>:</v-h>
- 3 | <sub-title>How I Learned To Stop Worrying and Love Baz</sub-title>
- 4 | </h1>
-
- 1 | <h1>
- 2 | <sub-title class="-allcaps">Breaking News</sub-title><v-h>:</v-h>
- 3 | Bad Thing Happens
- 4 | <h1>
- ***/
-
- display: block;
-
- font-weight: normal;
-
- color: var(--muted-fg);
-}
-
-.tool-bar, [role=toolbar] {
- display: flex;
- flex-flow: row wrap;
- gap: calc(var(--gap) / 2)
-}
-
-.tool-bar > *, [role=toolbar] > * { margin: 0; }
-
-.sidebar-layout header li {
- margin-block: calc(.5 * var(--gap));
- }
-
-.sidebar-layout header a {
- font-weight: bold;
- }
-
-@media (min-width: 75ch) {
-
-.sidebar-layout {
- display: grid;
- grid-template-columns: 25ch 1fr;
- inset: 0
-}
-
- .sidebar-layout > header {
- border-block: none;
- border-inline-start: none;
- margin: 0;
- }
-
- .sidebar-layout > :nth-child(2) {
- overflow: scroll;
- --full-width: calc(100vw - 25ch);
- }
- }
-
-.breadcrumbs[aria-label] {
- font-family: var(--secondary-font)
-}
-
-.breadcrumbs[aria-label] ul, .breadcrumbs[aria-label] ol {
- list-style: none;
- padding-inline-start: 0;
- }
-
-.breadcrumbs[aria-label] li {
- display: inline
- }
-
-:is(.breadcrumbs[aria-label] li)+li::before {
- content: ' / ' / '';
- content: ' / ';
- display: inline;
- }
-
-.breadcrumbs[aria-label] [aria-current="page"] {
- font-weight: bold;
- }
-
-.chip, chip {
- font-family: var(--secondary-font);
- border: 1px solid var(--accent);
- background: var(--box-bg);
- border-radius: calc(var(--rhythm) / 2);
- padding-inline: calc(var(--rhythm) / 2);
-}
-
-.navbar {
- padding: var(--rhythm);
-
- font-family: var(--secondary-font);
-
- background: var(--box-bg);
- border-block-end: 1px solid var(--accent);
-
- overflow-x: auto;
- scrollbar-width: thin;
-
- position: sticky;
- z-index: 5;
- top: 0;
- left: 0;
- right: 0;
-
- /* Inner layout */
- display: flex;
- flex-flow: row;
- align-items: center;
- gap: var(--gap)
-}
-
-.navbar.expanded {
- flex-flow: column;
- align-items: start;
-
- max-height: 90vh;
- overflow-y: auto
- }
-
-.navbar.expanded ul[role="list"] { flex-flow: column; }
-
-.navbar * {
- flex-shrink: 0;
- margin-block: 0;
- }
-
-.navbar:not(.expanded) > :first-child, .navbar:not(.expanded) nav > :first-child { margin-inline-start: auto; }
-
-.navbar:not(.expanded) > :last-child, .navbar:not(.expanded) nav > :last-child { margin-inline-end: auto; }
-
-.navbar hr { align-self: stretch; }
-
-.navbar nav ul[role="list"] {
- display: flex;
- flex-flow: row;
- gap: var(--rhythm)
- }
-
-.navbar nav ul[role="list"] * { flex-shrink: 0 }
-
-.navbar nav ul[role="list"] {
- padding-inline-start: 0;
- }
-
-.navbar a {
- font-weight: bold;
- text-decoration: none;
- padding-inline: .2em;
- }
-
-.navbar a:hover, .navbar a:focus {
- text-decoration: underline;
- }
-
-.navbar [aria-current=page] {
- position: relative;
- }
-
-.navbar [aria-current=page]::after {
- width: 100%;
- height: 6px;
- content: "";
- display: block;
- position: absolute;
- bottom: calc(-1 * var(--gap));
- background: currentcolor;
- }
-
-.navbar.expanded [aria-current=page]::after {
- width: 6px;
- height: 100%;
- position: absolute;
- left: calc(-1 * var(--gap));
- top: 0;
- }
-
-.permalink-anchor {
- display: none
-}
-
-*:hover > .permalink-anchor {
- display: initial
-}
-
-button.iconbutton {
- border: none;
- background: none;
- color: currentcolor;
- padding: 0;
- line-height: var(--rhythm);
- font-size: 24px;
- width: 24px;
- height: 24px;
- display: inline-block;
- text-align: center;
- border-radius: 50%;
- transition: font-weight .2s ease-in-out
-}
-
-button.iconbutton:hover, button.iconbutton:focus-visible {
- outline: 1px solid var(--accent);
- outline-offset: 6px;
- }
-
-button.iconbutton:active {
- outline-offset: 3px;
- background: none;
- }
-
-button.iconbutton[aria-pressed=true] {
- box-shadow: none;
- transform: none;
- }
-
-[role="tablist"] {
- display: flex;
- gap: .5ch;
- scrollbar-width: thin;
-}
-
-[role="tab"][role="tab"] {
- all: initial;
-
- font-family: var(--secondary-font);
-
- padding: 0 calc(var(--rhythm) / 4);
- margin: 0;
- min-height: var(--rhythm);
-
- color: var(--fg);
- border: solid var(--faded-fg);
- border-width: 1px 1px 0 1px;
- border-block-end-color: transparent;
- background: var(--interactive-bg);
-
- border-start-start-radius: .4em;
- border-start-end-radius: .4em
-}
-
-[role="tab"][role="tab"]:active, [role="tab"][role="tab"][aria-selected="true"] {
- transform: none;
- bottom: -1px;
- position: relative;
- background: var(--box-bg);
- border-block-end: 1px solid var(--box-bg);
- }
-
-[role="tab"][role="tab"]:hover {
- background-color: var(--box-bg);
- }
-
-[role="tab"][role="tab"]:focus {
- background-color: var(--box-bg);
- border-color: var(--accent);
- outline: 1px solid var(--accent);
- }
-
-[role="tabpanel"] {
- /* SEE components/box.css */
-
- margin-block-start: 0;
- border-start-start-radius: 0;
- border-start-end-radius: 0;
- z-index: 1;
-}
-
-[role="menu"] {
- /* SEE components/box.css */
- position: absolute;
-
- z-index: 10;
-
- padding: calc(var(--gap) / 2) 0;
- margin: 1px 0 0 0;
-
- display: flex;
- flex-flow: column nowrap;
-}
-
-[role=menuitem] {
- padding: 0 calc(var(--gap) / 2);
-
- display: block;
-
- text-decoration: none;
- border-radius: 0;
-
- color: var(--fg)
-}
-
-[role=menuitem]:focus {
- background: var(--accent);
- color: var(--bg);
- }
-
-[role=listbox] {
- list-style: none
-}
-
-ul[role=listbox] {
- padding-inline-start: 0
-}
-
-[role=listbox] [role=option] {
- margin-inline: calc(-1 * var(--gap));
- padding-inline: var(--gap);
- }
-
-[role=listbox] [role=option][aria-selected=true] {
- background: var(--interactive-bg);
- }
-
-[role=listbox] .active[role=option] {
- --temporary-bg: var(--accent);
- --temporary-fg: var(--bg);
- --temporary-accent: parent-var(--muted-accent);
- --temporary-muted-accent: parent-var(--box-bg);
-
- background: var(--temporary-bg);
- color: var(--temporary-fg)
- }
-
-[role=listbox] .active[role=option] > * {
- --bg: var(--temporary-bg);
- --fg: var(--temporary-fg);
- --accent: var(--temporary-accent);
- --muted-accent: var(--temporary-muted-accent);
- }
-
-[aria-orientation="vertical"] {
- flex-direction: column;
- width: -moz-fit-content;
- width: fit-content;
- text-align: center;
-}
-
-.plain {
- --box-bg: var(--plain-bg);
- --accent: var(--plain-fg);
- --faded-fg: var(--plain-faded-fg);
-}
-
-.info {
- --box-bg: var(--info-bg);
- --accent: var(--info-fg);
- --faded-fg: var(--info-faded-fg);
-}
-
-.ok {
- --box-bg: var(--ok-bg);
- --accent: var(--ok-fg);
- --faded-fg: var(--ok-faded-fg);
-}
-
-.warn {
- --box-bg: var(--warn-bg);
- --accent: var(--warn-fg);
- --faded-fg: var(--warn-faded-fg);
-}
-
-.bad {
- --box-bg: var(--bad-bg);
- --accent: var(--bad-fg);
- --faded-fg: var(--bad-faded-fg);
-}
-
-.color {
- color: var(--accent);
-}
-
-.bg {
- background: var(--box-bg);
-}
-
-.border {
- border-style: solid;
- border-color: var(--faded-fg);
-}
-
-:root {
- /* Colors */
- --fg: var(--gray-12); /* Text. */
- --muted-fg: var(--gray-10); /* De-emphasized or disabled elements' text. Will be
- used with a background of --c-bg and --c-bg-2 -- check contrast! */
- --faded-fg: var(--plain-faded-fg); /* De-emphasized or disabled graphical elements. Will not
- be used as a text color. */
-
- --plain-fg: var(--blue-10);
- --info-fg: var(--blue-11);
- --ok-fg: var(--green-11);
- --bad-fg: var(--red-11);
- --warn-fg: var(--yellow-11);
-
- --plain-faded-fg: var(--gray-6);
- --info-faded-fg: var(--blue-6);
- --ok-faded-fg: var(--green-6);
- --bad-faded-fg: var(--red-6);
- --warn-faded-fg: var(--yellow-6);
-
- --bg: var(--gray-0); /* Page background. */
- --box-bg: var(--plain-bg); /* Background for blocks: cards, admonitions etc. */
- --interactive-bg: var(--gray-4); /* Background for interactive elements */
-
- --plain-bg: var(--gray-1);
- --info-bg: var(--blue-1);
- --ok-bg: var(--green-1);
- --bad-bg: var(--red-1);
- --warn-bg: var(--yellow-1);
-
- --accent: var(--blue-10); /* Accent color. Will be used *as a text color* with a
- background of --c-bg and --c-bg-2 -- check contrast! */
- --muted-accent: var(--blue-7); /* Muted accent color. Will not be used for text. */
-
- /* Lengths */
- --rhythm: 1.4rem; /* Vertical rhythm, line height. */
- --line-length: 40rem; /* Maximum line length for prose. */
- --border-radius: .2rem;
-
- /* Fonts */
- --main-font: 'Source Sans 3', 'Source Sans Pro', -apple-system, system-ui, sans-serif;
- --secondary-font: var(--main-font); /* Headings etc. */
- --mono-font: 'M Plus Code Latin', monospace, monospace; /* monospace twice stops browsers from
- shrinking this */
-
- /* Density */
- --density: 1;
-
- /* Width */
- --full-width: 100vw;
-
- /* Do not set these. */
- --eff-line-length: /* Effective line length for prose. */
- min(
- calc( var(--full-width) - (2 * var(--rhythm)) ),
- var(--line-length)
- );
-
- --gutter-width: /* Width of spaces at each side of page content. */
- calc(
- (
- var(--full-width) /* Viewport width */
- - var(--eff-line-length) /* minus line width */
- ) / 2); /* Divide by 2: there are two page margins */
-}
-
-@media (prefers-color-scheme: dark) {
- :root:not(.-no-dark-theme) {
- --fg: var(--gray-0);
- --muted-fg: var(--gray-2);
- --faded-fg: var(--gray-7);
-
- --plain-bg: var(--gray-11);
- --info-bg: var(--blue-12);
- --ok-bg: var(--green-12);
- --bad-bg: var(--red-12);
- --warn-bg: var(--yellow-12);
-
- --plain-faded-fg: var(--blue-6);
- --info-faded-fg: var(--blue-6);
- --ok-faded-fg: var(--green-6);
- --bad-faded-fg: var(--red-6);
- --warn-faded-fg: var(--yellow-6);
-
- --bg: var(--gray-12);
- --box-bg: var(--gray-10);
- --interactive-bg: var(--gray-8);
-
- --plain-fg: (--blue-3);
- --info-fg: var(--blue-3);
- --ok-fg: var(--green-3);
- --bad-fg: var(--red-3);
- --warn-fg: var(--yellow-3);
-
- --accent: var(--blue-3);
- --muted-accent: var(--blue-5);
- }
-}
-
-* {
- --gap: calc(var(--rhythm) * var(--density));
- accent-color: var(--accent);
-}
-
-.textcolumns {
- --col-width: 30ch;
- column-width: var(--col-width);
- column-gap: var(--gap);
- margin-block: var(--gap)
-}
-
-.textcolumns :first-child { margin-block-start: 0 !important }
-
-.text-align\:center {
- text-align: center;
-}
-
-.center {
- display: grid;
- place-items: center;
-}
-
-/**/
-
-.container {
- max-inline-size: var(--eff-line-length);
- margin-inline: auto;
-}
-
-.fullbleed {
- position: relative;
- width: 100vw;
- left: 50%;
- transform: translateX(-50vw);
-
- border-radius: 0;
- border-inline: none;
-}
-
-.fullscreen {
- height: 100vh;
-
- position: relative;
- width: 100vw;
- left: 50%;
- transform: translateX(-50vw);
-
- border-radius: 0;
- border-inline: none;
-}
-
-.width\:100\% { width:100%; max-width: 100% }
-
-.height\:100\% { height:100%; max-height: 100% }
-
-/**/
-
-/* ugh, specificity hacks */
-
-*:first-child:first-child:first-child { margin-block-start: 0; }
-
-*:last-child:last-child:last-child { margin-block-end: 0; }
-
-.padding { padding-inline: var(--gap) }
-
-.padding-block { padding-block: var(--gap) }
-
-.padding-block-start { padding-block-start: var(--gap) }
-
-.padding-block-end { padding-block-end: var(--gap) }
-
-.padding-inline { padding-inline: var(--gap) }
-
-.padding-inline-start { padding-inline-start: var(--gap) }
-
-.padding-inline-end { padding-inline-start: var(--gap) }
-
-.margin { margin: var(--gap) }
-
-.margin-block { margin-block: var(--gap) }
-
-.margin-block-start { margin-block-start: var(--gap) }
-
-.margin-block-end { margin-block-end: var(--gap) }
-
-.margin-inline { margin-inline: var(--gap) }
-
-.margin-inline-start { margin-inline-start: var(--gap) }
-
-.margin-inline-end { margin-inline-end: var(--gap) }
-
-.flow-gap > :not(:last-child) {
- margin-bottom: 1em;
- }
-
-/**/
-
-.inline { display: inline }
-
-.block { display: block }
-
-.contents { display: contents }
-
-.table {
- display: table;
- width: 100%;
- margin: 0;
-}
-
-.row, .rows > * {
- display: table-row
-}
-
-.row:not(:last-child):not([specificity-hack]) > *, .rows > *:not(:last-child):not([specificity-hack]) > * {
- margin-bottom: var(--gap);
- }
-
-.row > *:not([specificity-hack]), .rows > * > *:not([specificity-hack]) {
- display: table-cell;
- vertical-align: top;
- }
-
-.row > * + *:not([specificity-hack]), :is(.rows > *) > * + *:not([specificity-hack]) {
- margin-inline-start: var(--gap);
- display: inline-block;
- }
-
-/**/
-
-.fixed { position: fixed }
-
-.sticky { position: sticky }
-
-.top { top: 0 }
-
-.right { right: 0 }
-
-.bottom { bottom: 0 }
-
-.left { left: 0 }
-
-.float\:left { float: left }
-
-.float\:right { float: right }
-
-.overflow\:auto { overflow: auto }
-
-.overflow\:scroll { overflow: scroll }
-
-.airy { --density: 3; }
-
-.spacious { --density: 2; }
-
-.dense { --density: 1; }
-
-.crowded { --density: .5; }
-
-.packed { --density: 0; }
-
-.autodensity {
- --density: 1
-}
-
-@media (min-width: 768px) {
-
-.autodensity { --density: 2
-}}
-
-@media (min-width: 1024px) {
-
-.autodensity { --density: 3
-}}
-
-.vh, v-h {
- clip: rect(0 0 0 0);
- -webkit-clip-path: inset(50%);
- clip-path: inset(50%);
- block-size: 1px;
- inline-size: 1px;
- overflow: hidden;
- white-space: nowrap;
-}
-
-.all\:initial {
- all: initial;
-}
-
-.bold { font-weight: bold }
-
-.italic {
- font-style: italic
-}
-
-.italic em, .italic cite, .italic dfn, .italic var, .italic i, .italic address {
- font-style: normal;
- }
-
-.allcaps {
- text-transform: uppercase;
- letter-spacing: .1rem;
-}
-
-.monospace {
- font-family: var(--mono-font);
-}
-
-.f-row {
- display: flex;
- flex-direction: row;
- gap: var(--gap)
-}
-
-.f-row > * { margin: 0 }
-
-.f-col {
- display: flex;
- flex-direction: column;
- gap: var(--gap)
-}
-
-.f-col > * { margin: 0 }
-
-.f-switch {
- display: flex;
- flex-wrap: wrap;
- gap: var(--gap);
- --f-switch-threshold: 55ch
-}
-
-.f-switch > * {
- margin: 0;
-
- flex-grow: 1;
- flex-basis: calc((var(--f-switch-threshold) - 100%) * 999);
- }
-
-.justify-content\:start { justify-content: start }
-
-.justify-content\:end { justify-content: end }
-
-.justify-content\:baseline { justify-content: baseline }
-
-.justify-content\:center { justify-content: center }
-
-.justify-content\:stretch { justify-content: stretch }
-
-.justify-content\:space-between { justify-content: space-between }
-
-.justify-content\:space-around { justify-content: space-around }
-
-.justify-content\:space-evenly { justify-content: space-evenly }
-
-.align-items\:start { align-items: start }
-
-.align-items\:end { align-items: end }
-
-.align-items\:baseline { align-items: baseline }
-
-.align-items\:center { align-items: center }
-
-.align-items\:stretch { align-items: stretch }
-
-.align-self\:start { align-self: start }
-
-.align-self\:end { align-self: end }
-
-.align-self\:baseline { align-self: baseline }
-
-.align-self\:center { align-self: center }
-
-.align-self\:stretch { align-self: stretch }
-
-.flex-grow\:0 { flex-grow: 0 }
-
-.flex-grow\:1 { flex-grow: 1 }
-
-.flex-grow\:2 { flex-grow: 2 }
-
-.flex-grow\:3 { flex-grow: 3 }
-
-.flex-grow\:4 { flex-grow: 4 }
-
-.flex-grow\:5 { flex-grow: 5 }
-
-.flex-grow\:6 { flex-grow: 6 }
-
-.flex-grow\:7 { flex-grow: 7 }
-
-.flex-grow\:8 { flex-grow: 8 }
-
-.flex-grow\:9 { flex-grow: 9 }
-
-.flex-grow\:10 { flex-grow: 10 }
-
-.flex-grow\:11 { flex-grow: 11 }
-
-.flex-grow\:12 { flex-grow: 12 }
-
-.flex-wrap\:wrap { flex-wrap: wrap }
-
-.flex-wrap\:nowrap { flex-wrap: nowrap }
-
-.grid {
- display: grid;
- grid-auto-columns: var(--grid-col-width, 1fr);
- grid-auto-rows: var(--grid-row-width, auto);
- gap: var(--gap)
-}
-
-.grid > * { margin: 0 }
-
-.grid-even-rows { --grid-row-width: 1fr; }
-
-.grid-variable-cols { --grid-column-width: auto; }
-
-[data-cols^="1 " ] { grid-column-start: 1 }
-
-[data-cols$=" 1" ] { grid-column-end: 2 }
-
-[data-cols="1" ] { grid-column: 1 }
-
-[data-cols^="2 " ] { grid-column-start: 2 }
-
-[data-cols$=" 2" ] { grid-column-end: 3 }
-
-[data-cols="2" ] { grid-column: 2 }
-
-[data-cols^="3 " ] { grid-column-start: 3 }
-
-[data-cols$=" 3" ] { grid-column-end: 4 }
-
-[data-cols="3" ] { grid-column: 3 }
-
-[data-cols^="4 " ] { grid-column-start: 4 }
-
-[data-cols$=" 4" ] { grid-column-end: 5 }
-
-[data-cols="4" ] { grid-column: 4 }
-
-[data-cols^="5 " ] { grid-column-start: 5 }
-
-[data-cols$=" 5" ] { grid-column-end: 6 }
-
-[data-cols="5" ] { grid-column: 5 }
-
-[data-cols^="6 " ] { grid-column-start: 6 }
-
-[data-cols$=" 6" ] { grid-column-end: 7 }
-
-[data-cols="6" ] { grid-column: 6 }
-
-[data-cols^="7 " ] { grid-column-start: 7 }
-
-[data-cols$=" 7" ] { grid-column-end: 8 }
-
-[data-cols="7" ] { grid-column: 7 }
-
-[data-cols^="8 " ] { grid-column-start: 8 }
-
-[data-cols$=" 8" ] { grid-column-end: 9 }
-
-[data-cols="8" ] { grid-column: 8 }
-
-[data-cols^="9 " ] { grid-column-start: 9 }
-
-[data-cols$=" 9" ] { grid-column-end: 10 }
-
-[data-cols="9" ] { grid-column: 9 }
-
-[data-cols^="10 "] { grid-column-start: 10 }
-
-[data-cols$=" 10"] { grid-column-end: 11 }
-
-[data-cols="10"] { grid-column: 10 }
-
-[data-cols^="11 "] { grid-column-start: 11 }
-
-[data-cols$=" 11"] { grid-column-end: 12 }
-
-[data-cols="11"] { grid-column: 11 }
-
-[data-cols^="12 "] { grid-column-start: 12 }
-
-[data-cols$=" 12"] { grid-column-end: 13 }
-
-[data-cols="12"] { grid-column: 12 }
-
-[data-rows^="1 " ] { grid-row-start: 1 }
-
-[data-rows$=" 1" ] { grid-row-end: 2 }
-
-[data-rows="1" ] { grid-row: 1 }
-
-[data-rows^="2 " ] { grid-row-start: 2 }
-
-[data-rows$=" 2" ] { grid-row-end: 3 }
-
-[data-rows="2" ] { grid-row: 2 }
-
-[data-rows^="3 " ] { grid-row-start: 3 }
-
-[data-rows$=" 3" ] { grid-row-end: 4 }
-
-[data-rows="3" ] { grid-row: 3 }
-
-[data-rows^="4 " ] { grid-row-start: 4 }
-
-[data-rows$=" 4" ] { grid-row-end: 5 }
-
-[data-rows="4" ] { grid-row: 4 }
-
-[data-rows^="5 " ] { grid-row-start: 5 }
-
-[data-rows$=" 5" ] { grid-row-end: 6 }
-
-[data-rows="5" ] { grid-row: 5 }
-
-[data-rows^="6 " ] { grid-row-start: 6 }
-
-[data-rows$=" 6" ] { grid-row-end: 7 }
-
-[data-rows="6" ] { grid-row: 6 }
-
-[data-rows^="7 " ] { grid-row-start: 7 }
-
-[data-rows$=" 7" ] { grid-row-end: 8 }
-
-[data-rows="7" ] { grid-row: 7 }
-
-[data-rows^="8 " ] { grid-row-start: 8 }
-
-[data-rows$=" 8" ] { grid-row-end: 9 }
-
-[data-rows="8" ] { grid-row: 8 }
-
-[data-rows^="9 " ] { grid-row-start: 9 }
-
-[data-rows$=" 9" ] { grid-row-end: 10 }
-
-[data-rows="9" ] { grid-row: 9 }
-
-[data-rows^="10 "] { grid-row-start: 10 }
-
-[data-rows$=" 10"] { grid-row-end: 11 }
-
-[data-rows="10"] { grid-row: 10 }
-
-[data-rows^="11 "] { grid-row-start: 11 }
-
-[data-rows$=" 11"] { grid-row-end: 12 }
-
-[data-rows="11"] { grid-row: 11 }
-
-[data-rows^="12 "] { grid-row-start: 12 }
-
-[data-rows$=" 12"] { grid-row-end: 13 }
-
-[data-rows="12"] { grid-row: 12 }
-
-@media (max-width: 768px) {
- [data-cols\@s^="1 " ] { grid-column-start: 1 } [data-cols\@s$=" 1" ] { grid-column-end: 2 } [data-cols\@s="1" ] { grid-column: 1 }
- [data-cols\@s^="2 " ] { grid-column-start: 2 } [data-cols\@s$=" 2" ] { grid-column-end: 3 } [data-cols\@s="2" ] { grid-column: 2 }
- [data-cols\@s^="3 " ] { grid-column-start: 3 } [data-cols\@s$=" 3" ] { grid-column-end: 4 } [data-cols\@s="3" ] { grid-column: 3 }
- [data-cols\@s^="4 " ] { grid-column-start: 4 } [data-cols\@s$=" 4" ] { grid-column-end: 5 } [data-cols\@s="4" ] { grid-column: 4 }
- [data-cols\@s^="5 " ] { grid-column-start: 5 } [data-cols\@s$=" 5" ] { grid-column-end: 6 } [data-cols\@s="5" ] { grid-column: 5 }
- [data-cols\@s^="6 " ] { grid-column-start: 6 } [data-cols\@s$=" 6" ] { grid-column-end: 7 } [data-cols\@s="6" ] { grid-column: 6 }
- [data-cols\@s^="7 " ] { grid-column-start: 7 } [data-cols\@s$=" 7" ] { grid-column-end: 8 } [data-cols\@s="7" ] { grid-column: 7 }
- [data-cols\@s^="8 " ] { grid-column-start: 8 } [data-cols\@s$=" 8" ] { grid-column-end: 9 } [data-cols\@s="8" ] { grid-column: 8 }
- [data-cols\@s^="9 " ] { grid-column-start: 9 } [data-cols\@s$=" 9" ] { grid-column-end: 10 } [data-cols\@s="9" ] { grid-column: 9 }
- [data-cols\@s^="10 "] { grid-column-start: 10 } [data-cols\@s$=" 10"] { grid-column-end: 11 } [data-cols\@s="10"] { grid-column: 10 }
- [data-cols\@s^="11 "] { grid-column-start: 11 } [data-cols\@s$=" 11"] { grid-column-end: 12 } [data-cols\@s="11"] { grid-column: 11 }
- [data-cols\@s^="12 "] { grid-column-start: 12 } [data-cols\@s$=" 12"] { grid-column-end: 13 } [data-cols\@s="12"] { grid-column: 12 }
-
- [data-rows\@s^="1 " ] { grid-row-start: 1 } [data-rows\@s$=" 1" ] { grid-row-end: 2 } [data-rows\@s="1" ] { grid-row: 1 }
- [data-rows\@s^="2 " ] { grid-row-start: 2 } [data-rows\@s$=" 2" ] { grid-row-end: 3 } [data-rows\@s="2" ] { grid-row: 2 }
- [data-rows\@s^="3 " ] { grid-row-start: 3 } [data-rows\@s$=" 3" ] { grid-row-end: 4 } [data-rows\@s="3" ] { grid-row: 3 }
- [data-rows\@s^="4 " ] { grid-row-start: 4 } [data-rows\@s$=" 4" ] { grid-row-end: 5 } [data-rows\@s="4" ] { grid-row: 4 }
- [data-rows\@s^="5 " ] { grid-row-start: 5 } [data-rows\@s$=" 5" ] { grid-row-end: 6 } [data-rows\@s="5" ] { grid-row: 5 }
- [data-rows\@s^="6 " ] { grid-row-start: 6 } [data-rows\@s$=" 6" ] { grid-row-end: 7 } [data-rows\@s="6" ] { grid-row: 6 }
- [data-rows\@s^="7 " ] { grid-row-start: 7 } [data-rows\@s$=" 7" ] { grid-row-end: 8 } [data-rows\@s="7" ] { grid-row: 7 }
- [data-rows\@s^="8 " ] { grid-row-start: 8 } [data-rows\@s$=" 8" ] { grid-row-end: 9 } [data-rows\@s="8" ] { grid-row: 8 }
- [data-rows\@s^="9 " ] { grid-row-start: 9 } [data-rows\@s$=" 9" ] { grid-row-end: 10 } [data-rows\@s="9" ] { grid-row: 9 }
- [data-rows\@s^="10 "] { grid-row-start: 10 } [data-rows\@s$=" 10"] { grid-row-end: 11 } [data-rows\@s="10"] { grid-row: 10 }
- [data-rows\@s^="11 "] { grid-row-start: 11 } [data-rows\@s$=" 11"] { grid-row-end: 12 } [data-rows\@s="11"] { grid-row: 11 }
- [data-rows\@s^="12 "] { grid-row-start: 12 } [data-rows\@s$=" 12"] { grid-row-end: 13 } [data-rows\@s="12"] { grid-row: 12 }
-}
-
-@media (min-width: 1024px) {
- [data-cols\@l^="1 " ] { grid-column-start: 1 } [data-cols\@l$=" 1" ] { grid-column-end: 2 } [data-cols\@l="1" ] { grid-column: 1 }
- [data-cols\@l^="2 " ] { grid-column-start: 2 } [data-cols\@l$=" 2" ] { grid-column-end: 3 } [data-cols\@l="2" ] { grid-column: 2 }
- [data-cols\@l^="3 " ] { grid-column-start: 3 } [data-cols\@l$=" 3" ] { grid-column-end: 4 } [data-cols\@l="3" ] { grid-column: 3 }
- [data-cols\@l^="4 " ] { grid-column-start: 4 } [data-cols\@l$=" 4" ] { grid-column-end: 5 } [data-cols\@l="4" ] { grid-column: 4 }
- [data-cols\@l^="5 " ] { grid-column-start: 5 } [data-cols\@l$=" 5" ] { grid-column-end: 6 } [data-cols\@l="5" ] { grid-column: 5 }
- [data-cols\@l^="6 " ] { grid-column-start: 6 } [data-cols\@l$=" 6" ] { grid-column-end: 7 } [data-cols\@l="6" ] { grid-column: 6 }
- [data-cols\@l^="7 " ] { grid-column-start: 7 } [data-cols\@l$=" 7" ] { grid-column-end: 8 } [data-cols\@l="7" ] { grid-column: 7 }
- [data-cols\@l^="8 " ] { grid-column-start: 8 } [data-cols\@l$=" 8" ] { grid-column-end: 9 } [data-cols\@l="8" ] { grid-column: 8 }
- [data-cols\@l^="9 " ] { grid-column-start: 9 } [data-cols\@l$=" 9" ] { grid-column-end: 10 } [data-cols\@l="9" ] { grid-column: 9 }
- [data-cols\@l^="10 "] { grid-column-start: 10 } [data-cols\@l$=" 10"] { grid-column-end: 11 } [data-cols\@l="10"] { grid-column: 10 }
- [data-cols\@l^="11 "] { grid-column-start: 11 } [data-cols\@l$=" 11"] { grid-column-end: 12 } [data-cols\@l="11"] { grid-column: 11 }
- [data-cols\@l^="12 "] { grid-column-start: 12 } [data-cols\@l$=" 12"] { grid-column-end: 13 } [data-cols\@l="12"] { grid-column: 12 }
-
- [data-rows\@l^="1 " ] { grid-row-start: 1 } [data-rows\@l$=" 1" ] { grid-row-end: 2 } [data-rows\@l="1" ] { grid-row: 1 }
- [data-rows\@l^="2 " ] { grid-row-start: 2 } [data-rows\@l$=" 2" ] { grid-row-end: 3 } [data-rows\@l="2" ] { grid-row: 2 }
- [data-rows\@l^="3 " ] { grid-row-start: 3 } [data-rows\@l$=" 3" ] { grid-row-end: 4 } [data-rows\@l="3" ] { grid-row: 3 }
- [data-rows\@l^="4 " ] { grid-row-start: 4 } [data-rows\@l$=" 4" ] { grid-row-end: 5 } [data-rows\@l="4" ] { grid-row: 4 }
- [data-rows\@l^="5 " ] { grid-row-start: 5 } [data-rows\@l$=" 5" ] { grid-row-end: 6 } [data-rows\@l="5" ] { grid-row: 5 }
- [data-rows\@l^="6 " ] { grid-row-start: 6 } [data-rows\@l$=" 6" ] { grid-row-end: 7 } [data-rows\@l="6" ] { grid-row: 6 }
- [data-rows\@l^="7 " ] { grid-row-start: 7 } [data-rows\@l$=" 7" ] { grid-row-end: 8 } [data-rows\@l="7" ] { grid-row: 7 }
- [data-rows\@l^="8 " ] { grid-row-start: 8 } [data-rows\@l$=" 8" ] { grid-row-end: 9 } [data-rows\@l="8" ] { grid-row: 8 }
- [data-rows\@l^="9 " ] { grid-row-start: 9 } [data-rows\@l$=" 9" ] { grid-row-end: 10 } [data-rows\@l="9" ] { grid-row: 9 }
- [data-rows\@l^="10 "] { grid-row-start: 10 } [data-rows\@l$=" 10"] { grid-row-end: 11 } [data-rows\@l="10"] { grid-row: 10 }
- [data-rows\@l^="11 "] { grid-row-start: 11 } [data-rows\@l$=" 11"] { grid-row-end: 12 } [data-rows\@l="11"] { grid-row: 11 }
- [data-rows\@l^="12 "] { grid-row-start: 12 } [data-rows\@l$=" 12"] { grid-row-end: 13 } [data-rows\@l="12"] { grid-row: 12 }
-}
diff --git a/www/releases/_artifacts/v1.0.0-prerelease.0/missing.min.css b/www/releases/_artifacts/v1.0.0-prerelease.0/missing.min.css
deleted file mode 100644
index ca020a1..0000000
--- a/www/releases/_artifacts/v1.0.0-prerelease.0/missing.min.css
+++ /dev/null
@@ -1,14 +0,0 @@
-@keyframes bg{0%{background:0 0}}*,::after,::before{box-sizing:border-box;background-repeat:no-repeat}::after,::before{text-decoration:inherit;vertical-align:inherit}:root{cursor:default;overflow-wrap:break-word;-webkit-tap-highlight-color:transparent;text-size-adjust:none;-webkit-text-size-adjust:none}abbr[title]{-webkit-text-decoration:underline dotted;text-decoration:underline dotted}b,strong{font-weight:bolder}small{font-size:80%}audio,canvas,iframe,img,svg,video{vertical-align:middle}svg:not([fill]){fill:currentColor}table{border-collapse:collapse;border-color:currentColor;text-indent:0;font-variant-numeric:tabular-nums;font:inherit}body,button,input,select,textarea{margin:0}[type=button],[type=reset],[type=submit],button{-webkit-appearance:button}fieldset{border:1px solid #a0a0a0;position:relative;padding:var(--gap);margin:var(--gap) 0;width:100%;border-radius:var(--border-radius);border:1px solid var(--faded-fg)}progress{vertical-align:baseline}[type=search]{-webkit-appearance:textfield;outline-offset:-2px}::-webkit-inner-spin-button,::-webkit-outer-spin-button{block-size:auto}::-webkit-input-placeholder{color:inherit;opacity:.54}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{-webkit-appearance:button;font:inherit}[hidden],datalist{display:none!important}:focus-visible{outline:.2em solid var(--accent);z-index:32}body:focus-visible,html:focus-visible,iframe:focus-visible{outline:0}:target{outline:.2em solid var(--fg);z-index:2}details>summary:first-of-type{display:list-item}[aria-busy=true]{cursor:progress}[aria-disabled=true],[disabled]{cursor:not-allowed}:root{--gray-0: #f8fafb;--gray-1: #f2f4f6;--gray-2: #ebedef;--gray-3: #e0e4e5;--gray-4: #d1d6d8;--gray-5: #b1b6b9;--gray-6: #979b9d;--gray-7: #7e8282;--gray-8: #666968;--gray-9: #50514f;--gray-10: #3a3a37;--gray-11: #252521;--gray-12: #121210;--red-0: #fff5f5;--red-1: #ffe3e3;--red-2: #ffc9c9;--red-3: #ffa8a8;--red-4: #ff8787;--red-5: #ff6b6b;--red-6: #fa5252;--red-7: #f03e3e;--red-8: #e03131;--red-9: #c92a2a;--red-10: #b02525;--red-11: #962020;--red-12: #7d1a1a;--pink-0: #fff0f6;--pink-1: #ffdeeb;--pink-2: #fcc2d7;--pink-3: #faa2c1;--pink-4: #f783ac;--pink-5: #f06595;--pink-6: #e64980;--pink-7: #d6336c;--pink-8: #c2255c;--pink-9: #a61e4d;--pink-10: #8c1941;--pink-11: #731536;--pink-12: #59102a;--purple-0: #f8f0fc;--purple-1: #f3d9fa;--purple-2: #eebefa;--purple-3: #e599f7;--purple-4: #da77f2;--purple-5: #cc5de8;--purple-6: #be4bdb;--purple-7: #ae3ec9;--purple-8: #9c36b5;--purple-9: #862e9c;--purple-10: #702682;--purple-11: #5a1e69;--purple-12: #44174f;--violet-0: #f3f0ff;--violet-1: #e5dbff;--violet-2: #d0bfff;--violet-3: #b197fc;--violet-4: #9775fa;--violet-5: #845ef7;--violet-6: #7950f2;--violet-7: #7048e8;--violet-8: #6741d9;--violet-9: #5f3dc4;--violet-10: #5235ab;--violet-11: #462d91;--violet-12: #3a2578;--indigo-0: #edf2ff;--indigo-1: #dbe4ff;--indigo-2: #bac8ff;--indigo-3: #91a7ff;--indigo-4: #748ffc;--indigo-5: #5c7cfa;--indigo-6: #4c6ef5;--indigo-7: #4263eb;--indigo-8: #3b5bdb;--indigo-9: #364fc7;--indigo-10: #2f44ad;--indigo-11: #283a94;--indigo-12: #21307a;--blue-0: #e7f5ff;--blue-1: #d0ebff;--blue-2: #a5d8ff;--blue-3: #74c0fc;--blue-4: #4dabf7;--blue-5: #339af0;--blue-6: #228be6;--blue-7: #1c7ed6;--blue-8: #1971c2;--blue-9: #1864ab;--blue-10: #145591;--blue-11: #114678;--blue-12: #0d375e;--cyan-0: #e3fafc;--cyan-1: #c5f6fa;--cyan-2: #99e9f2;--cyan-3: #66d9e8;--cyan-4: #3bc9db;--cyan-5: #22b8cf;--cyan-6: #15aabf;--cyan-7: #1098ad;--cyan-8: #0c8599;--cyan-9: #0b7285;--cyan-10: #095c6b;--cyan-11: #074652;--cyan-12: #053038;--teal-0: #e6fcf5;--teal-1: #c3fae8;--teal-2: #96f2d7;--teal-3: #63e6be;--teal-4: #38d9a9;--teal-5: #20c997;--teal-6: #12b886;--teal-7: #0ca678;--teal-8: #099268;--teal-9: #087f5b;--teal-10: #066649;--teal-11: #054d37;--teal-12: #033325;--green-0: #ebfbee;--green-1: #d3f9d8;--green-2: #b2f2bb;--green-3: #8ce99a;--green-4: #69db7c;--green-5: #51cf66;--green-6: #40c057;--green-7: #37b24d;--green-8: #2f9e44;--green-9: #2b8a3e;--green-10: #237032;--green-11: #1b5727;--green-12: #133d1b;--lime-0: #f4fce3;--lime-1: #e9fac8;--lime-2: #d8f5a2;--lime-3: #c0eb75;--lime-4: #a9e34b;--lime-5: #94d82d;--lime-6: #82c91e;--lime-7: #74b816;--lime-8: #66a80f;--lime-9: #5c940d;--lime-10: #4c7a0b;--lime-11: #3c6109;--lime-12: #2c4706;--yellow-0: #fff9db;--yellow-1: #fff3bf;--yellow-2: #ffec99;--yellow-3: #ffe066;--yellow-4: #ffd43b;--yellow-5: #fcc419;--yellow-6: #fab005;--yellow-7: #f59f00;--yellow-8: #f08c00;--yellow-9: #e67700;--yellow-10: #b35c00;--yellow-11: #804200;--yellow-12: #663500;--orange-0: #fff4e6;--orange-1: #ffe8cc;--orange-2: #ffd8a8;--orange-3: #ffc078;--orange-4: #ffa94d;--orange-5: #ff922b;--orange-6: #fd7e14;--orange-7: #f76707;--orange-8: #e8590c;--orange-9: #d9480f;--orange-10: #bf400d;--orange-11: #99330b;--orange-12: #802b09;--choco-0: #fff8dc;--choco-1: #fce1bc;--choco-2: #f7ca9e;--choco-3: #f1b280;--choco-4: #e99b62;--choco-5: #df8545;--choco-6: #d46e25;--choco-7: #bd5f1b;--choco-8: #a45117;--choco-9: #8a4513;--choco-10: #703a13;--choco-11: #572f12;--choco-12: #3d210d;--brown-0: #faf4eb;--brown-1: #ede0d1;--brown-2: #e0cab7;--brown-3: #d3b79e;--brown-4: #c5a285;--brown-5: #b78f6d;--brown-6: #a87c56;--brown-7: #956b47;--brown-8: #825b3a;--brown-9: #6f4b2d;--brown-10:#5e3a21;--brown-11:#4e2b15;--brown-12: #422412;--sand-0: #f8fafb;--sand-1: #e6e4dc;--sand-2: #d5cfbd;--sand-3: #c2b9a0;--sand-4: #aea58c;--sand-5: #9a9178;--sand-6: #867c65;--sand-7: #736a53;--sand-8: #5f5746;--sand-9: #4b4639;--sand-10:#38352d;--sand-11:#252521;--sand-12: #121210;--camo-0: #f9fbe7;--camo-1: #e8ed9c;--camo-2: #d2df4e;--camo-3: #c2ce34;--camo-4: #b5bb2e;--camo-5: #a7a827;--camo-6: #999621;--camo-7: #8c851c;--camo-8: #7e7416;--camo-9: #6d6414;--camo-10: #5d5411;--camo-11: #4d460e;--camo-12: #36300a;--jungle-0: #ecfeb0;--jungle-1: #def39a;--jungle-2: #d0e884;--jungle-3: #c2dd6e;--jungle-4: #b5d15b;--jungle-5: #a8c648;--jungle-6: #9bbb36;--jungle-7: #8fb024;--jungle-8: #84a513;--jungle-9: #7a9908;--jungle-10: #658006;--jungle-11: #516605;--jungle-12: #3d4d04}html{font-family:var(--main-font);line-height:var(--rhythm);background:var(--bg);color:var(--fg);scroll-padding-block-start:calc(4*var(--gap))}footer,header,section+section{margin-block:calc(2*var(--gap))}nav a{text-decoration:none;color:var(--accent)}aside h1,aside h2,aside h3,aside h4,aside h5,aside h6{font-size:1em;text-transform:none;letter-spacing:none}.\<h1\>,.\<h2\>,.\<h3\>,.\<h4\>,.\<h5\>,.\<h6\>,h1,h2,h3,h4,h5,h6{margin-block-end:var(--gap);font-family:var(--secondary-font);margin-block-start:calc(2*var(--gap));position:relative}.\<h1\>,.\<h2\>,h1,h2{font-size:2em;text-transform:none;line-height:calc(2*var(--rhythm));letter-spacing:0}.\<h2\>,h2{font-size:1.6em;line-height:calc(1.5*var(--rhythm))}.\<h3\>,.\<h4\>,.\<h5\>,.\<h6\>,h3,h4,h5,h6{font-size:1.17em;line-height:calc(1*var(--rhythm))}.\<h4\>,.\<h5\>,.\<h6\>,h4,h5,h6{font-size:1em;text-transform:none;letter-spacing:0;margin-block-start:var(--gap)}h1+h2,h1:first-child,h2+h3,h2:first-child,h3+h4,h3:first-child,h4+h5,h4:first-child,h5+h6,h5:first-child,h6:first-child{margin-block-start:var(--gap)}h1:target,h2:target,h3:target,h4:target,h5:target,h6:target{outline:0}h1:target::before,h2:target::before,h3:target::before,h4:target::before,h5:target::before,h6:target::before{content:"";display:block;position:absolute;left:-.5em;width:4px;height:100%;background:var(--accent)}footer,header{font-family:var(--secondary-font)}header{border-block-end:1px solid var(--faded-fg)}footer{border-block-start:1px solid var(--faded-fg)}body>footer,body>header,main+footer{padding:var(--rhythm) calc((100% - var(--eff-line-length))/2)}address{--density: 0}dl,hr,p{margin-block:var(--gap)}hr{color:inherit;margin-inline:0;flex:0 1 0px;border-inline-start:1px solid var(--accent);block-size:auto;border-block-start:1px solid var(--accent);border-block-end:none;border-inline-end:none}blockquote,pre{line-height:var(--rhythm)}pre{font-family:var(--mono-font);-o-tab-size:2;tab-size:2;margin:var(--gap) 0;overflow-x:auto;scrollbar-width:thin;scrollbar-color:var(--accent) transparent;font-size:.9em}blockquote{margin-inline:0 var(--gap);padding-inline:var(--gap) 0;margin-block:var(--gap);font-size:1.1em;font-style:italic;border-inline-start:1px solid var(--faded-fg);color:var(--muted-fg)}.italic address,.italic cite,.italic dfn,.italic em,.italic i,.italic var,blockquote address,blockquote cite,blockquote dfn,blockquote em,blockquote i,blockquote var,q address,q cite,q dfn,q em,q i,q var{font-style:normal}blockquote footer{text-align:right;text-align:end}ol,ul{padding-inline-start:var(--rhythm)}ol ol,ol ul,ul ol,ul ul{padding-inline-start:var(--gap)}ol[role=list],ul[role=list]{padding-inline-start:0;list-style:none}ol{list-style:decimal}.breadcrumbs[aria-label] [aria-current=page],.sidebar-layout header a,dt{font-weight:700}dd{margin-inline-start:var(--rhythm)}li::marker{font-family:var(--secondary-font)}figure{max-width:100%;margin-inline:0}figcaption{margin-block:var(--gap);font-family:var(--secondary-font);color:var(--muted-fg)}main{max-inline-size:var(--eff-line-length);margin:auto}main:first-child{padding-top:var(--gap)}a{color:var(--link-fg, var(--accent));font-family:var(--secondary-font);border-radius:var(--border-radius);outline-offset:1px}.list-of-links a{text-decoration:none}a:focus,a:hover{text-decoration:none;outline:1px solid;transition:outline-offset .1s ease-in-out}a:active{outline-offset:0}span>small:only-child{display:block;float:inline-end;clear:inline-end;--sidenote-width: 20ch;max-inline-size:var(--sidenote-width);padding-inline:1.5ch 1ch;margin-inline-end:calc(1em - var(--sidenote-width));margin-block-end:var(--rhythm);font-family:var(--secondary-font);background:var(--bg);border:1px solid transparent;transition:transform .1s ease-in-out}span>small:only-child:focus-within,span>small:only-child:hover{border:1px solid var(--faded-fg);border-radius:var(--border-radius);transform:translateX(calc(0px - var(--sidenote-width) + min(var(--gutter-width),var(--sidenote-width))))}del,s{color:var(--bad-fg)}caption,q{font-style:italic}time{font-variant-numeric:tabular-nums}code,kbd,samp{font-family:var(--mono-font)}ins,samp{color:var(--ok-fg)}kbd kbd{display:inline-block;padding:0 .3em;font-size:.8em;line-height:1.1em;background:var(--interactive-bg);border:1px outset var(--faded-fg);border-block-end-width:3px;border-radius:var(--border-radius)}sub{vertical-align:bottom}sub,sup{line-height:1}mark{background:var(--warn-bg);color:var(--warn-fg)}ins{background:var(--ok-bg)}del{background:var(--bad-bg)}audio,embed,iframe,img,object,video{max-inline-size:100%;inline-size:max-content;block-size:auto}caption{text-align:start;font-family:var(--secondary-font)}tbody{border-block:1px solid var(--fg)}select[multiple],sup,td,th{vertical-align:top}td:not(:last-child),th:not(:last-child){padding-inline-end:var(--rhythm)}th{font-family:var(--secondary-font);text-align:start}input{display:block}label input:not([specificity-hack]){display:inline;padding-block:0}.\<button\>,button,input::file-selector-button,input[type=button],input[type=reset],input[type=submit]{display:inline-block;padding:0 calc(var(--rhythm)/4);vertical-align:top;font-size:.8rem;line-height:1.125em;font-family:var(--secondary-font);min-height:var(--rhythm);background:var(--interactive-bg);border:1px solid var(--muted-fg);box-sizing:border-box;border-radius:var(--border-radius);color:var(--fg);text-decoration:none;display:inline-flex;place-items:center}:is(button,input[type="submit"],input[type="reset"],input[type="button"],input::file-selector-button,.\<button\>):focus-visible,:is(button,input[type="submit"],input[type="reset"],input[type="button"],input::file-selector-button,.\<button\>):hover{filter:brightness(1.1);text-decoration:none}:is(button,input[type="submit"],input[type="reset"],input[type="button"],input::file-selector-button,.\<button\>):active{filter:brightness(.8)}[aria-expanded=true]:is(button,input[type="submit"],input[type="reset"],input[type="button"],input::file-selector-button,.\<button\>),[aria-pressed=true]:is(button,input[type="submit"],input[type="reset"],input[type="button"],input::file-selector-button,.\<button\>){box-shadow:0 .05em var(--accent);transform:translateY(.05em);background:var(--pressed-interactive-bg)}[disabled]:is(button,input[type="submit"],input[type="reset"],input[type="button"],input::file-selector-button,.\<button\>){color:var(--muted-fg)}strong>:is(button,input[type="submit"],input[type="reset"],input[type="button"],input::file-selector-button,.\<button\>){background:var(--accent);color:var(--bg);border:0;font-weight:700}strong>[disabled]:is(button,input[type="submit"],input[type="reset"],input[type="button"],input::file-selector-button,.\<button\>){color:var(--muted-accent)}input:not([type]),input[type=date],input[type=datetime-local],input[type=datetime],input[type=email],input[type=month],input[type=number],input[type=password],input[type=search],input[type=tel],input[type=text],input[type=time],input[type=url],input[type=week],select,textarea{padding:calc(var(--rhythm)/4);font-size:1rem;line-height:inherit;font-family:var(--main-font);background:var(--bg);color:var(--fg);border:1px solid var(--faded-fg);border-radius:var(--border-radius);vertical-align:top}:is(input:not([type]),input[type="text"],input[type="search"],input[type="tel"],input[type="url"],input[type="email"],input[type="password"],input[type="date"],input[type="month"],input[type="week"],input[type="time"],input[type="datetime"],input[type="datetime-local"],input[type="number"],select,textarea):focus-visible{border:1px solid var(--accent)}:is(input:not([type]),input[type="text"],input[type="search"],input[type="tel"],input[type="url"],input[type="email"],input[type="password"],input[type="date"],input[type="month"],input[type="week"],input[type="time"],input[type="datetime"],input[type="datetime-local"],input[type="number"],select,textarea)::placeholder{color:var(--muted-fg);opacity:1;text-align:end}input[type=range]{width:100%;padding:calc(var(--gap)/4)}input[type=color]{padding:0;margin:0;height:calc(1.5*var(--rhythm));border:0;background:0 0}input[type=file]{padding:calc(var(--gap)/4) 0;font:inherit;line-height:calc(var(--rhythm)/2)}input[type=file]::file-selector-button{margin-block:.1em 0;margin-inline-end:1ch}optgroup::before{color:var(--muted-fg);font-style:normal}label[for]{display:block;padding-block:calc(var(--gap)/4)}fieldset>legend+*{margin-block-start:0}details{padding-block-start:0}details:not([open]){padding-block-end:0}summary{margin:calc(0px - var(--gap));margin-bottom:0;padding-inline:var(--gap);font-family:var(--secondary-font);font-weight:700;background:var(--accent);color:var(--bg);cursor:pointer}summary:active,summary:focus-visible{filter:brightness(.8)}details[open] summary{border-block-end:1px solid var(--accent);border-end-end-radius:0;border-end-start-radius:0}dialog{position:absolute;inline-inset:0;block-size:-moz-fit-content;block-size:fit-content;inline-size:-moz-fit-content;inline-size:fit-content;margin:auto!important;background-color:var(--bg);color:var(--fg)}dialog[open]::backdrop{display:block;background:#000;opacity:.4;animation:bg 2s}dialog:not([open]){display:none}.box,.sidebar-layout>header,[role=menu],[role=tabpanel],aside,details,dialog,figure{margin:var(--gap) 0;padding:var(--gap);overflow:clip;border-radius:var(--border-radius);background:var(--box-bg);border:1px solid var(--faded-fg)}.titlebar{margin-inline:calc(0px - var(--gap));margin-block-end:calc(0px - var(--gap));padding-inline:var(--gap);font:inherit;font-family:var(--secondary-font);font-weight:700;translate:0 calc(-1px - var(--gap));background:var(--accent);color:var(--bg)}.sub-title,sub-title{display:block;font-weight:400;color:var(--muted-fg)}.tool-bar,[role=toolbar]{display:flex;flex-flow:row wrap;gap:calc(var(--gap)/2)}.tool-bar>*,[role=toolbar]>*{margin:0}.sidebar-layout header li{margin-block:calc(.5*var(--gap))}@media (min-width:75ch){.sidebar-layout{display:grid;grid-template-columns:25ch 1fr;inset:0}.sidebar-layout>header{border-block:none;border-inline-start:none;margin:0}.sidebar-layout>:nth-child(2){overflow:scroll;--full-width: calc(100vw - 25ch)}}.breadcrumbs[aria-label]{font-family:var(--secondary-font)}.breadcrumbs[aria-label] ol,.breadcrumbs[aria-label] ul{list-style:none;padding-inline-start:0}.breadcrumbs[aria-label] li{display:inline}:is(.breadcrumbs[aria-label] li)+li::before{content:' / ';display:inline}.chip,.navbar,chip{font-family:var(--secondary-font);background:var(--box-bg)}.chip,chip{border:1px solid var(--accent);border-radius:calc(var(--rhythm)/2);padding-inline:calc(var(--rhythm)/2)}.navbar{padding:var(--rhythm);border-block-end:1px solid var(--accent);overflow-x:auto;scrollbar-width:thin;position:sticky;z-index:5;top:0;left:0;right:0;display:flex;flex-flow:row;align-items:center;gap:var(--gap)}.navbar.expanded{flex-flow:column;align-items:start;max-height:90vh;overflow-y:auto}.navbar.expanded ul[role=list]{flex-flow:column}.navbar *{flex-shrink:0;margin-block:0}.navbar:not(.expanded) nav>:first-child,.navbar:not(.expanded)>:first-child{margin-inline-start:auto}.navbar:not(.expanded) nav>:last-child,.navbar:not(.expanded)>:last-child{margin-inline-end:auto}.navbar hr{align-self:stretch}.navbar nav ul[role=list]{display:flex;flex-flow:row;gap:var(--rhythm);padding-inline-start:0}.navbar nav ul[role=list] *{flex-shrink:0}.navbar a{font-weight:700;text-decoration:none;padding-inline:.2em}.navbar a:focus,.navbar a:hover{text-decoration:underline}.navbar [aria-current=page]{position:relative}.navbar [aria-current=page]::after{width:100%;height:6px;content:"";display:block;position:absolute;bottom:calc(-1*var(--gap));background:currentcolor}.navbar.expanded [aria-current=page]::after{width:6px;height:100%;position:absolute;left:calc(-1*var(--gap));top:0}.permalink-anchor{display:none}:hover>.permalink-anchor{display:initial}button.iconbutton{border:0;background:0 0;color:currentcolor;padding:0;line-height:var(--rhythm);font-size:24px;width:24px;height:24px;display:inline-block;text-align:center;border-radius:50%;transition:font-weight .2s ease-in-out}button.iconbutton:focus-visible,button.iconbutton:hover{outline:1px solid var(--accent);outline-offset:6px}button.iconbutton:active{outline-offset:3px;background:0 0}button.iconbutton[aria-pressed=true]{box-shadow:none;transform:none}[role=tablist]{display:flex;gap:.5ch;scrollbar-width:thin}[role=tab][role=tab]{all:initial;font-family:var(--secondary-font);padding:0 calc(var(--rhythm)/4);margin:0;min-height:var(--rhythm);color:var(--fg);border:solid var(--faded-fg);border-width:1px 1px 0;border-block-end-color:transparent;background:var(--interactive-bg);border-start-start-radius:.4em;border-start-end-radius:.4em}[role=tab][role=tab]:active,[role=tab][role=tab][aria-selected=true]{transform:none;bottom:-1px;position:relative;background:var(--box-bg);border-block-end:1px solid var(--box-bg)}[role=tab][role=tab]:hover{background-color:var(--box-bg)}[role=tab][role=tab]:focus{background-color:var(--box-bg);border-color:var(--accent);outline:1px solid var(--accent)}[role=tabpanel]{margin-block-start:0;border-start-start-radius:0;border-start-end-radius:0;z-index:1}[role=menu]{position:absolute;z-index:10;padding:calc(var(--gap)/2) 0;margin:1px 0 0;display:flex;flex-flow:column nowrap}[role=menuitem]{padding:0 calc(var(--gap)/2);display:block;text-decoration:none;border-radius:0;color:var(--fg)}[role=menuitem]:focus{background:var(--accent);color:var(--bg)}[role=listbox]{list-style:none}ul[role=listbox]{padding-inline-start:0}[role=listbox] [role=option]{margin-inline:calc(-1*var(--gap));padding-inline:var(--gap)}[role=listbox] [role=option][aria-selected=true]{background:var(--interactive-bg)}[role=listbox] .active[role=option]{--temporary-bg: var(--accent);--temporary-fg: var(--bg);--temporary-accent: parent-var(--muted-accent);--temporary-muted-accent: parent-var(--box-bg);background:var(--temporary-bg);color:var(--temporary-fg)}[role=listbox] .active[role=option]>*{--bg: var(--temporary-bg);--fg: var(--temporary-fg);--accent: var(--temporary-accent);--muted-accent: var(--temporary-muted-accent)}[aria-orientation=vertical]{flex-direction:column;width:-moz-fit-content;width:fit-content;text-align:center}.plain{--box-bg: var(--plain-bg);--accent: var(--plain-fg);--faded-fg: var(--plain-faded-fg)}.info{--box-bg: var(--info-bg);--accent: var(--info-fg);--faded-fg: var(--info-faded-fg)}.ok{--box-bg: var(--ok-bg);--accent: var(--ok-fg);--faded-fg: var(--ok-faded-fg)}.warn{--box-bg: var(--warn-bg);--accent: var(--warn-fg);--faded-fg: var(--warn-faded-fg)}.bad{--box-bg: var(--bad-bg);--accent: var(--bad-fg);--faded-fg: var(--bad-faded-fg)}.color{color:var(--accent)}.bg{background:var(--box-bg)}.border{border-style:solid;border-color:var(--faded-fg)}:root{--fg: var(--gray-12);--muted-fg: var(--gray-10);--faded-fg: var(--plain-faded-fg);--plain-fg: var(--blue-10);--info-fg: var(--blue-11);--ok-fg: var(--green-11);--bad-fg: var(--red-11);--warn-fg: var(--yellow-11);--plain-faded-fg: var(--gray-6);--info-faded-fg: var(--blue-6);--ok-faded-fg: var(--green-6);--bad-faded-fg: var(--red-6);--warn-faded-fg: var(--yellow-6);--bg: var(--gray-0);--box-bg: var(--plain-bg);--interactive-bg: var(--gray-4);--plain-bg: var(--gray-1);--info-bg: var(--blue-1);--ok-bg: var(--green-1);--bad-bg: var(--red-1);--warn-bg: var(--yellow-1);--accent: var(--blue-10);--muted-accent: var(--blue-7);--rhythm: 1.4rem;--line-length: 40rem;--border-radius: .2rem;--main-font: 'Source Sans 3', 'Source Sans Pro', -apple-system, system-ui, sans-serif;--secondary-font: var(--main-font);--mono-font: 'M Plus Code Latin', monospace, monospace;--density: 1;--full-width: 100vw;--eff-line-length: /* Effective line length for prose. */
- min(
- calc( var(--full-width) - (2 * var(--rhythm)) ),
- var(--line-length)
- );--gutter-width: /* Width of spaces at each side of page content. */
- calc(
- (
- var(--full-width) /* Viewport width */
- - var(--eff-line-length) /* minus line width */
- ) / 2)}@media (prefers-color-scheme:dark){:root:not(.-no-dark-theme){--fg: var(--gray-0);--muted-fg: var(--gray-2);--faded-fg: var(--gray-7);--plain-bg: var(--gray-11);--info-bg: var(--blue-12);--ok-bg: var(--green-12);--bad-bg: var(--red-12);--warn-bg: var(--yellow-12);--plain-faded-fg: var(--blue-6);--info-faded-fg: var(--blue-6);--ok-faded-fg: var(--green-6);--bad-faded-fg: var(--red-6);--warn-faded-fg: var(--yellow-6);--bg: var(--gray-12);--box-bg: var(--gray-10);--interactive-bg: var(--gray-8);--plain-fg: (--blue-3);--info-fg: var(--blue-3);--ok-fg: var(--green-3);--bad-fg: var(--red-3);--warn-fg: var(--yellow-3);--accent: var(--blue-3);--muted-accent: var(--blue-5)}}*{--gap: calc(var(--rhythm) * var(--density));accent-color:var(--accent)}.textcolumns{--col-width: 30ch;column-width:var(--col-width);column-gap:var(--gap);margin-block:var(--gap)}.textcolumns :first-child{margin-block-start:0!important}.text-align\:center{text-align:center}.center{display:grid;place-items:center}.container{max-inline-size:var(--eff-line-length);margin-inline:auto}.fullbleed,.fullscreen{position:relative;width:100vw;left:50%;transform:translateX(-50vw);border-radius:0;border-inline:none}.fullscreen{height:100vh}.width\:100\%{width:100%;max-width:100%}.height\:100\%{height:100%;max-height:100%}:first-child:first-child:first-child{margin-block-start:0}:last-child:last-child:last-child{margin-block-end:0}.padding{padding-inline:var(--gap)}.padding-block{padding-block:var(--gap)}.padding-block-start{padding-block-start:var(--gap)}.padding-block-end{padding-block-end:var(--gap)}.padding-inline{padding-inline:var(--gap)}.padding-inline-end,.padding-inline-start{padding-inline-start:var(--gap)}.margin{margin:var(--gap)}.margin-block{margin-block:var(--gap)}.margin-block-start{margin-block-start:var(--gap)}.margin-block-end{margin-block-end:var(--gap)}.margin-inline{margin-inline:var(--gap)}.margin-inline-start{margin-inline-start:var(--gap)}.margin-inline-end{margin-inline-end:var(--gap)}.flow-gap>:not(:last-child){margin-bottom:1em}.inline{display:inline}.block{display:block}.contents{display:contents}.table{display:table;width:100%;margin:0}.row,.rows>*{display:table-row}.row:not(:last-child):not([specificity-hack])>*,.rows>:not(:last-child):not([specificity-hack])>*{margin-bottom:var(--gap)}.row>:not([specificity-hack]),.rows>*>:not([specificity-hack]){display:table-cell;vertical-align:top}.row>*+:not([specificity-hack]),:is(.rows > *)>*+:not([specificity-hack]){margin-inline-start:var(--gap);display:inline-block}.fixed{position:fixed}.sticky{position:sticky}.top{top:0}.right{right:0}.bottom{bottom:0}.left{left:0}.float\:left{float:left}.float\:right{float:right}.overflow\:auto{overflow:auto}.overflow\:scroll{overflow:scroll}.airy{--density: 3}.spacious{--density: 2}.dense{--density: 1}.crowded{--density: .5}.packed{--density: 0}.autodensity{--density: 1
-}@media (min-width:768px){.autodensity{--density: 2
-}}@media (min-width:1024px){.autodensity{--density: 3
-}}.vh,v-h{clip:rect(0 0 0 0);-webkit-clip-path:inset(50%);clip-path:inset(50%);block-size:1px;inline-size:1px;overflow:hidden;white-space:nowrap}.all\:initial{all:initial}.bold{font-weight:700}.italic{font-style:italic}.allcaps{text-transform:uppercase;letter-spacing:.1rem}.monospace{font-family:var(--mono-font)}.f-row{display:flex;flex-direction:row;gap:var(--gap)}.f-row>*{margin:0}.f-col{display:flex;flex-direction:column;gap:var(--gap)}.f-col>*{margin:0}.f-switch{display:flex;flex-wrap:wrap;gap:var(--gap);--f-switch-threshold: 55ch
-}.f-switch>*{margin:0;flex-grow:1;flex-basis:calc((var(--f-switch-threshold) - 100%)*999)}.justify-content\:start{justify-content:start}.justify-content\:end{justify-content:end}.justify-content\:baseline{justify-content:baseline}.justify-content\:center{justify-content:center}.justify-content\:stretch{justify-content:stretch}.justify-content\:space-between{justify-content:space-between}.justify-content\:space-around{justify-content:space-around}.justify-content\:space-evenly{justify-content:space-evenly}.align-items\:start{align-items:start}.align-items\:end{align-items:end}.align-items\:baseline{align-items:baseline}.align-items\:center{align-items:center}.align-items\:stretch{align-items:stretch}.align-self\:start{align-self:start}.align-self\:end{align-self:end}.align-self\:baseline{align-self:baseline}.align-self\:center{align-self:center}.align-self\:stretch{align-self:stretch}.flex-grow\:0{flex-grow:0}.flex-grow\:1{flex-grow:1}.flex-grow\:2{flex-grow:2}.flex-grow\:3{flex-grow:3}.flex-grow\:4{flex-grow:4}.flex-grow\:5{flex-grow:5}.flex-grow\:6{flex-grow:6}.flex-grow\:7{flex-grow:7}.flex-grow\:8{flex-grow:8}.flex-grow\:9{flex-grow:9}.flex-grow\:10{flex-grow:10}.flex-grow\:11{flex-grow:11}.flex-grow\:12{flex-grow:12}.flex-wrap\:wrap{flex-wrap:wrap}.flex-wrap\:nowrap{flex-wrap:nowrap}.grid{display:grid;grid-auto-columns:var(--grid-col-width, 1fr);grid-auto-rows:var(--grid-row-width, auto);gap:var(--gap)}.grid>*{margin:0}.grid-even-rows{--grid-row-width: 1fr}.grid-variable-cols{--grid-column-width: auto}[data-cols^="1 "]{grid-column-start:1}[data-cols$=" 1"]{grid-column-end:2}[data-cols="1"]{grid-column:1}[data-cols^="2 "]{grid-column-start:2}[data-cols$=" 2"]{grid-column-end:3}[data-cols="2"]{grid-column:2}[data-cols^="3 "]{grid-column-start:3}[data-cols$=" 3"]{grid-column-end:4}[data-cols="3"]{grid-column:3}[data-cols^="4 "]{grid-column-start:4}[data-cols$=" 4"]{grid-column-end:5}[data-cols="4"]{grid-column:4}[data-cols^="5 "]{grid-column-start:5}[data-cols$=" 5"]{grid-column-end:6}[data-cols="5"]{grid-column:5}[data-cols^="6 "]{grid-column-start:6}[data-cols$=" 6"]{grid-column-end:7}[data-cols="6"]{grid-column:6}[data-cols^="7 "]{grid-column-start:7}[data-cols$=" 7"]{grid-column-end:8}[data-cols="7"]{grid-column:7}[data-cols^="8 "]{grid-column-start:8}[data-cols$=" 8"]{grid-column-end:9}[data-cols="8"]{grid-column:8}[data-cols^="9 "]{grid-column-start:9}[data-cols$=" 9"]{grid-column-end:10}[data-cols="9"]{grid-column:9}[data-cols^="10 "]{grid-column-start:10}[data-cols$=" 10"]{grid-column-end:11}[data-cols="10"]{grid-column:10}[data-cols^="11 "]{grid-column-start:11}[data-cols$=" 11"]{grid-column-end:12}[data-cols="11"]{grid-column:11}[data-cols^="12 "]{grid-column-start:12}[data-cols$=" 12"]{grid-column-end:13}[data-cols="12"]{grid-column:12}[data-rows^="1 "]{grid-row-start:1}[data-rows$=" 1"]{grid-row-end:2}[data-rows="1"]{grid-row:1}[data-rows^="2 "]{grid-row-start:2}[data-rows$=" 2"]{grid-row-end:3}[data-rows="2"]{grid-row:2}[data-rows^="3 "]{grid-row-start:3}[data-rows$=" 3"]{grid-row-end:4}[data-rows="3"]{grid-row:3}[data-rows^="4 "]{grid-row-start:4}[data-rows$=" 4"]{grid-row-end:5}[data-rows="4"]{grid-row:4}[data-rows^="5 "]{grid-row-start:5}[data-rows$=" 5"]{grid-row-end:6}[data-rows="5"]{grid-row:5}[data-rows^="6 "]{grid-row-start:6}[data-rows$=" 6"]{grid-row-end:7}[data-rows="6"]{grid-row:6}[data-rows^="7 "]{grid-row-start:7}[data-rows$=" 7"]{grid-row-end:8}[data-rows="7"]{grid-row:7}[data-rows^="8 "]{grid-row-start:8}[data-rows$=" 8"]{grid-row-end:9}[data-rows="8"]{grid-row:8}[data-rows^="9 "]{grid-row-start:9}[data-rows$=" 9"]{grid-row-end:10}[data-rows="9"]{grid-row:9}[data-rows^="10 "]{grid-row-start:10}[data-rows$=" 10"]{grid-row-end:11}[data-rows="10"]{grid-row:10}[data-rows^="11 "]{grid-row-start:11}[data-rows$=" 11"]{grid-row-end:12}[data-rows="11"]{grid-row:11}[data-rows^="12 "]{grid-row-start:12}[data-rows$=" 12"]{grid-row-end:13}[data-rows="12"]{grid-row:12}@media (max-width:768px){[data-cols\@s^="1 "]{grid-column-start:1}[data-cols\@s$=" 1"]{grid-column-end:2}[data-cols\@s="1"]{grid-column:1}[data-cols\@s^="2 "]{grid-column-start:2}[data-cols\@s$=" 2"]{grid-column-end:3}[data-cols\@s="2"]{grid-column:2}[data-cols\@s^="3 "]{grid-column-start:3}[data-cols\@s$=" 3"]{grid-column-end:4}[data-cols\@s="3"]{grid-column:3}[data-cols\@s^="4 "]{grid-column-start:4}[data-cols\@s$=" 4"]{grid-column-end:5}[data-cols\@s="4"]{grid-column:4}[data-cols\@s^="5 "]{grid-column-start:5}[data-cols\@s$=" 5"]{grid-column-end:6}[data-cols\@s="5"]{grid-column:5}[data-cols\@s^="6 "]{grid-column-start:6}[data-cols\@s$=" 6"]{grid-column-end:7}[data-cols\@s="6"]{grid-column:6}[data-cols\@s^="7 "]{grid-column-start:7}[data-cols\@s$=" 7"]{grid-column-end:8}[data-cols\@s="7"]{grid-column:7}[data-cols\@s^="8 "]{grid-column-start:8}[data-cols\@s$=" 8"]{grid-column-end:9}[data-cols\@s="8"]{grid-column:8}[data-cols\@s^="9 "]{grid-column-start:9}[data-cols\@s$=" 9"]{grid-column-end:10}[data-cols\@s="9"]{grid-column:9}[data-cols\@s^="10 "]{grid-column-start:10}[data-cols\@s$=" 10"]{grid-column-end:11}[data-cols\@s="10"]{grid-column:10}[data-cols\@s^="11 "]{grid-column-start:11}[data-cols\@s$=" 11"]{grid-column-end:12}[data-cols\@s="11"]{grid-column:11}[data-cols\@s^="12 "]{grid-column-start:12}[data-cols\@s$=" 12"]{grid-column-end:13}[data-cols\@s="12"]{grid-column:12}[data-rows\@s^="1 "]{grid-row-start:1}[data-rows\@s$=" 1"]{grid-row-end:2}[data-rows\@s="1"]{grid-row:1}[data-rows\@s^="2 "]{grid-row-start:2}[data-rows\@s$=" 2"]{grid-row-end:3}[data-rows\@s="2"]{grid-row:2}[data-rows\@s^="3 "]{grid-row-start:3}[data-rows\@s$=" 3"]{grid-row-end:4}[data-rows\@s="3"]{grid-row:3}[data-rows\@s^="4 "]{grid-row-start:4}[data-rows\@s$=" 4"]{grid-row-end:5}[data-rows\@s="4"]{grid-row:4}[data-rows\@s^="5 "]{grid-row-start:5}[data-rows\@s$=" 5"]{grid-row-end:6}[data-rows\@s="5"]{grid-row:5}[data-rows\@s^="6 "]{grid-row-start:6}[data-rows\@s$=" 6"]{grid-row-end:7}[data-rows\@s="6"]{grid-row:6}[data-rows\@s^="7 "]{grid-row-start:7}[data-rows\@s$=" 7"]{grid-row-end:8}[data-rows\@s="7"]{grid-row:7}[data-rows\@s^="8 "]{grid-row-start:8}[data-rows\@s$=" 8"]{grid-row-end:9}[data-rows\@s="8"]{grid-row:8}[data-rows\@s^="9 "]{grid-row-start:9}[data-rows\@s$=" 9"]{grid-row-end:10}[data-rows\@s="9"]{grid-row:9}[data-rows\@s^="10 "]{grid-row-start:10}[data-rows\@s$=" 10"]{grid-row-end:11}[data-rows\@s="10"]{grid-row:10}[data-rows\@s^="11 "]{grid-row-start:11}[data-rows\@s$=" 11"]{grid-row-end:12}[data-rows\@s="11"]{grid-row:11}[data-rows\@s^="12 "]{grid-row-start:12}[data-rows\@s$=" 12"]{grid-row-end:13}[data-rows\@s="12"]{grid-row:12}}@media (min-width:1024px){[data-cols\@l^="1 "]{grid-column-start:1}[data-cols\@l$=" 1"]{grid-column-end:2}[data-cols\@l="1"]{grid-column:1}[data-cols\@l^="2 "]{grid-column-start:2}[data-cols\@l$=" 2"]{grid-column-end:3}[data-cols\@l="2"]{grid-column:2}[data-cols\@l^="3 "]{grid-column-start:3}[data-cols\@l$=" 3"]{grid-column-end:4}[data-cols\@l="3"]{grid-column:3}[data-cols\@l^="4 "]{grid-column-start:4}[data-cols\@l$=" 4"]{grid-column-end:5}[data-cols\@l="4"]{grid-column:4}[data-cols\@l^="5 "]{grid-column-start:5}[data-cols\@l$=" 5"]{grid-column-end:6}[data-cols\@l="5"]{grid-column:5}[data-cols\@l^="6 "]{grid-column-start:6}[data-cols\@l$=" 6"]{grid-column-end:7}[data-cols\@l="6"]{grid-column:6}[data-cols\@l^="7 "]{grid-column-start:7}[data-cols\@l$=" 7"]{grid-column-end:8}[data-cols\@l="7"]{grid-column:7}[data-cols\@l^="8 "]{grid-column-start:8}[data-cols\@l$=" 8"]{grid-column-end:9}[data-cols\@l="8"]{grid-column:8}[data-cols\@l^="9 "]{grid-column-start:9}[data-cols\@l$=" 9"]{grid-column-end:10}[data-cols\@l="9"]{grid-column:9}[data-cols\@l^="10 "]{grid-column-start:10}[data-cols\@l$=" 10"]{grid-column-end:11}[data-cols\@l="10"]{grid-column:10}[data-cols\@l^="11 "]{grid-column-start:11}[data-cols\@l$=" 11"]{grid-column-end:12}[data-cols\@l="11"]{grid-column:11}[data-cols\@l^="12 "]{grid-column-start:12}[data-cols\@l$=" 12"]{grid-column-end:13}[data-cols\@l="12"]{grid-column:12}[data-rows\@l^="1 "]{grid-row-start:1}[data-rows\@l$=" 1"]{grid-row-end:2}[data-rows\@l="1"]{grid-row:1}[data-rows\@l^="2 "]{grid-row-start:2}[data-rows\@l$=" 2"]{grid-row-end:3}[data-rows\@l="2"]{grid-row:2}[data-rows\@l^="3 "]{grid-row-start:3}[data-rows\@l$=" 3"]{grid-row-end:4}[data-rows\@l="3"]{grid-row:3}[data-rows\@l^="4 "]{grid-row-start:4}[data-rows\@l$=" 4"]{grid-row-end:5}[data-rows\@l="4"]{grid-row:4}[data-rows\@l^="5 "]{grid-row-start:5}[data-rows\@l$=" 5"]{grid-row-end:6}[data-rows\@l="5"]{grid-row:5}[data-rows\@l^="6 "]{grid-row-start:6}[data-rows\@l$=" 6"]{grid-row-end:7}[data-rows\@l="6"]{grid-row:6}[data-rows\@l^="7 "]{grid-row-start:7}[data-rows\@l$=" 7"]{grid-row-end:8}[data-rows\@l="7"]{grid-row:7}[data-rows\@l^="8 "]{grid-row-start:8}[data-rows\@l$=" 8"]{grid-row-end:9}[data-rows\@l="8"]{grid-row:8}[data-rows\@l^="9 "]{grid-row-start:9}[data-rows\@l$=" 9"]{grid-row-end:10}[data-rows\@l="9"]{grid-row:9}[data-rows\@l^="10 "]{grid-row-start:10}[data-rows\@l$=" 10"]{grid-row-end:11}[data-rows\@l="10"]{grid-row:10}[data-rows\@l^="11 "]{grid-row-start:11}[data-rows\@l$=" 11"]{grid-row-end:12}[data-rows\@l="11"]{grid-row:11}[data-rows\@l^="12 "]{grid-row-start:12}[data-rows\@l$=" 12"]{grid-row-end:13}[data-rows\@l="12"]{grid-row:12}} \ No newline at end of file
diff --git a/www/releases/_artifacts/v1.0.0-prerelease.0/missing.min.css.br b/www/releases/_artifacts/v1.0.0-prerelease.0/missing.min.css.br
deleted file mode 100644
index 3023045..0000000
--- a/www/releases/_artifacts/v1.0.0-prerelease.0/missing.min.css.br
+++ /dev/null
Binary files differ
diff --git a/www/releases/_artifacts/v1.0.0-prerelease.0/missing.min.css.gz b/www/releases/_artifacts/v1.0.0-prerelease.0/missing.min.css.gz
deleted file mode 100644
index 5b1ec2e..0000000
--- a/www/releases/_artifacts/v1.0.0-prerelease.0/missing.min.css.gz
+++ /dev/null
Binary files differ
diff --git a/www/releases/_artifacts/v1.0.0-prerelease.1/missing-prism.css b/www/releases/_artifacts/v1.0.0-prerelease.1/missing-prism.css
deleted file mode 100644
index 23e48b5..0000000
--- a/www/releases/_artifacts/v1.0.0-prerelease.1/missing-prism.css
+++ /dev/null
@@ -1,62 +0,0 @@
-
-.token.comment,
-.token.prolog,
-.token.doctype,
-.token.cdata,
-.token.punctuation {
- color: var(--muted-fg);
-}
-
-.token.property,
-.token.tag,
-.token.boolean,
-.token.number,
-.token.constant,
-.token.symbol,
-.token.deleted {
- color: var(--bad-fg);
-}
-
-.token.selector,
-.token.attr-name,
-.token.string,
-.token.char,
-.token.builtin,
-.token.inserted {
- color: var(--ok-fg);
-}
-
-.token.operator,
-.token.entity,
-.token.url,
-.language-css .token.string,
-.style .token.string,
-.token.regex,
-.token.important,
-.token.variable {
- color: var(--warn-fg)
-}
-
-.token.atrule,
-.token.attr-value,
-.token.keyword {
- color: var(--info-fg);
-}
-
-.token.function {
- color: var(--bad-fg);
- font-style: italic;
-}
-
-.token.important,
-.token.bold {
- font-weight: bold;
-}
-
-.token.italic {
- font-style: italic;
-}
-
-.token.entity {
- cursor: help;
-}
diff --git a/www/releases/_artifacts/v1.0.0-prerelease.1/missing-prism.min.css b/www/releases/_artifacts/v1.0.0-prerelease.1/missing-prism.min.css
deleted file mode 100644
index 41c91b1..0000000
--- a/www/releases/_artifacts/v1.0.0-prerelease.1/missing-prism.min.css
+++ /dev/null
@@ -1 +0,0 @@
-.token.cdata,.token.comment,.token.doctype,.token.prolog,.token.punctuation{color:var(--muted-fg)}.token.boolean,.token.constant,.token.deleted,.token.number,.token.property,.token.symbol,.token.tag{color:var(--bad-fg)}.token.attr-name,.token.builtin,.token.char,.token.inserted,.token.selector,.token.string{color:var(--ok-fg)}.language-css .token.string,.style .token.string,.token.entity,.token.important,.token.operator,.token.regex,.token.url,.token.variable{color:var(--warn-fg)}.token.atrule,.token.attr-value,.token.keyword{color:var(--info-fg)}.token.function{color:var(--bad-fg);font-style:italic}.token.bold,.token.important{font-weight:700}.token.italic{font-style:italic}.token.entity{cursor:help} \ No newline at end of file
diff --git a/www/releases/_artifacts/v1.0.0-prerelease.1/missing-prism.min.css.br b/www/releases/_artifacts/v1.0.0-prerelease.1/missing-prism.min.css.br
deleted file mode 100644
index 2a4ac49..0000000
--- a/www/releases/_artifacts/v1.0.0-prerelease.1/missing-prism.min.css.br
+++ /dev/null
Binary files differ
diff --git a/www/releases/_artifacts/v1.0.0-prerelease.1/missing-prism.min.css.gz b/www/releases/_artifacts/v1.0.0-prerelease.1/missing-prism.min.css.gz
deleted file mode 100644
index e834bd4..0000000
--- a/www/releases/_artifacts/v1.0.0-prerelease.1/missing-prism.min.css.gz
+++ /dev/null
Binary files differ
diff --git a/www/releases/_artifacts/v1.0.0-prerelease.1/missing.css b/www/releases/_artifacts/v1.0.0-prerelease.1/missing.css
deleted file mode 100644
index 4bcf5e6..0000000
--- a/www/releases/_artifacts/v1.0.0-prerelease.1/missing.css
+++ /dev/null
@@ -1,2222 +0,0 @@
-/* Document
- * ========================================================================== */
-
-/**
- * 1. Add border box sizing in all browsers (opinionated).
- * 2. Backgrounds do not repeat by default (opinionated).
- */
-
-*,
-::before,
-::after {
- box-sizing: border-box; /* 1 */
- background-repeat: no-repeat; /* 2 */
-}
-
-/**
- * 1. Add text decoration inheritance in all browsers (opinionated).
- * 2. Add vertical alignment inheritance in all browsers (opinionated).
- */
-
-::before,
-::after {
- text-decoration: inherit; /* 1 */
- vertical-align: inherit; /* 2 */
-}
-
-/**
- * 1. Use the default cursor in all browsers (opinionated).
- * 3. Breaks words to prevent overflow in all browsers (opinionated).
- * 5. Remove the grey highlight on links in iOS (opinionated).
- * 6. Prevent adjustments of font size after orientation changes in iOS.
- */
-
-:root {
- cursor: default; /* 1 */
- overflow-wrap: break-word; /* 3 */
- -webkit-tap-highlight-color: transparent; /* 5 */
- text-size-adjust: none;
- -webkit-text-size-adjust: none;
-}
-
-/* Text-level semantics
- * ========================================================================== */
-
-/**
- * Add the correct text decoration in Safari.
- */
-
-abbr[title] {
- text-decoration: underline;
- -webkit-text-decoration: underline dotted;
- text-decoration: underline dotted;
-}
-
-/**
- * Add the correct font weight in Chrome, Edge, and Safari.
- */
-
-strong, b {
- font-weight: bolder;
-}
-
-/**
- * Add the correct font size in all browsers.
- */
-
-small {
- font-size: 80%;
-}
-
-/* Embedded content
- * ========================================================================== */
-
-/*
- * Change the alignment on media elements in all browsers (opinionated).
- */
-
-audio, canvas, iframe, img, svg, video {
- vertical-align: middle;
-}
-
-/**
- * Change the fill color to match the text color in all browsers (opinionated).
- */
-
-svg:not([fill]) {
- fill: currentColor;
-}
-
-/* Tabular data
- * ========================================================================== */
-
-/**
- * 1. Collapse border spacing in all browsers (opinionated).
- * 2. Correct table border color in Chrome, Edge, and Safari.
- * 3. Remove text indentation from table contents in Chrome, Edge, and Safari.
- */
-
-table {
- border-collapse: collapse; /* 1 */
- border-color: currentColor; /* 2 */
- text-indent: 0; /* 3 */
-}
-
-/* Forms
- * ========================================================================== */
-
-/**
- * Remove the margin on controls in Safari.
- */
-
-button, input, select {
- margin: 0;
-}
-
-/**
- * Correct the inability to style buttons in iOS and Safari.
- */
-
-button, [type="button"], [type="reset"], [type="submit"] {
- -webkit-appearance: button;
-}
-
-/**
- * Change the inconsistent appearance in all browsers (opinionated).
- */
-
-fieldset {
- border: 1px solid #a0a0a0;
-}
-
-/**
- * Add the correct vertical alignment in Chrome, Edge, and Firefox.
- */
-
-progress {
- vertical-align: baseline;
-}
-
-/**
- * 1. Remove the margin in Firefox and Safari.
- */
-
-textarea {
- margin: 0; /* 1 */
-}
-
-/**
- * 1. Correct the odd appearance in Chrome, Edge, and Safari.
- * 2. Correct the outline style in Safari.
- */
-
-[type="search"] {
- -webkit-appearance: textfield; /* 1 */
- outline-offset: -2px; /* 2 */
-}
-
-/**
- * Correct the cursor style of increment and decrement buttons in Safari.
- */
-
-::-webkit-inner-spin-button,
-::-webkit-outer-spin-button {
- block-size: auto;
-}
-
-/**
- * Correct the text style of placeholders in Chrome, Edge, and Safari.
- */
-
-::-webkit-input-placeholder {
- color: inherit;
- opacity: 0.54;
-}
-
-/**
- * Remove the inner padding in Chrome, Edge, and Safari on macOS.
- */
-
-::-webkit-search-decoration {
- -webkit-appearance: none;
-}
-
-/**
- * 1. Correct the inability to style upload buttons in iOS and Safari.
- * 2. Change font properties to `inherit` in Safari.
- */
-
-::-webkit-file-upload-button {
- -webkit-appearance: button; /* 1 */
- font: inherit; /* 2 */
-}
-
-/* Interactive
- * ========================================================================== */
-
-[hidden] {
- display: none !important;
-}
-
-:focus-visible {
- outline: .2em solid var(--accent);
- z-index: 32;
-}
-
-iframe:focus-visible,
- html:focus-visible,
- body:focus-visible {
- outline: none;
- }
-
-:target {
- outline: .2em solid var(--fg);
- z-index: 2;
-}
-
-/*
- * Add the correct display in Safari.
- */
-
-details > summary:first-of-type {
- display: list-item;
-}
-
-/* Accessibility
- * ========================================================================== */
-
-/**
- * Change the cursor on busy elements in all browsers (opinionated).
- */
-
-[aria-busy="true"] {
- cursor: progress;
-}
-
-/*
- * Change the cursor on disabled, not-editable, or otherwise
- * inoperable elements in all browsers (opinionated).
- */
-
-[aria-disabled="true"], [disabled] {
- cursor: not-allowed;
-}
-
-datalist {
- display: none !important;
-}
-
-/* https://github.com/fchristant/colar/ */
-
-:root {
- --gray-0: #f8fafb;
- --gray-1: #f2f4f6;
- --gray-2: #ebedef;
- --gray-3: #e0e4e5;
- --gray-4: #d1d6d8;
- --gray-5: #b1b6b9;
- --gray-6: #979b9d;
- --gray-7: #7e8282;
- --gray-8: #666968;
- --gray-9: #50514f;
- --gray-10: #3a3a37;
- --gray-11: #252521;
- --gray-12: #121210;
-
- --red-0: #fff5f5;
- --red-1: #ffe3e3;
- --red-2: #ffc9c9;
- --red-3: #ffa8a8;
- --red-4: #ff8787;
- --red-5: #ff6b6b;
- --red-6: #fa5252;
- --red-7: #f03e3e;
- --red-8: #e03131;
- --red-9: #c92a2a;
- --red-10: #b02525;
- --red-11: #962020;
- --red-12: #7d1a1a;
-
- --pink-0: #fff0f6;
- --pink-1: #ffdeeb;
- --pink-2: #fcc2d7;
- --pink-3: #faa2c1;
- --pink-4: #f783ac;
- --pink-5: #f06595;
- --pink-6: #e64980;
- --pink-7: #d6336c;
- --pink-8: #c2255c;
- --pink-9: #a61e4d;
- --pink-10: #8c1941;
- --pink-11: #731536;
- --pink-12: #59102a;
-
- --purple-0: #f8f0fc;
- --purple-1: #f3d9fa;
- --purple-2: #eebefa;
- --purple-3: #e599f7;
- --purple-4: #da77f2;
- --purple-5: #cc5de8;
- --purple-6: #be4bdb;
- --purple-7: #ae3ec9;
- --purple-8: #9c36b5;
- --purple-9: #862e9c;
- --purple-10: #702682;
- --purple-11: #5a1e69;
- --purple-12: #44174f;
-
- --violet-0: #f3f0ff;
- --violet-1: #e5dbff;
- --violet-2: #d0bfff;
- --violet-3: #b197fc;
- --violet-4: #9775fa;
- --violet-5: #845ef7;
- --violet-6: #7950f2;
- --violet-7: #7048e8;
- --violet-8: #6741d9;
- --violet-9: #5f3dc4;
- --violet-10: #5235ab;
- --violet-11: #462d91;
- --violet-12: #3a2578;
-
- --indigo-0: #edf2ff;
- --indigo-1: #dbe4ff;
- --indigo-2: #bac8ff;
- --indigo-3: #91a7ff;
- --indigo-4: #748ffc;
- --indigo-5: #5c7cfa;
- --indigo-6: #4c6ef5;
- --indigo-7: #4263eb;
- --indigo-8: #3b5bdb;
- --indigo-9: #364fc7;
- --indigo-10: #2f44ad;
- --indigo-11: #283a94;
- --indigo-12: #21307a;
-
- --blue-0: #e7f5ff;
- --blue-1: #d0ebff;
- --blue-2: #a5d8ff;
- --blue-3: #74c0fc;
- --blue-4: #4dabf7;
- --blue-5: #339af0;
- --blue-6: #228be6;
- --blue-7: #1c7ed6;
- --blue-8: #1971c2;
- --blue-9: #1864ab;
- --blue-10: #145591;
- --blue-11: #114678;
- --blue-12: #0d375e;
-
- --cyan-0: #e3fafc;
- --cyan-1: #c5f6fa;
- --cyan-2: #99e9f2;
- --cyan-3: #66d9e8;
- --cyan-4: #3bc9db;
- --cyan-5: #22b8cf;
- --cyan-6: #15aabf;
- --cyan-7: #1098ad;
- --cyan-8: #0c8599;
- --cyan-9: #0b7285;
- --cyan-10: #095c6b;
- --cyan-11: #074652;
- --cyan-12: #053038;
-
- --teal-0: #e6fcf5;
- --teal-1: #c3fae8;
- --teal-2: #96f2d7;
- --teal-3: #63e6be;
- --teal-4: #38d9a9;
- --teal-5: #20c997;
- --teal-6: #12b886;
- --teal-7: #0ca678;
- --teal-8: #099268;
- --teal-9: #087f5b;
- --teal-10: #066649;
- --teal-11: #054d37;
- --teal-12: #033325;
-
- --green-0: #ebfbee;
- --green-1: #d3f9d8;
- --green-2: #b2f2bb;
- --green-3: #8ce99a;
- --green-4: #69db7c;
- --green-5: #51cf66;
- --green-6: #40c057;
- --green-7: #37b24d;
- --green-8: #2f9e44;
- --green-9: #2b8a3e;
- --green-10: #237032;
- --green-11: #1b5727;
- --green-12: #133d1b;
-
- --lime-0: #f4fce3;
- --lime-1: #e9fac8;
- --lime-2: #d8f5a2;
- --lime-3: #c0eb75;
- --lime-4: #a9e34b;
- --lime-5: #94d82d;
- --lime-6: #82c91e;
- --lime-7: #74b816;
- --lime-8: #66a80f;
- --lime-9: #5c940d;
- --lime-10: #4c7a0b;
- --lime-11: #3c6109;
- --lime-12: #2c4706;
-
- --yellow-0: #fff9db;
- --yellow-1: #fff3bf;
- --yellow-2: #ffec99;
- --yellow-3: #ffe066;
- --yellow-4: #ffd43b;
- --yellow-5: #fcc419;
- --yellow-6: #fab005;
- --yellow-7: #f59f00;
- --yellow-8: #f08c00;
- --yellow-9: #e67700;
- --yellow-10: #b35c00;
- --yellow-11: #804200;
- --yellow-12: #663500;
-
- --orange-0: #fff4e6;
- --orange-1: #ffe8cc;
- --orange-2: #ffd8a8;
- --orange-3: #ffc078;
- --orange-4: #ffa94d;
- --orange-5: #ff922b;
- --orange-6: #fd7e14;
- --orange-7: #f76707;
- --orange-8: #e8590c;
- --orange-9: #d9480f;
- --orange-10: #bf400d;
- --orange-11: #99330b;
- --orange-12: #802b09;
-
- --choco-0: #fff8dc;
- --choco-1: #fce1bc;
- --choco-2: #f7ca9e;
- --choco-3: #f1b280;
- --choco-4: #e99b62;
- --choco-5: #df8545;
- --choco-6: #d46e25;
- --choco-7: #bd5f1b;
- --choco-8: #a45117;
- --choco-9: #8a4513;
- --choco-10: #703a13;
- --choco-11: #572f12;
- --choco-12: #3d210d;
-
- --brown-0: #faf4eb;
- --brown-1: #ede0d1;
- --brown-2: #e0cab7;
- --brown-3: #d3b79e;
- --brown-4: #c5a285;
- --brown-5: #b78f6d;
- --brown-6: #a87c56;
- --brown-7: #956b47;
- --brown-8: #825b3a;
- --brown-9: #6f4b2d;
- --brown-10:#5e3a21;
- --brown-11:#4e2b15;
- --brown-12: #422412;
-
- --sand-0: #f8fafb;
- --sand-1: #e6e4dc;
- --sand-2: #d5cfbd;
- --sand-3: #c2b9a0;
- --sand-4: #aea58c;
- --sand-5: #9a9178;
- --sand-6: #867c65;
- --sand-7: #736a53;
- --sand-8: #5f5746;
- --sand-9: #4b4639;
- --sand-10:#38352d;
- --sand-11:#252521;
- --sand-12: #121210;
-
- --camo-0: #f9fbe7;
- --camo-1: #e8ed9c;
- --camo-2: #d2df4e;
- --camo-3: #c2ce34;
- --camo-4: #b5bb2e;
- --camo-5: #a7a827;
- --camo-6: #999621;
- --camo-7: #8c851c;
- --camo-8: #7e7416;
- --camo-9: #6d6414;
- --camo-10: #5d5411;
- --camo-11: #4d460e;
- --camo-12: #36300a;
-
- --jungle-0: #ecfeb0;
- --jungle-1: #def39a;
- --jungle-2: #d0e884;
- --jungle-3: #c2dd6e;
- --jungle-4: #b5d15b;
- --jungle-5: #a8c648;
- --jungle-6: #9bbb36;
- --jungle-7: #8fb024;
- --jungle-8: #84a513;
- --jungle-9: #7a9908;
- --jungle-10: #658006;
- --jungle-11: #516605;
- --jungle-12: #3d4d04;
-}
-
-/***
- 4.1 The document element
- https://html.spec.whatwg.org/multipage/semantics.html#the-root-element
-
- 4.3 Sections
- https://html.spec.whatwg.org/multipage/sections.html
- ***/
-
-html {
- font-family: var(--main-font);
- line-height: var(--rhythm);
-
- background: var(--bg);
- color: var(--fg);
- scroll-padding-block-start: calc(4 * var(--gap));
-}
-
-body {
- margin: 0;
-}
-
-header, footer, section + section {
- margin-block: calc(2 * var(--gap));
-}
-
-nav a {
- text-decoration: none;
- color: var(--accent);
- }
-
-/* SEE components/box.css */
-
-aside h1,
- aside h2,
- aside h3,
- aside h4,
- aside h5,
- aside h6 {
- font-size: 1em;
- text-transform: none;
- letter-spacing: none;
- }
-
-h1, h2, h3, h4, h5, h6,
-.\<h1\>, .\<h2\>, .\<h3\>, .\<h4\>, .\<h5\>, .\<h6\> {
- margin-block-end: var(--gap);
- font-family: var(--secondary-font);
- font-size: 1em;
- margin-block-start: calc(2 * var(--gap));
- position: relative;
-}
-
-h1, .\<h1\> {
- font-size: 2em;
- text-transform: none;
- line-height: calc(2 * var(--rhythm));
- letter-spacing: 0;
-}
-
-h2, .\<h2\> {
- font-size: 1.6em;
- text-transform: none;
- line-height: calc(1.5 * var(--rhythm));
- letter-spacing: 0;
-}
-
-h3, .\<h3\> {
- font-size: 1.17em;
- line-height: calc(1 * var(--rhythm));
-}
-
-h4, .\<h4\>, h5, .\<h5\>, h6, .\<h6\> {
- font-size: 1em;
- text-transform: none;
- line-height: calc(1 * var(--rhythm));
- letter-spacing: 0;
- margin-block-start: var(--gap);
-}
-
-h1 + h2,
-h2 + h3,
-h3 + h4,
-h4 + h5,
-h5 + h6,
-h1:first-child,
-h2:first-child,
-h3:first-child,
-h4:first-child,
-h5:first-child,
-h6:first-child {
- margin-block-start: var(--gap);
-}
-
-h1:target,
-h2:target,
-h3:target,
-h4:target,
-h5:target,
-h6:target {
- outline: none
-}
-
-h1:target::before, h2:target::before, h3:target::before, h4:target::before, h5:target::before, h6:target::before {
- content: "";
- display: block;
- position: absolute;
- left: -.5em;
- width: 4px;
- height: 100%;
- background: var(--accent);
- }
-
-header {
- font-family: var(--secondary-font);
- border-block-end: 1px solid var(--faded-fg);
-}
-
-footer {
- font-family: var(--secondary-font);
- border-block-start: 1px solid var(--faded-fg);
-}
-
-body > header,
-body > footer,
-main + footer {
- padding: var(--rhythm) calc((100% - var(--eff-line-length)) / 2)
-}
-
-address {
- --density: 0;
-}
-
-/***
- 4.4 Grouping content
- https://html.spec.whatwg.org/multipage/grouping-content.html
- ***/
-
-p {
- margin-block: var(--gap);
-}
-
-hr {
- color: inherit;
- margin-inline: 0;
- margin-block: var(--gap);
-
- flex: 0 1 0px;
- border-inline-start: 1px solid var(--accent);
- block-size: auto;
- border-block-start: 1px solid var(--accent);
- border-block-end: none;
- border-inline-end: none;
-}
-
-pre {
- font-family: var(--mono-font);
- font-size: .9em;
- line-height: var(--rhythm);
- -o-tab-size: 2;
- tab-size: 2;
-
- margin: var(--gap) 0;
-
- overflow-x: auto;
- scrollbar-width: thin;
- scrollbar-color: var(--accent) transparent;
-}
-
-blockquote {
- margin-inline: 0 var(--gap);
- padding-inline: var(--gap) 0;
- margin-block: var(--gap);
-
- font-size: 1.1em;
- line-height: var(--rhythm);
- font-style: italic;
-
- border-inline-start: 1px solid var(--faded-fg);
- color: var(--muted-fg)
-}
-
-blockquote em, blockquote cite, blockquote dfn, blockquote var, blockquote i, blockquote address {
- font-style: normal;
- }
-
-blockquote footer {
- text-align: right;
- text-align: end;
- }
-
-ul, ol {
- padding-inline-start: var(--rhythm)
-}
-
-ul ul, ul ol, ol ul, ol ol {
- padding-inline-start: var(--gap);
- }
-
-ul[role="list"], ol[role="list"] {
- padding-inline-start: 0;
- list-style: none;
- }
-
-ul {
-}
-
-ol {
- list-style: decimal;
-}
-
-dl {
- margin-block: var(--gap);
-}
-
-dt {
- font-weight: bold;
- }
-
-dd {
- margin-inline-start: var(--rhythm);
- }
-
-li::marker {
- font-family: var(--secondary-font);
-}
-
-figure {
- max-width: 100%;
- margin-inline: 0;
-
- /* SEE components/box.css */
-}
-
-figcaption {
- margin-block: var(--gap);
-
- font-family: var(--secondary-font);
-
- color: var(--muted-fg);
-}
-
-main {
- max-inline-size: var(--eff-line-length);
- margin: auto
-}
-
-main:first-child { padding-top: var(--gap); }
-
-/***
- 4.5 Text-level semantics
- https://html.spec.whatwg.org/multipage/text-level-semantics.html
-
- 4.7 Edits
- https://html.spec.whatwg.org/multipage/edits.html
- ***/
-
-/* Text-level semantics */
-
-a {
- color: var(--link-fg, var(--accent));
- font-family: var(--secondary-font);
- border-radius: var(--border-radius);
- outline-offset: 1px
-}
-
-.list-of-links a {
- text-decoration: none
-}
-
-a:hover, a:focus {
- text-decoration: none;
- outline: 1px solid;
- transition: outline-offset .1s ease-in-out;
- }
-
-a:active {
- outline-offset: 0;
- }
-
-span > small:only-child {
- /***
- Sidenote
- ***/
- display: block;
- float: inline-end;
- clear: inline-end;
-
- --sidenote-width: 20ch;
-
- max-inline-size: var(--sidenote-width);
- padding-inline: 1.5ch 1ch;
-
- margin-inline-end: calc(1em - var(--sidenote-width));
- margin-block-end: var(--rhythm);
-
- font-family: var(--secondary-font);
-
- background: var(--bg);
- border: 1px solid transparent;
-
- transition: transform .1s ease-in-out
-}
-
-span > small:only-child:hover, span > small:only-child:focus-within {
- border: 1px solid var(--faded-fg);
- border-radius: var(--border-radius);
- transform: translateX(calc(
- 0px - var(--sidenote-width)
- + min(var(--gutter-width), var(--sidenote-width))
- ))
- }
-
-s {
- color: var(--bad-fg);
-}
-
-q {
- font-style: italic
-}
-
-q em, q cite, q dfn, q var, q i, q address {
- font-style: normal;
- }
-
-time {
- font-variant-numeric: tabular-nums;
-}
-
-code, samp, kbd {
- font-family: var(--mono-font);
-}
-
-samp {
- color: var(--ok-fg);
-}
-
-kbd kbd /*
- We apply the key-like styling to a nested kbd element, a pattern shown in
- WHATWG HTML for marking up keyboard input:
-
- > Here the kbd element is used to indicate keys to press:
- > ~~~ html
- > <p>To make George eat an apple, press <kbd><kbd>Shift</kbd> + <kbd>F3</kbd></kbd></p>
- > ~~~
-
- The plain kbd element can also be used for clicking menus (<kbd>File |
- New...</kbd>) or voice input (<kbd>Hey Siri, </kbd>)
-*/ {
- display: inline-block;
-
- padding: 0 .3em;
- font-size: .8em;
- line-height: 1.1em;
-
- background: var(--interactive-bg);
- border: 1px outset var(--faded-fg);
- border-block-end-width: 3px;
- border-radius: var(--border-radius);
-}
-
-sub {
- vertical-align: bottom;
- line-height: 1;
-}
-
-sup {
- vertical-align: top;
- line-height: 1;
-}
-
-mark {
- background: var(--warn-bg);
- color: var(--warn-fg);
-}
-
-/* Edits */
-
-ins {
- background: var(--ok-bg);
- color: var(--ok-fg);
-}
-
-del {
- background: var(--bad-bg);
- color: var(--bad-fg);
-}
-
-/***
- 4.8 Embedded content
- https://html.spec.whatwg.org/multipage/embedded-content.html
- ***/
-
-img, video, audio, iframe, object, embed {
- max-inline-size: 100%;
- inline-size: max-content;
- block-size: auto;
-}
-
-/***
- 4.9 Tabular data
- https://html.spec.whatwg.org/multipage/tables.html
- ***/
-
-table {
- font-variant-numeric: tabular-nums;
- font: inherit;
-}
-
-caption {
- text-align: start;
- font-family: var(--secondary-font);
- font-style: italic;
-}
-
-tbody {
- border-block: 1px solid var(--fg);
-}
-
-thead {
-}
-
-tfoot {
-}
-
-tr {
-
-}
-
-td, th {
- vertical-align: top
-}
-
-td:not(:last-child), th:not(:last-child) {
- padding-inline-end: var(--rhythm);
- }
-
-td {
- }
-
-th {
- font-family: var(--secondary-font);
- text-align: start;
- }
-
-/***
- 4.10 Forms
- https://html.spec.whatwg.org/multipage/forms.html
- ***/
-
-input { display: block; }
-
-label input:not([specificity-hack]) { display: inline; padding-block: 0; }
-
-button,
-input[type="submit"],
-input[type="reset"],
-input[type="button"],
-input::file-selector-button,
-.\<button\> {
- display: inline-block;
- padding: 0 calc(var(--rhythm) / 4);
- vertical-align: top;
-
- font-size: .8rem;
- line-height: 1.125em;
- font-family: var(--secondary-font);
- min-height: var(--rhythm);
-
- background: var(--interactive-bg);
- color: var(--fg);
- border: 1px solid var(--muted-fg);
- box-sizing: border-box;
- border-radius: var(--border-radius);
-
- /* a-specific resets */
- color: var(--fg);
- text-decoration: none;
- display: inline-flex;
- place-items: center
-}
-
-:is(button,input[type="submit"],input[type="reset"],input[type="button"],input::file-selector-button,.\<button\>):hover, :is(button,input[type="submit"],input[type="reset"],input[type="button"],input::file-selector-button,.\<button\>):focus-visible {
- filter: brightness(1.1);
-
- /* a-specific resets */
- text-decoration: none;
- }
-
-:is(button,input[type="submit"],input[type="reset"],input[type="button"],input::file-selector-button,.\<button\>):active {
- filter: brightness(.8);
- }
-
-[aria-pressed="true"]:is(button,input[type="submit"],input[type="reset"],input[type="button"],input::file-selector-button,.\<button\>), [aria-expanded="true"]:is(button,input[type="submit"],input[type="reset"],input[type="button"],input::file-selector-button,.\<button\>) {
- box-shadow: 0 .05em var(--accent);
- transform: translateY(.05em);
- background: var(--pressed-interactive-bg);
- }
-
-[disabled]:is(button,input[type="submit"],input[type="reset"],input[type="button"],input::file-selector-button,.\<button\>) {
- color: var(--muted-fg);
- }
-
-strong > :is(button,input[type="submit"],input[type="reset"],input[type="button"],input::file-selector-button,.\<button\>) {
- background: var(--accent);
- color: var(--bg);
- border: none;
- font-weight: bold
-}
-
-strong > [disabled]:is(button,input[type="submit"],input[type="reset"],input[type="button"],input::file-selector-button,.\<button\>) {
- color: var(--muted-accent);
- }
-
-input:not([type]),
-input[type="text"],
-input[type="search"],
-input[type="tel"],
-input[type="url"],
-input[type="email"],
-input[type="password"],
-input[type="date"],
-input[type="month"],
-input[type="week"],
-input[type="time"],
-input[type="datetime"],
-input[type="datetime-local"],
-input[type="number"],
-select,
-textarea {
- padding: calc(var(--rhythm) / 4);
- vertical-align: top;
-
- font-size: 1rem;
- line-height: inherit;
- font-family: var(--main-font);
-
- background: var(--bg);
- color: var(--fg);
- border: 1px solid var(--faded-fg);
- border-radius: var(--border-radius);
-
- vertical-align: top
-}
-
-:is(input:not([type]),input[type="text"],input[type="search"],input[type="tel"],input[type="url"],input[type="email"],input[type="password"],input[type="date"],input[type="month"],input[type="week"],input[type="time"],input[type="datetime"],input[type="datetime-local"],input[type="number"],select,textarea):focus-visible {
- border: 1px solid var(--accent);
- }
-
-:is(input:not([type]),input[type="text"],input[type="search"],input[type="tel"],input[type="url"],input[type="email"],input[type="password"],input[type="date"],input[type="month"],input[type="week"],input[type="time"],input[type="datetime"],input[type="datetime-local"],input[type="number"],select,textarea)::placeholder {
- color: var(--muted-fg);
- opacity: 1;
- text-align: end;
- }
-
-input[type="range"] {
- width: 100%;
- padding: calc(var(--gap) / 4);
-}
-
-input[type="color"] {
- padding: 0;
- margin: 0;
- height: calc(1.5 * var(--rhythm));
-
- border: none;
- background: none;
-}
-
-input[type="file"] {
- padding: calc(var(--gap) / 4) 0;
- font: inherit;
- line-height: calc(var(--rhythm) / 2)
-}
-
-input[type="file"]::file-selector-button {
- margin-block: .1em 0;
- margin-inline-end: 1ch;
- }
-
-select[multiple] {
- vertical-align: top;
-}
-
-optgroup::before {
- color: var(--muted-fg);
- font-style: normal;
-}
-
-progress {
- /* TODO */
-}
-
-meter {
- /* TODO */
-}
-
-label[for] {
- display: block;
- padding-block: calc(var(--gap) / 4);
-}
-
-fieldset {
- position: relative;
-
- padding: var(--gap);
- margin: var(--gap) 0;
- width: 100%;
- border-radius: var(--border-radius);
-}
-
-fieldset > legend + * { margin-block-start: 0 }
-
-fieldset {
-
- border: 1px solid var(--faded-fg);
-}
-
-/***
- 4.11 Interactive elements
- https://html.spec.whatwg.org/multipage/interactive-elements.html#interactive-elements
- ***/
-
-details {
- /* SEE components/box.css */
-
- padding-block-start: 0
-}
-
-details:not([open]) { padding-block-end: 0; }
-
-summary {
- margin: calc(0px - var(--gap));
- margin-top: calc(0px - var(--gap));
- margin-bottom: 0;
- padding-inline: var(--gap);
-
- font-family: var(--secondary-font);
- font-weight: bold;
-
- background: var(--accent);
- color: var(--bg);
-
- cursor: pointer
-}
-
-summary:focus-visible, summary:active {
- filter: brightness(.8);
- }
-
-details[open] summary {
- border-block-end: 1px solid var(--accent);
- border-end-end-radius: 0;
- border-end-start-radius: 0
-}
-
-dialog {
- /* SEE components/box.css */
-
- position: absolute;
- inline-inset: 0;
-
- block-size: -moz-fit-content;
-
- block-size: fit-content;
- inline-size: -moz-fit-content;
- inline-size: fit-content;
-
- margin: auto !important;
-
- background-color: var(--bg);
- color: var(--fg);
- border-color: var(--accent);
-}
-
-dialog[open]::backdrop {
- display: block;
- background: black;
- opacity: .4;
- animation: bg 2s;
-}
-
-@keyframes bg {
- from { background: transparent; }
-}
-
-dialog:not([open]) {
- display: none;
-}
-
-.box,
-/* defined elsewhere */
-[role=menu],
-.sidebar-layout > header,
-[role=tabpanel],
-figure,
-details,
-dialog,
-aside {
- margin: var(--gap) 0;
- padding: var(--gap);
- overflow: clip;
-
- border-radius: var(--border-radius);
- background: var(--box-bg);
- border: 1px solid var(--faded-fg);
-}
-
-.titlebar {
- margin-inline: calc(0px - var(--gap));
- margin-block-end: calc(0px - var(--gap));
- padding-inline: var(--gap);
-
- font: inherit;
- font-family: var(--secondary-font);
- font-weight: bold;
-
- translate: 0 calc(-1px - var(--gap));
-
- background: var(--faded-fg);
- color: var(--bg);
-}
-
-.sub-title, sub-title {
- /***
- Meant for use in headings. Make sure to also use visually-hidden punctuation
- to mark the subtitle as shown below:
-
- 1 | <h1>
- 2 | Foo Bar<v-h>:</v-h>
- 3 | <sub-title>How I Learned To Stop Worrying and Love Baz</sub-title>
- 4 | </h1>
-
- 1 | <h1>
- 2 | <sub-title class="-allcaps">Breaking News</sub-title><v-h>:</v-h>
- 3 | Bad Thing Happens
- 4 | <h1>
- ***/
-
- display: block;
-
- font-weight: normal;
-
- color: var(--muted-fg);
-}
-
-.tool-bar, [role=toolbar] {
- display: flex;
- flex-flow: row wrap;
- gap: calc(var(--gap) / 2)
-}
-
-.tool-bar > *, [role=toolbar] > * { margin: 0; }
-
-.sidebar-layout header li {
- margin-block: calc(.5 * var(--gap));
- }
-
-.sidebar-layout header a {
- font-weight: bold;
- }
-
-@media (min-width: 75ch) {
-
-.sidebar-layout {
- display: grid;
- grid-template-columns: 25ch auto;
- inset: 0
-}
-
- .sidebar-layout > header {
- border-block: none;
- border-inline-start: none;
- margin: 0;
- }
-
- .sidebar-layout > :nth-child(2) {
- overflow: scroll;
- --full-width: calc(100vw - 25ch);
- }
- }
-
-.breadcrumbs[aria-label] {
- font-family: var(--secondary-font)
-}
-
-.breadcrumbs[aria-label] ul, .breadcrumbs[aria-label] ol {
- list-style: none;
- padding-inline-start: 0;
- }
-
-.breadcrumbs[aria-label] li {
- display: inline
- }
-
-:is(.breadcrumbs[aria-label] li)+li::before {
- content: ' / ' / '';
- content: ' / ';
- display: inline;
- }
-
-.breadcrumbs[aria-label] [aria-current="page"] {
- font-weight: bold;
- }
-
-.chip, chip {
- font-family: var(--secondary-font);
- border: 1px solid var(--accent);
- background: var(--box-bg);
- border-radius: calc(var(--rhythm) / 2);
- padding-inline: calc(var(--rhythm) / 2);
-}
-
-.navbar {
- padding: var(--rhythm);
-
- font-family: var(--secondary-font);
-
- background: var(--box-bg);
- border-block-end: 1px solid var(--accent);
-
- overflow-x: auto;
- scrollbar-width: thin;
-
- position: sticky;
- z-index: 5;
- top: 0;
- left: 0;
- right: 0;
-
- /* Inner layout */
- display: flex;
- flex-flow: row;
- align-items: center;
- gap: var(--gap)
-}
-
-.navbar.expanded {
- flex-flow: column;
- align-items: start;
-
- max-height: 90vh;
- overflow-y: auto
- }
-
-.navbar.expanded ul[role="list"] { flex-flow: column; }
-
-.navbar * {
- flex-shrink: 0;
- margin-block: 0;
- }
-
-.navbar:not(.expanded) > :first-child, .navbar:not(.expanded) nav > :first-child { margin-inline-start: auto; }
-
-.navbar:not(.expanded) > :last-child, .navbar:not(.expanded) nav > :last-child { margin-inline-end: auto; }
-
-.navbar hr { align-self: stretch; }
-
-.navbar nav ul[role="list"] {
- display: flex;
- flex-flow: row;
- gap: var(--rhythm)
- }
-
-.navbar nav ul[role="list"] * { flex-shrink: 0 }
-
-.navbar nav ul[role="list"] {
- padding-inline-start: 0;
- }
-
-.navbar a {
- font-weight: bold;
- text-decoration: none;
- padding-inline: .2em;
- }
-
-.navbar a:hover, .navbar a:focus {
- text-decoration: underline;
- }
-
-.navbar [aria-current=page] {
- position: relative;
- }
-
-.navbar [aria-current=page]::after {
- width: 100%;
- height: 6px;
- content: "";
- display: block;
- position: absolute;
- bottom: calc(-1 * var(--gap));
- background: currentcolor;
- }
-
-.navbar.expanded [aria-current=page]::after {
- width: 6px;
- height: 100%;
- position: absolute;
- left: calc(-1 * var(--gap));
- top: 0;
- }
-
-.permalink-anchor {
- display: none
-}
-
-*:hover > .permalink-anchor {
- display: initial
-}
-
-button.iconbutton {
- border: none;
- background: none;
- color: currentcolor;
- padding: 0;
- line-height: var(--rhythm);
- font-size: 24px;
- width: 24px;
- height: 24px;
- display: inline-block;
- text-align: center;
- border-radius: 50%;
- transition: font-weight .2s ease-in-out
-}
-
-button.iconbutton:hover, button.iconbutton:focus-visible {
- outline: 1px solid var(--accent);
- outline-offset: 6px;
- }
-
-button.iconbutton:active {
- outline-offset: 3px;
- background: none;
- }
-
-button.iconbutton[aria-pressed=true] {
- box-shadow: none;
- transform: none;
- }
-
-[role="tablist"] {
- display: flex;
- gap: .5ch;
- scrollbar-width: thin;
-}
-
-[role="tab"][role="tab"] {
- all: initial;
-
- font-family: var(--secondary-font);
-
- padding: 0 calc(var(--rhythm) / 4);
- margin: 0;
- min-height: var(--rhythm);
-
- color: var(--fg);
- border: solid var(--faded-fg);
- border-width: 1px 1px 0 1px;
- border-block-end-color: transparent;
- background: var(--interactive-bg);
-
- border-start-start-radius: .4em;
- border-start-end-radius: .4em
-}
-
-[role="tab"][role="tab"]:active, [role="tab"][role="tab"][aria-selected="true"] {
- transform: none;
- bottom: -1px;
- position: relative;
- background: var(--box-bg);
- border-block-end: 1px solid var(--box-bg);
- }
-
-[role="tab"][role="tab"]:hover {
- background-color: var(--box-bg);
- }
-
-[role="tab"][role="tab"]:focus {
- background-color: var(--box-bg);
- border-color: var(--accent);
- outline: 1px solid var(--accent);
- }
-
-[role="tabpanel"] {
- /* SEE components/box.css */
-
- margin-block-start: 0;
- border-start-start-radius: 0;
- border-start-end-radius: 0;
- z-index: 1;
-}
-
-[role="menu"] {
- /* SEE components/box.css */
- position: absolute;
-
- z-index: 10;
-
- padding: calc(var(--gap) / 2) 0;
- margin: 1px 0 0 0;
-
- display: flex;
- flex-flow: column nowrap;
-}
-
-[role=menuitem] {
- padding: 0 calc(var(--gap) / 2);
-
- display: block;
-
- text-decoration: none;
- border-radius: 0;
-
- color: var(--fg)
-}
-
-[role=menuitem]:focus {
- background: var(--accent);
- color: var(--bg);
- }
-
-[role=listbox] {
- list-style: none
-}
-
-ul[role=listbox] {
- padding-inline-start: 0
-}
-
-[role=listbox] [role=option] {
- margin-inline: calc(-1 * var(--gap));
- padding-inline: var(--gap);
- }
-
-[role=listbox] [role=option][aria-selected=true] {
- background: var(--interactive-bg);
- }
-
-[role=listbox] .active[role=option] {
- --temporary-bg: var(--accent);
- --temporary-fg: var(--bg);
- --temporary-accent: parent-var(--muted-accent);
- --temporary-muted-accent: parent-var(--box-bg);
-
- background: var(--temporary-bg);
- color: var(--temporary-fg)
- }
-
-[role=listbox] .active[role=option] > * {
- --bg: var(--temporary-bg);
- --fg: var(--temporary-fg);
- --accent: var(--temporary-accent);
- --muted-accent: var(--temporary-muted-accent);
- }
-
-[aria-orientation="vertical"] {
- flex-direction: column;
- width: -moz-fit-content;
- width: fit-content;
- text-align: center;
-}
-
-.plain {
- --box-bg: var(--plain-bg);
- --accent: var(--plain-fg);
- --faded-fg: var(--plain-faded-fg);
-}
-
-.info {
- --box-bg: var(--info-bg);
- --accent: var(--info-fg);
- --faded-fg: var(--info-faded-fg);
-}
-
-.ok {
- --box-bg: var(--ok-bg);
- --accent: var(--ok-fg);
- --faded-fg: var(--ok-faded-fg);
-}
-
-.warn {
- --box-bg: var(--warn-bg);
- --accent: var(--warn-fg);
- --faded-fg: var(--warn-faded-fg);
-}
-
-.bad {
- --box-bg: var(--bad-bg);
- --accent: var(--bad-fg);
- --faded-fg: var(--bad-faded-fg);
-}
-
-.color {
- color: var(--accent);
-}
-
-.bg {
- background: var(--box-bg);
-}
-
-.border {
- border-style: solid;
- border-color: var(--faded-fg);
-}
-
-:root {
- /* Colors */
- --fg: var(--gray-12); /* Text. */
- --muted-fg: var(--gray-10); /* De-emphasized or disabled elements' text. Will be
- used with a background of --c-bg and --c-bg-2 -- check contrast! */
- --faded-fg: var(--plain-faded-fg); /* De-emphasized or disabled graphical elements. Will not
- be used as a text color. */
-
- --plain-fg: var(--blue-10);
- --info-fg: var(--blue-11);
- --ok-fg: var(--green-11);
- --bad-fg: var(--red-11);
- --warn-fg: var(--yellow-11);
-
- --plain-faded-fg: var(--gray-6);
- --info-faded-fg: var(--blue-6);
- --ok-faded-fg: var(--green-6);
- --bad-faded-fg: var(--red-6);
- --warn-faded-fg: var(--yellow-6);
-
- --bg: var(--gray-0); /* Page background. */
- --box-bg: var(--plain-bg); /* Background for blocks: cards, admonitions etc. */
- --interactive-bg: var(--gray-4); /* Background for interactive elements */
-
- --plain-bg: var(--gray-1);
- --info-bg: var(--blue-1);
- --ok-bg: var(--green-1);
- --bad-bg: var(--red-1);
- --warn-bg: var(--yellow-1);
-
- --accent: var(--blue-10); /* Accent color. Will be used *as a text color* with a
- background of --c-bg and --c-bg-2 -- check contrast! */
- --muted-accent: var(--blue-7); /* Muted accent color. Will not be used for text. */
-
- /* Lengths */
- --rhythm: 1.4rem; /* Vertical rhythm, line height. */
- --line-length: 40rem; /* Maximum line length for prose. */
- --border-radius: .2rem;
-
- /* Fonts */
- --main-font: 'Source Sans 3', 'Source Sans Pro', -apple-system, system-ui, sans-serif;
- --secondary-font: var(--main-font); /* Headings etc. */
- --mono-font: 'M Plus Code Latin', monospace, monospace; /* monospace twice stops browsers from
- shrinking this */
-
- /* Density */
- --density: 1;
-
- /* Width */
- --full-width: 100vw;
-
- /* Do not set these. */
- --eff-line-length: /* Effective line length for prose. */
- min(
- calc( var(--full-width) - (2 * var(--rhythm)) ),
- var(--line-length)
- );
-
- --gutter-width: /* Width of spaces at each side of page content. */
- calc(
- (
- var(--full-width) /* Viewport width */
- - var(--eff-line-length) /* minus line width */
- ) / 2); /* Divide by 2: there are two page margins */
-}
-
-@media (prefers-color-scheme: dark) {
- :root:not(.-no-dark-theme) {
- --fg: var(--gray-0);
- --muted-fg: var(--gray-2);
- --faded-fg: var(--gray-7);
-
- --plain-bg: var(--gray-11);
- --info-bg: var(--blue-12);
- --ok-bg: var(--green-12);
- --bad-bg: var(--red-12);
- --warn-bg: var(--yellow-12);
-
- --plain-faded-fg: var(--blue-6);
- --info-faded-fg: var(--blue-6);
- --ok-faded-fg: var(--green-6);
- --bad-faded-fg: var(--red-6);
- --warn-faded-fg: var(--yellow-6);
-
- --bg: var(--gray-12);
- --box-bg: var(--gray-10);
- --interactive-bg: var(--gray-8);
-
- --plain-fg: (--blue-3);
- --info-fg: var(--blue-3);
- --ok-fg: var(--green-3);
- --bad-fg: var(--red-3);
- --warn-fg: var(--yellow-3);
-
- --accent: var(--blue-3);
- --muted-accent: var(--blue-5);
- }
-}
-
-* {
- --gap: calc(var(--rhythm) * var(--density));
- accent-color: var(--accent);
-}
-
-.textcolumns {
- --col-width: 30ch;
- column-width: var(--col-width);
- column-gap: var(--gap);
- margin-block: var(--gap)
-}
-
-.textcolumns :first-child { margin-block-start: 0 !important }
-
-.text-align\:center {
- text-align: center;
-}
-
-.center {
- display: grid;
- place-items: center;
-}
-
-/**/
-
-.container {
- max-inline-size: var(--eff-line-length);
- margin-inline: auto;
-}
-
-.fullbleed {
- position: relative;
- width: var(--full-width);
- left: 50%;
- transform: translateX(calc(-.5 * var(--full-width)));
-
- border-radius: 0;
- border-inline: none;
-}
-
-.fullscreen {
- height: 100vh;
-
- position: relative;
- width: 100vw;
- left: 50%;
- transform: translateX(-50vw);
-
- border-radius: 0;
- border-inline: none;
-}
-
-.width\:100\% { width:100%; max-width: 100% }
-
-.height\:100\% { height:100%; max-height: 100% }
-
-/**/
-
-/* ugh, specificity hacks */
-
-*:first-child:first-child:first-child { margin-block-start: 0; }
-
-*:last-child:last-child:last-child { margin-block-end: 0; }
-
-.padding { padding-inline: var(--gap) }
-
-.padding-block { padding-block: var(--gap) }
-
-.padding-block-start { padding-block-start: var(--gap) }
-
-.padding-block-end { padding-block-end: var(--gap) }
-
-.padding-inline { padding-inline: var(--gap) }
-
-.padding-inline-start { padding-inline-start: var(--gap) }
-
-.padding-inline-end { padding-inline-start: var(--gap) }
-
-.margin { margin: var(--gap) }
-
-.margin-block { margin-block: var(--gap) }
-
-.margin-block-start { margin-block-start: var(--gap) }
-
-.margin-block-end { margin-block-end: var(--gap) }
-
-.margin-inline { margin-inline: var(--gap) }
-
-.margin-inline-start { margin-inline-start: var(--gap) }
-
-.margin-inline-end { margin-inline-end: var(--gap) }
-
-.flow-gap > :not(:last-child) {
- margin-bottom: 1em;
- }
-
-/**/
-
-.inline { display: inline }
-
-.block { display: block }
-
-.contents { display: contents }
-
-.table {
- display: table;
- width: 100%;
- margin: 0;
-}
-
-.row, .rows > * {
- display: table-row
-}
-
-.row:not(:last-child):not([specificity-hack]) > *, .rows > *:not(:last-child):not([specificity-hack]) > * {
- margin-bottom: var(--gap);
- }
-
-.row > *:not([specificity-hack]), .rows > * > *:not([specificity-hack]) {
- display: table-cell;
- vertical-align: top;
- }
-
-.row > * + *:not([specificity-hack]), :is(.rows > *) > * + *:not([specificity-hack]) {
- margin-inline-start: var(--gap);
- display: inline-block;
- }
-
-/**/
-
-.fixed { position: fixed }
-
-.sticky { position: sticky }
-
-.top { top: 0 }
-
-.right { right: 0 }
-
-.bottom { bottom: 0 }
-
-.left { left: 0 }
-
-.float\:left { float: left }
-
-.float\:right { float: right }
-
-.overflow\:auto { overflow: auto }
-
-.overflow\:scroll { overflow: scroll }
-
-.airy { --density: 3; }
-
-.spacious { --density: 2; }
-
-.dense { --density: 1; }
-
-.crowded { --density: .5; }
-
-.packed { --density: 0; }
-
-.autodensity {
- --density: 1
-}
-
-@media (min-width: 768px) {
-
-.autodensity { --density: 2
-}}
-
-@media (min-width: 1024px) {
-
-.autodensity { --density: 3
-}}
-
-.vh, v-h {
- clip: rect(0 0 0 0);
- -webkit-clip-path: inset(50%);
- clip-path: inset(50%);
- block-size: 1px;
- inline-size: 1px;
- overflow: hidden;
- white-space: nowrap;
-}
-
-.all\:initial {
- all: initial;
-}
-
-.bold { font-weight: bold }
-
-.italic {
- font-style: italic
-}
-
-.italic em, .italic cite, .italic dfn, .italic var, .italic i, .italic address {
- font-style: normal;
- }
-
-.allcaps {
- text-transform: uppercase;
- letter-spacing: .1rem;
-}
-
-.monospace {
- font-family: var(--mono-font);
-}
-
-.f-row {
- display: flex;
- flex-direction: row;
- gap: var(--gap)
-}
-
-.f-row > * { margin: 0 }
-
-.f-col {
- display: flex;
- flex-direction: column;
- gap: var(--gap)
-}
-
-.f-col > * { margin: 0 }
-
-.f-switch {
- display: flex;
- flex-wrap: wrap;
- gap: var(--gap);
- --f-switch-threshold: 55ch
-}
-
-.f-switch > * {
- margin: 0;
-
- flex-grow: 1;
- flex-basis: calc((var(--f-switch-threshold) - 100%) * 999);
- }
-
-.justify-content\:start { justify-content: start }
-
-.justify-content\:end { justify-content: end }
-
-.justify-content\:baseline { justify-content: baseline }
-
-.justify-content\:center { justify-content: center }
-
-.justify-content\:stretch { justify-content: stretch }
-
-.justify-content\:space-between { justify-content: space-between }
-
-.justify-content\:space-around { justify-content: space-around }
-
-.justify-content\:space-evenly { justify-content: space-evenly }
-
-.align-items\:start { align-items: start }
-
-.align-items\:end { align-items: end }
-
-.align-items\:baseline { align-items: baseline }
-
-.align-items\:center { align-items: center }
-
-.align-items\:stretch { align-items: stretch }
-
-.align-self\:start { align-self: start }
-
-.align-self\:end { align-self: end }
-
-.align-self\:baseline { align-self: baseline }
-
-.align-self\:center { align-self: center }
-
-.align-self\:stretch { align-self: stretch }
-
-.flex-grow\:0 { flex-grow: 0 }
-
-.flex-grow\:1 { flex-grow: 1 }
-
-.flex-grow\:2 { flex-grow: 2 }
-
-.flex-grow\:3 { flex-grow: 3 }
-
-.flex-grow\:4 { flex-grow: 4 }
-
-.flex-grow\:5 { flex-grow: 5 }
-
-.flex-grow\:6 { flex-grow: 6 }
-
-.flex-grow\:7 { flex-grow: 7 }
-
-.flex-grow\:8 { flex-grow: 8 }
-
-.flex-grow\:9 { flex-grow: 9 }
-
-.flex-grow\:10 { flex-grow: 10 }
-
-.flex-grow\:11 { flex-grow: 11 }
-
-.flex-grow\:12 { flex-grow: 12 }
-
-.flex-wrap\:wrap { flex-wrap: wrap }
-
-.flex-wrap\:nowrap { flex-wrap: nowrap }
-
-.grid {
- display: grid;
- grid-auto-columns: var(--grid-col-width, 1fr);
- grid-auto-rows: var(--grid-row-width, auto);
- gap: var(--gap)
-}
-
-.grid > * { margin: 0 }
-
-.grid-even-rows { --grid-row-width: 1fr; }
-
-.grid-variable-cols { --grid-column-width: auto; }
-
-[data-cols^="1 " ] { grid-column-start: 1 }
-
-[data-cols$=" 1" ] { grid-column-end: 2 }
-
-[data-cols="1" ] { grid-column: 1 }
-
-[data-cols^="2 " ] { grid-column-start: 2 }
-
-[data-cols$=" 2" ] { grid-column-end: 3 }
-
-[data-cols="2" ] { grid-column: 2 }
-
-[data-cols^="3 " ] { grid-column-start: 3 }
-
-[data-cols$=" 3" ] { grid-column-end: 4 }
-
-[data-cols="3" ] { grid-column: 3 }
-
-[data-cols^="4 " ] { grid-column-start: 4 }
-
-[data-cols$=" 4" ] { grid-column-end: 5 }
-
-[data-cols="4" ] { grid-column: 4 }
-
-[data-cols^="5 " ] { grid-column-start: 5 }
-
-[data-cols$=" 5" ] { grid-column-end: 6 }
-
-[data-cols="5" ] { grid-column: 5 }
-
-[data-cols^="6 " ] { grid-column-start: 6 }
-
-[data-cols$=" 6" ] { grid-column-end: 7 }
-
-[data-cols="6" ] { grid-column: 6 }
-
-[data-cols^="7 " ] { grid-column-start: 7 }
-
-[data-cols$=" 7" ] { grid-column-end: 8 }
-
-[data-cols="7" ] { grid-column: 7 }
-
-[data-cols^="8 " ] { grid-column-start: 8 }
-
-[data-cols$=" 8" ] { grid-column-end: 9 }
-
-[data-cols="8" ] { grid-column: 8 }
-
-[data-cols^="9 " ] { grid-column-start: 9 }
-
-[data-cols$=" 9" ] { grid-column-end: 10 }
-
-[data-cols="9" ] { grid-column: 9 }
-
-[data-cols^="10 "] { grid-column-start: 10 }
-
-[data-cols$=" 10"] { grid-column-end: 11 }
-
-[data-cols="10"] { grid-column: 10 }
-
-[data-cols^="11 "] { grid-column-start: 11 }
-
-[data-cols$=" 11"] { grid-column-end: 12 }
-
-[data-cols="11"] { grid-column: 11 }
-
-[data-cols^="12 "] { grid-column-start: 12 }
-
-[data-cols$=" 12"] { grid-column-end: 13 }
-
-[data-cols="12"] { grid-column: 12 }
-
-[data-rows^="1 " ] { grid-row-start: 1 }
-
-[data-rows$=" 1" ] { grid-row-end: 2 }
-
-[data-rows="1" ] { grid-row: 1 }
-
-[data-rows^="2 " ] { grid-row-start: 2 }
-
-[data-rows$=" 2" ] { grid-row-end: 3 }
-
-[data-rows="2" ] { grid-row: 2 }
-
-[data-rows^="3 " ] { grid-row-start: 3 }
-
-[data-rows$=" 3" ] { grid-row-end: 4 }
-
-[data-rows="3" ] { grid-row: 3 }
-
-[data-rows^="4 " ] { grid-row-start: 4 }
-
-[data-rows$=" 4" ] { grid-row-end: 5 }
-
-[data-rows="4" ] { grid-row: 4 }
-
-[data-rows^="5 " ] { grid-row-start: 5 }
-
-[data-rows$=" 5" ] { grid-row-end: 6 }
-
-[data-rows="5" ] { grid-row: 5 }
-
-[data-rows^="6 " ] { grid-row-start: 6 }
-
-[data-rows$=" 6" ] { grid-row-end: 7 }
-
-[data-rows="6" ] { grid-row: 6 }
-
-[data-rows^="7 " ] { grid-row-start: 7 }
-
-[data-rows$=" 7" ] { grid-row-end: 8 }
-
-[data-rows="7" ] { grid-row: 7 }
-
-[data-rows^="8 " ] { grid-row-start: 8 }
-
-[data-rows$=" 8" ] { grid-row-end: 9 }
-
-[data-rows="8" ] { grid-row: 8 }
-
-[data-rows^="9 " ] { grid-row-start: 9 }
-
-[data-rows$=" 9" ] { grid-row-end: 10 }
-
-[data-rows="9" ] { grid-row: 9 }
-
-[data-rows^="10 "] { grid-row-start: 10 }
-
-[data-rows$=" 10"] { grid-row-end: 11 }
-
-[data-rows="10"] { grid-row: 10 }
-
-[data-rows^="11 "] { grid-row-start: 11 }
-
-[data-rows$=" 11"] { grid-row-end: 12 }
-
-[data-rows="11"] { grid-row: 11 }
-
-[data-rows^="12 "] { grid-row-start: 12 }
-
-[data-rows$=" 12"] { grid-row-end: 13 }
-
-[data-rows="12"] { grid-row: 12 }
-
-@media (max-width: 768px) {
- [data-cols\@s^="1 " ] { grid-column-start: 1 } [data-cols\@s$=" 1" ] { grid-column-end: 2 } [data-cols\@s="1" ] { grid-column: 1 }
- [data-cols\@s^="2 " ] { grid-column-start: 2 } [data-cols\@s$=" 2" ] { grid-column-end: 3 } [data-cols\@s="2" ] { grid-column: 2 }
- [data-cols\@s^="3 " ] { grid-column-start: 3 } [data-cols\@s$=" 3" ] { grid-column-end: 4 } [data-cols\@s="3" ] { grid-column: 3 }
- [data-cols\@s^="4 " ] { grid-column-start: 4 } [data-cols\@s$=" 4" ] { grid-column-end: 5 } [data-cols\@s="4" ] { grid-column: 4 }
- [data-cols\@s^="5 " ] { grid-column-start: 5 } [data-cols\@s$=" 5" ] { grid-column-end: 6 } [data-cols\@s="5" ] { grid-column: 5 }
- [data-cols\@s^="6 " ] { grid-column-start: 6 } [data-cols\@s$=" 6" ] { grid-column-end: 7 } [data-cols\@s="6" ] { grid-column: 6 }
- [data-cols\@s^="7 " ] { grid-column-start: 7 } [data-cols\@s$=" 7" ] { grid-column-end: 8 } [data-cols\@s="7" ] { grid-column: 7 }
- [data-cols\@s^="8 " ] { grid-column-start: 8 } [data-cols\@s$=" 8" ] { grid-column-end: 9 } [data-cols\@s="8" ] { grid-column: 8 }
- [data-cols\@s^="9 " ] { grid-column-start: 9 } [data-cols\@s$=" 9" ] { grid-column-end: 10 } [data-cols\@s="9" ] { grid-column: 9 }
- [data-cols\@s^="10 "] { grid-column-start: 10 } [data-cols\@s$=" 10"] { grid-column-end: 11 } [data-cols\@s="10"] { grid-column: 10 }
- [data-cols\@s^="11 "] { grid-column-start: 11 } [data-cols\@s$=" 11"] { grid-column-end: 12 } [data-cols\@s="11"] { grid-column: 11 }
- [data-cols\@s^="12 "] { grid-column-start: 12 } [data-cols\@s$=" 12"] { grid-column-end: 13 } [data-cols\@s="12"] { grid-column: 12 }
-
- [data-rows\@s^="1 " ] { grid-row-start: 1 } [data-rows\@s$=" 1" ] { grid-row-end: 2 } [data-rows\@s="1" ] { grid-row: 1 }
- [data-rows\@s^="2 " ] { grid-row-start: 2 } [data-rows\@s$=" 2" ] { grid-row-end: 3 } [data-rows\@s="2" ] { grid-row: 2 }
- [data-rows\@s^="3 " ] { grid-row-start: 3 } [data-rows\@s$=" 3" ] { grid-row-end: 4 } [data-rows\@s="3" ] { grid-row: 3 }
- [data-rows\@s^="4 " ] { grid-row-start: 4 } [data-rows\@s$=" 4" ] { grid-row-end: 5 } [data-rows\@s="4" ] { grid-row: 4 }
- [data-rows\@s^="5 " ] { grid-row-start: 5 } [data-rows\@s$=" 5" ] { grid-row-end: 6 } [data-rows\@s="5" ] { grid-row: 5 }
- [data-rows\@s^="6 " ] { grid-row-start: 6 } [data-rows\@s$=" 6" ] { grid-row-end: 7 } [data-rows\@s="6" ] { grid-row: 6 }
- [data-rows\@s^="7 " ] { grid-row-start: 7 } [data-rows\@s$=" 7" ] { grid-row-end: 8 } [data-rows\@s="7" ] { grid-row: 7 }
- [data-rows\@s^="8 " ] { grid-row-start: 8 } [data-rows\@s$=" 8" ] { grid-row-end: 9 } [data-rows\@s="8" ] { grid-row: 8 }
- [data-rows\@s^="9 " ] { grid-row-start: 9 } [data-rows\@s$=" 9" ] { grid-row-end: 10 } [data-rows\@s="9" ] { grid-row: 9 }
- [data-rows\@s^="10 "] { grid-row-start: 10 } [data-rows\@s$=" 10"] { grid-row-end: 11 } [data-rows\@s="10"] { grid-row: 10 }
- [data-rows\@s^="11 "] { grid-row-start: 11 } [data-rows\@s$=" 11"] { grid-row-end: 12 } [data-rows\@s="11"] { grid-row: 11 }
- [data-rows\@s^="12 "] { grid-row-start: 12 } [data-rows\@s$=" 12"] { grid-row-end: 13 } [data-rows\@s="12"] { grid-row: 12 }
-}
-
-@media (min-width: 1024px) {
- [data-cols\@l^="1 " ] { grid-column-start: 1 } [data-cols\@l$=" 1" ] { grid-column-end: 2 } [data-cols\@l="1" ] { grid-column: 1 }
- [data-cols\@l^="2 " ] { grid-column-start: 2 } [data-cols\@l$=" 2" ] { grid-column-end: 3 } [data-cols\@l="2" ] { grid-column: 2 }
- [data-cols\@l^="3 " ] { grid-column-start: 3 } [data-cols\@l$=" 3" ] { grid-column-end: 4 } [data-cols\@l="3" ] { grid-column: 3 }
- [data-cols\@l^="4 " ] { grid-column-start: 4 } [data-cols\@l$=" 4" ] { grid-column-end: 5 } [data-cols\@l="4" ] { grid-column: 4 }
- [data-cols\@l^="5 " ] { grid-column-start: 5 } [data-cols\@l$=" 5" ] { grid-column-end: 6 } [data-cols\@l="5" ] { grid-column: 5 }
- [data-cols\@l^="6 " ] { grid-column-start: 6 } [data-cols\@l$=" 6" ] { grid-column-end: 7 } [data-cols\@l="6" ] { grid-column: 6 }
- [data-cols\@l^="7 " ] { grid-column-start: 7 } [data-cols\@l$=" 7" ] { grid-column-end: 8 } [data-cols\@l="7" ] { grid-column: 7 }
- [data-cols\@l^="8 " ] { grid-column-start: 8 } [data-cols\@l$=" 8" ] { grid-column-end: 9 } [data-cols\@l="8" ] { grid-column: 8 }
- [data-cols\@l^="9 " ] { grid-column-start: 9 } [data-cols\@l$=" 9" ] { grid-column-end: 10 } [data-cols\@l="9" ] { grid-column: 9 }
- [data-cols\@l^="10 "] { grid-column-start: 10 } [data-cols\@l$=" 10"] { grid-column-end: 11 } [data-cols\@l="10"] { grid-column: 10 }
- [data-cols\@l^="11 "] { grid-column-start: 11 } [data-cols\@l$=" 11"] { grid-column-end: 12 } [data-cols\@l="11"] { grid-column: 11 }
- [data-cols\@l^="12 "] { grid-column-start: 12 } [data-cols\@l$=" 12"] { grid-column-end: 13 } [data-cols\@l="12"] { grid-column: 12 }
-
- [data-rows\@l^="1 " ] { grid-row-start: 1 } [data-rows\@l$=" 1" ] { grid-row-end: 2 } [data-rows\@l="1" ] { grid-row: 1 }
- [data-rows\@l^="2 " ] { grid-row-start: 2 } [data-rows\@l$=" 2" ] { grid-row-end: 3 } [data-rows\@l="2" ] { grid-row: 2 }
- [data-rows\@l^="3 " ] { grid-row-start: 3 } [data-rows\@l$=" 3" ] { grid-row-end: 4 } [data-rows\@l="3" ] { grid-row: 3 }
- [data-rows\@l^="4 " ] { grid-row-start: 4 } [data-rows\@l$=" 4" ] { grid-row-end: 5 } [data-rows\@l="4" ] { grid-row: 4 }
- [data-rows\@l^="5 " ] { grid-row-start: 5 } [data-rows\@l$=" 5" ] { grid-row-end: 6 } [data-rows\@l="5" ] { grid-row: 5 }
- [data-rows\@l^="6 " ] { grid-row-start: 6 } [data-rows\@l$=" 6" ] { grid-row-end: 7 } [data-rows\@l="6" ] { grid-row: 6 }
- [data-rows\@l^="7 " ] { grid-row-start: 7 } [data-rows\@l$=" 7" ] { grid-row-end: 8 } [data-rows\@l="7" ] { grid-row: 7 }
- [data-rows\@l^="8 " ] { grid-row-start: 8 } [data-rows\@l$=" 8" ] { grid-row-end: 9 } [data-rows\@l="8" ] { grid-row: 8 }
- [data-rows\@l^="9 " ] { grid-row-start: 9 } [data-rows\@l$=" 9" ] { grid-row-end: 10 } [data-rows\@l="9" ] { grid-row: 9 }
- [data-rows\@l^="10 "] { grid-row-start: 10 } [data-rows\@l$=" 10"] { grid-row-end: 11 } [data-rows\@l="10"] { grid-row: 10 }
- [data-rows\@l^="11 "] { grid-row-start: 11 } [data-rows\@l$=" 11"] { grid-row-end: 12 } [data-rows\@l="11"] { grid-row: 11 }
- [data-rows\@l^="12 "] { grid-row-start: 12 } [data-rows\@l$=" 12"] { grid-row-end: 13 } [data-rows\@l="12"] { grid-row: 12 }
-}
diff --git a/www/releases/_artifacts/v1.0.0-prerelease.1/missing.min.css b/www/releases/_artifacts/v1.0.0-prerelease.1/missing.min.css
deleted file mode 100644
index d9339b9..0000000
--- a/www/releases/_artifacts/v1.0.0-prerelease.1/missing.min.css
+++ /dev/null
@@ -1,14 +0,0 @@
-@keyframes bg{0%{background:0 0}}*,::after,::before{box-sizing:border-box;background-repeat:no-repeat}::after,::before{text-decoration:inherit;vertical-align:inherit}:root{cursor:default;overflow-wrap:break-word;-webkit-tap-highlight-color:transparent;text-size-adjust:none;-webkit-text-size-adjust:none}abbr[title]{-webkit-text-decoration:underline dotted;text-decoration:underline dotted}b,strong{font-weight:bolder}small{font-size:80%}audio,canvas,iframe,img,svg,video{vertical-align:middle}svg:not([fill]){fill:currentColor}table{border-collapse:collapse;border-color:currentColor;text-indent:0;font-variant-numeric:tabular-nums;font:inherit}body,button,input,select,textarea{margin:0}[type=button],[type=reset],[type=submit],button{-webkit-appearance:button}fieldset{border:1px solid #a0a0a0;position:relative;padding:var(--gap);margin:var(--gap) 0;width:100%;border-radius:var(--border-radius);border:1px solid var(--faded-fg)}progress{vertical-align:baseline}[type=search]{-webkit-appearance:textfield;outline-offset:-2px}::-webkit-inner-spin-button,::-webkit-outer-spin-button{block-size:auto}::-webkit-input-placeholder{color:inherit;opacity:.54}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{-webkit-appearance:button;font:inherit}[hidden],datalist{display:none!important}:focus-visible{outline:.2em solid var(--accent);z-index:32}body:focus-visible,html:focus-visible,iframe:focus-visible{outline:0}:target{outline:.2em solid var(--fg);z-index:2}details>summary:first-of-type{display:list-item}[aria-busy=true]{cursor:progress}[aria-disabled=true],[disabled]{cursor:not-allowed}:root{--gray-0: #f8fafb;--gray-1: #f2f4f6;--gray-2: #ebedef;--gray-3: #e0e4e5;--gray-4: #d1d6d8;--gray-5: #b1b6b9;--gray-6: #979b9d;--gray-7: #7e8282;--gray-8: #666968;--gray-9: #50514f;--gray-10: #3a3a37;--gray-11: #252521;--gray-12: #121210;--red-0: #fff5f5;--red-1: #ffe3e3;--red-2: #ffc9c9;--red-3: #ffa8a8;--red-4: #ff8787;--red-5: #ff6b6b;--red-6: #fa5252;--red-7: #f03e3e;--red-8: #e03131;--red-9: #c92a2a;--red-10: #b02525;--red-11: #962020;--red-12: #7d1a1a;--pink-0: #fff0f6;--pink-1: #ffdeeb;--pink-2: #fcc2d7;--pink-3: #faa2c1;--pink-4: #f783ac;--pink-5: #f06595;--pink-6: #e64980;--pink-7: #d6336c;--pink-8: #c2255c;--pink-9: #a61e4d;--pink-10: #8c1941;--pink-11: #731536;--pink-12: #59102a;--purple-0: #f8f0fc;--purple-1: #f3d9fa;--purple-2: #eebefa;--purple-3: #e599f7;--purple-4: #da77f2;--purple-5: #cc5de8;--purple-6: #be4bdb;--purple-7: #ae3ec9;--purple-8: #9c36b5;--purple-9: #862e9c;--purple-10: #702682;--purple-11: #5a1e69;--purple-12: #44174f;--violet-0: #f3f0ff;--violet-1: #e5dbff;--violet-2: #d0bfff;--violet-3: #b197fc;--violet-4: #9775fa;--violet-5: #845ef7;--violet-6: #7950f2;--violet-7: #7048e8;--violet-8: #6741d9;--violet-9: #5f3dc4;--violet-10: #5235ab;--violet-11: #462d91;--violet-12: #3a2578;--indigo-0: #edf2ff;--indigo-1: #dbe4ff;--indigo-2: #bac8ff;--indigo-3: #91a7ff;--indigo-4: #748ffc;--indigo-5: #5c7cfa;--indigo-6: #4c6ef5;--indigo-7: #4263eb;--indigo-8: #3b5bdb;--indigo-9: #364fc7;--indigo-10: #2f44ad;--indigo-11: #283a94;--indigo-12: #21307a;--blue-0: #e7f5ff;--blue-1: #d0ebff;--blue-2: #a5d8ff;--blue-3: #74c0fc;--blue-4: #4dabf7;--blue-5: #339af0;--blue-6: #228be6;--blue-7: #1c7ed6;--blue-8: #1971c2;--blue-9: #1864ab;--blue-10: #145591;--blue-11: #114678;--blue-12: #0d375e;--cyan-0: #e3fafc;--cyan-1: #c5f6fa;--cyan-2: #99e9f2;--cyan-3: #66d9e8;--cyan-4: #3bc9db;--cyan-5: #22b8cf;--cyan-6: #15aabf;--cyan-7: #1098ad;--cyan-8: #0c8599;--cyan-9: #0b7285;--cyan-10: #095c6b;--cyan-11: #074652;--cyan-12: #053038;--teal-0: #e6fcf5;--teal-1: #c3fae8;--teal-2: #96f2d7;--teal-3: #63e6be;--teal-4: #38d9a9;--teal-5: #20c997;--teal-6: #12b886;--teal-7: #0ca678;--teal-8: #099268;--teal-9: #087f5b;--teal-10: #066649;--teal-11: #054d37;--teal-12: #033325;--green-0: #ebfbee;--green-1: #d3f9d8;--green-2: #b2f2bb;--green-3: #8ce99a;--green-4: #69db7c;--green-5: #51cf66;--green-6: #40c057;--green-7: #37b24d;--green-8: #2f9e44;--green-9: #2b8a3e;--green-10: #237032;--green-11: #1b5727;--green-12: #133d1b;--lime-0: #f4fce3;--lime-1: #e9fac8;--lime-2: #d8f5a2;--lime-3: #c0eb75;--lime-4: #a9e34b;--lime-5: #94d82d;--lime-6: #82c91e;--lime-7: #74b816;--lime-8: #66a80f;--lime-9: #5c940d;--lime-10: #4c7a0b;--lime-11: #3c6109;--lime-12: #2c4706;--yellow-0: #fff9db;--yellow-1: #fff3bf;--yellow-2: #ffec99;--yellow-3: #ffe066;--yellow-4: #ffd43b;--yellow-5: #fcc419;--yellow-6: #fab005;--yellow-7: #f59f00;--yellow-8: #f08c00;--yellow-9: #e67700;--yellow-10: #b35c00;--yellow-11: #804200;--yellow-12: #663500;--orange-0: #fff4e6;--orange-1: #ffe8cc;--orange-2: #ffd8a8;--orange-3: #ffc078;--orange-4: #ffa94d;--orange-5: #ff922b;--orange-6: #fd7e14;--orange-7: #f76707;--orange-8: #e8590c;--orange-9: #d9480f;--orange-10: #bf400d;--orange-11: #99330b;--orange-12: #802b09;--choco-0: #fff8dc;--choco-1: #fce1bc;--choco-2: #f7ca9e;--choco-3: #f1b280;--choco-4: #e99b62;--choco-5: #df8545;--choco-6: #d46e25;--choco-7: #bd5f1b;--choco-8: #a45117;--choco-9: #8a4513;--choco-10: #703a13;--choco-11: #572f12;--choco-12: #3d210d;--brown-0: #faf4eb;--brown-1: #ede0d1;--brown-2: #e0cab7;--brown-3: #d3b79e;--brown-4: #c5a285;--brown-5: #b78f6d;--brown-6: #a87c56;--brown-7: #956b47;--brown-8: #825b3a;--brown-9: #6f4b2d;--brown-10:#5e3a21;--brown-11:#4e2b15;--brown-12: #422412;--sand-0: #f8fafb;--sand-1: #e6e4dc;--sand-2: #d5cfbd;--sand-3: #c2b9a0;--sand-4: #aea58c;--sand-5: #9a9178;--sand-6: #867c65;--sand-7: #736a53;--sand-8: #5f5746;--sand-9: #4b4639;--sand-10:#38352d;--sand-11:#252521;--sand-12: #121210;--camo-0: #f9fbe7;--camo-1: #e8ed9c;--camo-2: #d2df4e;--camo-3: #c2ce34;--camo-4: #b5bb2e;--camo-5: #a7a827;--camo-6: #999621;--camo-7: #8c851c;--camo-8: #7e7416;--camo-9: #6d6414;--camo-10: #5d5411;--camo-11: #4d460e;--camo-12: #36300a;--jungle-0: #ecfeb0;--jungle-1: #def39a;--jungle-2: #d0e884;--jungle-3: #c2dd6e;--jungle-4: #b5d15b;--jungle-5: #a8c648;--jungle-6: #9bbb36;--jungle-7: #8fb024;--jungle-8: #84a513;--jungle-9: #7a9908;--jungle-10: #658006;--jungle-11: #516605;--jungle-12: #3d4d04}html{font-family:var(--main-font);line-height:var(--rhythm);background:var(--bg);color:var(--fg);scroll-padding-block-start:calc(4*var(--gap))}footer,header,section+section{margin-block:calc(2*var(--gap))}nav a{text-decoration:none;color:var(--accent)}aside h1,aside h2,aside h3,aside h4,aside h5,aside h6{font-size:1em;text-transform:none;letter-spacing:none}.\<h1\>,.\<h2\>,.\<h3\>,.\<h4\>,.\<h5\>,.\<h6\>,h1,h2,h3,h4,h5,h6{margin-block-end:var(--gap);font-family:var(--secondary-font);margin-block-start:calc(2*var(--gap));position:relative}.\<h1\>,.\<h2\>,h1,h2{font-size:2em;text-transform:none;line-height:calc(2*var(--rhythm));letter-spacing:0}.\<h2\>,h2{font-size:1.6em;line-height:calc(1.5*var(--rhythm))}.\<h3\>,.\<h4\>,.\<h5\>,.\<h6\>,h3,h4,h5,h6{font-size:1.17em;line-height:calc(1*var(--rhythm))}.\<h4\>,.\<h5\>,.\<h6\>,h4,h5,h6{font-size:1em;text-transform:none;letter-spacing:0;margin-block-start:var(--gap)}h1+h2,h1:first-child,h2+h3,h2:first-child,h3+h4,h3:first-child,h4+h5,h4:first-child,h5+h6,h5:first-child,h6:first-child{margin-block-start:var(--gap)}h1:target,h2:target,h3:target,h4:target,h5:target,h6:target{outline:0}h1:target::before,h2:target::before,h3:target::before,h4:target::before,h5:target::before,h6:target::before{content:"";display:block;position:absolute;left:-.5em;width:4px;height:100%;background:var(--accent)}footer,header{font-family:var(--secondary-font)}header{border-block-end:1px solid var(--faded-fg)}footer{border-block-start:1px solid var(--faded-fg)}body>footer,body>header,main+footer{padding:var(--rhythm) calc((100% - var(--eff-line-length))/2)}address{--density: 0}dl,hr,p{margin-block:var(--gap)}hr{color:inherit;margin-inline:0;flex:0 1 0px;border-inline-start:1px solid var(--accent);block-size:auto;border-block-start:1px solid var(--accent);border-block-end:none;border-inline-end:none}blockquote,pre{line-height:var(--rhythm)}pre{font-family:var(--mono-font);-o-tab-size:2;tab-size:2;margin:var(--gap) 0;overflow-x:auto;scrollbar-width:thin;scrollbar-color:var(--accent) transparent;font-size:.9em}blockquote{margin-inline:0 var(--gap);padding-inline:var(--gap) 0;margin-block:var(--gap);font-size:1.1em;font-style:italic;border-inline-start:1px solid var(--faded-fg);color:var(--muted-fg)}.italic address,.italic cite,.italic dfn,.italic em,.italic i,.italic var,blockquote address,blockquote cite,blockquote dfn,blockquote em,blockquote i,blockquote var,q address,q cite,q dfn,q em,q i,q var{font-style:normal}blockquote footer{text-align:right;text-align:end}ol,ul{padding-inline-start:var(--rhythm)}ol ol,ol ul,ul ol,ul ul{padding-inline-start:var(--gap)}ol[role=list],ul[role=list]{padding-inline-start:0;list-style:none}ol{list-style:decimal}.breadcrumbs[aria-label] [aria-current=page],.sidebar-layout header a,dt{font-weight:700}dd{margin-inline-start:var(--rhythm)}li::marker{font-family:var(--secondary-font)}figure{max-width:100%;margin-inline:0}figcaption{margin-block:var(--gap);font-family:var(--secondary-font);color:var(--muted-fg)}main{max-inline-size:var(--eff-line-length);margin:auto}main:first-child{padding-top:var(--gap)}a{color:var(--link-fg, var(--accent));font-family:var(--secondary-font);border-radius:var(--border-radius);outline-offset:1px}.list-of-links a{text-decoration:none}a:focus,a:hover{text-decoration:none;outline:1px solid;transition:outline-offset .1s ease-in-out}a:active{outline-offset:0}span>small:only-child{display:block;float:inline-end;clear:inline-end;--sidenote-width: 20ch;max-inline-size:var(--sidenote-width);padding-inline:1.5ch 1ch;margin-inline-end:calc(1em - var(--sidenote-width));margin-block-end:var(--rhythm);font-family:var(--secondary-font);background:var(--bg);border:1px solid transparent;transition:transform .1s ease-in-out}span>small:only-child:focus-within,span>small:only-child:hover{border:1px solid var(--faded-fg);border-radius:var(--border-radius);transform:translateX(calc(0px - var(--sidenote-width) + min(var(--gutter-width),var(--sidenote-width))))}del,s{color:var(--bad-fg)}caption,q{font-style:italic}time{font-variant-numeric:tabular-nums}code,kbd,samp{font-family:var(--mono-font)}ins,samp{color:var(--ok-fg)}kbd kbd{display:inline-block;padding:0 .3em;font-size:.8em;line-height:1.1em;background:var(--interactive-bg);border:1px outset var(--faded-fg);border-block-end-width:3px;border-radius:var(--border-radius)}sub{vertical-align:bottom}sub,sup{line-height:1}mark{background:var(--warn-bg);color:var(--warn-fg)}ins{background:var(--ok-bg)}del{background:var(--bad-bg)}audio,embed,iframe,img,object,video{max-inline-size:100%;inline-size:max-content;block-size:auto}caption{text-align:start;font-family:var(--secondary-font)}tbody{border-block:1px solid var(--fg)}select[multiple],sup,td,th{vertical-align:top}td:not(:last-child),th:not(:last-child){padding-inline-end:var(--rhythm)}th{font-family:var(--secondary-font);text-align:start}input{display:block}label input:not([specificity-hack]){display:inline;padding-block:0}.\<button\>,button,input::file-selector-button,input[type=button],input[type=reset],input[type=submit]{display:inline-block;padding:0 calc(var(--rhythm)/4);vertical-align:top;font-size:.8rem;line-height:1.125em;font-family:var(--secondary-font);min-height:var(--rhythm);background:var(--interactive-bg);border:1px solid var(--muted-fg);box-sizing:border-box;border-radius:var(--border-radius);color:var(--fg);text-decoration:none;display:inline-flex;place-items:center}:is(button,input[type="submit"],input[type="reset"],input[type="button"],input::file-selector-button,.\<button\>):focus-visible,:is(button,input[type="submit"],input[type="reset"],input[type="button"],input::file-selector-button,.\<button\>):hover{filter:brightness(1.1);text-decoration:none}:is(button,input[type="submit"],input[type="reset"],input[type="button"],input::file-selector-button,.\<button\>):active{filter:brightness(.8)}[aria-expanded=true]:is(button,input[type="submit"],input[type="reset"],input[type="button"],input::file-selector-button,.\<button\>),[aria-pressed=true]:is(button,input[type="submit"],input[type="reset"],input[type="button"],input::file-selector-button,.\<button\>){box-shadow:0 .05em var(--accent);transform:translateY(.05em);background:var(--pressed-interactive-bg)}[disabled]:is(button,input[type="submit"],input[type="reset"],input[type="button"],input::file-selector-button,.\<button\>){color:var(--muted-fg)}strong>:is(button,input[type="submit"],input[type="reset"],input[type="button"],input::file-selector-button,.\<button\>){background:var(--accent);color:var(--bg);border:0;font-weight:700}strong>[disabled]:is(button,input[type="submit"],input[type="reset"],input[type="button"],input::file-selector-button,.\<button\>){color:var(--muted-accent)}input:not([type]),input[type=date],input[type=datetime-local],input[type=datetime],input[type=email],input[type=month],input[type=number],input[type=password],input[type=search],input[type=tel],input[type=text],input[type=time],input[type=url],input[type=week],select,textarea{padding:calc(var(--rhythm)/4);font-size:1rem;line-height:inherit;font-family:var(--main-font);background:var(--bg);color:var(--fg);border:1px solid var(--faded-fg);border-radius:var(--border-radius);vertical-align:top}:is(input:not([type]),input[type="text"],input[type="search"],input[type="tel"],input[type="url"],input[type="email"],input[type="password"],input[type="date"],input[type="month"],input[type="week"],input[type="time"],input[type="datetime"],input[type="datetime-local"],input[type="number"],select,textarea):focus-visible{border:1px solid var(--accent)}:is(input:not([type]),input[type="text"],input[type="search"],input[type="tel"],input[type="url"],input[type="email"],input[type="password"],input[type="date"],input[type="month"],input[type="week"],input[type="time"],input[type="datetime"],input[type="datetime-local"],input[type="number"],select,textarea)::placeholder{color:var(--muted-fg);opacity:1;text-align:end}input[type=range]{width:100%;padding:calc(var(--gap)/4)}input[type=color]{padding:0;margin:0;height:calc(1.5*var(--rhythm));border:0;background:0 0}input[type=file]{padding:calc(var(--gap)/4) 0;font:inherit;line-height:calc(var(--rhythm)/2)}input[type=file]::file-selector-button{margin-block:.1em 0;margin-inline-end:1ch}optgroup::before{color:var(--muted-fg);font-style:normal}label[for]{display:block;padding-block:calc(var(--gap)/4)}fieldset>legend+*{margin-block-start:0}details{padding-block-start:0}details:not([open]){padding-block-end:0}summary{margin:calc(0px - var(--gap));margin-bottom:0;padding-inline:var(--gap);font-family:var(--secondary-font);font-weight:700;background:var(--accent);color:var(--bg);cursor:pointer}summary:active,summary:focus-visible{filter:brightness(.8)}details[open] summary{border-block-end:1px solid var(--accent);border-end-end-radius:0;border-end-start-radius:0}dialog{position:absolute;inline-inset:0;block-size:-moz-fit-content;block-size:fit-content;inline-size:-moz-fit-content;inline-size:fit-content;margin:auto!important;background-color:var(--bg);color:var(--fg)}dialog[open]::backdrop{display:block;background:#000;opacity:.4;animation:bg 2s}dialog:not([open]){display:none}.box,.sidebar-layout>header,[role=menu],[role=tabpanel],aside,details,dialog,figure{margin:var(--gap) 0;padding:var(--gap);overflow:clip;border-radius:var(--border-radius);background:var(--box-bg);border:1px solid var(--faded-fg)}.titlebar{margin-inline:calc(0px - var(--gap));margin-block-end:calc(0px - var(--gap));padding-inline:var(--gap);font:inherit;font-family:var(--secondary-font);font-weight:700;translate:0 calc(-1px - var(--gap));background:var(--faded-fg);color:var(--bg)}.sub-title,sub-title{display:block;font-weight:400;color:var(--muted-fg)}.tool-bar,[role=toolbar]{display:flex;flex-flow:row wrap;gap:calc(var(--gap)/2)}.tool-bar>*,[role=toolbar]>*{margin:0}.sidebar-layout header li{margin-block:calc(.5*var(--gap))}@media (min-width:75ch){.sidebar-layout{display:grid;grid-template-columns:25ch auto;inset:0}.sidebar-layout>header{border-block:none;border-inline-start:none;margin:0}.sidebar-layout>:nth-child(2){overflow:scroll;--full-width: calc(100vw - 25ch)}}.breadcrumbs[aria-label]{font-family:var(--secondary-font)}.breadcrumbs[aria-label] ol,.breadcrumbs[aria-label] ul{list-style:none;padding-inline-start:0}.breadcrumbs[aria-label] li{display:inline}:is(.breadcrumbs[aria-label] li)+li::before{content:' / ';display:inline}.chip,.navbar,chip{font-family:var(--secondary-font);background:var(--box-bg)}.chip,chip{border:1px solid var(--accent);border-radius:calc(var(--rhythm)/2);padding-inline:calc(var(--rhythm)/2)}.navbar{padding:var(--rhythm);border-block-end:1px solid var(--accent);overflow-x:auto;scrollbar-width:thin;position:sticky;z-index:5;top:0;left:0;right:0;display:flex;flex-flow:row;align-items:center;gap:var(--gap)}.navbar.expanded{flex-flow:column;align-items:start;max-height:90vh;overflow-y:auto}.navbar.expanded ul[role=list]{flex-flow:column}.navbar *{flex-shrink:0;margin-block:0}.navbar:not(.expanded) nav>:first-child,.navbar:not(.expanded)>:first-child{margin-inline-start:auto}.navbar:not(.expanded) nav>:last-child,.navbar:not(.expanded)>:last-child{margin-inline-end:auto}.navbar hr{align-self:stretch}.navbar nav ul[role=list]{display:flex;flex-flow:row;gap:var(--rhythm);padding-inline-start:0}.navbar nav ul[role=list] *{flex-shrink:0}.navbar a{font-weight:700;text-decoration:none;padding-inline:.2em}.navbar a:focus,.navbar a:hover{text-decoration:underline}.navbar [aria-current=page]{position:relative}.navbar [aria-current=page]::after{width:100%;height:6px;content:"";display:block;position:absolute;bottom:calc(-1*var(--gap));background:currentcolor}.navbar.expanded [aria-current=page]::after{width:6px;height:100%;position:absolute;left:calc(-1*var(--gap));top:0}.permalink-anchor{display:none}:hover>.permalink-anchor{display:initial}button.iconbutton{border:0;background:0 0;color:currentcolor;padding:0;line-height:var(--rhythm);font-size:24px;width:24px;height:24px;display:inline-block;text-align:center;border-radius:50%;transition:font-weight .2s ease-in-out}button.iconbutton:focus-visible,button.iconbutton:hover{outline:1px solid var(--accent);outline-offset:6px}button.iconbutton:active{outline-offset:3px;background:0 0}button.iconbutton[aria-pressed=true]{box-shadow:none;transform:none}[role=tablist]{display:flex;gap:.5ch;scrollbar-width:thin}[role=tab][role=tab]{all:initial;font-family:var(--secondary-font);padding:0 calc(var(--rhythm)/4);margin:0;min-height:var(--rhythm);color:var(--fg);border:solid var(--faded-fg);border-width:1px 1px 0;border-block-end-color:transparent;background:var(--interactive-bg);border-start-start-radius:.4em;border-start-end-radius:.4em}[role=tab][role=tab]:active,[role=tab][role=tab][aria-selected=true]{transform:none;bottom:-1px;position:relative;background:var(--box-bg);border-block-end:1px solid var(--box-bg)}[role=tab][role=tab]:hover{background-color:var(--box-bg)}[role=tab][role=tab]:focus{background-color:var(--box-bg);border-color:var(--accent);outline:1px solid var(--accent)}[role=tabpanel]{margin-block-start:0;border-start-start-radius:0;border-start-end-radius:0;z-index:1}[role=menu]{position:absolute;z-index:10;padding:calc(var(--gap)/2) 0;margin:1px 0 0;display:flex;flex-flow:column nowrap}[role=menuitem]{padding:0 calc(var(--gap)/2);display:block;text-decoration:none;border-radius:0;color:var(--fg)}[role=menuitem]:focus{background:var(--accent);color:var(--bg)}[role=listbox]{list-style:none}ul[role=listbox]{padding-inline-start:0}[role=listbox] [role=option]{margin-inline:calc(-1*var(--gap));padding-inline:var(--gap)}[role=listbox] [role=option][aria-selected=true]{background:var(--interactive-bg)}[role=listbox] .active[role=option]{--temporary-bg: var(--accent);--temporary-fg: var(--bg);--temporary-accent: parent-var(--muted-accent);--temporary-muted-accent: parent-var(--box-bg);background:var(--temporary-bg);color:var(--temporary-fg)}[role=listbox] .active[role=option]>*{--bg: var(--temporary-bg);--fg: var(--temporary-fg);--accent: var(--temporary-accent);--muted-accent: var(--temporary-muted-accent)}[aria-orientation=vertical]{flex-direction:column;width:-moz-fit-content;width:fit-content;text-align:center}.plain{--box-bg: var(--plain-bg);--accent: var(--plain-fg);--faded-fg: var(--plain-faded-fg)}.info{--box-bg: var(--info-bg);--accent: var(--info-fg);--faded-fg: var(--info-faded-fg)}.ok{--box-bg: var(--ok-bg);--accent: var(--ok-fg);--faded-fg: var(--ok-faded-fg)}.warn{--box-bg: var(--warn-bg);--accent: var(--warn-fg);--faded-fg: var(--warn-faded-fg)}.bad{--box-bg: var(--bad-bg);--accent: var(--bad-fg);--faded-fg: var(--bad-faded-fg)}.color{color:var(--accent)}.bg{background:var(--box-bg)}.border{border-style:solid;border-color:var(--faded-fg)}:root{--fg: var(--gray-12);--muted-fg: var(--gray-10);--faded-fg: var(--plain-faded-fg);--plain-fg: var(--blue-10);--info-fg: var(--blue-11);--ok-fg: var(--green-11);--bad-fg: var(--red-11);--warn-fg: var(--yellow-11);--plain-faded-fg: var(--gray-6);--info-faded-fg: var(--blue-6);--ok-faded-fg: var(--green-6);--bad-faded-fg: var(--red-6);--warn-faded-fg: var(--yellow-6);--bg: var(--gray-0);--box-bg: var(--plain-bg);--interactive-bg: var(--gray-4);--plain-bg: var(--gray-1);--info-bg: var(--blue-1);--ok-bg: var(--green-1);--bad-bg: var(--red-1);--warn-bg: var(--yellow-1);--accent: var(--blue-10);--muted-accent: var(--blue-7);--rhythm: 1.4rem;--line-length: 40rem;--border-radius: .2rem;--main-font: 'Source Sans 3', 'Source Sans Pro', -apple-system, system-ui, sans-serif;--secondary-font: var(--main-font);--mono-font: 'M Plus Code Latin', monospace, monospace;--density: 1;--full-width: 100vw;--eff-line-length: /* Effective line length for prose. */
- min(
- calc( var(--full-width) - (2 * var(--rhythm)) ),
- var(--line-length)
- );--gutter-width: /* Width of spaces at each side of page content. */
- calc(
- (
- var(--full-width) /* Viewport width */
- - var(--eff-line-length) /* minus line width */
- ) / 2)}@media (prefers-color-scheme:dark){:root:not(.-no-dark-theme){--fg: var(--gray-0);--muted-fg: var(--gray-2);--faded-fg: var(--gray-7);--plain-bg: var(--gray-11);--info-bg: var(--blue-12);--ok-bg: var(--green-12);--bad-bg: var(--red-12);--warn-bg: var(--yellow-12);--plain-faded-fg: var(--blue-6);--info-faded-fg: var(--blue-6);--ok-faded-fg: var(--green-6);--bad-faded-fg: var(--red-6);--warn-faded-fg: var(--yellow-6);--bg: var(--gray-12);--box-bg: var(--gray-10);--interactive-bg: var(--gray-8);--plain-fg: (--blue-3);--info-fg: var(--blue-3);--ok-fg: var(--green-3);--bad-fg: var(--red-3);--warn-fg: var(--yellow-3);--accent: var(--blue-3);--muted-accent: var(--blue-5)}}*{--gap: calc(var(--rhythm) * var(--density));accent-color:var(--accent)}.textcolumns{--col-width: 30ch;column-width:var(--col-width);column-gap:var(--gap);margin-block:var(--gap)}.textcolumns :first-child{margin-block-start:0!important}.text-align\:center{text-align:center}.center{display:grid;place-items:center}.container{max-inline-size:var(--eff-line-length);margin-inline:auto}.fullbleed,.fullscreen{position:relative;left:50%;border-radius:0;border-inline:none}.fullbleed{width:var(--full-width);transform:translateX(calc(-.5*var(--full-width)))}.fullscreen{height:100vh;width:100vw;transform:translateX(-50vw)}.width\:100\%{width:100%;max-width:100%}.height\:100\%{height:100%;max-height:100%}:first-child:first-child:first-child{margin-block-start:0}:last-child:last-child:last-child{margin-block-end:0}.padding{padding-inline:var(--gap)}.padding-block{padding-block:var(--gap)}.padding-block-start{padding-block-start:var(--gap)}.padding-block-end{padding-block-end:var(--gap)}.padding-inline{padding-inline:var(--gap)}.padding-inline-end,.padding-inline-start{padding-inline-start:var(--gap)}.margin{margin:var(--gap)}.margin-block{margin-block:var(--gap)}.margin-block-start{margin-block-start:var(--gap)}.margin-block-end{margin-block-end:var(--gap)}.margin-inline{margin-inline:var(--gap)}.margin-inline-start{margin-inline-start:var(--gap)}.margin-inline-end{margin-inline-end:var(--gap)}.flow-gap>:not(:last-child){margin-bottom:1em}.inline{display:inline}.block{display:block}.contents{display:contents}.table{display:table;width:100%;margin:0}.row,.rows>*{display:table-row}.row:not(:last-child):not([specificity-hack])>*,.rows>:not(:last-child):not([specificity-hack])>*{margin-bottom:var(--gap)}.row>:not([specificity-hack]),.rows>*>:not([specificity-hack]){display:table-cell;vertical-align:top}.row>*+:not([specificity-hack]),:is(.rows > *)>*+:not([specificity-hack]){margin-inline-start:var(--gap);display:inline-block}.fixed{position:fixed}.sticky{position:sticky}.top{top:0}.right{right:0}.bottom{bottom:0}.left{left:0}.float\:left{float:left}.float\:right{float:right}.overflow\:auto{overflow:auto}.overflow\:scroll{overflow:scroll}.airy{--density: 3}.spacious{--density: 2}.dense{--density: 1}.crowded{--density: .5}.packed{--density: 0}.autodensity{--density: 1
-}@media (min-width:768px){.autodensity{--density: 2
-}}@media (min-width:1024px){.autodensity{--density: 3
-}}.vh,v-h{clip:rect(0 0 0 0);-webkit-clip-path:inset(50%);clip-path:inset(50%);block-size:1px;inline-size:1px;overflow:hidden;white-space:nowrap}.all\:initial{all:initial}.bold{font-weight:700}.italic{font-style:italic}.allcaps{text-transform:uppercase;letter-spacing:.1rem}.monospace{font-family:var(--mono-font)}.f-row{display:flex;flex-direction:row;gap:var(--gap)}.f-row>*{margin:0}.f-col{display:flex;flex-direction:column;gap:var(--gap)}.f-col>*{margin:0}.f-switch{display:flex;flex-wrap:wrap;gap:var(--gap);--f-switch-threshold: 55ch
-}.f-switch>*{margin:0;flex-grow:1;flex-basis:calc((var(--f-switch-threshold) - 100%)*999)}.justify-content\:start{justify-content:start}.justify-content\:end{justify-content:end}.justify-content\:baseline{justify-content:baseline}.justify-content\:center{justify-content:center}.justify-content\:stretch{justify-content:stretch}.justify-content\:space-between{justify-content:space-between}.justify-content\:space-around{justify-content:space-around}.justify-content\:space-evenly{justify-content:space-evenly}.align-items\:start{align-items:start}.align-items\:end{align-items:end}.align-items\:baseline{align-items:baseline}.align-items\:center{align-items:center}.align-items\:stretch{align-items:stretch}.align-self\:start{align-self:start}.align-self\:end{align-self:end}.align-self\:baseline{align-self:baseline}.align-self\:center{align-self:center}.align-self\:stretch{align-self:stretch}.flex-grow\:0{flex-grow:0}.flex-grow\:1{flex-grow:1}.flex-grow\:2{flex-grow:2}.flex-grow\:3{flex-grow:3}.flex-grow\:4{flex-grow:4}.flex-grow\:5{flex-grow:5}.flex-grow\:6{flex-grow:6}.flex-grow\:7{flex-grow:7}.flex-grow\:8{flex-grow:8}.flex-grow\:9{flex-grow:9}.flex-grow\:10{flex-grow:10}.flex-grow\:11{flex-grow:11}.flex-grow\:12{flex-grow:12}.flex-wrap\:wrap{flex-wrap:wrap}.flex-wrap\:nowrap{flex-wrap:nowrap}.grid{display:grid;grid-auto-columns:var(--grid-col-width, 1fr);grid-auto-rows:var(--grid-row-width, auto);gap:var(--gap)}.grid>*{margin:0}.grid-even-rows{--grid-row-width: 1fr}.grid-variable-cols{--grid-column-width: auto}[data-cols^="1 "]{grid-column-start:1}[data-cols$=" 1"]{grid-column-end:2}[data-cols="1"]{grid-column:1}[data-cols^="2 "]{grid-column-start:2}[data-cols$=" 2"]{grid-column-end:3}[data-cols="2"]{grid-column:2}[data-cols^="3 "]{grid-column-start:3}[data-cols$=" 3"]{grid-column-end:4}[data-cols="3"]{grid-column:3}[data-cols^="4 "]{grid-column-start:4}[data-cols$=" 4"]{grid-column-end:5}[data-cols="4"]{grid-column:4}[data-cols^="5 "]{grid-column-start:5}[data-cols$=" 5"]{grid-column-end:6}[data-cols="5"]{grid-column:5}[data-cols^="6 "]{grid-column-start:6}[data-cols$=" 6"]{grid-column-end:7}[data-cols="6"]{grid-column:6}[data-cols^="7 "]{grid-column-start:7}[data-cols$=" 7"]{grid-column-end:8}[data-cols="7"]{grid-column:7}[data-cols^="8 "]{grid-column-start:8}[data-cols$=" 8"]{grid-column-end:9}[data-cols="8"]{grid-column:8}[data-cols^="9 "]{grid-column-start:9}[data-cols$=" 9"]{grid-column-end:10}[data-cols="9"]{grid-column:9}[data-cols^="10 "]{grid-column-start:10}[data-cols$=" 10"]{grid-column-end:11}[data-cols="10"]{grid-column:10}[data-cols^="11 "]{grid-column-start:11}[data-cols$=" 11"]{grid-column-end:12}[data-cols="11"]{grid-column:11}[data-cols^="12 "]{grid-column-start:12}[data-cols$=" 12"]{grid-column-end:13}[data-cols="12"]{grid-column:12}[data-rows^="1 "]{grid-row-start:1}[data-rows$=" 1"]{grid-row-end:2}[data-rows="1"]{grid-row:1}[data-rows^="2 "]{grid-row-start:2}[data-rows$=" 2"]{grid-row-end:3}[data-rows="2"]{grid-row:2}[data-rows^="3 "]{grid-row-start:3}[data-rows$=" 3"]{grid-row-end:4}[data-rows="3"]{grid-row:3}[data-rows^="4 "]{grid-row-start:4}[data-rows$=" 4"]{grid-row-end:5}[data-rows="4"]{grid-row:4}[data-rows^="5 "]{grid-row-start:5}[data-rows$=" 5"]{grid-row-end:6}[data-rows="5"]{grid-row:5}[data-rows^="6 "]{grid-row-start:6}[data-rows$=" 6"]{grid-row-end:7}[data-rows="6"]{grid-row:6}[data-rows^="7 "]{grid-row-start:7}[data-rows$=" 7"]{grid-row-end:8}[data-rows="7"]{grid-row:7}[data-rows^="8 "]{grid-row-start:8}[data-rows$=" 8"]{grid-row-end:9}[data-rows="8"]{grid-row:8}[data-rows^="9 "]{grid-row-start:9}[data-rows$=" 9"]{grid-row-end:10}[data-rows="9"]{grid-row:9}[data-rows^="10 "]{grid-row-start:10}[data-rows$=" 10"]{grid-row-end:11}[data-rows="10"]{grid-row:10}[data-rows^="11 "]{grid-row-start:11}[data-rows$=" 11"]{grid-row-end:12}[data-rows="11"]{grid-row:11}[data-rows^="12 "]{grid-row-start:12}[data-rows$=" 12"]{grid-row-end:13}[data-rows="12"]{grid-row:12}@media (max-width:768px){[data-cols\@s^="1 "]{grid-column-start:1}[data-cols\@s$=" 1"]{grid-column-end:2}[data-cols\@s="1"]{grid-column:1}[data-cols\@s^="2 "]{grid-column-start:2}[data-cols\@s$=" 2"]{grid-column-end:3}[data-cols\@s="2"]{grid-column:2}[data-cols\@s^="3 "]{grid-column-start:3}[data-cols\@s$=" 3"]{grid-column-end:4}[data-cols\@s="3"]{grid-column:3}[data-cols\@s^="4 "]{grid-column-start:4}[data-cols\@s$=" 4"]{grid-column-end:5}[data-cols\@s="4"]{grid-column:4}[data-cols\@s^="5 "]{grid-column-start:5}[data-cols\@s$=" 5"]{grid-column-end:6}[data-cols\@s="5"]{grid-column:5}[data-cols\@s^="6 "]{grid-column-start:6}[data-cols\@s$=" 6"]{grid-column-end:7}[data-cols\@s="6"]{grid-column:6}[data-cols\@s^="7 "]{grid-column-start:7}[data-cols\@s$=" 7"]{grid-column-end:8}[data-cols\@s="7"]{grid-column:7}[data-cols\@s^="8 "]{grid-column-start:8}[data-cols\@s$=" 8"]{grid-column-end:9}[data-cols\@s="8"]{grid-column:8}[data-cols\@s^="9 "]{grid-column-start:9}[data-cols\@s$=" 9"]{grid-column-end:10}[data-cols\@s="9"]{grid-column:9}[data-cols\@s^="10 "]{grid-column-start:10}[data-cols\@s$=" 10"]{grid-column-end:11}[data-cols\@s="10"]{grid-column:10}[data-cols\@s^="11 "]{grid-column-start:11}[data-cols\@s$=" 11"]{grid-column-end:12}[data-cols\@s="11"]{grid-column:11}[data-cols\@s^="12 "]{grid-column-start:12}[data-cols\@s$=" 12"]{grid-column-end:13}[data-cols\@s="12"]{grid-column:12}[data-rows\@s^="1 "]{grid-row-start:1}[data-rows\@s$=" 1"]{grid-row-end:2}[data-rows\@s="1"]{grid-row:1}[data-rows\@s^="2 "]{grid-row-start:2}[data-rows\@s$=" 2"]{grid-row-end:3}[data-rows\@s="2"]{grid-row:2}[data-rows\@s^="3 "]{grid-row-start:3}[data-rows\@s$=" 3"]{grid-row-end:4}[data-rows\@s="3"]{grid-row:3}[data-rows\@s^="4 "]{grid-row-start:4}[data-rows\@s$=" 4"]{grid-row-end:5}[data-rows\@s="4"]{grid-row:4}[data-rows\@s^="5 "]{grid-row-start:5}[data-rows\@s$=" 5"]{grid-row-end:6}[data-rows\@s="5"]{grid-row:5}[data-rows\@s^="6 "]{grid-row-start:6}[data-rows\@s$=" 6"]{grid-row-end:7}[data-rows\@s="6"]{grid-row:6}[data-rows\@s^="7 "]{grid-row-start:7}[data-rows\@s$=" 7"]{grid-row-end:8}[data-rows\@s="7"]{grid-row:7}[data-rows\@s^="8 "]{grid-row-start:8}[data-rows\@s$=" 8"]{grid-row-end:9}[data-rows\@s="8"]{grid-row:8}[data-rows\@s^="9 "]{grid-row-start:9}[data-rows\@s$=" 9"]{grid-row-end:10}[data-rows\@s="9"]{grid-row:9}[data-rows\@s^="10 "]{grid-row-start:10}[data-rows\@s$=" 10"]{grid-row-end:11}[data-rows\@s="10"]{grid-row:10}[data-rows\@s^="11 "]{grid-row-start:11}[data-rows\@s$=" 11"]{grid-row-end:12}[data-rows\@s="11"]{grid-row:11}[data-rows\@s^="12 "]{grid-row-start:12}[data-rows\@s$=" 12"]{grid-row-end:13}[data-rows\@s="12"]{grid-row:12}}@media (min-width:1024px){[data-cols\@l^="1 "]{grid-column-start:1}[data-cols\@l$=" 1"]{grid-column-end:2}[data-cols\@l="1"]{grid-column:1}[data-cols\@l^="2 "]{grid-column-start:2}[data-cols\@l$=" 2"]{grid-column-end:3}[data-cols\@l="2"]{grid-column:2}[data-cols\@l^="3 "]{grid-column-start:3}[data-cols\@l$=" 3"]{grid-column-end:4}[data-cols\@l="3"]{grid-column:3}[data-cols\@l^="4 "]{grid-column-start:4}[data-cols\@l$=" 4"]{grid-column-end:5}[data-cols\@l="4"]{grid-column:4}[data-cols\@l^="5 "]{grid-column-start:5}[data-cols\@l$=" 5"]{grid-column-end:6}[data-cols\@l="5"]{grid-column:5}[data-cols\@l^="6 "]{grid-column-start:6}[data-cols\@l$=" 6"]{grid-column-end:7}[data-cols\@l="6"]{grid-column:6}[data-cols\@l^="7 "]{grid-column-start:7}[data-cols\@l$=" 7"]{grid-column-end:8}[data-cols\@l="7"]{grid-column:7}[data-cols\@l^="8 "]{grid-column-start:8}[data-cols\@l$=" 8"]{grid-column-end:9}[data-cols\@l="8"]{grid-column:8}[data-cols\@l^="9 "]{grid-column-start:9}[data-cols\@l$=" 9"]{grid-column-end:10}[data-cols\@l="9"]{grid-column:9}[data-cols\@l^="10 "]{grid-column-start:10}[data-cols\@l$=" 10"]{grid-column-end:11}[data-cols\@l="10"]{grid-column:10}[data-cols\@l^="11 "]{grid-column-start:11}[data-cols\@l$=" 11"]{grid-column-end:12}[data-cols\@l="11"]{grid-column:11}[data-cols\@l^="12 "]{grid-column-start:12}[data-cols\@l$=" 12"]{grid-column-end:13}[data-cols\@l="12"]{grid-column:12}[data-rows\@l^="1 "]{grid-row-start:1}[data-rows\@l$=" 1"]{grid-row-end:2}[data-rows\@l="1"]{grid-row:1}[data-rows\@l^="2 "]{grid-row-start:2}[data-rows\@l$=" 2"]{grid-row-end:3}[data-rows\@l="2"]{grid-row:2}[data-rows\@l^="3 "]{grid-row-start:3}[data-rows\@l$=" 3"]{grid-row-end:4}[data-rows\@l="3"]{grid-row:3}[data-rows\@l^="4 "]{grid-row-start:4}[data-rows\@l$=" 4"]{grid-row-end:5}[data-rows\@l="4"]{grid-row:4}[data-rows\@l^="5 "]{grid-row-start:5}[data-rows\@l$=" 5"]{grid-row-end:6}[data-rows\@l="5"]{grid-row:5}[data-rows\@l^="6 "]{grid-row-start:6}[data-rows\@l$=" 6"]{grid-row-end:7}[data-rows\@l="6"]{grid-row:6}[data-rows\@l^="7 "]{grid-row-start:7}[data-rows\@l$=" 7"]{grid-row-end:8}[data-rows\@l="7"]{grid-row:7}[data-rows\@l^="8 "]{grid-row-start:8}[data-rows\@l$=" 8"]{grid-row-end:9}[data-rows\@l="8"]{grid-row:8}[data-rows\@l^="9 "]{grid-row-start:9}[data-rows\@l$=" 9"]{grid-row-end:10}[data-rows\@l="9"]{grid-row:9}[data-rows\@l^="10 "]{grid-row-start:10}[data-rows\@l$=" 10"]{grid-row-end:11}[data-rows\@l="10"]{grid-row:10}[data-rows\@l^="11 "]{grid-row-start:11}[data-rows\@l$=" 11"]{grid-row-end:12}[data-rows\@l="11"]{grid-row:11}[data-rows\@l^="12 "]{grid-row-start:12}[data-rows\@l$=" 12"]{grid-row-end:13}[data-rows\@l="12"]{grid-row:12}} \ No newline at end of file
diff --git a/www/releases/_artifacts/v1.0.0-prerelease.1/missing.min.css.br b/www/releases/_artifacts/v1.0.0-prerelease.1/missing.min.css.br
deleted file mode 100644
index 3023045..0000000
--- a/www/releases/_artifacts/v1.0.0-prerelease.1/missing.min.css.br
+++ /dev/null
Binary files differ
diff --git a/www/releases/_artifacts/v1.0.0-prerelease.1/missing.min.css.gz b/www/releases/_artifacts/v1.0.0-prerelease.1/missing.min.css.gz
deleted file mode 100644
index 5b1ec2e..0000000
--- a/www/releases/_artifacts/v1.0.0-prerelease.1/missing.min.css.gz
+++ /dev/null
Binary files differ
diff --git a/www/releases/_artifacts/v1.0.0-prerelease.2/missing-js/19.js b/www/releases/_artifacts/v1.0.0-prerelease.2/missing-js/19.js
deleted file mode 100644
index a212bd9..0000000
--- a/www/releases/_artifacts/v1.0.0-prerelease.2/missing-js/19.js
+++ /dev/null
@@ -1 +0,0 @@
-const h=e=>(...t)=>(console.log("%c%s","color:green",e,...t),t.at(-1)),w=h("19.js"),b=e=>e.replace(/[A-Z]/g,t=>"-"+t.toLowerCase()),d=e=>{const t=e+"ElementSibling",r=e==="next"?(n,i)=>p(n,i):(n,i)=>m(n,i).at(-1);return(n,i,l,{wrap:s=!0}={})=>{if(!l)return s?r(n,i):null;let c=l;for(;;){for(;c[t]===null;)if(c=c.parentElement,c===n)return s?r(n,i):null;c=c[t];const o=c.matches(i)?c:p(c,i);if(o)return o}return c}},p=(e,t)=>e.querySelector(t),m=(e,t)=>Array.from(e.querySelectorAll(t)),x=(e,t,r,n)=>{const i=l=>(n.addedBy&&!n.addedBy.isConnected&&y({target:e,event:t,listener:i,options:n}),r(l));return e.addEventListener(t,r,n),{target:e,event:t,options:n,listener:i}},y=({target:e,event:t,listener:r,options:n})=>e.removeEventListener(t,r,n),A=(e,t)=>{if(t instanceof Function)return r=>{A(e,r),t(r)};e=e.split(/\s*/g);for(const r of e)r==="default"&&t.preventDefault(),r==="bubbling"&&t.stopPropagation(),r==="propagation"&&t.stopImmediatePropagation();return t},E=(e,t,r)=>e.dispatchEvent(new CustomEvent(t,{detail:r})),S=(e,t,...r)=>{if(typeof t=="object")for(const n in t)e.setAttribute(b(n),t[n]);else return r.length>0?e.setAttribute(t,r[0]):e.getAttribute(t)},k=e=>{const t=document.createElement("div");return t.append(e),t.innerHTML},v=e=>e==null?"":e instanceof Node?k(e):String(e).replaceAll("&","&amp;").replaceAll("<","&lt;").replaceAll(">","&gt;").replaceAll("'","&#x27;").replaceAll('"',"&quot;"),C=(e,...t)=>{e?.raw&&(e=String.raw(e,...t.map(v)));const r=document.createElement("template");return r.innerHTML=e,r.content},L=d("next"),K=d("previous"),N=e=>{const l={},s=o=>0|(o.altKey&&1)|(o.ctrlKey&&2)|(o.metaKey&&4)|(o.shiftKey&&8),c=o=>{const a=o.split("+"),u=a.pop();let f=0;for(const g in a)switch(g.toLowerCase()){case"alt":f|=1;break;case"ctrl":f|=2;break;case"meta":f|=4;break;case"shift":f|=8;break}return[u,f]};for(const[o,a]of Object.entries(e)){const[u,f]=c(o);(l[u]??(l[u]=new Array(8)))[f]=a}return o=>l[o.key]?.[s(o)]?.(o)},T=(e,t,{mode:r="trailing"}={})=>{let n;return(...i)=>{n?clearTimeout(n):r==="leading"&&t(...i),n=setTimeout(()=>{r==="trailing"&&t(...i),n=null},e)}},j=(e,t)=>{const r=new WeakSet;return(n=document,i={})=>{const l=n.getRootNode();m(n,e).forEach(s=>{r.has(s)||(r.add(s),t(s,{options:i,root:l}))})}},q=(e,{idOf:t,create:r,update:n})=>i=>{let l;const s=(...a)=>{const u=l;l=a.at(-1),l instanceof DocumentFragment&&(l=l.lastChild),u?u.after(...a):e.prepend(...a)},c=a=>{if(a)for(;a.nextSibling;)a.nextSibling.remove();else e.replaceChildren()},o=e.getRootNode();for(const a of i){const u=t(a),f=o.getElementById(u);s(f?n?.(f,a)??f:r(a,{id:u}))}c(l)};export{p as $,m as $$,S as attr,j as behavior,T as debounce,E as dispatch,A as halt,N as hotkey,C as html,v as htmlescape,h as makelogger,L as next,y as off,x as on,K as prev,q as repeater,k as stringifyNode};
diff --git a/www/releases/_artifacts/v1.0.0-prerelease.2/missing-js/menu.js b/www/releases/_artifacts/v1.0.0-prerelease.2/missing-js/menu.js
deleted file mode 100644
index a56a332..0000000
--- a/www/releases/_artifacts/v1.0.0-prerelease.2/missing-js/menu.js
+++ /dev/null
@@ -1 +0,0 @@
-import{$ as m,$$ as f,on as r,dispatch as i,attr as d,next as h,prev as _,hotkey as E,behavior as u,makelogger as g}from"./19.js";const s=g("menu"),k="[role=menu]",n="[role=menuitem]",p=e=>m(e,n),v=e=>f(e,n).at(-1),l=e=>!e.hidden,w=u(k,(e,{root:a})=>{if(!(e instanceof HTMLElement))return;let o;f(e,n).forEach(t=>t.setAttribute("tabindex","-1")),r(e,"menu:open",t=>{o=t.detail.opener,e.hidden=!1,s("menu:open",e.hidden),p(e).focus(),s("menu:open 2",e.hidden)}),r(e,"menu:close",t=>{s("menu:close",e.hidden=!0),o?.focus()}),r(e,"focusout",t=>{!l(e)||e.contains(t.relatedTarget)||o!==t.relatedTarget&&i(e,"menu:close")}),r(e,"keydown",t=>{t.preventDefault(),E({ArrowUp:c=>_(e,n,a.activeElement).focus(),ArrowDown:c=>h(e,n,a.activeElement).focus(),Space:c=>a.activeElement?.closest(n)?.click(),Home:c=>p(e).focus(),End:c=>v(e).focus(),Escape:c=>i(e,"menu:close")})(t)}),r(window,"click",t=>{!l(e)||o!==t.target&&i(e,"menu:close")},{addedBy:e})}),y=u("[aria-haspopup=menu]",(e,{root:a})=>{const o=a.getElementById(d(e,"aria-controls"));r(o,"menu:close",t=>d(e,"aria-expanded","false"),{addedBy:e}),r(o,"menu:open",t=>d(e,"aria-expanded","true"),{addedBy:e}),r(e,"click",()=>i(o,l(o)?"menu:close":"menu:open",{opener:e}))});w(document);y(document);export{w as menu,y as menuButton};
diff --git a/www/releases/_artifacts/v1.0.0-prerelease.2/missing-js/overflow-nav.js b/www/releases/_artifacts/v1.0.0-prerelease.2/missing-js/overflow-nav.js
deleted file mode 100644
index 46994d4..0000000
--- a/www/releases/_artifacts/v1.0.0-prerelease.2/missing-js/overflow-nav.js
+++ /dev/null
@@ -1 +0,0 @@
-import{$ as f,attr as a,behavior as g,makelogger as x,on as l}from"./19.js";const w=g("[data-overflow-nav]",(o,{options:c})=>{const{expandedClass:s="expanded"}=c,e=f(o,"[data-nav-expander]"),d=x("overflow-nav"),r=()=>o.scrollWidth>o.clientWidth,p=()=>o.classList.contains(s),i=(t=!p())=>{d("toggleExpansion",t),t?(o.classList.add(s),a(e,"aria-pressed",!0),e.textContent="\xD7"):(o.classList.remove(s),a(e,"aria-pressed",!1),e.textContent="\u2630")},n=()=>{d("update");const t=e.hidden;e.hidden=!r(),t!=e.hidden&&i(!1)};l(e,"click",()=>{i()}),n(),l(window,"resize",()=>n(),{addedBy:o})});w(document);export{w as overflowNav};
diff --git a/www/releases/_artifacts/v1.0.0-prerelease.2/missing-js/tabs.js b/www/releases/_artifacts/v1.0.0-prerelease.2/missing-js/tabs.js
deleted file mode 100644
index 4833b18..0000000
--- a/www/releases/_artifacts/v1.0.0-prerelease.2/missing-js/tabs.js
+++ /dev/null
@@ -1 +0,0 @@
-import{$ as d,$$ as l,on as c,attr as t,next as h,prev as x,hotkey as g,behavior as m}from"./19.js";const i=e=>l(e,"[role=tab]"),a=e=>d(e,"[role=tab][aria-selected=true]"),u=(e,o)=>o.getElementById(t(e,"aria-controls")),n=(e,o,r)=>{if(!r)return;const f=a(o);t(f,{ariaSelected:!1,tabindex:-1}),t(r,{ariaSelected:!0,tabindex:0}),u(f,e).hidden=!0,u(r,e).hidden=!1,r.focus()},s=m("[role=tablist]",(e,{root:o})=>{e instanceof HTMLElement&&(e.tabIndex=0,i(e).forEach(r=>r.tabIndex=-1),n(o,e,a(e)),c(e,"focus",r=>a(e).focus()),c(e,"click",r=>n(o,e,r.target.closest("[role=tab]"))),c(e,"focusin",r=>n(o,e,r.target.closest("[role=tab]"))),c(e,"keydown",g({ArrowRight:r=>h(e,"[role=tab]",r.target).focus(),ArrowLeft:r=>x(e,"[role=tab]",r.target).focus(),Home:r=>d(e,"[role=tab]").focus(),End:r=>l(e,"[role=tab]").at(-1).focus()})))});s(document);var w=s;export{w as default,s as tablist};
diff --git a/www/releases/_artifacts/v1.0.0-prerelease.2/missing-prism.css b/www/releases/_artifacts/v1.0.0-prerelease.2/missing-prism.css
deleted file mode 100644
index 23e48b5..0000000
--- a/www/releases/_artifacts/v1.0.0-prerelease.2/missing-prism.css
+++ /dev/null
@@ -1,62 +0,0 @@
-
-.token.comment,
-.token.prolog,
-.token.doctype,
-.token.cdata,
-.token.punctuation {
- color: var(--muted-fg);
-}
-
-.token.property,
-.token.tag,
-.token.boolean,
-.token.number,
-.token.constant,
-.token.symbol,
-.token.deleted {
- color: var(--bad-fg);
-}
-
-.token.selector,
-.token.attr-name,
-.token.string,
-.token.char,
-.token.builtin,
-.token.inserted {
- color: var(--ok-fg);
-}
-
-.token.operator,
-.token.entity,
-.token.url,
-.language-css .token.string,
-.style .token.string,
-.token.regex,
-.token.important,
-.token.variable {
- color: var(--warn-fg)
-}
-
-.token.atrule,
-.token.attr-value,
-.token.keyword {
- color: var(--info-fg);
-}
-
-.token.function {
- color: var(--bad-fg);
- font-style: italic;
-}
-
-.token.important,
-.token.bold {
- font-weight: bold;
-}
-
-.token.italic {
- font-style: italic;
-}
-
-.token.entity {
- cursor: help;
-}
diff --git a/www/releases/_artifacts/v1.0.0-prerelease.2/missing-prism.min.css b/www/releases/_artifacts/v1.0.0-prerelease.2/missing-prism.min.css
deleted file mode 100644
index 41c91b1..0000000
--- a/www/releases/_artifacts/v1.0.0-prerelease.2/missing-prism.min.css
+++ /dev/null
@@ -1 +0,0 @@
-.token.cdata,.token.comment,.token.doctype,.token.prolog,.token.punctuation{color:var(--muted-fg)}.token.boolean,.token.constant,.token.deleted,.token.number,.token.property,.token.symbol,.token.tag{color:var(--bad-fg)}.token.attr-name,.token.builtin,.token.char,.token.inserted,.token.selector,.token.string{color:var(--ok-fg)}.language-css .token.string,.style .token.string,.token.entity,.token.important,.token.operator,.token.regex,.token.url,.token.variable{color:var(--warn-fg)}.token.atrule,.token.attr-value,.token.keyword{color:var(--info-fg)}.token.function{color:var(--bad-fg);font-style:italic}.token.bold,.token.important{font-weight:700}.token.italic{font-style:italic}.token.entity{cursor:help} \ No newline at end of file
diff --git a/www/releases/_artifacts/v1.0.0-prerelease.2/missing.css b/www/releases/_artifacts/v1.0.0-prerelease.2/missing.css
deleted file mode 100644
index 4bcf5e6..0000000
--- a/www/releases/_artifacts/v1.0.0-prerelease.2/missing.css
+++ /dev/null
@@ -1,2222 +0,0 @@
-/* Document
- * ========================================================================== */
-
-/**
- * 1. Add border box sizing in all browsers (opinionated).
- * 2. Backgrounds do not repeat by default (opinionated).
- */
-
-*,
-::before,
-::after {
- box-sizing: border-box; /* 1 */
- background-repeat: no-repeat; /* 2 */
-}
-
-/**
- * 1. Add text decoration inheritance in all browsers (opinionated).
- * 2. Add vertical alignment inheritance in all browsers (opinionated).
- */
-
-::before,
-::after {
- text-decoration: inherit; /* 1 */
- vertical-align: inherit; /* 2 */
-}
-
-/**
- * 1. Use the default cursor in all browsers (opinionated).
- * 3. Breaks words to prevent overflow in all browsers (opinionated).
- * 5. Remove the grey highlight on links in iOS (opinionated).
- * 6. Prevent adjustments of font size after orientation changes in iOS.
- */
-
-:root {
- cursor: default; /* 1 */
- overflow-wrap: break-word; /* 3 */
- -webkit-tap-highlight-color: transparent; /* 5 */
- text-size-adjust: none;
- -webkit-text-size-adjust: none;
-}
-
-/* Text-level semantics
- * ========================================================================== */
-
-/**
- * Add the correct text decoration in Safari.
- */
-
-abbr[title] {
- text-decoration: underline;
- -webkit-text-decoration: underline dotted;
- text-decoration: underline dotted;
-}
-
-/**
- * Add the correct font weight in Chrome, Edge, and Safari.
- */
-
-strong, b {
- font-weight: bolder;
-}
-
-/**
- * Add the correct font size in all browsers.
- */
-
-small {
- font-size: 80%;
-}
-
-/* Embedded content
- * ========================================================================== */
-
-/*
- * Change the alignment on media elements in all browsers (opinionated).
- */
-
-audio, canvas, iframe, img, svg, video {
- vertical-align: middle;
-}
-
-/**
- * Change the fill color to match the text color in all browsers (opinionated).
- */
-
-svg:not([fill]) {
- fill: currentColor;
-}
-
-/* Tabular data
- * ========================================================================== */
-
-/**
- * 1. Collapse border spacing in all browsers (opinionated).
- * 2. Correct table border color in Chrome, Edge, and Safari.
- * 3. Remove text indentation from table contents in Chrome, Edge, and Safari.
- */
-
-table {
- border-collapse: collapse; /* 1 */
- border-color: currentColor; /* 2 */
- text-indent: 0; /* 3 */
-}
-
-/* Forms
- * ========================================================================== */
-
-/**
- * Remove the margin on controls in Safari.
- */
-
-button, input, select {
- margin: 0;
-}
-
-/**
- * Correct the inability to style buttons in iOS and Safari.
- */
-
-button, [type="button"], [type="reset"], [type="submit"] {
- -webkit-appearance: button;
-}
-
-/**
- * Change the inconsistent appearance in all browsers (opinionated).
- */
-
-fieldset {
- border: 1px solid #a0a0a0;
-}
-
-/**
- * Add the correct vertical alignment in Chrome, Edge, and Firefox.
- */
-
-progress {
- vertical-align: baseline;
-}
-
-/**
- * 1. Remove the margin in Firefox and Safari.
- */
-
-textarea {
- margin: 0; /* 1 */
-}
-
-/**
- * 1. Correct the odd appearance in Chrome, Edge, and Safari.
- * 2. Correct the outline style in Safari.
- */
-
-[type="search"] {
- -webkit-appearance: textfield; /* 1 */
- outline-offset: -2px; /* 2 */
-}
-
-/**
- * Correct the cursor style of increment and decrement buttons in Safari.
- */
-
-::-webkit-inner-spin-button,
-::-webkit-outer-spin-button {
- block-size: auto;
-}
-
-/**
- * Correct the text style of placeholders in Chrome, Edge, and Safari.
- */
-
-::-webkit-input-placeholder {
- color: inherit;
- opacity: 0.54;
-}
-
-/**
- * Remove the inner padding in Chrome, Edge, and Safari on macOS.
- */
-
-::-webkit-search-decoration {
- -webkit-appearance: none;
-}
-
-/**
- * 1. Correct the inability to style upload buttons in iOS and Safari.
- * 2. Change font properties to `inherit` in Safari.
- */
-
-::-webkit-file-upload-button {
- -webkit-appearance: button; /* 1 */
- font: inherit; /* 2 */
-}
-
-/* Interactive
- * ========================================================================== */
-
-[hidden] {
- display: none !important;
-}
-
-:focus-visible {
- outline: .2em solid var(--accent);
- z-index: 32;
-}
-
-iframe:focus-visible,
- html:focus-visible,
- body:focus-visible {
- outline: none;
- }
-
-:target {
- outline: .2em solid var(--fg);
- z-index: 2;
-}
-
-/*
- * Add the correct display in Safari.
- */
-
-details > summary:first-of-type {
- display: list-item;
-}
-
-/* Accessibility
- * ========================================================================== */
-
-/**
- * Change the cursor on busy elements in all browsers (opinionated).
- */
-
-[aria-busy="true"] {
- cursor: progress;
-}
-
-/*
- * Change the cursor on disabled, not-editable, or otherwise
- * inoperable elements in all browsers (opinionated).
- */
-
-[aria-disabled="true"], [disabled] {
- cursor: not-allowed;
-}
-
-datalist {
- display: none !important;
-}
-
-/* https://github.com/fchristant/colar/ */
-
-:root {
- --gray-0: #f8fafb;
- --gray-1: #f2f4f6;
- --gray-2: #ebedef;
- --gray-3: #e0e4e5;
- --gray-4: #d1d6d8;
- --gray-5: #b1b6b9;
- --gray-6: #979b9d;
- --gray-7: #7e8282;
- --gray-8: #666968;
- --gray-9: #50514f;
- --gray-10: #3a3a37;
- --gray-11: #252521;
- --gray-12: #121210;
-
- --red-0: #fff5f5;
- --red-1: #ffe3e3;
- --red-2: #ffc9c9;
- --red-3: #ffa8a8;
- --red-4: #ff8787;
- --red-5: #ff6b6b;
- --red-6: #fa5252;
- --red-7: #f03e3e;
- --red-8: #e03131;
- --red-9: #c92a2a;
- --red-10: #b02525;
- --red-11: #962020;
- --red-12: #7d1a1a;
-
- --pink-0: #fff0f6;
- --pink-1: #ffdeeb;
- --pink-2: #fcc2d7;
- --pink-3: #faa2c1;
- --pink-4: #f783ac;
- --pink-5: #f06595;
- --pink-6: #e64980;
- --pink-7: #d6336c;
- --pink-8: #c2255c;
- --pink-9: #a61e4d;
- --pink-10: #8c1941;
- --pink-11: #731536;
- --pink-12: #59102a;
-
- --purple-0: #f8f0fc;
- --purple-1: #f3d9fa;
- --purple-2: #eebefa;
- --purple-3: #e599f7;
- --purple-4: #da77f2;
- --purple-5: #cc5de8;
- --purple-6: #be4bdb;
- --purple-7: #ae3ec9;
- --purple-8: #9c36b5;
- --purple-9: #862e9c;
- --purple-10: #702682;
- --purple-11: #5a1e69;
- --purple-12: #44174f;
-
- --violet-0: #f3f0ff;
- --violet-1: #e5dbff;
- --violet-2: #d0bfff;
- --violet-3: #b197fc;
- --violet-4: #9775fa;
- --violet-5: #845ef7;
- --violet-6: #7950f2;
- --violet-7: #7048e8;
- --violet-8: #6741d9;
- --violet-9: #5f3dc4;
- --violet-10: #5235ab;
- --violet-11: #462d91;
- --violet-12: #3a2578;
-
- --indigo-0: #edf2ff;
- --indigo-1: #dbe4ff;
- --indigo-2: #bac8ff;
- --indigo-3: #91a7ff;
- --indigo-4: #748ffc;
- --indigo-5: #5c7cfa;
- --indigo-6: #4c6ef5;
- --indigo-7: #4263eb;
- --indigo-8: #3b5bdb;
- --indigo-9: #364fc7;
- --indigo-10: #2f44ad;
- --indigo-11: #283a94;
- --indigo-12: #21307a;
-
- --blue-0: #e7f5ff;
- --blue-1: #d0ebff;
- --blue-2: #a5d8ff;
- --blue-3: #74c0fc;
- --blue-4: #4dabf7;
- --blue-5: #339af0;
- --blue-6: #228be6;
- --blue-7: #1c7ed6;
- --blue-8: #1971c2;
- --blue-9: #1864ab;
- --blue-10: #145591;
- --blue-11: #114678;
- --blue-12: #0d375e;
-
- --cyan-0: #e3fafc;
- --cyan-1: #c5f6fa;
- --cyan-2: #99e9f2;
- --cyan-3: #66d9e8;
- --cyan-4: #3bc9db;
- --cyan-5: #22b8cf;
- --cyan-6: #15aabf;
- --cyan-7: #1098ad;
- --cyan-8: #0c8599;
- --cyan-9: #0b7285;
- --cyan-10: #095c6b;
- --cyan-11: #074652;
- --cyan-12: #053038;
-
- --teal-0: #e6fcf5;
- --teal-1: #c3fae8;
- --teal-2: #96f2d7;
- --teal-3: #63e6be;
- --teal-4: #38d9a9;
- --teal-5: #20c997;
- --teal-6: #12b886;
- --teal-7: #0ca678;
- --teal-8: #099268;
- --teal-9: #087f5b;
- --teal-10: #066649;
- --teal-11: #054d37;
- --teal-12: #033325;
-
- --green-0: #ebfbee;
- --green-1: #d3f9d8;
- --green-2: #b2f2bb;
- --green-3: #8ce99a;
- --green-4: #69db7c;
- --green-5: #51cf66;
- --green-6: #40c057;
- --green-7: #37b24d;
- --green-8: #2f9e44;
- --green-9: #2b8a3e;
- --green-10: #237032;
- --green-11: #1b5727;
- --green-12: #133d1b;
-
- --lime-0: #f4fce3;
- --lime-1: #e9fac8;
- --lime-2: #d8f5a2;
- --lime-3: #c0eb75;
- --lime-4: #a9e34b;
- --lime-5: #94d82d;
- --lime-6: #82c91e;
- --lime-7: #74b816;
- --lime-8: #66a80f;
- --lime-9: #5c940d;
- --lime-10: #4c7a0b;
- --lime-11: #3c6109;
- --lime-12: #2c4706;
-
- --yellow-0: #fff9db;
- --yellow-1: #fff3bf;
- --yellow-2: #ffec99;
- --yellow-3: #ffe066;
- --yellow-4: #ffd43b;
- --yellow-5: #fcc419;
- --yellow-6: #fab005;
- --yellow-7: #f59f00;
- --yellow-8: #f08c00;
- --yellow-9: #e67700;
- --yellow-10: #b35c00;
- --yellow-11: #804200;
- --yellow-12: #663500;
-
- --orange-0: #fff4e6;
- --orange-1: #ffe8cc;
- --orange-2: #ffd8a8;
- --orange-3: #ffc078;
- --orange-4: #ffa94d;
- --orange-5: #ff922b;
- --orange-6: #fd7e14;
- --orange-7: #f76707;
- --orange-8: #e8590c;
- --orange-9: #d9480f;
- --orange-10: #bf400d;
- --orange-11: #99330b;
- --orange-12: #802b09;
-
- --choco-0: #fff8dc;
- --choco-1: #fce1bc;
- --choco-2: #f7ca9e;
- --choco-3: #f1b280;
- --choco-4: #e99b62;
- --choco-5: #df8545;
- --choco-6: #d46e25;
- --choco-7: #bd5f1b;
- --choco-8: #a45117;
- --choco-9: #8a4513;
- --choco-10: #703a13;
- --choco-11: #572f12;
- --choco-12: #3d210d;
-
- --brown-0: #faf4eb;
- --brown-1: #ede0d1;
- --brown-2: #e0cab7;
- --brown-3: #d3b79e;
- --brown-4: #c5a285;
- --brown-5: #b78f6d;
- --brown-6: #a87c56;
- --brown-7: #956b47;
- --brown-8: #825b3a;
- --brown-9: #6f4b2d;
- --brown-10:#5e3a21;
- --brown-11:#4e2b15;
- --brown-12: #422412;
-
- --sand-0: #f8fafb;
- --sand-1: #e6e4dc;
- --sand-2: #d5cfbd;
- --sand-3: #c2b9a0;
- --sand-4: #aea58c;
- --sand-5: #9a9178;
- --sand-6: #867c65;
- --sand-7: #736a53;
- --sand-8: #5f5746;
- --sand-9: #4b4639;
- --sand-10:#38352d;
- --sand-11:#252521;
- --sand-12: #121210;
-
- --camo-0: #f9fbe7;
- --camo-1: #e8ed9c;
- --camo-2: #d2df4e;
- --camo-3: #c2ce34;
- --camo-4: #b5bb2e;
- --camo-5: #a7a827;
- --camo-6: #999621;
- --camo-7: #8c851c;
- --camo-8: #7e7416;
- --camo-9: #6d6414;
- --camo-10: #5d5411;
- --camo-11: #4d460e;
- --camo-12: #36300a;
-
- --jungle-0: #ecfeb0;
- --jungle-1: #def39a;
- --jungle-2: #d0e884;
- --jungle-3: #c2dd6e;
- --jungle-4: #b5d15b;
- --jungle-5: #a8c648;
- --jungle-6: #9bbb36;
- --jungle-7: #8fb024;
- --jungle-8: #84a513;
- --jungle-9: #7a9908;
- --jungle-10: #658006;
- --jungle-11: #516605;
- --jungle-12: #3d4d04;
-}
-
-/***
- 4.1 The document element
- https://html.spec.whatwg.org/multipage/semantics.html#the-root-element
-
- 4.3 Sections
- https://html.spec.whatwg.org/multipage/sections.html
- ***/
-
-html {
- font-family: var(--main-font);
- line-height: var(--rhythm);
-
- background: var(--bg);
- color: var(--fg);
- scroll-padding-block-start: calc(4 * var(--gap));
-}
-
-body {
- margin: 0;
-}
-
-header, footer, section + section {
- margin-block: calc(2 * var(--gap));
-}
-
-nav a {
- text-decoration: none;
- color: var(--accent);
- }
-
-/* SEE components/box.css */
-
-aside h1,
- aside h2,
- aside h3,
- aside h4,
- aside h5,
- aside h6 {
- font-size: 1em;
- text-transform: none;
- letter-spacing: none;
- }
-
-h1, h2, h3, h4, h5, h6,
-.\<h1\>, .\<h2\>, .\<h3\>, .\<h4\>, .\<h5\>, .\<h6\> {
- margin-block-end: var(--gap);
- font-family: var(--secondary-font);
- font-size: 1em;
- margin-block-start: calc(2 * var(--gap));
- position: relative;
-}
-
-h1, .\<h1\> {
- font-size: 2em;
- text-transform: none;
- line-height: calc(2 * var(--rhythm));
- letter-spacing: 0;
-}
-
-h2, .\<h2\> {
- font-size: 1.6em;
- text-transform: none;
- line-height: calc(1.5 * var(--rhythm));
- letter-spacing: 0;
-}
-
-h3, .\<h3\> {
- font-size: 1.17em;
- line-height: calc(1 * var(--rhythm));
-}
-
-h4, .\<h4\>, h5, .\<h5\>, h6, .\<h6\> {
- font-size: 1em;
- text-transform: none;
- line-height: calc(1 * var(--rhythm));
- letter-spacing: 0;
- margin-block-start: var(--gap);
-}
-
-h1 + h2,
-h2 + h3,
-h3 + h4,
-h4 + h5,
-h5 + h6,
-h1:first-child,
-h2:first-child,
-h3:first-child,
-h4:first-child,
-h5:first-child,
-h6:first-child {
- margin-block-start: var(--gap);
-}
-
-h1:target,
-h2:target,
-h3:target,
-h4:target,
-h5:target,
-h6:target {
- outline: none
-}
-
-h1:target::before, h2:target::before, h3:target::before, h4:target::before, h5:target::before, h6:target::before {
- content: "";
- display: block;
- position: absolute;
- left: -.5em;
- width: 4px;
- height: 100%;
- background: var(--accent);
- }
-
-header {
- font-family: var(--secondary-font);
- border-block-end: 1px solid var(--faded-fg);
-}
-
-footer {
- font-family: var(--secondary-font);
- border-block-start: 1px solid var(--faded-fg);
-}
-
-body > header,
-body > footer,
-main + footer {
- padding: var(--rhythm) calc((100% - var(--eff-line-length)) / 2)
-}
-
-address {
- --density: 0;
-}
-
-/***
- 4.4 Grouping content
- https://html.spec.whatwg.org/multipage/grouping-content.html
- ***/
-
-p {
- margin-block: var(--gap);
-}
-
-hr {
- color: inherit;
- margin-inline: 0;
- margin-block: var(--gap);
-
- flex: 0 1 0px;
- border-inline-start: 1px solid var(--accent);
- block-size: auto;
- border-block-start: 1px solid var(--accent);
- border-block-end: none;
- border-inline-end: none;
-}
-
-pre {
- font-family: var(--mono-font);
- font-size: .9em;
- line-height: var(--rhythm);
- -o-tab-size: 2;
- tab-size: 2;
-
- margin: var(--gap) 0;
-
- overflow-x: auto;
- scrollbar-width: thin;
- scrollbar-color: var(--accent) transparent;
-}
-
-blockquote {
- margin-inline: 0 var(--gap);
- padding-inline: var(--gap) 0;
- margin-block: var(--gap);
-
- font-size: 1.1em;
- line-height: var(--rhythm);
- font-style: italic;
-
- border-inline-start: 1px solid var(--faded-fg);
- color: var(--muted-fg)
-}
-
-blockquote em, blockquote cite, blockquote dfn, blockquote var, blockquote i, blockquote address {
- font-style: normal;
- }
-
-blockquote footer {
- text-align: right;
- text-align: end;
- }
-
-ul, ol {
- padding-inline-start: var(--rhythm)
-}
-
-ul ul, ul ol, ol ul, ol ol {
- padding-inline-start: var(--gap);
- }
-
-ul[role="list"], ol[role="list"] {
- padding-inline-start: 0;
- list-style: none;
- }
-
-ul {
-}
-
-ol {
- list-style: decimal;
-}
-
-dl {
- margin-block: var(--gap);
-}
-
-dt {
- font-weight: bold;
- }
-
-dd {
- margin-inline-start: var(--rhythm);
- }
-
-li::marker {
- font-family: var(--secondary-font);
-}
-
-figure {
- max-width: 100%;
- margin-inline: 0;
-
- /* SEE components/box.css */
-}
-
-figcaption {
- margin-block: var(--gap);
-
- font-family: var(--secondary-font);
-
- color: var(--muted-fg);
-}
-
-main {
- max-inline-size: var(--eff-line-length);
- margin: auto
-}
-
-main:first-child { padding-top: var(--gap); }
-
-/***
- 4.5 Text-level semantics
- https://html.spec.whatwg.org/multipage/text-level-semantics.html
-
- 4.7 Edits
- https://html.spec.whatwg.org/multipage/edits.html
- ***/
-
-/* Text-level semantics */
-
-a {
- color: var(--link-fg, var(--accent));
- font-family: var(--secondary-font);
- border-radius: var(--border-radius);
- outline-offset: 1px
-}
-
-.list-of-links a {
- text-decoration: none
-}
-
-a:hover, a:focus {
- text-decoration: none;
- outline: 1px solid;
- transition: outline-offset .1s ease-in-out;
- }
-
-a:active {
- outline-offset: 0;
- }
-
-span > small:only-child {
- /***
- Sidenote
- ***/
- display: block;
- float: inline-end;
- clear: inline-end;
-
- --sidenote-width: 20ch;
-
- max-inline-size: var(--sidenote-width);
- padding-inline: 1.5ch 1ch;
-
- margin-inline-end: calc(1em - var(--sidenote-width));
- margin-block-end: var(--rhythm);
-
- font-family: var(--secondary-font);
-
- background: var(--bg);
- border: 1px solid transparent;
-
- transition: transform .1s ease-in-out
-}
-
-span > small:only-child:hover, span > small:only-child:focus-within {
- border: 1px solid var(--faded-fg);
- border-radius: var(--border-radius);
- transform: translateX(calc(
- 0px - var(--sidenote-width)
- + min(var(--gutter-width), var(--sidenote-width))
- ))
- }
-
-s {
- color: var(--bad-fg);
-}
-
-q {
- font-style: italic
-}
-
-q em, q cite, q dfn, q var, q i, q address {
- font-style: normal;
- }
-
-time {
- font-variant-numeric: tabular-nums;
-}
-
-code, samp, kbd {
- font-family: var(--mono-font);
-}
-
-samp {
- color: var(--ok-fg);
-}
-
-kbd kbd /*
- We apply the key-like styling to a nested kbd element, a pattern shown in
- WHATWG HTML for marking up keyboard input:
-
- > Here the kbd element is used to indicate keys to press:
- > ~~~ html
- > <p>To make George eat an apple, press <kbd><kbd>Shift</kbd> + <kbd>F3</kbd></kbd></p>
- > ~~~
-
- The plain kbd element can also be used for clicking menus (<kbd>File |
- New...</kbd>) or voice input (<kbd>Hey Siri, </kbd>)
-*/ {
- display: inline-block;
-
- padding: 0 .3em;
- font-size: .8em;
- line-height: 1.1em;
-
- background: var(--interactive-bg);
- border: 1px outset var(--faded-fg);
- border-block-end-width: 3px;
- border-radius: var(--border-radius);
-}
-
-sub {
- vertical-align: bottom;
- line-height: 1;
-}
-
-sup {
- vertical-align: top;
- line-height: 1;
-}
-
-mark {
- background: var(--warn-bg);
- color: var(--warn-fg);
-}
-
-/* Edits */
-
-ins {
- background: var(--ok-bg);
- color: var(--ok-fg);
-}
-
-del {
- background: var(--bad-bg);
- color: var(--bad-fg);
-}
-
-/***
- 4.8 Embedded content
- https://html.spec.whatwg.org/multipage/embedded-content.html
- ***/
-
-img, video, audio, iframe, object, embed {
- max-inline-size: 100%;
- inline-size: max-content;
- block-size: auto;
-}
-
-/***
- 4.9 Tabular data
- https://html.spec.whatwg.org/multipage/tables.html
- ***/
-
-table {
- font-variant-numeric: tabular-nums;
- font: inherit;
-}
-
-caption {
- text-align: start;
- font-family: var(--secondary-font);
- font-style: italic;
-}
-
-tbody {
- border-block: 1px solid var(--fg);
-}
-
-thead {
-}
-
-tfoot {
-}
-
-tr {
-
-}
-
-td, th {
- vertical-align: top
-}
-
-td:not(:last-child), th:not(:last-child) {
- padding-inline-end: var(--rhythm);
- }
-
-td {
- }
-
-th {
- font-family: var(--secondary-font);
- text-align: start;
- }
-
-/***
- 4.10 Forms
- https://html.spec.whatwg.org/multipage/forms.html
- ***/
-
-input { display: block; }
-
-label input:not([specificity-hack]) { display: inline; padding-block: 0; }
-
-button,
-input[type="submit"],
-input[type="reset"],
-input[type="button"],
-input::file-selector-button,
-.\<button\> {
- display: inline-block;
- padding: 0 calc(var(--rhythm) / 4);
- vertical-align: top;
-
- font-size: .8rem;
- line-height: 1.125em;
- font-family: var(--secondary-font);
- min-height: var(--rhythm);
-
- background: var(--interactive-bg);
- color: var(--fg);
- border: 1px solid var(--muted-fg);
- box-sizing: border-box;
- border-radius: var(--border-radius);
-
- /* a-specific resets */
- color: var(--fg);
- text-decoration: none;
- display: inline-flex;
- place-items: center
-}
-
-:is(button,input[type="submit"],input[type="reset"],input[type="button"],input::file-selector-button,.\<button\>):hover, :is(button,input[type="submit"],input[type="reset"],input[type="button"],input::file-selector-button,.\<button\>):focus-visible {
- filter: brightness(1.1);
-
- /* a-specific resets */
- text-decoration: none;
- }
-
-:is(button,input[type="submit"],input[type="reset"],input[type="button"],input::file-selector-button,.\<button\>):active {
- filter: brightness(.8);
- }
-
-[aria-pressed="true"]:is(button,input[type="submit"],input[type="reset"],input[type="button"],input::file-selector-button,.\<button\>), [aria-expanded="true"]:is(button,input[type="submit"],input[type="reset"],input[type="button"],input::file-selector-button,.\<button\>) {
- box-shadow: 0 .05em var(--accent);
- transform: translateY(.05em);
- background: var(--pressed-interactive-bg);
- }
-
-[disabled]:is(button,input[type="submit"],input[type="reset"],input[type="button"],input::file-selector-button,.\<button\>) {
- color: var(--muted-fg);
- }
-
-strong > :is(button,input[type="submit"],input[type="reset"],input[type="button"],input::file-selector-button,.\<button\>) {
- background: var(--accent);
- color: var(--bg);
- border: none;
- font-weight: bold
-}
-
-strong > [disabled]:is(button,input[type="submit"],input[type="reset"],input[type="button"],input::file-selector-button,.\<button\>) {
- color: var(--muted-accent);
- }
-
-input:not([type]),
-input[type="text"],
-input[type="search"],
-input[type="tel"],
-input[type="url"],
-input[type="email"],
-input[type="password"],
-input[type="date"],
-input[type="month"],
-input[type="week"],
-input[type="time"],
-input[type="datetime"],
-input[type="datetime-local"],
-input[type="number"],
-select,
-textarea {
- padding: calc(var(--rhythm) / 4);
- vertical-align: top;
-
- font-size: 1rem;
- line-height: inherit;
- font-family: var(--main-font);
-
- background: var(--bg);
- color: var(--fg);
- border: 1px solid var(--faded-fg);
- border-radius: var(--border-radius);
-
- vertical-align: top
-}
-
-:is(input:not([type]),input[type="text"],input[type="search"],input[type="tel"],input[type="url"],input[type="email"],input[type="password"],input[type="date"],input[type="month"],input[type="week"],input[type="time"],input[type="datetime"],input[type="datetime-local"],input[type="number"],select,textarea):focus-visible {
- border: 1px solid var(--accent);
- }
-
-:is(input:not([type]),input[type="text"],input[type="search"],input[type="tel"],input[type="url"],input[type="email"],input[type="password"],input[type="date"],input[type="month"],input[type="week"],input[type="time"],input[type="datetime"],input[type="datetime-local"],input[type="number"],select,textarea)::placeholder {
- color: var(--muted-fg);
- opacity: 1;
- text-align: end;
- }
-
-input[type="range"] {
- width: 100%;
- padding: calc(var(--gap) / 4);
-}
-
-input[type="color"] {
- padding: 0;
- margin: 0;
- height: calc(1.5 * var(--rhythm));
-
- border: none;
- background: none;
-}
-
-input[type="file"] {
- padding: calc(var(--gap) / 4) 0;
- font: inherit;
- line-height: calc(var(--rhythm) / 2)
-}
-
-input[type="file"]::file-selector-button {
- margin-block: .1em 0;
- margin-inline-end: 1ch;
- }
-
-select[multiple] {
- vertical-align: top;
-}
-
-optgroup::before {
- color: var(--muted-fg);
- font-style: normal;
-}
-
-progress {
- /* TODO */
-}
-
-meter {
- /* TODO */
-}
-
-label[for] {
- display: block;
- padding-block: calc(var(--gap) / 4);
-}
-
-fieldset {
- position: relative;
-
- padding: var(--gap);
- margin: var(--gap) 0;
- width: 100%;
- border-radius: var(--border-radius);
-}
-
-fieldset > legend + * { margin-block-start: 0 }
-
-fieldset {
-
- border: 1px solid var(--faded-fg);
-}
-
-/***
- 4.11 Interactive elements
- https://html.spec.whatwg.org/multipage/interactive-elements.html#interactive-elements
- ***/
-
-details {
- /* SEE components/box.css */
-
- padding-block-start: 0
-}
-
-details:not([open]) { padding-block-end: 0; }
-
-summary {
- margin: calc(0px - var(--gap));
- margin-top: calc(0px - var(--gap));
- margin-bottom: 0;
- padding-inline: var(--gap);
-
- font-family: var(--secondary-font);
- font-weight: bold;
-
- background: var(--accent);
- color: var(--bg);
-
- cursor: pointer
-}
-
-summary:focus-visible, summary:active {
- filter: brightness(.8);
- }
-
-details[open] summary {
- border-block-end: 1px solid var(--accent);
- border-end-end-radius: 0;
- border-end-start-radius: 0
-}
-
-dialog {
- /* SEE components/box.css */
-
- position: absolute;
- inline-inset: 0;
-
- block-size: -moz-fit-content;
-
- block-size: fit-content;
- inline-size: -moz-fit-content;
- inline-size: fit-content;
-
- margin: auto !important;
-
- background-color: var(--bg);
- color: var(--fg);
- border-color: var(--accent);
-}
-
-dialog[open]::backdrop {
- display: block;
- background: black;
- opacity: .4;
- animation: bg 2s;
-}
-
-@keyframes bg {
- from { background: transparent; }
-}
-
-dialog:not([open]) {
- display: none;
-}
-
-.box,
-/* defined elsewhere */
-[role=menu],
-.sidebar-layout > header,
-[role=tabpanel],
-figure,
-details,
-dialog,
-aside {
- margin: var(--gap) 0;
- padding: var(--gap);
- overflow: clip;
-
- border-radius: var(--border-radius);
- background: var(--box-bg);
- border: 1px solid var(--faded-fg);
-}
-
-.titlebar {
- margin-inline: calc(0px - var(--gap));
- margin-block-end: calc(0px - var(--gap));
- padding-inline: var(--gap);
-
- font: inherit;
- font-family: var(--secondary-font);
- font-weight: bold;
-
- translate: 0 calc(-1px - var(--gap));
-
- background: var(--faded-fg);
- color: var(--bg);
-}
-
-.sub-title, sub-title {
- /***
- Meant for use in headings. Make sure to also use visually-hidden punctuation
- to mark the subtitle as shown below:
-
- 1 | <h1>
- 2 | Foo Bar<v-h>:</v-h>
- 3 | <sub-title>How I Learned To Stop Worrying and Love Baz</sub-title>
- 4 | </h1>
-
- 1 | <h1>
- 2 | <sub-title class="-allcaps">Breaking News</sub-title><v-h>:</v-h>
- 3 | Bad Thing Happens
- 4 | <h1>
- ***/
-
- display: block;
-
- font-weight: normal;
-
- color: var(--muted-fg);
-}
-
-.tool-bar, [role=toolbar] {
- display: flex;
- flex-flow: row wrap;
- gap: calc(var(--gap) / 2)
-}
-
-.tool-bar > *, [role=toolbar] > * { margin: 0; }
-
-.sidebar-layout header li {
- margin-block: calc(.5 * var(--gap));
- }
-
-.sidebar-layout header a {
- font-weight: bold;
- }
-
-@media (min-width: 75ch) {
-
-.sidebar-layout {
- display: grid;
- grid-template-columns: 25ch auto;
- inset: 0
-}
-
- .sidebar-layout > header {
- border-block: none;
- border-inline-start: none;
- margin: 0;
- }
-
- .sidebar-layout > :nth-child(2) {
- overflow: scroll;
- --full-width: calc(100vw - 25ch);
- }
- }
-
-.breadcrumbs[aria-label] {
- font-family: var(--secondary-font)
-}
-
-.breadcrumbs[aria-label] ul, .breadcrumbs[aria-label] ol {
- list-style: none;
- padding-inline-start: 0;
- }
-
-.breadcrumbs[aria-label] li {
- display: inline
- }
-
-:is(.breadcrumbs[aria-label] li)+li::before {
- content: ' / ' / '';
- content: ' / ';
- display: inline;
- }
-
-.breadcrumbs[aria-label] [aria-current="page"] {
- font-weight: bold;
- }
-
-.chip, chip {
- font-family: var(--secondary-font);
- border: 1px solid var(--accent);
- background: var(--box-bg);
- border-radius: calc(var(--rhythm) / 2);
- padding-inline: calc(var(--rhythm) / 2);
-}
-
-.navbar {
- padding: var(--rhythm);
-
- font-family: var(--secondary-font);
-
- background: var(--box-bg);
- border-block-end: 1px solid var(--accent);
-
- overflow-x: auto;
- scrollbar-width: thin;
-
- position: sticky;
- z-index: 5;
- top: 0;
- left: 0;
- right: 0;
-
- /* Inner layout */
- display: flex;
- flex-flow: row;
- align-items: center;
- gap: var(--gap)
-}
-
-.navbar.expanded {
- flex-flow: column;
- align-items: start;
-
- max-height: 90vh;
- overflow-y: auto
- }
-
-.navbar.expanded ul[role="list"] { flex-flow: column; }
-
-.navbar * {
- flex-shrink: 0;
- margin-block: 0;
- }
-
-.navbar:not(.expanded) > :first-child, .navbar:not(.expanded) nav > :first-child { margin-inline-start: auto; }
-
-.navbar:not(.expanded) > :last-child, .navbar:not(.expanded) nav > :last-child { margin-inline-end: auto; }
-
-.navbar hr { align-self: stretch; }
-
-.navbar nav ul[role="list"] {
- display: flex;
- flex-flow: row;
- gap: var(--rhythm)
- }
-
-.navbar nav ul[role="list"] * { flex-shrink: 0 }
-
-.navbar nav ul[role="list"] {
- padding-inline-start: 0;
- }
-
-.navbar a {
- font-weight: bold;
- text-decoration: none;
- padding-inline: .2em;
- }
-
-.navbar a:hover, .navbar a:focus {
- text-decoration: underline;
- }
-
-.navbar [aria-current=page] {
- position: relative;
- }
-
-.navbar [aria-current=page]::after {
- width: 100%;
- height: 6px;
- content: "";
- display: block;
- position: absolute;
- bottom: calc(-1 * var(--gap));
- background: currentcolor;
- }
-
-.navbar.expanded [aria-current=page]::after {
- width: 6px;
- height: 100%;
- position: absolute;
- left: calc(-1 * var(--gap));
- top: 0;
- }
-
-.permalink-anchor {
- display: none
-}
-
-*:hover > .permalink-anchor {
- display: initial
-}
-
-button.iconbutton {
- border: none;
- background: none;
- color: currentcolor;
- padding: 0;
- line-height: var(--rhythm);
- font-size: 24px;
- width: 24px;
- height: 24px;
- display: inline-block;
- text-align: center;
- border-radius: 50%;
- transition: font-weight .2s ease-in-out
-}
-
-button.iconbutton:hover, button.iconbutton:focus-visible {
- outline: 1px solid var(--accent);
- outline-offset: 6px;
- }
-
-button.iconbutton:active {
- outline-offset: 3px;
- background: none;
- }
-
-button.iconbutton[aria-pressed=true] {
- box-shadow: none;
- transform: none;
- }
-
-[role="tablist"] {
- display: flex;
- gap: .5ch;
- scrollbar-width: thin;
-}
-
-[role="tab"][role="tab"] {
- all: initial;
-
- font-family: var(--secondary-font);
-
- padding: 0 calc(var(--rhythm) / 4);
- margin: 0;
- min-height: var(--rhythm);
-
- color: var(--fg);
- border: solid var(--faded-fg);
- border-width: 1px 1px 0 1px;
- border-block-end-color: transparent;
- background: var(--interactive-bg);
-
- border-start-start-radius: .4em;
- border-start-end-radius: .4em
-}
-
-[role="tab"][role="tab"]:active, [role="tab"][role="tab"][aria-selected="true"] {
- transform: none;
- bottom: -1px;
- position: relative;
- background: var(--box-bg);
- border-block-end: 1px solid var(--box-bg);
- }
-
-[role="tab"][role="tab"]:hover {
- background-color: var(--box-bg);
- }
-
-[role="tab"][role="tab"]:focus {
- background-color: var(--box-bg);
- border-color: var(--accent);
- outline: 1px solid var(--accent);
- }
-
-[role="tabpanel"] {
- /* SEE components/box.css */
-
- margin-block-start: 0;
- border-start-start-radius: 0;
- border-start-end-radius: 0;
- z-index: 1;
-}
-
-[role="menu"] {
- /* SEE components/box.css */
- position: absolute;
-
- z-index: 10;
-
- padding: calc(var(--gap) / 2) 0;
- margin: 1px 0 0 0;
-
- display: flex;
- flex-flow: column nowrap;
-}
-
-[role=menuitem] {
- padding: 0 calc(var(--gap) / 2);
-
- display: block;
-
- text-decoration: none;
- border-radius: 0;
-
- color: var(--fg)
-}
-
-[role=menuitem]:focus {
- background: var(--accent);
- color: var(--bg);
- }
-
-[role=listbox] {
- list-style: none
-}
-
-ul[role=listbox] {
- padding-inline-start: 0
-}
-
-[role=listbox] [role=option] {
- margin-inline: calc(-1 * var(--gap));
- padding-inline: var(--gap);
- }
-
-[role=listbox] [role=option][aria-selected=true] {
- background: var(--interactive-bg);
- }
-
-[role=listbox] .active[role=option] {
- --temporary-bg: var(--accent);
- --temporary-fg: var(--bg);
- --temporary-accent: parent-var(--muted-accent);
- --temporary-muted-accent: parent-var(--box-bg);
-
- background: var(--temporary-bg);
- color: var(--temporary-fg)
- }
-
-[role=listbox] .active[role=option] > * {
- --bg: var(--temporary-bg);
- --fg: var(--temporary-fg);
- --accent: var(--temporary-accent);
- --muted-accent: var(--temporary-muted-accent);
- }
-
-[aria-orientation="vertical"] {
- flex-direction: column;
- width: -moz-fit-content;
- width: fit-content;
- text-align: center;
-}
-
-.plain {
- --box-bg: var(--plain-bg);
- --accent: var(--plain-fg);
- --faded-fg: var(--plain-faded-fg);
-}
-
-.info {
- --box-bg: var(--info-bg);
- --accent: var(--info-fg);
- --faded-fg: var(--info-faded-fg);
-}
-
-.ok {
- --box-bg: var(--ok-bg);
- --accent: var(--ok-fg);
- --faded-fg: var(--ok-faded-fg);
-}
-
-.warn {
- --box-bg: var(--warn-bg);
- --accent: var(--warn-fg);
- --faded-fg: var(--warn-faded-fg);
-}
-
-.bad {
- --box-bg: var(--bad-bg);
- --accent: var(--bad-fg);
- --faded-fg: var(--bad-faded-fg);
-}
-
-.color {
- color: var(--accent);
-}
-
-.bg {
- background: var(--box-bg);
-}
-
-.border {
- border-style: solid;
- border-color: var(--faded-fg);
-}
-
-:root {
- /* Colors */
- --fg: var(--gray-12); /* Text. */
- --muted-fg: var(--gray-10); /* De-emphasized or disabled elements' text. Will be
- used with a background of --c-bg and --c-bg-2 -- check contrast! */
- --faded-fg: var(--plain-faded-fg); /* De-emphasized or disabled graphical elements. Will not
- be used as a text color. */
-
- --plain-fg: var(--blue-10);
- --info-fg: var(--blue-11);
- --ok-fg: var(--green-11);
- --bad-fg: var(--red-11);
- --warn-fg: var(--yellow-11);
-
- --plain-faded-fg: var(--gray-6);
- --info-faded-fg: var(--blue-6);
- --ok-faded-fg: var(--green-6);
- --bad-faded-fg: var(--red-6);
- --warn-faded-fg: var(--yellow-6);
-
- --bg: var(--gray-0); /* Page background. */
- --box-bg: var(--plain-bg); /* Background for blocks: cards, admonitions etc. */
- --interactive-bg: var(--gray-4); /* Background for interactive elements */
-
- --plain-bg: var(--gray-1);
- --info-bg: var(--blue-1);
- --ok-bg: var(--green-1);
- --bad-bg: var(--red-1);
- --warn-bg: var(--yellow-1);
-
- --accent: var(--blue-10); /* Accent color. Will be used *as a text color* with a
- background of --c-bg and --c-bg-2 -- check contrast! */
- --muted-accent: var(--blue-7); /* Muted accent color. Will not be used for text. */
-
- /* Lengths */
- --rhythm: 1.4rem; /* Vertical rhythm, line height. */
- --line-length: 40rem; /* Maximum line length for prose. */
- --border-radius: .2rem;
-
- /* Fonts */
- --main-font: 'Source Sans 3', 'Source Sans Pro', -apple-system, system-ui, sans-serif;
- --secondary-font: var(--main-font); /* Headings etc. */
- --mono-font: 'M Plus Code Latin', monospace, monospace; /* monospace twice stops browsers from
- shrinking this */
-
- /* Density */
- --density: 1;
-
- /* Width */
- --full-width: 100vw;
-
- /* Do not set these. */
- --eff-line-length: /* Effective line length for prose. */
- min(
- calc( var(--full-width) - (2 * var(--rhythm)) ),
- var(--line-length)
- );
-
- --gutter-width: /* Width of spaces at each side of page content. */
- calc(
- (
- var(--full-width) /* Viewport width */
- - var(--eff-line-length) /* minus line width */
- ) / 2); /* Divide by 2: there are two page margins */
-}
-
-@media (prefers-color-scheme: dark) {
- :root:not(.-no-dark-theme) {
- --fg: var(--gray-0);
- --muted-fg: var(--gray-2);
- --faded-fg: var(--gray-7);
-
- --plain-bg: var(--gray-11);
- --info-bg: var(--blue-12);
- --ok-bg: var(--green-12);
- --bad-bg: var(--red-12);
- --warn-bg: var(--yellow-12);
-
- --plain-faded-fg: var(--blue-6);
- --info-faded-fg: var(--blue-6);
- --ok-faded-fg: var(--green-6);
- --bad-faded-fg: var(--red-6);
- --warn-faded-fg: var(--yellow-6);
-
- --bg: var(--gray-12);
- --box-bg: var(--gray-10);
- --interactive-bg: var(--gray-8);
-
- --plain-fg: (--blue-3);
- --info-fg: var(--blue-3);
- --ok-fg: var(--green-3);
- --bad-fg: var(--red-3);
- --warn-fg: var(--yellow-3);
-
- --accent: var(--blue-3);
- --muted-accent: var(--blue-5);
- }
-}
-
-* {
- --gap: calc(var(--rhythm) * var(--density));
- accent-color: var(--accent);
-}
-
-.textcolumns {
- --col-width: 30ch;
- column-width: var(--col-width);
- column-gap: var(--gap);
- margin-block: var(--gap)
-}
-
-.textcolumns :first-child { margin-block-start: 0 !important }
-
-.text-align\:center {
- text-align: center;
-}
-
-.center {
- display: grid;
- place-items: center;
-}
-
-/**/
-
-.container {
- max-inline-size: var(--eff-line-length);
- margin-inline: auto;
-}
-
-.fullbleed {
- position: relative;
- width: var(--full-width);
- left: 50%;
- transform: translateX(calc(-.5 * var(--full-width)));
-
- border-radius: 0;
- border-inline: none;
-}
-
-.fullscreen {
- height: 100vh;
-
- position: relative;
- width: 100vw;
- left: 50%;
- transform: translateX(-50vw);
-
- border-radius: 0;
- border-inline: none;
-}
-
-.width\:100\% { width:100%; max-width: 100% }
-
-.height\:100\% { height:100%; max-height: 100% }
-
-/**/
-
-/* ugh, specificity hacks */
-
-*:first-child:first-child:first-child { margin-block-start: 0; }
-
-*:last-child:last-child:last-child { margin-block-end: 0; }
-
-.padding { padding-inline: var(--gap) }
-
-.padding-block { padding-block: var(--gap) }
-
-.padding-block-start { padding-block-start: var(--gap) }
-
-.padding-block-end { padding-block-end: var(--gap) }
-
-.padding-inline { padding-inline: var(--gap) }
-
-.padding-inline-start { padding-inline-start: var(--gap) }
-
-.padding-inline-end { padding-inline-start: var(--gap) }
-
-.margin { margin: var(--gap) }
-
-.margin-block { margin-block: var(--gap) }
-
-.margin-block-start { margin-block-start: var(--gap) }
-
-.margin-block-end { margin-block-end: var(--gap) }
-
-.margin-inline { margin-inline: var(--gap) }
-
-.margin-inline-start { margin-inline-start: var(--gap) }
-
-.margin-inline-end { margin-inline-end: var(--gap) }
-
-.flow-gap > :not(:last-child) {
- margin-bottom: 1em;
- }
-
-/**/
-
-.inline { display: inline }
-
-.block { display: block }
-
-.contents { display: contents }
-
-.table {
- display: table;
- width: 100%;
- margin: 0;
-}
-
-.row, .rows > * {
- display: table-row
-}
-
-.row:not(:last-child):not([specificity-hack]) > *, .rows > *:not(:last-child):not([specificity-hack]) > * {
- margin-bottom: var(--gap);
- }
-
-.row > *:not([specificity-hack]), .rows > * > *:not([specificity-hack]) {
- display: table-cell;
- vertical-align: top;
- }
-
-.row > * + *:not([specificity-hack]), :is(.rows > *) > * + *:not([specificity-hack]) {
- margin-inline-start: var(--gap);
- display: inline-block;
- }
-
-/**/
-
-.fixed { position: fixed }
-
-.sticky { position: sticky }
-
-.top { top: 0 }
-
-.right { right: 0 }
-
-.bottom { bottom: 0 }
-
-.left { left: 0 }
-
-.float\:left { float: left }
-
-.float\:right { float: right }
-
-.overflow\:auto { overflow: auto }
-
-.overflow\:scroll { overflow: scroll }
-
-.airy { --density: 3; }
-
-.spacious { --density: 2; }
-
-.dense { --density: 1; }
-
-.crowded { --density: .5; }
-
-.packed { --density: 0; }
-
-.autodensity {
- --density: 1
-}
-
-@media (min-width: 768px) {
-
-.autodensity { --density: 2
-}}
-
-@media (min-width: 1024px) {
-
-.autodensity { --density: 3
-}}
-
-.vh, v-h {
- clip: rect(0 0 0 0);
- -webkit-clip-path: inset(50%);
- clip-path: inset(50%);
- block-size: 1px;
- inline-size: 1px;
- overflow: hidden;
- white-space: nowrap;
-}
-
-.all\:initial {
- all: initial;
-}
-
-.bold { font-weight: bold }
-
-.italic {
- font-style: italic
-}
-
-.italic em, .italic cite, .italic dfn, .italic var, .italic i, .italic address {
- font-style: normal;
- }
-
-.allcaps {
- text-transform: uppercase;
- letter-spacing: .1rem;
-}
-
-.monospace {
- font-family: var(--mono-font);
-}
-
-.f-row {
- display: flex;
- flex-direction: row;
- gap: var(--gap)
-}
-
-.f-row > * { margin: 0 }
-
-.f-col {
- display: flex;
- flex-direction: column;
- gap: var(--gap)
-}
-
-.f-col > * { margin: 0 }
-
-.f-switch {
- display: flex;
- flex-wrap: wrap;
- gap: var(--gap);
- --f-switch-threshold: 55ch
-}
-
-.f-switch > * {
- margin: 0;
-
- flex-grow: 1;
- flex-basis: calc((var(--f-switch-threshold) - 100%) * 999);
- }
-
-.justify-content\:start { justify-content: start }
-
-.justify-content\:end { justify-content: end }
-
-.justify-content\:baseline { justify-content: baseline }
-
-.justify-content\:center { justify-content: center }
-
-.justify-content\:stretch { justify-content: stretch }
-
-.justify-content\:space-between { justify-content: space-between }
-
-.justify-content\:space-around { justify-content: space-around }
-
-.justify-content\:space-evenly { justify-content: space-evenly }
-
-.align-items\:start { align-items: start }
-
-.align-items\:end { align-items: end }
-
-.align-items\:baseline { align-items: baseline }
-
-.align-items\:center { align-items: center }
-
-.align-items\:stretch { align-items: stretch }
-
-.align-self\:start { align-self: start }
-
-.align-self\:end { align-self: end }
-
-.align-self\:baseline { align-self: baseline }
-
-.align-self\:center { align-self: center }
-
-.align-self\:stretch { align-self: stretch }
-
-.flex-grow\:0 { flex-grow: 0 }
-
-.flex-grow\:1 { flex-grow: 1 }
-
-.flex-grow\:2 { flex-grow: 2 }
-
-.flex-grow\:3 { flex-grow: 3 }
-
-.flex-grow\:4 { flex-grow: 4 }
-
-.flex-grow\:5 { flex-grow: 5 }
-
-.flex-grow\:6 { flex-grow: 6 }
-
-.flex-grow\:7 { flex-grow: 7 }
-
-.flex-grow\:8 { flex-grow: 8 }
-
-.flex-grow\:9 { flex-grow: 9 }
-
-.flex-grow\:10 { flex-grow: 10 }
-
-.flex-grow\:11 { flex-grow: 11 }
-
-.flex-grow\:12 { flex-grow: 12 }
-
-.flex-wrap\:wrap { flex-wrap: wrap }
-
-.flex-wrap\:nowrap { flex-wrap: nowrap }
-
-.grid {
- display: grid;
- grid-auto-columns: var(--grid-col-width, 1fr);
- grid-auto-rows: var(--grid-row-width, auto);
- gap: var(--gap)
-}
-
-.grid > * { margin: 0 }
-
-.grid-even-rows { --grid-row-width: 1fr; }
-
-.grid-variable-cols { --grid-column-width: auto; }
-
-[data-cols^="1 " ] { grid-column-start: 1 }
-
-[data-cols$=" 1" ] { grid-column-end: 2 }
-
-[data-cols="1" ] { grid-column: 1 }
-
-[data-cols^="2 " ] { grid-column-start: 2 }
-
-[data-cols$=" 2" ] { grid-column-end: 3 }
-
-[data-cols="2" ] { grid-column: 2 }
-
-[data-cols^="3 " ] { grid-column-start: 3 }
-
-[data-cols$=" 3" ] { grid-column-end: 4 }
-
-[data-cols="3" ] { grid-column: 3 }
-
-[data-cols^="4 " ] { grid-column-start: 4 }
-
-[data-cols$=" 4" ] { grid-column-end: 5 }
-
-[data-cols="4" ] { grid-column: 4 }
-
-[data-cols^="5 " ] { grid-column-start: 5 }
-
-[data-cols$=" 5" ] { grid-column-end: 6 }
-
-[data-cols="5" ] { grid-column: 5 }
-
-[data-cols^="6 " ] { grid-column-start: 6 }
-
-[data-cols$=" 6" ] { grid-column-end: 7 }
-
-[data-cols="6" ] { grid-column: 6 }
-
-[data-cols^="7 " ] { grid-column-start: 7 }
-
-[data-cols$=" 7" ] { grid-column-end: 8 }
-
-[data-cols="7" ] { grid-column: 7 }
-
-[data-cols^="8 " ] { grid-column-start: 8 }
-
-[data-cols$=" 8" ] { grid-column-end: 9 }
-
-[data-cols="8" ] { grid-column: 8 }
-
-[data-cols^="9 " ] { grid-column-start: 9 }
-
-[data-cols$=" 9" ] { grid-column-end: 10 }
-
-[data-cols="9" ] { grid-column: 9 }
-
-[data-cols^="10 "] { grid-column-start: 10 }
-
-[data-cols$=" 10"] { grid-column-end: 11 }
-
-[data-cols="10"] { grid-column: 10 }
-
-[data-cols^="11 "] { grid-column-start: 11 }
-
-[data-cols$=" 11"] { grid-column-end: 12 }
-
-[data-cols="11"] { grid-column: 11 }
-
-[data-cols^="12 "] { grid-column-start: 12 }
-
-[data-cols$=" 12"] { grid-column-end: 13 }
-
-[data-cols="12"] { grid-column: 12 }
-
-[data-rows^="1 " ] { grid-row-start: 1 }
-
-[data-rows$=" 1" ] { grid-row-end: 2 }
-
-[data-rows="1" ] { grid-row: 1 }
-
-[data-rows^="2 " ] { grid-row-start: 2 }
-
-[data-rows$=" 2" ] { grid-row-end: 3 }
-
-[data-rows="2" ] { grid-row: 2 }
-
-[data-rows^="3 " ] { grid-row-start: 3 }
-
-[data-rows$=" 3" ] { grid-row-end: 4 }
-
-[data-rows="3" ] { grid-row: 3 }
-
-[data-rows^="4 " ] { grid-row-start: 4 }
-
-[data-rows$=" 4" ] { grid-row-end: 5 }
-
-[data-rows="4" ] { grid-row: 4 }
-
-[data-rows^="5 " ] { grid-row-start: 5 }
-
-[data-rows$=" 5" ] { grid-row-end: 6 }
-
-[data-rows="5" ] { grid-row: 5 }
-
-[data-rows^="6 " ] { grid-row-start: 6 }
-
-[data-rows$=" 6" ] { grid-row-end: 7 }
-
-[data-rows="6" ] { grid-row: 6 }
-
-[data-rows^="7 " ] { grid-row-start: 7 }
-
-[data-rows$=" 7" ] { grid-row-end: 8 }
-
-[data-rows="7" ] { grid-row: 7 }
-
-[data-rows^="8 " ] { grid-row-start: 8 }
-
-[data-rows$=" 8" ] { grid-row-end: 9 }
-
-[data-rows="8" ] { grid-row: 8 }
-
-[data-rows^="9 " ] { grid-row-start: 9 }
-
-[data-rows$=" 9" ] { grid-row-end: 10 }
-
-[data-rows="9" ] { grid-row: 9 }
-
-[data-rows^="10 "] { grid-row-start: 10 }
-
-[data-rows$=" 10"] { grid-row-end: 11 }
-
-[data-rows="10"] { grid-row: 10 }
-
-[data-rows^="11 "] { grid-row-start: 11 }
-
-[data-rows$=" 11"] { grid-row-end: 12 }
-
-[data-rows="11"] { grid-row: 11 }
-
-[data-rows^="12 "] { grid-row-start: 12 }
-
-[data-rows$=" 12"] { grid-row-end: 13 }
-
-[data-rows="12"] { grid-row: 12 }
-
-@media (max-width: 768px) {
- [data-cols\@s^="1 " ] { grid-column-start: 1 } [data-cols\@s$=" 1" ] { grid-column-end: 2 } [data-cols\@s="1" ] { grid-column: 1 }
- [data-cols\@s^="2 " ] { grid-column-start: 2 } [data-cols\@s$=" 2" ] { grid-column-end: 3 } [data-cols\@s="2" ] { grid-column: 2 }
- [data-cols\@s^="3 " ] { grid-column-start: 3 } [data-cols\@s$=" 3" ] { grid-column-end: 4 } [data-cols\@s="3" ] { grid-column: 3 }
- [data-cols\@s^="4 " ] { grid-column-start: 4 } [data-cols\@s$=" 4" ] { grid-column-end: 5 } [data-cols\@s="4" ] { grid-column: 4 }
- [data-cols\@s^="5 " ] { grid-column-start: 5 } [data-cols\@s$=" 5" ] { grid-column-end: 6 } [data-cols\@s="5" ] { grid-column: 5 }
- [data-cols\@s^="6 " ] { grid-column-start: 6 } [data-cols\@s$=" 6" ] { grid-column-end: 7 } [data-cols\@s="6" ] { grid-column: 6 }
- [data-cols\@s^="7 " ] { grid-column-start: 7 } [data-cols\@s$=" 7" ] { grid-column-end: 8 } [data-cols\@s="7" ] { grid-column: 7 }
- [data-cols\@s^="8 " ] { grid-column-start: 8 } [data-cols\@s$=" 8" ] { grid-column-end: 9 } [data-cols\@s="8" ] { grid-column: 8 }
- [data-cols\@s^="9 " ] { grid-column-start: 9 } [data-cols\@s$=" 9" ] { grid-column-end: 10 } [data-cols\@s="9" ] { grid-column: 9 }
- [data-cols\@s^="10 "] { grid-column-start: 10 } [data-cols\@s$=" 10"] { grid-column-end: 11 } [data-cols\@s="10"] { grid-column: 10 }
- [data-cols\@s^="11 "] { grid-column-start: 11 } [data-cols\@s$=" 11"] { grid-column-end: 12 } [data-cols\@s="11"] { grid-column: 11 }
- [data-cols\@s^="12 "] { grid-column-start: 12 } [data-cols\@s$=" 12"] { grid-column-end: 13 } [data-cols\@s="12"] { grid-column: 12 }
-
- [data-rows\@s^="1 " ] { grid-row-start: 1 } [data-rows\@s$=" 1" ] { grid-row-end: 2 } [data-rows\@s="1" ] { grid-row: 1 }
- [data-rows\@s^="2 " ] { grid-row-start: 2 } [data-rows\@s$=" 2" ] { grid-row-end: 3 } [data-rows\@s="2" ] { grid-row: 2 }
- [data-rows\@s^="3 " ] { grid-row-start: 3 } [data-rows\@s$=" 3" ] { grid-row-end: 4 } [data-rows\@s="3" ] { grid-row: 3 }
- [data-rows\@s^="4 " ] { grid-row-start: 4 } [data-rows\@s$=" 4" ] { grid-row-end: 5 } [data-rows\@s="4" ] { grid-row: 4 }
- [data-rows\@s^="5 " ] { grid-row-start: 5 } [data-rows\@s$=" 5" ] { grid-row-end: 6 } [data-rows\@s="5" ] { grid-row: 5 }
- [data-rows\@s^="6 " ] { grid-row-start: 6 } [data-rows\@s$=" 6" ] { grid-row-end: 7 } [data-rows\@s="6" ] { grid-row: 6 }
- [data-rows\@s^="7 " ] { grid-row-start: 7 } [data-rows\@s$=" 7" ] { grid-row-end: 8 } [data-rows\@s="7" ] { grid-row: 7 }
- [data-rows\@s^="8 " ] { grid-row-start: 8 } [data-rows\@s$=" 8" ] { grid-row-end: 9 } [data-rows\@s="8" ] { grid-row: 8 }
- [data-rows\@s^="9 " ] { grid-row-start: 9 } [data-rows\@s$=" 9" ] { grid-row-end: 10 } [data-rows\@s="9" ] { grid-row: 9 }
- [data-rows\@s^="10 "] { grid-row-start: 10 } [data-rows\@s$=" 10"] { grid-row-end: 11 } [data-rows\@s="10"] { grid-row: 10 }
- [data-rows\@s^="11 "] { grid-row-start: 11 } [data-rows\@s$=" 11"] { grid-row-end: 12 } [data-rows\@s="11"] { grid-row: 11 }
- [data-rows\@s^="12 "] { grid-row-start: 12 } [data-rows\@s$=" 12"] { grid-row-end: 13 } [data-rows\@s="12"] { grid-row: 12 }
-}
-
-@media (min-width: 1024px) {
- [data-cols\@l^="1 " ] { grid-column-start: 1 } [data-cols\@l$=" 1" ] { grid-column-end: 2 } [data-cols\@l="1" ] { grid-column: 1 }
- [data-cols\@l^="2 " ] { grid-column-start: 2 } [data-cols\@l$=" 2" ] { grid-column-end: 3 } [data-cols\@l="2" ] { grid-column: 2 }
- [data-cols\@l^="3 " ] { grid-column-start: 3 } [data-cols\@l$=" 3" ] { grid-column-end: 4 } [data-cols\@l="3" ] { grid-column: 3 }
- [data-cols\@l^="4 " ] { grid-column-start: 4 } [data-cols\@l$=" 4" ] { grid-column-end: 5 } [data-cols\@l="4" ] { grid-column: 4 }
- [data-cols\@l^="5 " ] { grid-column-start: 5 } [data-cols\@l$=" 5" ] { grid-column-end: 6 } [data-cols\@l="5" ] { grid-column: 5 }
- [data-cols\@l^="6 " ] { grid-column-start: 6 } [data-cols\@l$=" 6" ] { grid-column-end: 7 } [data-cols\@l="6" ] { grid-column: 6 }
- [data-cols\@l^="7 " ] { grid-column-start: 7 } [data-cols\@l$=" 7" ] { grid-column-end: 8 } [data-cols\@l="7" ] { grid-column: 7 }
- [data-cols\@l^="8 " ] { grid-column-start: 8 } [data-cols\@l$=" 8" ] { grid-column-end: 9 } [data-cols\@l="8" ] { grid-column: 8 }
- [data-cols\@l^="9 " ] { grid-column-start: 9 } [data-cols\@l$=" 9" ] { grid-column-end: 10 } [data-cols\@l="9" ] { grid-column: 9 }
- [data-cols\@l^="10 "] { grid-column-start: 10 } [data-cols\@l$=" 10"] { grid-column-end: 11 } [data-cols\@l="10"] { grid-column: 10 }
- [data-cols\@l^="11 "] { grid-column-start: 11 } [data-cols\@l$=" 11"] { grid-column-end: 12 } [data-cols\@l="11"] { grid-column: 11 }
- [data-cols\@l^="12 "] { grid-column-start: 12 } [data-cols\@l$=" 12"] { grid-column-end: 13 } [data-cols\@l="12"] { grid-column: 12 }
-
- [data-rows\@l^="1 " ] { grid-row-start: 1 } [data-rows\@l$=" 1" ] { grid-row-end: 2 } [data-rows\@l="1" ] { grid-row: 1 }
- [data-rows\@l^="2 " ] { grid-row-start: 2 } [data-rows\@l$=" 2" ] { grid-row-end: 3 } [data-rows\@l="2" ] { grid-row: 2 }
- [data-rows\@l^="3 " ] { grid-row-start: 3 } [data-rows\@l$=" 3" ] { grid-row-end: 4 } [data-rows\@l="3" ] { grid-row: 3 }
- [data-rows\@l^="4 " ] { grid-row-start: 4 } [data-rows\@l$=" 4" ] { grid-row-end: 5 } [data-rows\@l="4" ] { grid-row: 4 }
- [data-rows\@l^="5 " ] { grid-row-start: 5 } [data-rows\@l$=" 5" ] { grid-row-end: 6 } [data-rows\@l="5" ] { grid-row: 5 }
- [data-rows\@l^="6 " ] { grid-row-start: 6 } [data-rows\@l$=" 6" ] { grid-row-end: 7 } [data-rows\@l="6" ] { grid-row: 6 }
- [data-rows\@l^="7 " ] { grid-row-start: 7 } [data-rows\@l$=" 7" ] { grid-row-end: 8 } [data-rows\@l="7" ] { grid-row: 7 }
- [data-rows\@l^="8 " ] { grid-row-start: 8 } [data-rows\@l$=" 8" ] { grid-row-end: 9 } [data-rows\@l="8" ] { grid-row: 8 }
- [data-rows\@l^="9 " ] { grid-row-start: 9 } [data-rows\@l$=" 9" ] { grid-row-end: 10 } [data-rows\@l="9" ] { grid-row: 9 }
- [data-rows\@l^="10 "] { grid-row-start: 10 } [data-rows\@l$=" 10"] { grid-row-end: 11 } [data-rows\@l="10"] { grid-row: 10 }
- [data-rows\@l^="11 "] { grid-row-start: 11 } [data-rows\@l$=" 11"] { grid-row-end: 12 } [data-rows\@l="11"] { grid-row: 11 }
- [data-rows\@l^="12 "] { grid-row-start: 12 } [data-rows\@l$=" 12"] { grid-row-end: 13 } [data-rows\@l="12"] { grid-row: 12 }
-}
diff --git a/www/releases/_artifacts/v1.0.0-prerelease.2/missing.min.css b/www/releases/_artifacts/v1.0.0-prerelease.2/missing.min.css
deleted file mode 100644
index d9339b9..0000000
--- a/www/releases/_artifacts/v1.0.0-prerelease.2/missing.min.css
+++ /dev/null
@@ -1,14 +0,0 @@
-@keyframes bg{0%{background:0 0}}*,::after,::before{box-sizing:border-box;background-repeat:no-repeat}::after,::before{text-decoration:inherit;vertical-align:inherit}:root{cursor:default;overflow-wrap:break-word;-webkit-tap-highlight-color:transparent;text-size-adjust:none;-webkit-text-size-adjust:none}abbr[title]{-webkit-text-decoration:underline dotted;text-decoration:underline dotted}b,strong{font-weight:bolder}small{font-size:80%}audio,canvas,iframe,img,svg,video{vertical-align:middle}svg:not([fill]){fill:currentColor}table{border-collapse:collapse;border-color:currentColor;text-indent:0;font-variant-numeric:tabular-nums;font:inherit}body,button,input,select,textarea{margin:0}[type=button],[type=reset],[type=submit],button{-webkit-appearance:button}fieldset{border:1px solid #a0a0a0;position:relative;padding:var(--gap);margin:var(--gap) 0;width:100%;border-radius:var(--border-radius);border:1px solid var(--faded-fg)}progress{vertical-align:baseline}[type=search]{-webkit-appearance:textfield;outline-offset:-2px}::-webkit-inner-spin-button,::-webkit-outer-spin-button{block-size:auto}::-webkit-input-placeholder{color:inherit;opacity:.54}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{-webkit-appearance:button;font:inherit}[hidden],datalist{display:none!important}:focus-visible{outline:.2em solid var(--accent);z-index:32}body:focus-visible,html:focus-visible,iframe:focus-visible{outline:0}:target{outline:.2em solid var(--fg);z-index:2}details>summary:first-of-type{display:list-item}[aria-busy=true]{cursor:progress}[aria-disabled=true],[disabled]{cursor:not-allowed}:root{--gray-0: #f8fafb;--gray-1: #f2f4f6;--gray-2: #ebedef;--gray-3: #e0e4e5;--gray-4: #d1d6d8;--gray-5: #b1b6b9;--gray-6: #979b9d;--gray-7: #7e8282;--gray-8: #666968;--gray-9: #50514f;--gray-10: #3a3a37;--gray-11: #252521;--gray-12: #121210;--red-0: #fff5f5;--red-1: #ffe3e3;--red-2: #ffc9c9;--red-3: #ffa8a8;--red-4: #ff8787;--red-5: #ff6b6b;--red-6: #fa5252;--red-7: #f03e3e;--red-8: #e03131;--red-9: #c92a2a;--red-10: #b02525;--red-11: #962020;--red-12: #7d1a1a;--pink-0: #fff0f6;--pink-1: #ffdeeb;--pink-2: #fcc2d7;--pink-3: #faa2c1;--pink-4: #f783ac;--pink-5: #f06595;--pink-6: #e64980;--pink-7: #d6336c;--pink-8: #c2255c;--pink-9: #a61e4d;--pink-10: #8c1941;--pink-11: #731536;--pink-12: #59102a;--purple-0: #f8f0fc;--purple-1: #f3d9fa;--purple-2: #eebefa;--purple-3: #e599f7;--purple-4: #da77f2;--purple-5: #cc5de8;--purple-6: #be4bdb;--purple-7: #ae3ec9;--purple-8: #9c36b5;--purple-9: #862e9c;--purple-10: #702682;--purple-11: #5a1e69;--purple-12: #44174f;--violet-0: #f3f0ff;--violet-1: #e5dbff;--violet-2: #d0bfff;--violet-3: #b197fc;--violet-4: #9775fa;--violet-5: #845ef7;--violet-6: #7950f2;--violet-7: #7048e8;--violet-8: #6741d9;--violet-9: #5f3dc4;--violet-10: #5235ab;--violet-11: #462d91;--violet-12: #3a2578;--indigo-0: #edf2ff;--indigo-1: #dbe4ff;--indigo-2: #bac8ff;--indigo-3: #91a7ff;--indigo-4: #748ffc;--indigo-5: #5c7cfa;--indigo-6: #4c6ef5;--indigo-7: #4263eb;--indigo-8: #3b5bdb;--indigo-9: #364fc7;--indigo-10: #2f44ad;--indigo-11: #283a94;--indigo-12: #21307a;--blue-0: #e7f5ff;--blue-1: #d0ebff;--blue-2: #a5d8ff;--blue-3: #74c0fc;--blue-4: #4dabf7;--blue-5: #339af0;--blue-6: #228be6;--blue-7: #1c7ed6;--blue-8: #1971c2;--blue-9: #1864ab;--blue-10: #145591;--blue-11: #114678;--blue-12: #0d375e;--cyan-0: #e3fafc;--cyan-1: #c5f6fa;--cyan-2: #99e9f2;--cyan-3: #66d9e8;--cyan-4: #3bc9db;--cyan-5: #22b8cf;--cyan-6: #15aabf;--cyan-7: #1098ad;--cyan-8: #0c8599;--cyan-9: #0b7285;--cyan-10: #095c6b;--cyan-11: #074652;--cyan-12: #053038;--teal-0: #e6fcf5;--teal-1: #c3fae8;--teal-2: #96f2d7;--teal-3: #63e6be;--teal-4: #38d9a9;--teal-5: #20c997;--teal-6: #12b886;--teal-7: #0ca678;--teal-8: #099268;--teal-9: #087f5b;--teal-10: #066649;--teal-11: #054d37;--teal-12: #033325;--green-0: #ebfbee;--green-1: #d3f9d8;--green-2: #b2f2bb;--green-3: #8ce99a;--green-4: #69db7c;--green-5: #51cf66;--green-6: #40c057;--green-7: #37b24d;--green-8: #2f9e44;--green-9: #2b8a3e;--green-10: #237032;--green-11: #1b5727;--green-12: #133d1b;--lime-0: #f4fce3;--lime-1: #e9fac8;--lime-2: #d8f5a2;--lime-3: #c0eb75;--lime-4: #a9e34b;--lime-5: #94d82d;--lime-6: #82c91e;--lime-7: #74b816;--lime-8: #66a80f;--lime-9: #5c940d;--lime-10: #4c7a0b;--lime-11: #3c6109;--lime-12: #2c4706;--yellow-0: #fff9db;--yellow-1: #fff3bf;--yellow-2: #ffec99;--yellow-3: #ffe066;--yellow-4: #ffd43b;--yellow-5: #fcc419;--yellow-6: #fab005;--yellow-7: #f59f00;--yellow-8: #f08c00;--yellow-9: #e67700;--yellow-10: #b35c00;--yellow-11: #804200;--yellow-12: #663500;--orange-0: #fff4e6;--orange-1: #ffe8cc;--orange-2: #ffd8a8;--orange-3: #ffc078;--orange-4: #ffa94d;--orange-5: #ff922b;--orange-6: #fd7e14;--orange-7: #f76707;--orange-8: #e8590c;--orange-9: #d9480f;--orange-10: #bf400d;--orange-11: #99330b;--orange-12: #802b09;--choco-0: #fff8dc;--choco-1: #fce1bc;--choco-2: #f7ca9e;--choco-3: #f1b280;--choco-4: #e99b62;--choco-5: #df8545;--choco-6: #d46e25;--choco-7: #bd5f1b;--choco-8: #a45117;--choco-9: #8a4513;--choco-10: #703a13;--choco-11: #572f12;--choco-12: #3d210d;--brown-0: #faf4eb;--brown-1: #ede0d1;--brown-2: #e0cab7;--brown-3: #d3b79e;--brown-4: #c5a285;--brown-5: #b78f6d;--brown-6: #a87c56;--brown-7: #956b47;--brown-8: #825b3a;--brown-9: #6f4b2d;--brown-10:#5e3a21;--brown-11:#4e2b15;--brown-12: #422412;--sand-0: #f8fafb;--sand-1: #e6e4dc;--sand-2: #d5cfbd;--sand-3: #c2b9a0;--sand-4: #aea58c;--sand-5: #9a9178;--sand-6: #867c65;--sand-7: #736a53;--sand-8: #5f5746;--sand-9: #4b4639;--sand-10:#38352d;--sand-11:#252521;--sand-12: #121210;--camo-0: #f9fbe7;--camo-1: #e8ed9c;--camo-2: #d2df4e;--camo-3: #c2ce34;--camo-4: #b5bb2e;--camo-5: #a7a827;--camo-6: #999621;--camo-7: #8c851c;--camo-8: #7e7416;--camo-9: #6d6414;--camo-10: #5d5411;--camo-11: #4d460e;--camo-12: #36300a;--jungle-0: #ecfeb0;--jungle-1: #def39a;--jungle-2: #d0e884;--jungle-3: #c2dd6e;--jungle-4: #b5d15b;--jungle-5: #a8c648;--jungle-6: #9bbb36;--jungle-7: #8fb024;--jungle-8: #84a513;--jungle-9: #7a9908;--jungle-10: #658006;--jungle-11: #516605;--jungle-12: #3d4d04}html{font-family:var(--main-font);line-height:var(--rhythm);background:var(--bg);color:var(--fg);scroll-padding-block-start:calc(4*var(--gap))}footer,header,section+section{margin-block:calc(2*var(--gap))}nav a{text-decoration:none;color:var(--accent)}aside h1,aside h2,aside h3,aside h4,aside h5,aside h6{font-size:1em;text-transform:none;letter-spacing:none}.\<h1\>,.\<h2\>,.\<h3\>,.\<h4\>,.\<h5\>,.\<h6\>,h1,h2,h3,h4,h5,h6{margin-block-end:var(--gap);font-family:var(--secondary-font);margin-block-start:calc(2*var(--gap));position:relative}.\<h1\>,.\<h2\>,h1,h2{font-size:2em;text-transform:none;line-height:calc(2*var(--rhythm));letter-spacing:0}.\<h2\>,h2{font-size:1.6em;line-height:calc(1.5*var(--rhythm))}.\<h3\>,.\<h4\>,.\<h5\>,.\<h6\>,h3,h4,h5,h6{font-size:1.17em;line-height:calc(1*var(--rhythm))}.\<h4\>,.\<h5\>,.\<h6\>,h4,h5,h6{font-size:1em;text-transform:none;letter-spacing:0;margin-block-start:var(--gap)}h1+h2,h1:first-child,h2+h3,h2:first-child,h3+h4,h3:first-child,h4+h5,h4:first-child,h5+h6,h5:first-child,h6:first-child{margin-block-start:var(--gap)}h1:target,h2:target,h3:target,h4:target,h5:target,h6:target{outline:0}h1:target::before,h2:target::before,h3:target::before,h4:target::before,h5:target::before,h6:target::before{content:"";display:block;position:absolute;left:-.5em;width:4px;height:100%;background:var(--accent)}footer,header{font-family:var(--secondary-font)}header{border-block-end:1px solid var(--faded-fg)}footer{border-block-start:1px solid var(--faded-fg)}body>footer,body>header,main+footer{padding:var(--rhythm) calc((100% - var(--eff-line-length))/2)}address{--density: 0}dl,hr,p{margin-block:var(--gap)}hr{color:inherit;margin-inline:0;flex:0 1 0px;border-inline-start:1px solid var(--accent);block-size:auto;border-block-start:1px solid var(--accent);border-block-end:none;border-inline-end:none}blockquote,pre{line-height:var(--rhythm)}pre{font-family:var(--mono-font);-o-tab-size:2;tab-size:2;margin:var(--gap) 0;overflow-x:auto;scrollbar-width:thin;scrollbar-color:var(--accent) transparent;font-size:.9em}blockquote{margin-inline:0 var(--gap);padding-inline:var(--gap) 0;margin-block:var(--gap);font-size:1.1em;font-style:italic;border-inline-start:1px solid var(--faded-fg);color:var(--muted-fg)}.italic address,.italic cite,.italic dfn,.italic em,.italic i,.italic var,blockquote address,blockquote cite,blockquote dfn,blockquote em,blockquote i,blockquote var,q address,q cite,q dfn,q em,q i,q var{font-style:normal}blockquote footer{text-align:right;text-align:end}ol,ul{padding-inline-start:var(--rhythm)}ol ol,ol ul,ul ol,ul ul{padding-inline-start:var(--gap)}ol[role=list],ul[role=list]{padding-inline-start:0;list-style:none}ol{list-style:decimal}.breadcrumbs[aria-label] [aria-current=page],.sidebar-layout header a,dt{font-weight:700}dd{margin-inline-start:var(--rhythm)}li::marker{font-family:var(--secondary-font)}figure{max-width:100%;margin-inline:0}figcaption{margin-block:var(--gap);font-family:var(--secondary-font);color:var(--muted-fg)}main{max-inline-size:var(--eff-line-length);margin:auto}main:first-child{padding-top:var(--gap)}a{color:var(--link-fg, var(--accent));font-family:var(--secondary-font);border-radius:var(--border-radius);outline-offset:1px}.list-of-links a{text-decoration:none}a:focus,a:hover{text-decoration:none;outline:1px solid;transition:outline-offset .1s ease-in-out}a:active{outline-offset:0}span>small:only-child{display:block;float:inline-end;clear:inline-end;--sidenote-width: 20ch;max-inline-size:var(--sidenote-width);padding-inline:1.5ch 1ch;margin-inline-end:calc(1em - var(--sidenote-width));margin-block-end:var(--rhythm);font-family:var(--secondary-font);background:var(--bg);border:1px solid transparent;transition:transform .1s ease-in-out}span>small:only-child:focus-within,span>small:only-child:hover{border:1px solid var(--faded-fg);border-radius:var(--border-radius);transform:translateX(calc(0px - var(--sidenote-width) + min(var(--gutter-width),var(--sidenote-width))))}del,s{color:var(--bad-fg)}caption,q{font-style:italic}time{font-variant-numeric:tabular-nums}code,kbd,samp{font-family:var(--mono-font)}ins,samp{color:var(--ok-fg)}kbd kbd{display:inline-block;padding:0 .3em;font-size:.8em;line-height:1.1em;background:var(--interactive-bg);border:1px outset var(--faded-fg);border-block-end-width:3px;border-radius:var(--border-radius)}sub{vertical-align:bottom}sub,sup{line-height:1}mark{background:var(--warn-bg);color:var(--warn-fg)}ins{background:var(--ok-bg)}del{background:var(--bad-bg)}audio,embed,iframe,img,object,video{max-inline-size:100%;inline-size:max-content;block-size:auto}caption{text-align:start;font-family:var(--secondary-font)}tbody{border-block:1px solid var(--fg)}select[multiple],sup,td,th{vertical-align:top}td:not(:last-child),th:not(:last-child){padding-inline-end:var(--rhythm)}th{font-family:var(--secondary-font);text-align:start}input{display:block}label input:not([specificity-hack]){display:inline;padding-block:0}.\<button\>,button,input::file-selector-button,input[type=button],input[type=reset],input[type=submit]{display:inline-block;padding:0 calc(var(--rhythm)/4);vertical-align:top;font-size:.8rem;line-height:1.125em;font-family:var(--secondary-font);min-height:var(--rhythm);background:var(--interactive-bg);border:1px solid var(--muted-fg);box-sizing:border-box;border-radius:var(--border-radius);color:var(--fg);text-decoration:none;display:inline-flex;place-items:center}:is(button,input[type="submit"],input[type="reset"],input[type="button"],input::file-selector-button,.\<button\>):focus-visible,:is(button,input[type="submit"],input[type="reset"],input[type="button"],input::file-selector-button,.\<button\>):hover{filter:brightness(1.1);text-decoration:none}:is(button,input[type="submit"],input[type="reset"],input[type="button"],input::file-selector-button,.\<button\>):active{filter:brightness(.8)}[aria-expanded=true]:is(button,input[type="submit"],input[type="reset"],input[type="button"],input::file-selector-button,.\<button\>),[aria-pressed=true]:is(button,input[type="submit"],input[type="reset"],input[type="button"],input::file-selector-button,.\<button\>){box-shadow:0 .05em var(--accent);transform:translateY(.05em);background:var(--pressed-interactive-bg)}[disabled]:is(button,input[type="submit"],input[type="reset"],input[type="button"],input::file-selector-button,.\<button\>){color:var(--muted-fg)}strong>:is(button,input[type="submit"],input[type="reset"],input[type="button"],input::file-selector-button,.\<button\>){background:var(--accent);color:var(--bg);border:0;font-weight:700}strong>[disabled]:is(button,input[type="submit"],input[type="reset"],input[type="button"],input::file-selector-button,.\<button\>){color:var(--muted-accent)}input:not([type]),input[type=date],input[type=datetime-local],input[type=datetime],input[type=email],input[type=month],input[type=number],input[type=password],input[type=search],input[type=tel],input[type=text],input[type=time],input[type=url],input[type=week],select,textarea{padding:calc(var(--rhythm)/4);font-size:1rem;line-height:inherit;font-family:var(--main-font);background:var(--bg);color:var(--fg);border:1px solid var(--faded-fg);border-radius:var(--border-radius);vertical-align:top}:is(input:not([type]),input[type="text"],input[type="search"],input[type="tel"],input[type="url"],input[type="email"],input[type="password"],input[type="date"],input[type="month"],input[type="week"],input[type="time"],input[type="datetime"],input[type="datetime-local"],input[type="number"],select,textarea):focus-visible{border:1px solid var(--accent)}:is(input:not([type]),input[type="text"],input[type="search"],input[type="tel"],input[type="url"],input[type="email"],input[type="password"],input[type="date"],input[type="month"],input[type="week"],input[type="time"],input[type="datetime"],input[type="datetime-local"],input[type="number"],select,textarea)::placeholder{color:var(--muted-fg);opacity:1;text-align:end}input[type=range]{width:100%;padding:calc(var(--gap)/4)}input[type=color]{padding:0;margin:0;height:calc(1.5*var(--rhythm));border:0;background:0 0}input[type=file]{padding:calc(var(--gap)/4) 0;font:inherit;line-height:calc(var(--rhythm)/2)}input[type=file]::file-selector-button{margin-block:.1em 0;margin-inline-end:1ch}optgroup::before{color:var(--muted-fg);font-style:normal}label[for]{display:block;padding-block:calc(var(--gap)/4)}fieldset>legend+*{margin-block-start:0}details{padding-block-start:0}details:not([open]){padding-block-end:0}summary{margin:calc(0px - var(--gap));margin-bottom:0;padding-inline:var(--gap);font-family:var(--secondary-font);font-weight:700;background:var(--accent);color:var(--bg);cursor:pointer}summary:active,summary:focus-visible{filter:brightness(.8)}details[open] summary{border-block-end:1px solid var(--accent);border-end-end-radius:0;border-end-start-radius:0}dialog{position:absolute;inline-inset:0;block-size:-moz-fit-content;block-size:fit-content;inline-size:-moz-fit-content;inline-size:fit-content;margin:auto!important;background-color:var(--bg);color:var(--fg)}dialog[open]::backdrop{display:block;background:#000;opacity:.4;animation:bg 2s}dialog:not([open]){display:none}.box,.sidebar-layout>header,[role=menu],[role=tabpanel],aside,details,dialog,figure{margin:var(--gap) 0;padding:var(--gap);overflow:clip;border-radius:var(--border-radius);background:var(--box-bg);border:1px solid var(--faded-fg)}.titlebar{margin-inline:calc(0px - var(--gap));margin-block-end:calc(0px - var(--gap));padding-inline:var(--gap);font:inherit;font-family:var(--secondary-font);font-weight:700;translate:0 calc(-1px - var(--gap));background:var(--faded-fg);color:var(--bg)}.sub-title,sub-title{display:block;font-weight:400;color:var(--muted-fg)}.tool-bar,[role=toolbar]{display:flex;flex-flow:row wrap;gap:calc(var(--gap)/2)}.tool-bar>*,[role=toolbar]>*{margin:0}.sidebar-layout header li{margin-block:calc(.5*var(--gap))}@media (min-width:75ch){.sidebar-layout{display:grid;grid-template-columns:25ch auto;inset:0}.sidebar-layout>header{border-block:none;border-inline-start:none;margin:0}.sidebar-layout>:nth-child(2){overflow:scroll;--full-width: calc(100vw - 25ch)}}.breadcrumbs[aria-label]{font-family:var(--secondary-font)}.breadcrumbs[aria-label] ol,.breadcrumbs[aria-label] ul{list-style:none;padding-inline-start:0}.breadcrumbs[aria-label] li{display:inline}:is(.breadcrumbs[aria-label] li)+li::before{content:' / ';display:inline}.chip,.navbar,chip{font-family:var(--secondary-font);background:var(--box-bg)}.chip,chip{border:1px solid var(--accent);border-radius:calc(var(--rhythm)/2);padding-inline:calc(var(--rhythm)/2)}.navbar{padding:var(--rhythm);border-block-end:1px solid var(--accent);overflow-x:auto;scrollbar-width:thin;position:sticky;z-index:5;top:0;left:0;right:0;display:flex;flex-flow:row;align-items:center;gap:var(--gap)}.navbar.expanded{flex-flow:column;align-items:start;max-height:90vh;overflow-y:auto}.navbar.expanded ul[role=list]{flex-flow:column}.navbar *{flex-shrink:0;margin-block:0}.navbar:not(.expanded) nav>:first-child,.navbar:not(.expanded)>:first-child{margin-inline-start:auto}.navbar:not(.expanded) nav>:last-child,.navbar:not(.expanded)>:last-child{margin-inline-end:auto}.navbar hr{align-self:stretch}.navbar nav ul[role=list]{display:flex;flex-flow:row;gap:var(--rhythm);padding-inline-start:0}.navbar nav ul[role=list] *{flex-shrink:0}.navbar a{font-weight:700;text-decoration:none;padding-inline:.2em}.navbar a:focus,.navbar a:hover{text-decoration:underline}.navbar [aria-current=page]{position:relative}.navbar [aria-current=page]::after{width:100%;height:6px;content:"";display:block;position:absolute;bottom:calc(-1*var(--gap));background:currentcolor}.navbar.expanded [aria-current=page]::after{width:6px;height:100%;position:absolute;left:calc(-1*var(--gap));top:0}.permalink-anchor{display:none}:hover>.permalink-anchor{display:initial}button.iconbutton{border:0;background:0 0;color:currentcolor;padding:0;line-height:var(--rhythm);font-size:24px;width:24px;height:24px;display:inline-block;text-align:center;border-radius:50%;transition:font-weight .2s ease-in-out}button.iconbutton:focus-visible,button.iconbutton:hover{outline:1px solid var(--accent);outline-offset:6px}button.iconbutton:active{outline-offset:3px;background:0 0}button.iconbutton[aria-pressed=true]{box-shadow:none;transform:none}[role=tablist]{display:flex;gap:.5ch;scrollbar-width:thin}[role=tab][role=tab]{all:initial;font-family:var(--secondary-font);padding:0 calc(var(--rhythm)/4);margin:0;min-height:var(--rhythm);color:var(--fg);border:solid var(--faded-fg);border-width:1px 1px 0;border-block-end-color:transparent;background:var(--interactive-bg);border-start-start-radius:.4em;border-start-end-radius:.4em}[role=tab][role=tab]:active,[role=tab][role=tab][aria-selected=true]{transform:none;bottom:-1px;position:relative;background:var(--box-bg);border-block-end:1px solid var(--box-bg)}[role=tab][role=tab]:hover{background-color:var(--box-bg)}[role=tab][role=tab]:focus{background-color:var(--box-bg);border-color:var(--accent);outline:1px solid var(--accent)}[role=tabpanel]{margin-block-start:0;border-start-start-radius:0;border-start-end-radius:0;z-index:1}[role=menu]{position:absolute;z-index:10;padding:calc(var(--gap)/2) 0;margin:1px 0 0;display:flex;flex-flow:column nowrap}[role=menuitem]{padding:0 calc(var(--gap)/2);display:block;text-decoration:none;border-radius:0;color:var(--fg)}[role=menuitem]:focus{background:var(--accent);color:var(--bg)}[role=listbox]{list-style:none}ul[role=listbox]{padding-inline-start:0}[role=listbox] [role=option]{margin-inline:calc(-1*var(--gap));padding-inline:var(--gap)}[role=listbox] [role=option][aria-selected=true]{background:var(--interactive-bg)}[role=listbox] .active[role=option]{--temporary-bg: var(--accent);--temporary-fg: var(--bg);--temporary-accent: parent-var(--muted-accent);--temporary-muted-accent: parent-var(--box-bg);background:var(--temporary-bg);color:var(--temporary-fg)}[role=listbox] .active[role=option]>*{--bg: var(--temporary-bg);--fg: var(--temporary-fg);--accent: var(--temporary-accent);--muted-accent: var(--temporary-muted-accent)}[aria-orientation=vertical]{flex-direction:column;width:-moz-fit-content;width:fit-content;text-align:center}.plain{--box-bg: var(--plain-bg);--accent: var(--plain-fg);--faded-fg: var(--plain-faded-fg)}.info{--box-bg: var(--info-bg);--accent: var(--info-fg);--faded-fg: var(--info-faded-fg)}.ok{--box-bg: var(--ok-bg);--accent: var(--ok-fg);--faded-fg: var(--ok-faded-fg)}.warn{--box-bg: var(--warn-bg);--accent: var(--warn-fg);--faded-fg: var(--warn-faded-fg)}.bad{--box-bg: var(--bad-bg);--accent: var(--bad-fg);--faded-fg: var(--bad-faded-fg)}.color{color:var(--accent)}.bg{background:var(--box-bg)}.border{border-style:solid;border-color:var(--faded-fg)}:root{--fg: var(--gray-12);--muted-fg: var(--gray-10);--faded-fg: var(--plain-faded-fg);--plain-fg: var(--blue-10);--info-fg: var(--blue-11);--ok-fg: var(--green-11);--bad-fg: var(--red-11);--warn-fg: var(--yellow-11);--plain-faded-fg: var(--gray-6);--info-faded-fg: var(--blue-6);--ok-faded-fg: var(--green-6);--bad-faded-fg: var(--red-6);--warn-faded-fg: var(--yellow-6);--bg: var(--gray-0);--box-bg: var(--plain-bg);--interactive-bg: var(--gray-4);--plain-bg: var(--gray-1);--info-bg: var(--blue-1);--ok-bg: var(--green-1);--bad-bg: var(--red-1);--warn-bg: var(--yellow-1);--accent: var(--blue-10);--muted-accent: var(--blue-7);--rhythm: 1.4rem;--line-length: 40rem;--border-radius: .2rem;--main-font: 'Source Sans 3', 'Source Sans Pro', -apple-system, system-ui, sans-serif;--secondary-font: var(--main-font);--mono-font: 'M Plus Code Latin', monospace, monospace;--density: 1;--full-width: 100vw;--eff-line-length: /* Effective line length for prose. */
- min(
- calc( var(--full-width) - (2 * var(--rhythm)) ),
- var(--line-length)
- );--gutter-width: /* Width of spaces at each side of page content. */
- calc(
- (
- var(--full-width) /* Viewport width */
- - var(--eff-line-length) /* minus line width */
- ) / 2)}@media (prefers-color-scheme:dark){:root:not(.-no-dark-theme){--fg: var(--gray-0);--muted-fg: var(--gray-2);--faded-fg: var(--gray-7);--plain-bg: var(--gray-11);--info-bg: var(--blue-12);--ok-bg: var(--green-12);--bad-bg: var(--red-12);--warn-bg: var(--yellow-12);--plain-faded-fg: var(--blue-6);--info-faded-fg: var(--blue-6);--ok-faded-fg: var(--green-6);--bad-faded-fg: var(--red-6);--warn-faded-fg: var(--yellow-6);--bg: var(--gray-12);--box-bg: var(--gray-10);--interactive-bg: var(--gray-8);--plain-fg: (--blue-3);--info-fg: var(--blue-3);--ok-fg: var(--green-3);--bad-fg: var(--red-3);--warn-fg: var(--yellow-3);--accent: var(--blue-3);--muted-accent: var(--blue-5)}}*{--gap: calc(var(--rhythm) * var(--density));accent-color:var(--accent)}.textcolumns{--col-width: 30ch;column-width:var(--col-width);column-gap:var(--gap);margin-block:var(--gap)}.textcolumns :first-child{margin-block-start:0!important}.text-align\:center{text-align:center}.center{display:grid;place-items:center}.container{max-inline-size:var(--eff-line-length);margin-inline:auto}.fullbleed,.fullscreen{position:relative;left:50%;border-radius:0;border-inline:none}.fullbleed{width:var(--full-width);transform:translateX(calc(-.5*var(--full-width)))}.fullscreen{height:100vh;width:100vw;transform:translateX(-50vw)}.width\:100\%{width:100%;max-width:100%}.height\:100\%{height:100%;max-height:100%}:first-child:first-child:first-child{margin-block-start:0}:last-child:last-child:last-child{margin-block-end:0}.padding{padding-inline:var(--gap)}.padding-block{padding-block:var(--gap)}.padding-block-start{padding-block-start:var(--gap)}.padding-block-end{padding-block-end:var(--gap)}.padding-inline{padding-inline:var(--gap)}.padding-inline-end,.padding-inline-start{padding-inline-start:var(--gap)}.margin{margin:var(--gap)}.margin-block{margin-block:var(--gap)}.margin-block-start{margin-block-start:var(--gap)}.margin-block-end{margin-block-end:var(--gap)}.margin-inline{margin-inline:var(--gap)}.margin-inline-start{margin-inline-start:var(--gap)}.margin-inline-end{margin-inline-end:var(--gap)}.flow-gap>:not(:last-child){margin-bottom:1em}.inline{display:inline}.block{display:block}.contents{display:contents}.table{display:table;width:100%;margin:0}.row,.rows>*{display:table-row}.row:not(:last-child):not([specificity-hack])>*,.rows>:not(:last-child):not([specificity-hack])>*{margin-bottom:var(--gap)}.row>:not([specificity-hack]),.rows>*>:not([specificity-hack]){display:table-cell;vertical-align:top}.row>*+:not([specificity-hack]),:is(.rows > *)>*+:not([specificity-hack]){margin-inline-start:var(--gap);display:inline-block}.fixed{position:fixed}.sticky{position:sticky}.top{top:0}.right{right:0}.bottom{bottom:0}.left{left:0}.float\:left{float:left}.float\:right{float:right}.overflow\:auto{overflow:auto}.overflow\:scroll{overflow:scroll}.airy{--density: 3}.spacious{--density: 2}.dense{--density: 1}.crowded{--density: .5}.packed{--density: 0}.autodensity{--density: 1
-}@media (min-width:768px){.autodensity{--density: 2
-}}@media (min-width:1024px){.autodensity{--density: 3
-}}.vh,v-h{clip:rect(0 0 0 0);-webkit-clip-path:inset(50%);clip-path:inset(50%);block-size:1px;inline-size:1px;overflow:hidden;white-space:nowrap}.all\:initial{all:initial}.bold{font-weight:700}.italic{font-style:italic}.allcaps{text-transform:uppercase;letter-spacing:.1rem}.monospace{font-family:var(--mono-font)}.f-row{display:flex;flex-direction:row;gap:var(--gap)}.f-row>*{margin:0}.f-col{display:flex;flex-direction:column;gap:var(--gap)}.f-col>*{margin:0}.f-switch{display:flex;flex-wrap:wrap;gap:var(--gap);--f-switch-threshold: 55ch
-}.f-switch>*{margin:0;flex-grow:1;flex-basis:calc((var(--f-switch-threshold) - 100%)*999)}.justify-content\:start{justify-content:start}.justify-content\:end{justify-content:end}.justify-content\:baseline{justify-content:baseline}.justify-content\:center{justify-content:center}.justify-content\:stretch{justify-content:stretch}.justify-content\:space-between{justify-content:space-between}.justify-content\:space-around{justify-content:space-around}.justify-content\:space-evenly{justify-content:space-evenly}.align-items\:start{align-items:start}.align-items\:end{align-items:end}.align-items\:baseline{align-items:baseline}.align-items\:center{align-items:center}.align-items\:stretch{align-items:stretch}.align-self\:start{align-self:start}.align-self\:end{align-self:end}.align-self\:baseline{align-self:baseline}.align-self\:center{align-self:center}.align-self\:stretch{align-self:stretch}.flex-grow\:0{flex-grow:0}.flex-grow\:1{flex-grow:1}.flex-grow\:2{flex-grow:2}.flex-grow\:3{flex-grow:3}.flex-grow\:4{flex-grow:4}.flex-grow\:5{flex-grow:5}.flex-grow\:6{flex-grow:6}.flex-grow\:7{flex-grow:7}.flex-grow\:8{flex-grow:8}.flex-grow\:9{flex-grow:9}.flex-grow\:10{flex-grow:10}.flex-grow\:11{flex-grow:11}.flex-grow\:12{flex-grow:12}.flex-wrap\:wrap{flex-wrap:wrap}.flex-wrap\:nowrap{flex-wrap:nowrap}.grid{display:grid;grid-auto-columns:var(--grid-col-width, 1fr);grid-auto-rows:var(--grid-row-width, auto);gap:var(--gap)}.grid>*{margin:0}.grid-even-rows{--grid-row-width: 1fr}.grid-variable-cols{--grid-column-width: auto}[data-cols^="1 "]{grid-column-start:1}[data-cols$=" 1"]{grid-column-end:2}[data-cols="1"]{grid-column:1}[data-cols^="2 "]{grid-column-start:2}[data-cols$=" 2"]{grid-column-end:3}[data-cols="2"]{grid-column:2}[data-cols^="3 "]{grid-column-start:3}[data-cols$=" 3"]{grid-column-end:4}[data-cols="3"]{grid-column:3}[data-cols^="4 "]{grid-column-start:4}[data-cols$=" 4"]{grid-column-end:5}[data-cols="4"]{grid-column:4}[data-cols^="5 "]{grid-column-start:5}[data-cols$=" 5"]{grid-column-end:6}[data-cols="5"]{grid-column:5}[data-cols^="6 "]{grid-column-start:6}[data-cols$=" 6"]{grid-column-end:7}[data-cols="6"]{grid-column:6}[data-cols^="7 "]{grid-column-start:7}[data-cols$=" 7"]{grid-column-end:8}[data-cols="7"]{grid-column:7}[data-cols^="8 "]{grid-column-start:8}[data-cols$=" 8"]{grid-column-end:9}[data-cols="8"]{grid-column:8}[data-cols^="9 "]{grid-column-start:9}[data-cols$=" 9"]{grid-column-end:10}[data-cols="9"]{grid-column:9}[data-cols^="10 "]{grid-column-start:10}[data-cols$=" 10"]{grid-column-end:11}[data-cols="10"]{grid-column:10}[data-cols^="11 "]{grid-column-start:11}[data-cols$=" 11"]{grid-column-end:12}[data-cols="11"]{grid-column:11}[data-cols^="12 "]{grid-column-start:12}[data-cols$=" 12"]{grid-column-end:13}[data-cols="12"]{grid-column:12}[data-rows^="1 "]{grid-row-start:1}[data-rows$=" 1"]{grid-row-end:2}[data-rows="1"]{grid-row:1}[data-rows^="2 "]{grid-row-start:2}[data-rows$=" 2"]{grid-row-end:3}[data-rows="2"]{grid-row:2}[data-rows^="3 "]{grid-row-start:3}[data-rows$=" 3"]{grid-row-end:4}[data-rows="3"]{grid-row:3}[data-rows^="4 "]{grid-row-start:4}[data-rows$=" 4"]{grid-row-end:5}[data-rows="4"]{grid-row:4}[data-rows^="5 "]{grid-row-start:5}[data-rows$=" 5"]{grid-row-end:6}[data-rows="5"]{grid-row:5}[data-rows^="6 "]{grid-row-start:6}[data-rows$=" 6"]{grid-row-end:7}[data-rows="6"]{grid-row:6}[data-rows^="7 "]{grid-row-start:7}[data-rows$=" 7"]{grid-row-end:8}[data-rows="7"]{grid-row:7}[data-rows^="8 "]{grid-row-start:8}[data-rows$=" 8"]{grid-row-end:9}[data-rows="8"]{grid-row:8}[data-rows^="9 "]{grid-row-start:9}[data-rows$=" 9"]{grid-row-end:10}[data-rows="9"]{grid-row:9}[data-rows^="10 "]{grid-row-start:10}[data-rows$=" 10"]{grid-row-end:11}[data-rows="10"]{grid-row:10}[data-rows^="11 "]{grid-row-start:11}[data-rows$=" 11"]{grid-row-end:12}[data-rows="11"]{grid-row:11}[data-rows^="12 "]{grid-row-start:12}[data-rows$=" 12"]{grid-row-end:13}[data-rows="12"]{grid-row:12}@media (max-width:768px){[data-cols\@s^="1 "]{grid-column-start:1}[data-cols\@s$=" 1"]{grid-column-end:2}[data-cols\@s="1"]{grid-column:1}[data-cols\@s^="2 "]{grid-column-start:2}[data-cols\@s$=" 2"]{grid-column-end:3}[data-cols\@s="2"]{grid-column:2}[data-cols\@s^="3 "]{grid-column-start:3}[data-cols\@s$=" 3"]{grid-column-end:4}[data-cols\@s="3"]{grid-column:3}[data-cols\@s^="4 "]{grid-column-start:4}[data-cols\@s$=" 4"]{grid-column-end:5}[data-cols\@s="4"]{grid-column:4}[data-cols\@s^="5 "]{grid-column-start:5}[data-cols\@s$=" 5"]{grid-column-end:6}[data-cols\@s="5"]{grid-column:5}[data-cols\@s^="6 "]{grid-column-start:6}[data-cols\@s$=" 6"]{grid-column-end:7}[data-cols\@s="6"]{grid-column:6}[data-cols\@s^="7 "]{grid-column-start:7}[data-cols\@s$=" 7"]{grid-column-end:8}[data-cols\@s="7"]{grid-column:7}[data-cols\@s^="8 "]{grid-column-start:8}[data-cols\@s$=" 8"]{grid-column-end:9}[data-cols\@s="8"]{grid-column:8}[data-cols\@s^="9 "]{grid-column-start:9}[data-cols\@s$=" 9"]{grid-column-end:10}[data-cols\@s="9"]{grid-column:9}[data-cols\@s^="10 "]{grid-column-start:10}[data-cols\@s$=" 10"]{grid-column-end:11}[data-cols\@s="10"]{grid-column:10}[data-cols\@s^="11 "]{grid-column-start:11}[data-cols\@s$=" 11"]{grid-column-end:12}[data-cols\@s="11"]{grid-column:11}[data-cols\@s^="12 "]{grid-column-start:12}[data-cols\@s$=" 12"]{grid-column-end:13}[data-cols\@s="12"]{grid-column:12}[data-rows\@s^="1 "]{grid-row-start:1}[data-rows\@s$=" 1"]{grid-row-end:2}[data-rows\@s="1"]{grid-row:1}[data-rows\@s^="2 "]{grid-row-start:2}[data-rows\@s$=" 2"]{grid-row-end:3}[data-rows\@s="2"]{grid-row:2}[data-rows\@s^="3 "]{grid-row-start:3}[data-rows\@s$=" 3"]{grid-row-end:4}[data-rows\@s="3"]{grid-row:3}[data-rows\@s^="4 "]{grid-row-start:4}[data-rows\@s$=" 4"]{grid-row-end:5}[data-rows\@s="4"]{grid-row:4}[data-rows\@s^="5 "]{grid-row-start:5}[data-rows\@s$=" 5"]{grid-row-end:6}[data-rows\@s="5"]{grid-row:5}[data-rows\@s^="6 "]{grid-row-start:6}[data-rows\@s$=" 6"]{grid-row-end:7}[data-rows\@s="6"]{grid-row:6}[data-rows\@s^="7 "]{grid-row-start:7}[data-rows\@s$=" 7"]{grid-row-end:8}[data-rows\@s="7"]{grid-row:7}[data-rows\@s^="8 "]{grid-row-start:8}[data-rows\@s$=" 8"]{grid-row-end:9}[data-rows\@s="8"]{grid-row:8}[data-rows\@s^="9 "]{grid-row-start:9}[data-rows\@s$=" 9"]{grid-row-end:10}[data-rows\@s="9"]{grid-row:9}[data-rows\@s^="10 "]{grid-row-start:10}[data-rows\@s$=" 10"]{grid-row-end:11}[data-rows\@s="10"]{grid-row:10}[data-rows\@s^="11 "]{grid-row-start:11}[data-rows\@s$=" 11"]{grid-row-end:12}[data-rows\@s="11"]{grid-row:11}[data-rows\@s^="12 "]{grid-row-start:12}[data-rows\@s$=" 12"]{grid-row-end:13}[data-rows\@s="12"]{grid-row:12}}@media (min-width:1024px){[data-cols\@l^="1 "]{grid-column-start:1}[data-cols\@l$=" 1"]{grid-column-end:2}[data-cols\@l="1"]{grid-column:1}[data-cols\@l^="2 "]{grid-column-start:2}[data-cols\@l$=" 2"]{grid-column-end:3}[data-cols\@l="2"]{grid-column:2}[data-cols\@l^="3 "]{grid-column-start:3}[data-cols\@l$=" 3"]{grid-column-end:4}[data-cols\@l="3"]{grid-column:3}[data-cols\@l^="4 "]{grid-column-start:4}[data-cols\@l$=" 4"]{grid-column-end:5}[data-cols\@l="4"]{grid-column:4}[data-cols\@l^="5 "]{grid-column-start:5}[data-cols\@l$=" 5"]{grid-column-end:6}[data-cols\@l="5"]{grid-column:5}[data-cols\@l^="6 "]{grid-column-start:6}[data-cols\@l$=" 6"]{grid-column-end:7}[data-cols\@l="6"]{grid-column:6}[data-cols\@l^="7 "]{grid-column-start:7}[data-cols\@l$=" 7"]{grid-column-end:8}[data-cols\@l="7"]{grid-column:7}[data-cols\@l^="8 "]{grid-column-start:8}[data-cols\@l$=" 8"]{grid-column-end:9}[data-cols\@l="8"]{grid-column:8}[data-cols\@l^="9 "]{grid-column-start:9}[data-cols\@l$=" 9"]{grid-column-end:10}[data-cols\@l="9"]{grid-column:9}[data-cols\@l^="10 "]{grid-column-start:10}[data-cols\@l$=" 10"]{grid-column-end:11}[data-cols\@l="10"]{grid-column:10}[data-cols\@l^="11 "]{grid-column-start:11}[data-cols\@l$=" 11"]{grid-column-end:12}[data-cols\@l="11"]{grid-column:11}[data-cols\@l^="12 "]{grid-column-start:12}[data-cols\@l$=" 12"]{grid-column-end:13}[data-cols\@l="12"]{grid-column:12}[data-rows\@l^="1 "]{grid-row-start:1}[data-rows\@l$=" 1"]{grid-row-end:2}[data-rows\@l="1"]{grid-row:1}[data-rows\@l^="2 "]{grid-row-start:2}[data-rows\@l$=" 2"]{grid-row-end:3}[data-rows\@l="2"]{grid-row:2}[data-rows\@l^="3 "]{grid-row-start:3}[data-rows\@l$=" 3"]{grid-row-end:4}[data-rows\@l="3"]{grid-row:3}[data-rows\@l^="4 "]{grid-row-start:4}[data-rows\@l$=" 4"]{grid-row-end:5}[data-rows\@l="4"]{grid-row:4}[data-rows\@l^="5 "]{grid-row-start:5}[data-rows\@l$=" 5"]{grid-row-end:6}[data-rows\@l="5"]{grid-row:5}[data-rows\@l^="6 "]{grid-row-start:6}[data-rows\@l$=" 6"]{grid-row-end:7}[data-rows\@l="6"]{grid-row:6}[data-rows\@l^="7 "]{grid-row-start:7}[data-rows\@l$=" 7"]{grid-row-end:8}[data-rows\@l="7"]{grid-row:7}[data-rows\@l^="8 "]{grid-row-start:8}[data-rows\@l$=" 8"]{grid-row-end:9}[data-rows\@l="8"]{grid-row:8}[data-rows\@l^="9 "]{grid-row-start:9}[data-rows\@l$=" 9"]{grid-row-end:10}[data-rows\@l="9"]{grid-row:9}[data-rows\@l^="10 "]{grid-row-start:10}[data-rows\@l$=" 10"]{grid-row-end:11}[data-rows\@l="10"]{grid-row:10}[data-rows\@l^="11 "]{grid-row-start:11}[data-rows\@l$=" 11"]{grid-row-end:12}[data-rows\@l="11"]{grid-row:11}[data-rows\@l^="12 "]{grid-row-start:12}[data-rows\@l$=" 12"]{grid-row-end:13}[data-rows\@l="12"]{grid-row:12}} \ No newline at end of file
diff --git a/www/releases/_artifacts/v1.0.0/missing-js/19.js b/www/releases/_artifacts/v1.0.0/missing-js/19.js
deleted file mode 100644
index c05d74e..0000000
--- a/www/releases/_artifacts/v1.0.0/missing-js/19.js
+++ /dev/null
@@ -1 +0,0 @@
-const g=e=>(...t)=>(console.log("%c%s","color:green",e,...t),t.at(-1)),w=g("19.js"),b=e=>e.replace(/[A-Z]/g,t=>"-"+t.toLowerCase()),d=e=>{const t=e+"ElementSibling",r=e==="next"?(n,i)=>p(n,i):(n,i)=>m(n,i).at(-1);return(n,i,l,{wrap:s=!0}={})=>{if(!l)return s?r(n,i):null;let c=l;for(;;){for(;c[t]===null;)if(c=c.parentElement,c===n)return s?r(n,i):null;c=c[t];const o=c.matches(i)?c:p(c,i);if(o)return o}return c}},p=(e,t)=>e.querySelector(t),m=(e,t)=>Array.from(e.querySelectorAll(t)),x=(e,t,r,n)=>{const i=l=>(n.addedBy&&!n.addedBy.isConnected&&y({target:e,event:t,listener:i,options:n}),r(l));return e.addEventListener(t,r,n),{target:e,event:t,options:n,listener:i}},y=({target:e,event:t,listener:r,options:n})=>e.removeEventListener(t,r,n),A=(e,t)=>{if(t instanceof Function)return r=>{A(e,r),t(r)};e=e.split(" ");for(const r of e)r==="default"&&t.preventDefault(),r==="bubbling"&&t.stopPropagation(),r==="propagation"&&t.stopImmediatePropagation();return t},E=(e,t,r)=>e.dispatchEvent(new CustomEvent(t,{detail:r})),S=(e,t,...r)=>{if(typeof t=="object")for(const n in t)e.setAttribute(b(n),t[n]);else return r.length>0?e.setAttribute(t,r[0]):e.getAttribute(t)},k=e=>{const t=document.createElement("div");return t.append(e),t.innerHTML},v=e=>e==null?"":e instanceof Node?k(e):String(e).replaceAll("&","&amp;").replaceAll("<","&lt;").replaceAll(">","&gt;").replaceAll("'","&#x27;").replaceAll('"',"&quot;"),C=(e,...t)=>{e?.raw&&(e=String.raw(e,...t.map(v)));const r=document.createElement("template");return r.innerHTML=e,r.content},L=d("next"),K=d("previous"),N=e=>{const l={},s=o=>0|(o.altKey&&1)|(o.ctrlKey&&2)|(o.metaKey&&4)|(o.shiftKey&&8),c=o=>{const a=o.split("+"),u=a.pop();let f=0;for(const h in a)switch(h.toLowerCase()){case"alt":f|=1;break;case"ctrl":f|=2;break;case"meta":f|=4;break;case"shift":f|=8;break}return[u,f]};for(const[o,a]of Object.entries(e)){const[u,f]=c(o);(l[u]??(l[u]=new Array(8)))[f]=a}return o=>l[o.key]?.[s(o)]?.(o)},T=(e,t,{mode:r="trailing"}={})=>{let n;return(...i)=>{n?clearTimeout(n):r==="leading"&&t(...i),n=setTimeout(()=>{r==="trailing"&&t(...i),n=null},e)}},j=(e,t)=>{const r=new WeakSet;return(n=document,i={})=>{const l=n.getRootNode();m(n,e).forEach(s=>{r.has(s)||(r.add(s),t(s,{options:i,root:l}))})}},q=(e,{idOf:t,create:r,update:n})=>i=>{let l;const s=(...a)=>{const u=l;l=a.at(-1),l instanceof DocumentFragment&&(l=l.lastChild),u?u.after(...a):e.prepend(...a)},c=a=>{if(a)for(;a.nextSibling;)a.nextSibling.remove();else e.replaceChildren()},o=e.getRootNode();for(const a of i){const u=t(a),f=o.getElementById(u);s(f?n?.(f,a)??f:r(a,{id:u}))}c(l)};export{p as $,m as $$,S as attr,j as behavior,T as debounce,E as dispatch,A as halt,N as hotkey,C as html,v as htmlescape,g as makelogger,L as next,y as off,x as on,K as prev,q as repeater,k as stringifyNode};
diff --git a/www/releases/_artifacts/v1.0.0/missing-js/menu.js b/www/releases/_artifacts/v1.0.0/missing-js/menu.js
deleted file mode 100644
index a56a332..0000000
--- a/www/releases/_artifacts/v1.0.0/missing-js/menu.js
+++ /dev/null
@@ -1 +0,0 @@
-import{$ as m,$$ as f,on as r,dispatch as i,attr as d,next as h,prev as _,hotkey as E,behavior as u,makelogger as g}from"./19.js";const s=g("menu"),k="[role=menu]",n="[role=menuitem]",p=e=>m(e,n),v=e=>f(e,n).at(-1),l=e=>!e.hidden,w=u(k,(e,{root:a})=>{if(!(e instanceof HTMLElement))return;let o;f(e,n).forEach(t=>t.setAttribute("tabindex","-1")),r(e,"menu:open",t=>{o=t.detail.opener,e.hidden=!1,s("menu:open",e.hidden),p(e).focus(),s("menu:open 2",e.hidden)}),r(e,"menu:close",t=>{s("menu:close",e.hidden=!0),o?.focus()}),r(e,"focusout",t=>{!l(e)||e.contains(t.relatedTarget)||o!==t.relatedTarget&&i(e,"menu:close")}),r(e,"keydown",t=>{t.preventDefault(),E({ArrowUp:c=>_(e,n,a.activeElement).focus(),ArrowDown:c=>h(e,n,a.activeElement).focus(),Space:c=>a.activeElement?.closest(n)?.click(),Home:c=>p(e).focus(),End:c=>v(e).focus(),Escape:c=>i(e,"menu:close")})(t)}),r(window,"click",t=>{!l(e)||o!==t.target&&i(e,"menu:close")},{addedBy:e})}),y=u("[aria-haspopup=menu]",(e,{root:a})=>{const o=a.getElementById(d(e,"aria-controls"));r(o,"menu:close",t=>d(e,"aria-expanded","false"),{addedBy:e}),r(o,"menu:open",t=>d(e,"aria-expanded","true"),{addedBy:e}),r(e,"click",()=>i(o,l(o)?"menu:close":"menu:open",{opener:e}))});w(document);y(document);export{w as menu,y as menuButton};
diff --git a/www/releases/_artifacts/v1.0.0/missing-js/overflow-nav.js b/www/releases/_artifacts/v1.0.0/missing-js/overflow-nav.js
deleted file mode 100644
index 46994d4..0000000
--- a/www/releases/_artifacts/v1.0.0/missing-js/overflow-nav.js
+++ /dev/null
@@ -1 +0,0 @@
-import{$ as f,attr as a,behavior as g,makelogger as x,on as l}from"./19.js";const w=g("[data-overflow-nav]",(o,{options:c})=>{const{expandedClass:s="expanded"}=c,e=f(o,"[data-nav-expander]"),d=x("overflow-nav"),r=()=>o.scrollWidth>o.clientWidth,p=()=>o.classList.contains(s),i=(t=!p())=>{d("toggleExpansion",t),t?(o.classList.add(s),a(e,"aria-pressed",!0),e.textContent="\xD7"):(o.classList.remove(s),a(e,"aria-pressed",!1),e.textContent="\u2630")},n=()=>{d("update");const t=e.hidden;e.hidden=!r(),t!=e.hidden&&i(!1)};l(e,"click",()=>{i()}),n(),l(window,"resize",()=>n(),{addedBy:o})});w(document);export{w as overflowNav};
diff --git a/www/releases/_artifacts/v1.0.0/missing-js/tabs.js b/www/releases/_artifacts/v1.0.0/missing-js/tabs.js
deleted file mode 100644
index 4833b18..0000000
--- a/www/releases/_artifacts/v1.0.0/missing-js/tabs.js
+++ /dev/null
@@ -1 +0,0 @@
-import{$ as d,$$ as l,on as c,attr as t,next as h,prev as x,hotkey as g,behavior as m}from"./19.js";const i=e=>l(e,"[role=tab]"),a=e=>d(e,"[role=tab][aria-selected=true]"),u=(e,o)=>o.getElementById(t(e,"aria-controls")),n=(e,o,r)=>{if(!r)return;const f=a(o);t(f,{ariaSelected:!1,tabindex:-1}),t(r,{ariaSelected:!0,tabindex:0}),u(f,e).hidden=!0,u(r,e).hidden=!1,r.focus()},s=m("[role=tablist]",(e,{root:o})=>{e instanceof HTMLElement&&(e.tabIndex=0,i(e).forEach(r=>r.tabIndex=-1),n(o,e,a(e)),c(e,"focus",r=>a(e).focus()),c(e,"click",r=>n(o,e,r.target.closest("[role=tab]"))),c(e,"focusin",r=>n(o,e,r.target.closest("[role=tab]"))),c(e,"keydown",g({ArrowRight:r=>h(e,"[role=tab]",r.target).focus(),ArrowLeft:r=>x(e,"[role=tab]",r.target).focus(),Home:r=>d(e,"[role=tab]").focus(),End:r=>l(e,"[role=tab]").at(-1).focus()})))});s(document);var w=s;export{w as default,s as tablist};
diff --git a/www/releases/_artifacts/v1.0.0/missing-prism.css b/www/releases/_artifacts/v1.0.0/missing-prism.css
deleted file mode 100644
index 23e48b5..0000000
--- a/www/releases/_artifacts/v1.0.0/missing-prism.css
+++ /dev/null
@@ -1,62 +0,0 @@
-
-.token.comment,
-.token.prolog,
-.token.doctype,
-.token.cdata,
-.token.punctuation {
- color: var(--muted-fg);
-}
-
-.token.property,
-.token.tag,
-.token.boolean,
-.token.number,
-.token.constant,
-.token.symbol,
-.token.deleted {
- color: var(--bad-fg);
-}
-
-.token.selector,
-.token.attr-name,
-.token.string,
-.token.char,
-.token.builtin,
-.token.inserted {
- color: var(--ok-fg);
-}
-
-.token.operator,
-.token.entity,
-.token.url,
-.language-css .token.string,
-.style .token.string,
-.token.regex,
-.token.important,
-.token.variable {
- color: var(--warn-fg)
-}
-
-.token.atrule,
-.token.attr-value,
-.token.keyword {
- color: var(--info-fg);
-}
-
-.token.function {
- color: var(--bad-fg);
- font-style: italic;
-}
-
-.token.important,
-.token.bold {
- font-weight: bold;
-}
-
-.token.italic {
- font-style: italic;
-}
-
-.token.entity {
- cursor: help;
-}
diff --git a/www/releases/_artifacts/v1.0.0/missing-prism.min.css b/www/releases/_artifacts/v1.0.0/missing-prism.min.css
deleted file mode 100644
index 41c91b1..0000000
--- a/www/releases/_artifacts/v1.0.0/missing-prism.min.css
+++ /dev/null
@@ -1 +0,0 @@
-.token.cdata,.token.comment,.token.doctype,.token.prolog,.token.punctuation{color:var(--muted-fg)}.token.boolean,.token.constant,.token.deleted,.token.number,.token.property,.token.symbol,.token.tag{color:var(--bad-fg)}.token.attr-name,.token.builtin,.token.char,.token.inserted,.token.selector,.token.string{color:var(--ok-fg)}.language-css .token.string,.style .token.string,.token.entity,.token.important,.token.operator,.token.regex,.token.url,.token.variable{color:var(--warn-fg)}.token.atrule,.token.attr-value,.token.keyword{color:var(--info-fg)}.token.function{color:var(--bad-fg);font-style:italic}.token.bold,.token.important{font-weight:700}.token.italic{font-style:italic}.token.entity{cursor:help} \ No newline at end of file
diff --git a/www/releases/_artifacts/v1.0.0/missing.css b/www/releases/_artifacts/v1.0.0/missing.css
deleted file mode 100644
index a96fd04..0000000
--- a/www/releases/_artifacts/v1.0.0/missing.css
+++ /dev/null
@@ -1,2221 +0,0 @@
-/* Document
- * ========================================================================== */
-
-/**
- * 1. Add border box sizing in all browsers (opinionated).
- * 2. Backgrounds do not repeat by default (opinionated).
- */
-
-*,
-::before,
-::after {
- box-sizing: border-box; /* 1 */
- background-repeat: no-repeat; /* 2 */
-}
-
-/**
- * 1. Add text decoration inheritance in all browsers (opinionated).
- * 2. Add vertical alignment inheritance in all browsers (opinionated).
- */
-
-::before,
-::after {
- text-decoration: inherit; /* 1 */
- vertical-align: inherit; /* 2 */
-}
-
-/**
- * 1. Use the default cursor in all browsers (opinionated).
- * 3. Breaks words to prevent overflow in all browsers (opinionated).
- * 5. Remove the grey highlight on links in iOS (opinionated).
- * 6. Prevent adjustments of font size after orientation changes in iOS.
- */
-
-:root {
- cursor: default; /* 1 */
- overflow-wrap: break-word; /* 3 */
- -webkit-tap-highlight-color: transparent; /* 5 */
- text-size-adjust: none;
- -webkit-text-size-adjust: none;
-}
-
-/* Text-level semantics
- * ========================================================================== */
-
-/**
- * Add the correct text decoration in Safari.
- */
-
-abbr[title] {
- text-decoration: underline;
- -webkit-text-decoration: underline dotted;
- text-decoration: underline dotted;
-}
-
-/**
- * Add the correct font weight in Chrome, Edge, and Safari.
- */
-
-strong, b {
- font-weight: bolder;
-}
-
-/**
- * Add the correct font size in all browsers.
- */
-
-small {
- font-size: 80%;
-}
-
-/* Embedded content
- * ========================================================================== */
-
-/*
- * Change the alignment on media elements in all browsers (opinionated).
- */
-
-audio, canvas, iframe, img, svg, video {
- vertical-align: middle;
-}
-
-/**
- * Change the fill color to match the text color in all browsers (opinionated).
- */
-
-svg:not([fill]) {
- fill: currentColor;
-}
-
-/* Tabular data
- * ========================================================================== */
-
-/**
- * 1. Collapse border spacing in all browsers (opinionated).
- * 2. Correct table border color in Chrome, Edge, and Safari.
- * 3. Remove text indentation from table contents in Chrome, Edge, and Safari.
- */
-
-table {
- border-collapse: collapse; /* 1 */
- border-color: currentColor; /* 2 */
- text-indent: 0; /* 3 */
-}
-
-/* Forms
- * ========================================================================== */
-
-/**
- * Remove the margin on controls in Safari.
- */
-
-button, input, select {
- margin: 0;
-}
-
-/**
- * Correct the inability to style buttons in iOS and Safari.
- */
-
-button, [type="button"], [type="reset"], [type="submit"] {
- -webkit-appearance: button;
-}
-
-/**
- * Change the inconsistent appearance in all browsers (opinionated).
- */
-
-fieldset {
- border: 1px solid #a0a0a0;
-}
-
-/**
- * Add the correct vertical alignment in Chrome, Edge, and Firefox.
- */
-
-progress {
- vertical-align: baseline;
-}
-
-/**
- * 1. Remove the margin in Firefox and Safari.
- */
-
-textarea {
- margin: 0; /* 1 */
-}
-
-/**
- * 1. Correct the odd appearance in Chrome, Edge, and Safari.
- * 2. Correct the outline style in Safari.
- */
-
-[type="search"] {
- -webkit-appearance: textfield; /* 1 */
- outline-offset: -2px; /* 2 */
-}
-
-/**
- * Correct the cursor style of increment and decrement buttons in Safari.
- */
-
-::-webkit-inner-spin-button,
-::-webkit-outer-spin-button {
- block-size: auto;
-}
-
-/**
- * Correct the text style of placeholders in Chrome, Edge, and Safari.
- */
-
-::-webkit-input-placeholder {
- color: inherit;
- opacity: 0.54;
-}
-
-/**
- * Remove the inner padding in Chrome, Edge, and Safari on macOS.
- */
-
-::-webkit-search-decoration {
- -webkit-appearance: none;
-}
-
-/**
- * 1. Correct the inability to style upload buttons in iOS and Safari.
- * 2. Change font properties to `inherit` in Safari.
- */
-
-::-webkit-file-upload-button {
- -webkit-appearance: button; /* 1 */
- font: inherit; /* 2 */
-}
-
-/* Interactive
- * ========================================================================== */
-
-[hidden] {
- display: none !important;
-}
-
-:focus-visible {
- outline: .2em solid var(--accent);
- z-index: 32;
-}
-
-iframe:focus-visible,
- html:focus-visible,
- body:focus-visible {
- outline: none;
- }
-
-:target {
- outline: .2em solid var(--fg);
- z-index: 2;
-}
-
-/*
- * Add the correct display in Safari.
- */
-
-details > summary:first-of-type {
- display: list-item;
-}
-
-/* Accessibility
- * ========================================================================== */
-
-/**
- * Change the cursor on busy elements in all browsers (opinionated).
- */
-
-[aria-busy="true"] {
- cursor: progress;
-}
-
-/*
- * Change the cursor on disabled, not-editable, or otherwise
- * inoperable elements in all browsers (opinionated).
- */
-
-[aria-disabled="true"], [disabled] {
- cursor: not-allowed;
-}
-
-datalist {
- display: none !important;
-}
-
-/* https://github.com/fchristant/colar/ */
-
-:root {
- --gray-0: #f8fafb;
- --gray-1: #f2f4f6;
- --gray-2: #ebedef;
- --gray-3: #e0e4e5;
- --gray-4: #d1d6d8;
- --gray-5: #b1b6b9;
- --gray-6: #979b9d;
- --gray-7: #7e8282;
- --gray-8: #666968;
- --gray-9: #50514f;
- --gray-10: #3a3a37;
- --gray-11: #252521;
- --gray-12: #121210;
-
- --red-0: #fff5f5;
- --red-1: #ffe3e3;
- --red-2: #ffc9c9;
- --red-3: #ffa8a8;
- --red-4: #ff8787;
- --red-5: #ff6b6b;
- --red-6: #fa5252;
- --red-7: #f03e3e;
- --red-8: #e03131;
- --red-9: #c92a2a;
- --red-10: #b02525;
- --red-11: #962020;
- --red-12: #7d1a1a;
-
- --pink-0: #fff0f6;
- --pink-1: #ffdeeb;
- --pink-2: #fcc2d7;
- --pink-3: #faa2c1;
- --pink-4: #f783ac;
- --pink-5: #f06595;
- --pink-6: #e64980;
- --pink-7: #d6336c;
- --pink-8: #c2255c;
- --pink-9: #a61e4d;
- --pink-10: #8c1941;
- --pink-11: #731536;
- --pink-12: #59102a;
-
- --purple-0: #f8f0fc;
- --purple-1: #f3d9fa;
- --purple-2: #eebefa;
- --purple-3: #e599f7;
- --purple-4: #da77f2;
- --purple-5: #cc5de8;
- --purple-6: #be4bdb;
- --purple-7: #ae3ec9;
- --purple-8: #9c36b5;
- --purple-9: #862e9c;
- --purple-10: #702682;
- --purple-11: #5a1e69;
- --purple-12: #44174f;
-
- --violet-0: #f3f0ff;
- --violet-1: #e5dbff;
- --violet-2: #d0bfff;
- --violet-3: #b197fc;
- --violet-4: #9775fa;
- --violet-5: #845ef7;
- --violet-6: #7950f2;
- --violet-7: #7048e8;
- --violet-8: #6741d9;
- --violet-9: #5f3dc4;
- --violet-10: #5235ab;
- --violet-11: #462d91;
- --violet-12: #3a2578;
-
- --indigo-0: #edf2ff;
- --indigo-1: #dbe4ff;
- --indigo-2: #bac8ff;
- --indigo-3: #91a7ff;
- --indigo-4: #748ffc;
- --indigo-5: #5c7cfa;
- --indigo-6: #4c6ef5;
- --indigo-7: #4263eb;
- --indigo-8: #3b5bdb;
- --indigo-9: #364fc7;
- --indigo-10: #2f44ad;
- --indigo-11: #283a94;
- --indigo-12: #21307a;
-
- --blue-0: #e7f5ff;
- --blue-1: #d0ebff;
- --blue-2: #a5d8ff;
- --blue-3: #74c0fc;
- --blue-4: #4dabf7;
- --blue-5: #339af0;
- --blue-6: #228be6;
- --blue-7: #1c7ed6;
- --blue-8: #1971c2;
- --blue-9: #1864ab;
- --blue-10: #145591;
- --blue-11: #114678;
- --blue-12: #0d375e;
-
- --cyan-0: #e3fafc;
- --cyan-1: #c5f6fa;
- --cyan-2: #99e9f2;
- --cyan-3: #66d9e8;
- --cyan-4: #3bc9db;
- --cyan-5: #22b8cf;
- --cyan-6: #15aabf;
- --cyan-7: #1098ad;
- --cyan-8: #0c8599;
- --cyan-9: #0b7285;
- --cyan-10: #095c6b;
- --cyan-11: #074652;
- --cyan-12: #053038;
-
- --teal-0: #e6fcf5;
- --teal-1: #c3fae8;
- --teal-2: #96f2d7;
- --teal-3: #63e6be;
- --teal-4: #38d9a9;
- --teal-5: #20c997;
- --teal-6: #12b886;
- --teal-7: #0ca678;
- --teal-8: #099268;
- --teal-9: #087f5b;
- --teal-10: #066649;
- --teal-11: #054d37;
- --teal-12: #033325;
-
- --green-0: #ebfbee;
- --green-1: #d3f9d8;
- --green-2: #b2f2bb;
- --green-3: #8ce99a;
- --green-4: #69db7c;
- --green-5: #51cf66;
- --green-6: #40c057;
- --green-7: #37b24d;
- --green-8: #2f9e44;
- --green-9: #2b8a3e;
- --green-10: #237032;
- --green-11: #1b5727;
- --green-12: #133d1b;
-
- --lime-0: #f4fce3;
- --lime-1: #e9fac8;
- --lime-2: #d8f5a2;
- --lime-3: #c0eb75;
- --lime-4: #a9e34b;
- --lime-5: #94d82d;
- --lime-6: #82c91e;
- --lime-7: #74b816;
- --lime-8: #66a80f;
- --lime-9: #5c940d;
- --lime-10: #4c7a0b;
- --lime-11: #3c6109;
- --lime-12: #2c4706;
-
- --yellow-0: #fff9db;
- --yellow-1: #fff3bf;
- --yellow-2: #ffec99;
- --yellow-3: #ffe066;
- --yellow-4: #ffd43b;
- --yellow-5: #fcc419;
- --yellow-6: #fab005;
- --yellow-7: #f59f00;
- --yellow-8: #f08c00;
- --yellow-9: #e67700;
- --yellow-10: #b35c00;
- --yellow-11: #804200;
- --yellow-12: #663500;
-
- --orange-0: #fff4e6;
- --orange-1: #ffe8cc;
- --orange-2: #ffd8a8;
- --orange-3: #ffc078;
- --orange-4: #ffa94d;
- --orange-5: #ff922b;
- --orange-6: #fd7e14;
- --orange-7: #f76707;
- --orange-8: #e8590c;
- --orange-9: #d9480f;
- --orange-10: #bf400d;
- --orange-11: #99330b;
- --orange-12: #802b09;
-
- --choco-0: #fff8dc;
- --choco-1: #fce1bc;
- --choco-2: #f7ca9e;
- --choco-3: #f1b280;
- --choco-4: #e99b62;
- --choco-5: #df8545;
- --choco-6: #d46e25;
- --choco-7: #bd5f1b;
- --choco-8: #a45117;
- --choco-9: #8a4513;
- --choco-10: #703a13;
- --choco-11: #572f12;
- --choco-12: #3d210d;
-
- --brown-0: #faf4eb;
- --brown-1: #ede0d1;
- --brown-2: #e0cab7;
- --brown-3: #d3b79e;
- --brown-4: #c5a285;
- --brown-5: #b78f6d;
- --brown-6: #a87c56;
- --brown-7: #956b47;
- --brown-8: #825b3a;
- --brown-9: #6f4b2d;
- --brown-10:#5e3a21;
- --brown-11:#4e2b15;
- --brown-12: #422412;
-
- --sand-0: #f8fafb;
- --sand-1: #e6e4dc;
- --sand-2: #d5cfbd;
- --sand-3: #c2b9a0;
- --sand-4: #aea58c;
- --sand-5: #9a9178;
- --sand-6: #867c65;
- --sand-7: #736a53;
- --sand-8: #5f5746;
- --sand-9: #4b4639;
- --sand-10:#38352d;
- --sand-11:#252521;
- --sand-12: #121210;
-
- --camo-0: #f9fbe7;
- --camo-1: #e8ed9c;
- --camo-2: #d2df4e;
- --camo-3: #c2ce34;
- --camo-4: #b5bb2e;
- --camo-5: #a7a827;
- --camo-6: #999621;
- --camo-7: #8c851c;
- --camo-8: #7e7416;
- --camo-9: #6d6414;
- --camo-10: #5d5411;
- --camo-11: #4d460e;
- --camo-12: #36300a;
-
- --jungle-0: #ecfeb0;
- --jungle-1: #def39a;
- --jungle-2: #d0e884;
- --jungle-3: #c2dd6e;
- --jungle-4: #b5d15b;
- --jungle-5: #a8c648;
- --jungle-6: #9bbb36;
- --jungle-7: #8fb024;
- --jungle-8: #84a513;
- --jungle-9: #7a9908;
- --jungle-10: #658006;
- --jungle-11: #516605;
- --jungle-12: #3d4d04;
-}
-
-/***
- 4.1 The document element
- https://html.spec.whatwg.org/multipage/semantics.html#the-root-element
-
- 4.3 Sections
- https://html.spec.whatwg.org/multipage/sections.html
- ***/
-
-html {
- font-family: var(--main-font);
- line-height: var(--rhythm);
-
- background: var(--bg);
- color: var(--fg);
- scroll-padding-block-start: calc(4 * var(--gap));
-}
-
-body {
- margin: 0;
-}
-
-header, footer, section + section {
- margin-block: calc(2 * var(--gap));
-}
-
-nav a {
- text-decoration: none;
- color: var(--accent);
- }
-
-/* SEE components/box.css */
-
-aside h1,
- aside h2,
- aside h3,
- aside h4,
- aside h5,
- aside h6 {
- font-size: 1em;
- text-transform: none;
- letter-spacing: none;
- }
-
-h1, h2, h3, h4, h5, h6,
-.\<h1\>, .\<h2\>, .\<h3\>, .\<h4\>, .\<h5\>, .\<h6\> {
- margin-block-end: var(--gap);
- font-family: var(--secondary-font);
- font-size: 1em;
- margin-block-start: calc(2 * var(--gap));
- position: relative;
-}
-
-h1, .\<h1\> {
- font-size: 2em;
- text-transform: none;
- line-height: calc(2 * var(--rhythm));
- letter-spacing: 0;
-}
-
-h2, .\<h2\> {
- font-size: 1.6em;
- text-transform: none;
- line-height: calc(1.5 * var(--rhythm));
- letter-spacing: 0;
-}
-
-h3, .\<h3\> {
- font-size: 1.17em;
- line-height: calc(1 * var(--rhythm));
-}
-
-h4, .\<h4\>, h5, .\<h5\>, h6, .\<h6\> {
- font-size: 1em;
- text-transform: none;
- line-height: calc(1 * var(--rhythm));
- letter-spacing: 0;
- margin-block-start: var(--gap);
-}
-
-h1 + h2,
-h2 + h3,
-h3 + h4,
-h4 + h5,
-h5 + h6,
-h1:first-child,
-h2:first-child,
-h3:first-child,
-h4:first-child,
-h5:first-child,
-h6:first-child {
- margin-block-start: var(--gap);
-}
-
-h1:target,
-h2:target,
-h3:target,
-h4:target,
-h5:target,
-h6:target {
- outline: none
-}
-
-h1:target::before, h2:target::before, h3:target::before, h4:target::before, h5:target::before, h6:target::before {
- content: "";
- display: block;
- position: absolute;
- left: -.5em;
- width: 4px;
- height: 100%;
- background: var(--accent);
- }
-
-header {
- font-family: var(--secondary-font);
- border-block-end: 1px solid var(--faded-fg);
-}
-
-footer {
- font-family: var(--secondary-font);
- border-block-start: 1px solid var(--faded-fg);
-}
-
-body > header,
-body > footer,
-main + footer {
- padding: var(--rhythm) calc((100% - var(--eff-line-length)) / 2)
-}
-
-address {
- --density: 0;
-}
-
-/***
- 4.4 Grouping content
- https://html.spec.whatwg.org/multipage/grouping-content.html
- ***/
-
-p {
- margin-block: var(--gap);
-}
-
-hr {
- color: inherit;
- margin-inline: 0;
- margin-block: var(--gap);
-
- flex: 0 1 0px;
- border-inline-start: 1px solid var(--accent);
- block-size: auto;
- border-block-start: 1px solid var(--accent);
- border-block-end: none;
- border-inline-end: none;
-}
-
-pre {
- font-family: var(--mono-font);
- font-size: .9em;
- line-height: var(--rhythm);
- -o-tab-size: 2;
- tab-size: 2;
-
- margin: var(--gap) 0;
-
- overflow-x: auto;
- scrollbar-width: thin;
- scrollbar-color: var(--accent) transparent;
-}
-
-blockquote {
- margin-inline: 0 var(--gap);
- padding-inline: var(--gap) 0;
- margin-block: var(--gap);
-
- font-size: 1.1em;
- line-height: var(--rhythm);
- font-style: italic;
-
- border-inline-start: 1px solid var(--faded-fg);
- color: var(--muted-fg)
-}
-
-blockquote em, blockquote cite, blockquote dfn, blockquote var, blockquote i, blockquote address {
- font-style: normal;
- }
-
-blockquote footer {
- text-align: right;
- text-align: end;
- }
-
-ul, ol {
- padding-inline-start: var(--rhythm)
-}
-
-ul ul, ul ol, ol ul, ol ol {
- padding-inline-start: var(--gap);
- }
-
-ul[role="list"], ol[role="list"] {
- padding-inline-start: 0;
- list-style: none;
- }
-
-ul {
-}
-
-ol {
- list-style: decimal;
-}
-
-dl {
- margin-block: var(--gap);
-}
-
-dt {
- font-weight: bold;
- }
-
-dd {
- margin-inline-start: var(--rhythm);
- }
-
-li::marker {
- font-family: var(--secondary-font);
-}
-
-figure {
- max-width: 100%;
- margin-inline: 0;
-
- /* SEE components/box.css */
-}
-
-figcaption {
- margin-block: var(--gap);
-
- font-family: var(--secondary-font);
-
- color: var(--muted-fg);
-}
-
-main {
- max-inline-size: var(--eff-line-length);
- margin: auto
-}
-
-main:first-child { padding-top: var(--gap); }
-
-/***
- 4.5 Text-level semantics
- https://html.spec.whatwg.org/multipage/text-level-semantics.html
-
- 4.7 Edits
- https://html.spec.whatwg.org/multipage/edits.html
- ***/
-
-/* Text-level semantics */
-
-a {
- color: var(--link-fg, var(--accent));
- font-family: var(--secondary-font);
- border-radius: var(--border-radius);
- outline-offset: 1px
-}
-
-.list-of-links a {
- text-decoration: none
-}
-
-a:hover, a:focus {
- text-decoration: none;
- outline: 1px solid;
- transition: outline-offset .1s ease-in-out;
- }
-
-a:active {
- outline-offset: 0;
- }
-
-span > small:only-child {
- /***
- Sidenote
- ***/
- display: block;
- float: inline-end;
- clear: inline-end;
-
- --sidenote-width: 20ch;
-
- max-inline-size: var(--sidenote-width);
- padding-inline: 1.5ch 1ch;
-
- margin-inline-end: calc(1em - var(--sidenote-width));
- margin-block-end: var(--rhythm);
-
- font-family: var(--secondary-font);
-
- background: var(--bg);
- border: 1px solid transparent;
-
- transition: transform .1s ease-in-out
-}
-
-span > small:only-child:hover, span > small:only-child:focus-within {
- border: 1px solid var(--faded-fg);
- border-radius: var(--border-radius);
- transform: translateX(calc(
- 0px - var(--sidenote-width)
- + min(var(--gutter-width), var(--sidenote-width))
- ))
- }
-
-s {
- color: var(--bad-fg);
-}
-
-q {
- font-style: italic
-}
-
-q em, q cite, q dfn, q var, q i, q address {
- font-style: normal;
- }
-
-time {
- font-variant-numeric: tabular-nums;
-}
-
-code, samp, kbd {
- font-family: var(--mono-font);
-}
-
-samp {
- color: var(--ok-fg);
-}
-
-kbd kbd /*
- We apply the key-like styling to a nested kbd element, a pattern shown in
- WHATWG HTML for marking up keyboard input:
-
- > Here the kbd element is used to indicate keys to press:
- > ~~~ html
- > <p>To make George eat an apple, press <kbd><kbd>Shift</kbd> + <kbd>F3</kbd></kbd></p>
- > ~~~
-
- The plain kbd element can also be used for clicking menus (<kbd>File |
- New...</kbd>) or voice input (<kbd>Hey Siri, </kbd>)
-*/ {
- display: inline-block;
-
- padding: 0 .3em;
- font-size: .8em;
- line-height: 1.1em;
-
- background: var(--interactive-bg);
- border: 1px outset var(--faded-fg);
- border-block-end-width: 3px;
- border-radius: var(--border-radius);
-}
-
-sub {
- vertical-align: bottom;
- line-height: 1;
-}
-
-sup {
- vertical-align: top;
- line-height: 1;
-}
-
-mark {
- background: var(--warn-bg);
- color: var(--warn-fg);
-}
-
-/* Edits */
-
-ins {
- background: var(--ok-bg);
- color: var(--ok-fg);
-}
-
-del {
- background: var(--bad-bg);
- color: var(--bad-fg);
-}
-
-/***
- 4.8 Embedded content
- https://html.spec.whatwg.org/multipage/embedded-content.html
- ***/
-
-img, video, audio, iframe, object, embed {
- max-inline-size: 100%;
- inline-size: max-content;
- block-size: auto;
-}
-
-/***
- 4.9 Tabular data
- https://html.spec.whatwg.org/multipage/tables.html
- ***/
-
-table {
- font-variant-numeric: tabular-nums;
- font: inherit;
-}
-
-caption {
- text-align: start;
- font-family: var(--secondary-font);
- font-style: italic;
-}
-
-tbody {
- border-block: 1px solid var(--fg);
-}
-
-thead {
-}
-
-tfoot {
-}
-
-tr {
-
-}
-
-td, th {
- vertical-align: top
-}
-
-td:not(:last-child), th:not(:last-child) {
- padding-inline-end: var(--rhythm);
- }
-
-td {
- }
-
-th {
- font-family: var(--secondary-font);
- text-align: start;
- }
-
-/***
- 4.10 Forms
- https://html.spec.whatwg.org/multipage/forms.html
- ***/
-
-input { display: block; }
-
-label input:not([specificity-hack]) { display: inline; padding-block: 0; }
-
-button,
-input[type="submit"],
-input[type="reset"],
-input[type="button"],
-input::file-selector-button,
-.\<button\> {
- display: inline-block;
- padding: 0 calc(var(--rhythm) / 4);
- vertical-align: top;
-
- font-size: .8rem;
- line-height: 1.125em;
- font-family: var(--secondary-font);
- min-height: var(--rhythm);
-
- background: var(--interactive-bg);
- color: var(--fg);
- border: 1px solid var(--muted-fg);
- box-sizing: border-box;
- border-radius: var(--border-radius);
-
- /* a-specific resets */
- color: var(--fg);
- text-decoration: none;
- display: inline-flex;
- place-items: center
-}
-
-:is(button,input[type="submit"],input[type="reset"],input[type="button"],input::file-selector-button,.\<button\>):hover, :is(button,input[type="submit"],input[type="reset"],input[type="button"],input::file-selector-button,.\<button\>):focus-visible {
- filter: brightness(1.1);
-
- /* a-specific resets */
- text-decoration: none;
- }
-
-:is(button,input[type="submit"],input[type="reset"],input[type="button"],input::file-selector-button,.\<button\>):active {
- filter: brightness(.8);
- }
-
-[aria-pressed="true"]:is(button,input[type="submit"],input[type="reset"],input[type="button"],input::file-selector-button,.\<button\>), [aria-expanded="true"]:is(button,input[type="submit"],input[type="reset"],input[type="button"],input::file-selector-button,.\<button\>) {
- box-shadow: 0 .05em var(--accent);
- transform: translateY(.05em);
- background: var(--pressed-interactive-bg);
- }
-
-[disabled]:is(button,input[type="submit"],input[type="reset"],input[type="button"],input::file-selector-button,.\<button\>) {
- color: var(--muted-fg);
- }
-
-strong > :is(button,input[type="submit"],input[type="reset"],input[type="button"],input::file-selector-button,.\<button\>) {
- background: var(--accent);
- color: var(--bg);
- border: none;
- font-weight: bold
-}
-
-strong > [disabled]:is(button,input[type="submit"],input[type="reset"],input[type="button"],input::file-selector-button,.\<button\>) {
- color: var(--muted-accent);
- }
-
-input:not([type]),
-input[type="text"],
-input[type="search"],
-input[type="tel"],
-input[type="url"],
-input[type="email"],
-input[type="password"],
-input[type="date"],
-input[type="month"],
-input[type="week"],
-input[type="time"],
-input[type="datetime"],
-input[type="datetime-local"],
-input[type="number"],
-select,
-textarea {
- padding: calc(var(--rhythm) / 4);
- vertical-align: top;
-
- font-size: 1rem;
- line-height: inherit;
- font-family: var(--main-font);
-
- background: var(--bg);
- color: var(--fg);
- border: 1px solid var(--faded-fg);
- border-radius: var(--border-radius);
-
- vertical-align: top
-}
-
-:is(input:not([type]),input[type="text"],input[type="search"],input[type="tel"],input[type="url"],input[type="email"],input[type="password"],input[type="date"],input[type="month"],input[type="week"],input[type="time"],input[type="datetime"],input[type="datetime-local"],input[type="number"],select,textarea):focus-visible {
- border: 1px solid var(--accent);
- }
-
-:is(input:not([type]),input[type="text"],input[type="search"],input[type="tel"],input[type="url"],input[type="email"],input[type="password"],input[type="date"],input[type="month"],input[type="week"],input[type="time"],input[type="datetime"],input[type="datetime-local"],input[type="number"],select,textarea)::placeholder {
- color: var(--muted-fg);
- opacity: 1;
- text-align: end;
- }
-
-input[type="range"] {
- width: 100%;
- padding: calc(var(--gap) / 4);
-}
-
-input[type="color"] {
- padding: 0;
- margin: 0;
- height: calc(1.5 * var(--rhythm));
-
- border: none;
- background: none;
-}
-
-input[type="file"] {
- padding: calc(var(--gap) / 4) 0;
- font: inherit;
- line-height: calc(var(--rhythm) / 2)
-}
-
-input[type="file"]::file-selector-button {
- margin-block: .1em 0;
- margin-inline-end: 1ch;
- }
-
-select[multiple] {
- vertical-align: top;
-}
-
-optgroup::before {
- color: var(--muted-fg);
- font-style: normal;
-}
-
-progress {
- /* TODO */
-}
-
-meter {
- /* TODO */
-}
-
-label[for] {
- display: block;
- padding-block: calc(var(--gap) / 4);
-}
-
-fieldset {
- position: relative;
-
- padding: var(--gap);
- margin: var(--gap) 0;
- width: 100%;
- border-radius: var(--border-radius);
-}
-
-fieldset > legend + * { margin-block-start: 0 }
-
-fieldset {
-
- border: 1px solid var(--faded-fg);
-}
-
-/***
- 4.11 Interactive elements
- https://html.spec.whatwg.org/multipage/interactive-elements.html#interactive-elements
- ***/
-
-details {
- /* SEE components/box.css */
-
- padding-block-start: 0
-}
-
-details:not([open]) { padding-block-end: 0; }
-
-summary {
- margin: calc(0px - var(--gap));
- margin-top: calc(0px - var(--gap));
- margin-bottom: 0;
- padding-inline: var(--gap);
-
- font-family: var(--secondary-font);
- font-weight: bold;
-
- background: var(--accent);
- color: var(--bg);
-
- cursor: pointer
-}
-
-summary:focus-visible, summary:active {
- filter: brightness(.8);
- }
-
-details[open] summary {
- border-block-end: 1px solid var(--accent);
- border-end-end-radius: 0;
- border-end-start-radius: 0
-}
-
-dialog {
- /* SEE components/box.css */
-
- inline-inset: 0;
-
- block-size: -moz-fit-content;
-
- block-size: fit-content;
- inline-size: -moz-fit-content;
- inline-size: fit-content;
-
- margin: auto !important;
-
- background-color: var(--bg);
- color: var(--fg);
- border-color: var(--accent);
-}
-
-dialog[open]::backdrop {
- display: block;
- background: black;
- opacity: .4;
- animation: bg 2s;
-}
-
-@keyframes bg {
- from { background: transparent; }
-}
-
-dialog:not([open]) {
- display: none;
-}
-
-.box,
-/* defined elsewhere */
-[role=menu],
-.sidebar-layout > header,
-[role=tabpanel],
-figure,
-details,
-dialog,
-aside {
- margin: var(--gap) 0;
- padding: var(--gap);
- overflow: clip;
-
- border-radius: var(--border-radius);
- background: var(--box-bg);
- border: 1px solid var(--faded-fg);
-}
-
-.titlebar {
- margin-inline: calc(0px - var(--gap));
- margin-block-end: calc(0px - var(--gap));
- padding-inline: var(--gap);
-
- font: inherit;
- font-family: var(--secondary-font);
- font-weight: bold;
-
- translate: 0 calc(-1px - var(--gap));
-
- background: var(--faded-fg);
- color: var(--bg);
-}
-
-.sub-title, sub-title {
- /***
- Meant for use in headings. Make sure to also use visually-hidden punctuation
- to mark the subtitle as shown below:
-
- 1 | <h1>
- 2 | Foo Bar<v-h>:</v-h>
- 3 | <sub-title>How I Learned To Stop Worrying and Love Baz</sub-title>
- 4 | </h1>
-
- 1 | <h1>
- 2 | <sub-title class="-allcaps">Breaking News</sub-title><v-h>:</v-h>
- 3 | Bad Thing Happens
- 4 | <h1>
- ***/
-
- display: block;
-
- font-weight: normal;
-
- color: var(--muted-fg);
-}
-
-.tool-bar, [role=toolbar] {
- display: flex;
- flex-flow: row wrap;
- gap: calc(var(--gap) / 2)
-}
-
-.tool-bar > *, [role=toolbar] > * { margin: 0; }
-
-.sidebar-layout header li {
- margin-block: calc(.5 * var(--gap));
- }
-
-.sidebar-layout header a {
- font-weight: bold;
- }
-
-@media (min-width: 75ch) {
-
-.sidebar-layout {
- display: grid;
- grid-template-columns: 25ch auto;
- inset: 0
-}
-
- .sidebar-layout > header {
- border-block: none;
- border-inline-start: none;
- margin: 0;
- }
-
- .sidebar-layout > :nth-child(2) {
- overflow: auto;
- --full-width: calc(100vw - 25ch);
- }
- }
-
-.breadcrumbs[aria-label] {
- font-family: var(--secondary-font)
-}
-
-.breadcrumbs[aria-label] ul, .breadcrumbs[aria-label] ol {
- list-style: none;
- padding-inline-start: 0;
- }
-
-.breadcrumbs[aria-label] li {
- display: inline
- }
-
-:is(.breadcrumbs[aria-label] li)+li::before {
- content: ' / ' / '';
- content: ' / ';
- display: inline;
- }
-
-.breadcrumbs[aria-label] [aria-current="page"] {
- font-weight: bold;
- }
-
-.chip, chip {
- font-family: var(--secondary-font);
- border: 1px solid var(--accent);
- background: var(--box-bg);
- border-radius: calc(var(--rhythm) / 2);
- padding-inline: calc(var(--rhythm) / 2);
-}
-
-.navbar {
- padding: var(--rhythm);
-
- font-family: var(--secondary-font);
-
- background: var(--box-bg);
- border-block-end: 1px solid var(--accent);
-
- overflow-x: auto;
- scrollbar-width: thin;
-
- position: sticky;
- z-index: 5;
- top: 0;
- left: 0;
- right: 0;
-
- /* Inner layout */
- display: flex;
- flex-flow: row;
- align-items: center;
- gap: var(--gap)
-}
-
-.navbar.expanded {
- flex-flow: column;
- align-items: start;
-
- max-height: 90vh;
- overflow-y: auto
- }
-
-.navbar.expanded ul[role="list"] { flex-flow: column; }
-
-.navbar * {
- flex-shrink: 0;
- margin-block: 0;
- }
-
-.navbar:not(.expanded) > :first-child, .navbar:not(.expanded) nav > :first-child { margin-inline-start: auto; }
-
-.navbar:not(.expanded) > :last-child, .navbar:not(.expanded) nav > :last-child { margin-inline-end: auto; }
-
-.navbar hr { align-self: stretch; }
-
-.navbar nav ul[role="list"] {
- display: flex;
- flex-flow: row;
- gap: var(--rhythm)
- }
-
-.navbar nav ul[role="list"] * { flex-shrink: 0 }
-
-.navbar nav ul[role="list"] {
- padding-inline-start: 0;
- }
-
-.navbar a {
- font-weight: bold;
- text-decoration: none;
- padding-inline: .2em;
- }
-
-.navbar a:hover, .navbar a:focus {
- text-decoration: underline;
- }
-
-.navbar [aria-current=page] {
- position: relative;
- }
-
-.navbar [aria-current=page]::after {
- width: 100%;
- height: 6px;
- content: "";
- display: block;
- position: absolute;
- bottom: calc(-1 * var(--gap));
- background: currentcolor;
- }
-
-.navbar.expanded [aria-current=page]::after {
- width: 6px;
- height: 100%;
- position: absolute;
- left: calc(-1 * var(--gap));
- top: 0;
- }
-
-.permalink-anchor {
- display: none
-}
-
-*:hover > .permalink-anchor {
- display: initial
-}
-
-button.iconbutton {
- border: none;
- background: none;
- color: currentcolor;
- padding: 0;
- line-height: var(--rhythm);
- font-size: 24px;
- width: 24px;
- height: 24px;
- display: inline-block;
- text-align: center;
- border-radius: 50%;
- transition: font-weight .2s ease-in-out
-}
-
-button.iconbutton:hover, button.iconbutton:focus-visible {
- outline: 1px solid var(--accent);
- outline-offset: 6px;
- }
-
-button.iconbutton:active {
- outline-offset: 3px;
- background: none;
- }
-
-button.iconbutton[aria-pressed=true] {
- box-shadow: none;
- transform: none;
- }
-
-[role="tablist"] {
- display: flex;
- gap: .5ch;
- scrollbar-width: thin;
-}
-
-[role="tab"][role="tab"] {
- all: initial;
-
- font-family: var(--secondary-font);
-
- padding: 0 calc(var(--rhythm) / 4);
- margin: 0;
- min-height: var(--rhythm);
-
- color: var(--fg);
- border: solid var(--faded-fg);
- border-width: 1px 1px 0 1px;
- border-block-end-color: transparent;
- background: var(--interactive-bg);
-
- border-start-start-radius: .4em;
- border-start-end-radius: .4em
-}
-
-[role="tab"][role="tab"]:active, [role="tab"][role="tab"][aria-selected="true"] {
- transform: none;
- bottom: -1px;
- position: relative;
- background: var(--box-bg);
- border-block-end: 1px solid var(--box-bg);
- }
-
-[role="tab"][role="tab"]:hover {
- background-color: var(--box-bg);
- }
-
-[role="tab"][role="tab"]:focus {
- background-color: var(--box-bg);
- border-color: var(--accent);
- outline: 1px solid var(--accent);
- }
-
-[role="tabpanel"] {
- /* SEE components/box.css */
-
- margin-block-start: 0;
- border-start-start-radius: 0;
- border-start-end-radius: 0;
- z-index: 1;
-}
-
-[role="menu"] {
- /* SEE components/box.css */
- position: absolute;
-
- z-index: 10;
-
- padding: calc(var(--gap) / 2) 0;
- margin: 1px 0 0 0;
-
- display: flex;
- flex-flow: column nowrap;
-}
-
-[role=menuitem] {
- padding: 0 calc(var(--gap) / 2);
-
- display: block;
-
- text-decoration: none;
- border-radius: 0;
-
- color: var(--fg)
-}
-
-[role=menuitem]:focus {
- background: var(--accent);
- color: var(--bg);
- }
-
-[role=listbox] {
- list-style: none
-}
-
-ul[role=listbox] {
- padding-inline-start: 0
-}
-
-[role=listbox] [role=option] {
- margin-inline: calc(-1 * var(--gap));
- padding-inline: var(--gap);
- }
-
-[role=listbox] [role=option][aria-selected=true] {
- background: var(--interactive-bg);
- }
-
-[role=listbox] .active[role=option] {
- --temporary-bg: var(--accent);
- --temporary-fg: var(--bg);
- --temporary-accent: parent-var(--muted-accent);
- --temporary-muted-accent: parent-var(--box-bg);
-
- background: var(--temporary-bg);
- color: var(--temporary-fg)
- }
-
-[role=listbox] .active[role=option] > * {
- --bg: var(--temporary-bg);
- --fg: var(--temporary-fg);
- --accent: var(--temporary-accent);
- --muted-accent: var(--temporary-muted-accent);
- }
-
-[aria-orientation="vertical"] {
- flex-direction: column;
- width: -moz-fit-content;
- width: fit-content;
- text-align: center;
-}
-
-.plain {
- --box-bg: var(--plain-bg);
- --accent: var(--plain-fg);
- --faded-fg: var(--plain-faded-fg);
-}
-
-.info {
- --box-bg: var(--info-bg);
- --accent: var(--info-fg);
- --faded-fg: var(--info-faded-fg);
-}
-
-.ok {
- --box-bg: var(--ok-bg);
- --accent: var(--ok-fg);
- --faded-fg: var(--ok-faded-fg);
-}
-
-.warn {
- --box-bg: var(--warn-bg);
- --accent: var(--warn-fg);
- --faded-fg: var(--warn-faded-fg);
-}
-
-.bad {
- --box-bg: var(--bad-bg);
- --accent: var(--bad-fg);
- --faded-fg: var(--bad-faded-fg);
-}
-
-.color {
- color: var(--accent);
-}
-
-.bg {
- background: var(--box-bg);
-}
-
-.border {
- border-style: solid;
- border-color: var(--faded-fg);
-}
-
-:root {
- /* Colors */
- --fg: var(--gray-12); /* Text. */
- --muted-fg: var(--gray-10); /* De-emphasized or disabled elements' text. Will be
- used with a background of --c-bg and --c-bg-2 -- check contrast! */
- --faded-fg: var(--plain-faded-fg); /* De-emphasized or disabled graphical elements. Will not
- be used as a text color. */
-
- --plain-fg: var(--blue-10);
- --info-fg: var(--blue-11);
- --ok-fg: var(--green-11);
- --bad-fg: var(--red-11);
- --warn-fg: var(--yellow-11);
-
- --plain-faded-fg: var(--gray-6);
- --info-faded-fg: var(--blue-6);
- --ok-faded-fg: var(--green-6);
- --bad-faded-fg: var(--red-6);
- --warn-faded-fg: var(--yellow-6);
-
- --bg: var(--gray-0); /* Page background. */
- --box-bg: var(--plain-bg); /* Background for blocks: cards, admonitions etc. */
- --interactive-bg: var(--gray-4); /* Background for interactive elements */
-
- --plain-bg: var(--gray-1);
- --info-bg: var(--blue-1);
- --ok-bg: var(--green-1);
- --bad-bg: var(--red-1);
- --warn-bg: var(--yellow-1);
-
- --accent: var(--blue-10); /* Accent color. Will be used *as a text color* with a
- background of --c-bg and --c-bg-2 -- check contrast! */
- --muted-accent: var(--blue-7); /* Muted accent color. Will not be used for text. */
-
- /* Lengths */
- --rhythm: 1.4rem; /* Vertical rhythm, line height. */
- --line-length: 40rem; /* Maximum line length for prose. */
- --border-radius: .2rem;
-
- /* Fonts */
- --main-font: 'Source Sans 3', 'Source Sans Pro', -apple-system, system-ui, sans-serif;
- --secondary-font: var(--main-font); /* Headings etc. */
- --mono-font: 'M Plus Code Latin', monospace, monospace; /* monospace twice stops browsers from
- shrinking this */
-
- /* Density */
- --density: 1;
-
- /* Width */
- --full-width: 100vw;
-
- /* Do not set these. */
- --eff-line-length: /* Effective line length for prose. */
- min(
- calc( var(--full-width) - (2 * var(--rhythm)) ),
- var(--line-length)
- );
-
- --gutter-width: /* Width of spaces at each side of page content. */
- calc(
- (
- var(--full-width) /* Viewport width */
- - var(--eff-line-length) /* minus line width */
- ) / 2); /* Divide by 2: there are two page margins */
-}
-
-@media (prefers-color-scheme: dark) {
- :root:not(.-no-dark-theme) {
- --fg: var(--gray-0);
- --muted-fg: var(--gray-2);
- --faded-fg: var(--gray-7);
-
- --plain-bg: var(--gray-11);
- --info-bg: var(--blue-12);
- --ok-bg: var(--green-12);
- --bad-bg: var(--red-12);
- --warn-bg: var(--yellow-12);
-
- --plain-faded-fg: var(--blue-6);
- --info-faded-fg: var(--blue-6);
- --ok-faded-fg: var(--green-6);
- --bad-faded-fg: var(--red-6);
- --warn-faded-fg: var(--yellow-6);
-
- --bg: var(--gray-12);
- --box-bg: var(--gray-10);
- --interactive-bg: var(--gray-8);
-
- --plain-fg: (--blue-3);
- --info-fg: var(--blue-3);
- --ok-fg: var(--green-3);
- --bad-fg: var(--red-3);
- --warn-fg: var(--yellow-3);
-
- --accent: var(--blue-3);
- --muted-accent: var(--blue-5);
- }
-}
-
-* {
- --gap: calc(var(--rhythm) * var(--density));
- accent-color: var(--accent);
-}
-
-.textcolumns {
- --col-width: 30ch;
- column-width: var(--col-width);
- column-gap: var(--gap);
- margin-block: var(--gap)
-}
-
-.textcolumns :first-child { margin-block-start: 0 !important }
-
-.text-align\:center {
- text-align: center;
-}
-
-.center {
- display: grid;
- place-items: center;
-}
-
-/**/
-
-.container {
- max-inline-size: var(--eff-line-length);
- margin-inline: auto;
-}
-
-.fullbleed {
- position: relative;
- width: var(--full-width);
- left: 50%;
- transform: translateX(calc(-.5 * var(--full-width)));
-
- border-radius: 0;
- border-inline: none;
-}
-
-.fullscreen {
- height: 100vh;
-
- position: relative;
- width: 100vw;
- left: 50%;
- transform: translateX(-50vw);
-
- border-radius: 0;
- border-inline: none;
-}
-
-.width\:100\% { width:100%; max-width: 100% }
-
-.height\:100\% { height:100%; max-height: 100% }
-
-/**/
-
-/* ugh, specificity hacks */
-
-*:first-child:first-child:first-child { margin-block-start: 0; }
-
-*:last-child:last-child:last-child { margin-block-end: 0; }
-
-.padding { padding-inline: var(--gap) }
-
-.padding-block { padding-block: var(--gap) }
-
-.padding-block-start { padding-block-start: var(--gap) }
-
-.padding-block-end { padding-block-end: var(--gap) }
-
-.padding-inline { padding-inline: var(--gap) }
-
-.padding-inline-start { padding-inline-start: var(--gap) }
-
-.padding-inline-end { padding-inline-start: var(--gap) }
-
-.margin { margin: var(--gap) }
-
-.margin-block { margin-block: var(--gap) }
-
-.margin-block-start { margin-block-start: var(--gap) }
-
-.margin-block-end { margin-block-end: var(--gap) }
-
-.margin-inline { margin-inline: var(--gap) }
-
-.margin-inline-start { margin-inline-start: var(--gap) }
-
-.margin-inline-end { margin-inline-end: var(--gap) }
-
-.flow-gap > :not(:last-child) {
- margin-bottom: 1em;
- }
-
-/**/
-
-.inline { display: inline }
-
-.block { display: block }
-
-.contents { display: contents }
-
-.table {
- display: table;
- width: 100%;
- margin: 0;
-}
-
-.row, .rows > * {
- display: table-row
-}
-
-.row:not(:last-child):not([specificity-hack]) > *, .rows > *:not(:last-child):not([specificity-hack]) > * {
- margin-bottom: var(--gap);
- }
-
-.row > *:not([specificity-hack]), .rows > * > *:not([specificity-hack]) {
- display: table-cell;
- vertical-align: top;
- }
-
-.row > * + *:not([specificity-hack]), :is(.rows > *) > * + *:not([specificity-hack]) {
- margin-inline-start: var(--gap);
- display: inline-block;
- }
-
-/**/
-
-.fixed { position: fixed }
-
-.sticky { position: sticky }
-
-.top { top: 0 }
-
-.right { right: 0 }
-
-.bottom { bottom: 0 }
-
-.left { left: 0 }
-
-.float\:left { float: left }
-
-.float\:right { float: right }
-
-.overflow\:auto { overflow: auto }
-
-.overflow\:scroll { overflow: scroll }
-
-.airy { --density: 3; }
-
-.spacious { --density: 2; }
-
-.dense { --density: 1; }
-
-.crowded { --density: .5; }
-
-.packed { --density: 0; }
-
-.autodensity {
- --density: 1
-}
-
-@media (min-width: 768px) {
-
-.autodensity { --density: 2
-}}
-
-@media (min-width: 1024px) {
-
-.autodensity { --density: 3
-}}
-
-.vh, v-h {
- clip: rect(0 0 0 0);
- -webkit-clip-path: inset(50%);
- clip-path: inset(50%);
- block-size: 1px;
- inline-size: 1px;
- overflow: hidden;
- white-space: nowrap;
-}
-
-.all\:initial {
- all: initial;
-}
-
-.bold { font-weight: bold }
-
-.italic {
- font-style: italic
-}
-
-.italic em, .italic cite, .italic dfn, .italic var, .italic i, .italic address {
- font-style: normal;
- }
-
-.allcaps {
- text-transform: uppercase;
- letter-spacing: .1rem;
-}
-
-.monospace {
- font-family: var(--mono-font);
-}
-
-.f-row {
- display: flex;
- flex-direction: row;
- gap: var(--gap)
-}
-
-.f-row > * { margin: 0 }
-
-.f-col {
- display: flex;
- flex-direction: column;
- gap: var(--gap)
-}
-
-.f-col > * { margin: 0 }
-
-.f-switch {
- display: flex;
- flex-wrap: wrap;
- gap: var(--gap);
- --f-switch-threshold: 55ch
-}
-
-.f-switch > * {
- margin: 0;
-
- flex-grow: 1;
- flex-basis: calc((var(--f-switch-threshold) - 100%) * 999);
- }
-
-.justify-content\:start { justify-content: start }
-
-.justify-content\:end { justify-content: end }
-
-.justify-content\:baseline { justify-content: baseline }
-
-.justify-content\:center { justify-content: center }
-
-.justify-content\:stretch { justify-content: stretch }
-
-.justify-content\:space-between { justify-content: space-between }
-
-.justify-content\:space-around { justify-content: space-around }
-
-.justify-content\:space-evenly { justify-content: space-evenly }
-
-.align-items\:start { align-items: start }
-
-.align-items\:end { align-items: end }
-
-.align-items\:baseline { align-items: baseline }
-
-.align-items\:center { align-items: center }
-
-.align-items\:stretch { align-items: stretch }
-
-.align-self\:start { align-self: start }
-
-.align-self\:end { align-self: end }
-
-.align-self\:baseline { align-self: baseline }
-
-.align-self\:center { align-self: center }
-
-.align-self\:stretch { align-self: stretch }
-
-.flex-grow\:0 { flex-grow: 0 }
-
-.flex-grow\:1 { flex-grow: 1 }
-
-.flex-grow\:2 { flex-grow: 2 }
-
-.flex-grow\:3 { flex-grow: 3 }
-
-.flex-grow\:4 { flex-grow: 4 }
-
-.flex-grow\:5 { flex-grow: 5 }
-
-.flex-grow\:6 { flex-grow: 6 }
-
-.flex-grow\:7 { flex-grow: 7 }
-
-.flex-grow\:8 { flex-grow: 8 }
-
-.flex-grow\:9 { flex-grow: 9 }
-
-.flex-grow\:10 { flex-grow: 10 }
-
-.flex-grow\:11 { flex-grow: 11 }
-
-.flex-grow\:12 { flex-grow: 12 }
-
-.flex-wrap\:wrap { flex-wrap: wrap }
-
-.flex-wrap\:nowrap { flex-wrap: nowrap }
-
-.grid {
- display: grid;
- grid-auto-columns: var(--grid-col-width, 1fr);
- grid-auto-rows: var(--grid-row-width, auto);
- gap: var(--gap)
-}
-
-.grid > * { margin: 0 }
-
-.grid-even-rows { --grid-row-width: 1fr; }
-
-.grid-variable-cols { --grid-column-width: auto; }
-
-[data-cols^="1 " ] { grid-column-start: 1 }
-
-[data-cols$=" 1" ] { grid-column-end: 2 }
-
-[data-cols="1" ] { grid-column: 1 }
-
-[data-cols^="2 " ] { grid-column-start: 2 }
-
-[data-cols$=" 2" ] { grid-column-end: 3 }
-
-[data-cols="2" ] { grid-column: 2 }
-
-[data-cols^="3 " ] { grid-column-start: 3 }
-
-[data-cols$=" 3" ] { grid-column-end: 4 }
-
-[data-cols="3" ] { grid-column: 3 }
-
-[data-cols^="4 " ] { grid-column-start: 4 }
-
-[data-cols$=" 4" ] { grid-column-end: 5 }
-
-[data-cols="4" ] { grid-column: 4 }
-
-[data-cols^="5 " ] { grid-column-start: 5 }
-
-[data-cols$=" 5" ] { grid-column-end: 6 }
-
-[data-cols="5" ] { grid-column: 5 }
-
-[data-cols^="6 " ] { grid-column-start: 6 }
-
-[data-cols$=" 6" ] { grid-column-end: 7 }
-
-[data-cols="6" ] { grid-column: 6 }
-
-[data-cols^="7 " ] { grid-column-start: 7 }
-
-[data-cols$=" 7" ] { grid-column-end: 8 }
-
-[data-cols="7" ] { grid-column: 7 }
-
-[data-cols^="8 " ] { grid-column-start: 8 }
-
-[data-cols$=" 8" ] { grid-column-end: 9 }
-
-[data-cols="8" ] { grid-column: 8 }
-
-[data-cols^="9 " ] { grid-column-start: 9 }
-
-[data-cols$=" 9" ] { grid-column-end: 10 }
-
-[data-cols="9" ] { grid-column: 9 }
-
-[data-cols^="10 "] { grid-column-start: 10 }
-
-[data-cols$=" 10"] { grid-column-end: 11 }
-
-[data-cols="10"] { grid-column: 10 }
-
-[data-cols^="11 "] { grid-column-start: 11 }
-
-[data-cols$=" 11"] { grid-column-end: 12 }
-
-[data-cols="11"] { grid-column: 11 }
-
-[data-cols^="12 "] { grid-column-start: 12 }
-
-[data-cols$=" 12"] { grid-column-end: 13 }
-
-[data-cols="12"] { grid-column: 12 }
-
-[data-rows^="1 " ] { grid-row-start: 1 }
-
-[data-rows$=" 1" ] { grid-row-end: 2 }
-
-[data-rows="1" ] { grid-row: 1 }
-
-[data-rows^="2 " ] { grid-row-start: 2 }
-
-[data-rows$=" 2" ] { grid-row-end: 3 }
-
-[data-rows="2" ] { grid-row: 2 }
-
-[data-rows^="3 " ] { grid-row-start: 3 }
-
-[data-rows$=" 3" ] { grid-row-end: 4 }
-
-[data-rows="3" ] { grid-row: 3 }
-
-[data-rows^="4 " ] { grid-row-start: 4 }
-
-[data-rows$=" 4" ] { grid-row-end: 5 }
-
-[data-rows="4" ] { grid-row: 4 }
-
-[data-rows^="5 " ] { grid-row-start: 5 }
-
-[data-rows$=" 5" ] { grid-row-end: 6 }
-
-[data-rows="5" ] { grid-row: 5 }
-
-[data-rows^="6 " ] { grid-row-start: 6 }
-
-[data-rows$=" 6" ] { grid-row-end: 7 }
-
-[data-rows="6" ] { grid-row: 6 }
-
-[data-rows^="7 " ] { grid-row-start: 7 }
-
-[data-rows$=" 7" ] { grid-row-end: 8 }
-
-[data-rows="7" ] { grid-row: 7 }
-
-[data-rows^="8 " ] { grid-row-start: 8 }
-
-[data-rows$=" 8" ] { grid-row-end: 9 }
-
-[data-rows="8" ] { grid-row: 8 }
-
-[data-rows^="9 " ] { grid-row-start: 9 }
-
-[data-rows$=" 9" ] { grid-row-end: 10 }
-
-[data-rows="9" ] { grid-row: 9 }
-
-[data-rows^="10 "] { grid-row-start: 10 }
-
-[data-rows$=" 10"] { grid-row-end: 11 }
-
-[data-rows="10"] { grid-row: 10 }
-
-[data-rows^="11 "] { grid-row-start: 11 }
-
-[data-rows$=" 11"] { grid-row-end: 12 }
-
-[data-rows="11"] { grid-row: 11 }
-
-[data-rows^="12 "] { grid-row-start: 12 }
-
-[data-rows$=" 12"] { grid-row-end: 13 }
-
-[data-rows="12"] { grid-row: 12 }
-
-@media (max-width: 768px) {
- [data-cols\@s^="1 " ] { grid-column-start: 1 } [data-cols\@s$=" 1" ] { grid-column-end: 2 } [data-cols\@s="1" ] { grid-column: 1 }
- [data-cols\@s^="2 " ] { grid-column-start: 2 } [data-cols\@s$=" 2" ] { grid-column-end: 3 } [data-cols\@s="2" ] { grid-column: 2 }
- [data-cols\@s^="3 " ] { grid-column-start: 3 } [data-cols\@s$=" 3" ] { grid-column-end: 4 } [data-cols\@s="3" ] { grid-column: 3 }
- [data-cols\@s^="4 " ] { grid-column-start: 4 } [data-cols\@s$=" 4" ] { grid-column-end: 5 } [data-cols\@s="4" ] { grid-column: 4 }
- [data-cols\@s^="5 " ] { grid-column-start: 5 } [data-cols\@s$=" 5" ] { grid-column-end: 6 } [data-cols\@s="5" ] { grid-column: 5 }
- [data-cols\@s^="6 " ] { grid-column-start: 6 } [data-cols\@s$=" 6" ] { grid-column-end: 7 } [data-cols\@s="6" ] { grid-column: 6 }
- [data-cols\@s^="7 " ] { grid-column-start: 7 } [data-cols\@s$=" 7" ] { grid-column-end: 8 } [data-cols\@s="7" ] { grid-column: 7 }
- [data-cols\@s^="8 " ] { grid-column-start: 8 } [data-cols\@s$=" 8" ] { grid-column-end: 9 } [data-cols\@s="8" ] { grid-column: 8 }
- [data-cols\@s^="9 " ] { grid-column-start: 9 } [data-cols\@s$=" 9" ] { grid-column-end: 10 } [data-cols\@s="9" ] { grid-column: 9 }
- [data-cols\@s^="10 "] { grid-column-start: 10 } [data-cols\@s$=" 10"] { grid-column-end: 11 } [data-cols\@s="10"] { grid-column: 10 }
- [data-cols\@s^="11 "] { grid-column-start: 11 } [data-cols\@s$=" 11"] { grid-column-end: 12 } [data-cols\@s="11"] { grid-column: 11 }
- [data-cols\@s^="12 "] { grid-column-start: 12 } [data-cols\@s$=" 12"] { grid-column-end: 13 } [data-cols\@s="12"] { grid-column: 12 }
-
- [data-rows\@s^="1 " ] { grid-row-start: 1 } [data-rows\@s$=" 1" ] { grid-row-end: 2 } [data-rows\@s="1" ] { grid-row: 1 }
- [data-rows\@s^="2 " ] { grid-row-start: 2 } [data-rows\@s$=" 2" ] { grid-row-end: 3 } [data-rows\@s="2" ] { grid-row: 2 }
- [data-rows\@s^="3 " ] { grid-row-start: 3 } [data-rows\@s$=" 3" ] { grid-row-end: 4 } [data-rows\@s="3" ] { grid-row: 3 }
- [data-rows\@s^="4 " ] { grid-row-start: 4 } [data-rows\@s$=" 4" ] { grid-row-end: 5 } [data-rows\@s="4" ] { grid-row: 4 }
- [data-rows\@s^="5 " ] { grid-row-start: 5 } [data-rows\@s$=" 5" ] { grid-row-end: 6 } [data-rows\@s="5" ] { grid-row: 5 }
- [data-rows\@s^="6 " ] { grid-row-start: 6 } [data-rows\@s$=" 6" ] { grid-row-end: 7 } [data-rows\@s="6" ] { grid-row: 6 }
- [data-rows\@s^="7 " ] { grid-row-start: 7 } [data-rows\@s$=" 7" ] { grid-row-end: 8 } [data-rows\@s="7" ] { grid-row: 7 }
- [data-rows\@s^="8 " ] { grid-row-start: 8 } [data-rows\@s$=" 8" ] { grid-row-end: 9 } [data-rows\@s="8" ] { grid-row: 8 }
- [data-rows\@s^="9 " ] { grid-row-start: 9 } [data-rows\@s$=" 9" ] { grid-row-end: 10 } [data-rows\@s="9" ] { grid-row: 9 }
- [data-rows\@s^="10 "] { grid-row-start: 10 } [data-rows\@s$=" 10"] { grid-row-end: 11 } [data-rows\@s="10"] { grid-row: 10 }
- [data-rows\@s^="11 "] { grid-row-start: 11 } [data-rows\@s$=" 11"] { grid-row-end: 12 } [data-rows\@s="11"] { grid-row: 11 }
- [data-rows\@s^="12 "] { grid-row-start: 12 } [data-rows\@s$=" 12"] { grid-row-end: 13 } [data-rows\@s="12"] { grid-row: 12 }
-}
-
-@media (min-width: 1024px) {
- [data-cols\@l^="1 " ] { grid-column-start: 1 } [data-cols\@l$=" 1" ] { grid-column-end: 2 } [data-cols\@l="1" ] { grid-column: 1 }
- [data-cols\@l^="2 " ] { grid-column-start: 2 } [data-cols\@l$=" 2" ] { grid-column-end: 3 } [data-cols\@l="2" ] { grid-column: 2 }
- [data-cols\@l^="3 " ] { grid-column-start: 3 } [data-cols\@l$=" 3" ] { grid-column-end: 4 } [data-cols\@l="3" ] { grid-column: 3 }
- [data-cols\@l^="4 " ] { grid-column-start: 4 } [data-cols\@l$=" 4" ] { grid-column-end: 5 } [data-cols\@l="4" ] { grid-column: 4 }
- [data-cols\@l^="5 " ] { grid-column-start: 5 } [data-cols\@l$=" 5" ] { grid-column-end: 6 } [data-cols\@l="5" ] { grid-column: 5 }
- [data-cols\@l^="6 " ] { grid-column-start: 6 } [data-cols\@l$=" 6" ] { grid-column-end: 7 } [data-cols\@l="6" ] { grid-column: 6 }
- [data-cols\@l^="7 " ] { grid-column-start: 7 } [data-cols\@l$=" 7" ] { grid-column-end: 8 } [data-cols\@l="7" ] { grid-column: 7 }
- [data-cols\@l^="8 " ] { grid-column-start: 8 } [data-cols\@l$=" 8" ] { grid-column-end: 9 } [data-cols\@l="8" ] { grid-column: 8 }
- [data-cols\@l^="9 " ] { grid-column-start: 9 } [data-cols\@l$=" 9" ] { grid-column-end: 10 } [data-cols\@l="9" ] { grid-column: 9 }
- [data-cols\@l^="10 "] { grid-column-start: 10 } [data-cols\@l$=" 10"] { grid-column-end: 11 } [data-cols\@l="10"] { grid-column: 10 }
- [data-cols\@l^="11 "] { grid-column-start: 11 } [data-cols\@l$=" 11"] { grid-column-end: 12 } [data-cols\@l="11"] { grid-column: 11 }
- [data-cols\@l^="12 "] { grid-column-start: 12 } [data-cols\@l$=" 12"] { grid-column-end: 13 } [data-cols\@l="12"] { grid-column: 12 }
-
- [data-rows\@l^="1 " ] { grid-row-start: 1 } [data-rows\@l$=" 1" ] { grid-row-end: 2 } [data-rows\@l="1" ] { grid-row: 1 }
- [data-rows\@l^="2 " ] { grid-row-start: 2 } [data-rows\@l$=" 2" ] { grid-row-end: 3 } [data-rows\@l="2" ] { grid-row: 2 }
- [data-rows\@l^="3 " ] { grid-row-start: 3 } [data-rows\@l$=" 3" ] { grid-row-end: 4 } [data-rows\@l="3" ] { grid-row: 3 }
- [data-rows\@l^="4 " ] { grid-row-start: 4 } [data-rows\@l$=" 4" ] { grid-row-end: 5 } [data-rows\@l="4" ] { grid-row: 4 }
- [data-rows\@l^="5 " ] { grid-row-start: 5 } [data-rows\@l$=" 5" ] { grid-row-end: 6 } [data-rows\@l="5" ] { grid-row: 5 }
- [data-rows\@l^="6 " ] { grid-row-start: 6 } [data-rows\@l$=" 6" ] { grid-row-end: 7 } [data-rows\@l="6" ] { grid-row: 6 }
- [data-rows\@l^="7 " ] { grid-row-start: 7 } [data-rows\@l$=" 7" ] { grid-row-end: 8 } [data-rows\@l="7" ] { grid-row: 7 }
- [data-rows\@l^="8 " ] { grid-row-start: 8 } [data-rows\@l$=" 8" ] { grid-row-end: 9 } [data-rows\@l="8" ] { grid-row: 8 }
- [data-rows\@l^="9 " ] { grid-row-start: 9 } [data-rows\@l$=" 9" ] { grid-row-end: 10 } [data-rows\@l="9" ] { grid-row: 9 }
- [data-rows\@l^="10 "] { grid-row-start: 10 } [data-rows\@l$=" 10"] { grid-row-end: 11 } [data-rows\@l="10"] { grid-row: 10 }
- [data-rows\@l^="11 "] { grid-row-start: 11 } [data-rows\@l$=" 11"] { grid-row-end: 12 } [data-rows\@l="11"] { grid-row: 11 }
- [data-rows\@l^="12 "] { grid-row-start: 12 } [data-rows\@l$=" 12"] { grid-row-end: 13 } [data-rows\@l="12"] { grid-row: 12 }
-}
diff --git a/www/releases/_artifacts/v1.0.0/missing.min.css b/www/releases/_artifacts/v1.0.0/missing.min.css
deleted file mode 100644
index 9ad10a2..0000000
--- a/www/releases/_artifacts/v1.0.0/missing.min.css
+++ /dev/null
@@ -1,14 +0,0 @@
-@keyframes bg{0%{background:0 0}}*,::after,::before{box-sizing:border-box;background-repeat:no-repeat}::after,::before{text-decoration:inherit;vertical-align:inherit}:root{cursor:default;overflow-wrap:break-word;-webkit-tap-highlight-color:transparent;text-size-adjust:none;-webkit-text-size-adjust:none}abbr[title]{-webkit-text-decoration:underline dotted;text-decoration:underline dotted}b,strong{font-weight:bolder}small{font-size:80%}audio,canvas,iframe,img,svg,video{vertical-align:middle}svg:not([fill]){fill:currentColor}table{border-collapse:collapse;border-color:currentColor;text-indent:0;font-variant-numeric:tabular-nums;font:inherit}body,button,input,select,textarea{margin:0}[type=button],[type=reset],[type=submit],button{-webkit-appearance:button}fieldset{border:1px solid #a0a0a0;position:relative;padding:var(--gap);margin:var(--gap) 0;width:100%;border-radius:var(--border-radius);border:1px solid var(--faded-fg)}progress{vertical-align:baseline}[type=search]{-webkit-appearance:textfield;outline-offset:-2px}::-webkit-inner-spin-button,::-webkit-outer-spin-button{block-size:auto}::-webkit-input-placeholder{color:inherit;opacity:.54}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{-webkit-appearance:button;font:inherit}[hidden],datalist{display:none!important}:focus-visible{outline:.2em solid var(--accent);z-index:32}body:focus-visible,html:focus-visible,iframe:focus-visible{outline:0}:target{outline:.2em solid var(--fg);z-index:2}details>summary:first-of-type{display:list-item}[aria-busy=true]{cursor:progress}[aria-disabled=true],[disabled]{cursor:not-allowed}:root{--gray-0: #f8fafb;--gray-1: #f2f4f6;--gray-2: #ebedef;--gray-3: #e0e4e5;--gray-4: #d1d6d8;--gray-5: #b1b6b9;--gray-6: #979b9d;--gray-7: #7e8282;--gray-8: #666968;--gray-9: #50514f;--gray-10: #3a3a37;--gray-11: #252521;--gray-12: #121210;--red-0: #fff5f5;--red-1: #ffe3e3;--red-2: #ffc9c9;--red-3: #ffa8a8;--red-4: #ff8787;--red-5: #ff6b6b;--red-6: #fa5252;--red-7: #f03e3e;--red-8: #e03131;--red-9: #c92a2a;--red-10: #b02525;--red-11: #962020;--red-12: #7d1a1a;--pink-0: #fff0f6;--pink-1: #ffdeeb;--pink-2: #fcc2d7;--pink-3: #faa2c1;--pink-4: #f783ac;--pink-5: #f06595;--pink-6: #e64980;--pink-7: #d6336c;--pink-8: #c2255c;--pink-9: #a61e4d;--pink-10: #8c1941;--pink-11: #731536;--pink-12: #59102a;--purple-0: #f8f0fc;--purple-1: #f3d9fa;--purple-2: #eebefa;--purple-3: #e599f7;--purple-4: #da77f2;--purple-5: #cc5de8;--purple-6: #be4bdb;--purple-7: #ae3ec9;--purple-8: #9c36b5;--purple-9: #862e9c;--purple-10: #702682;--purple-11: #5a1e69;--purple-12: #44174f;--violet-0: #f3f0ff;--violet-1: #e5dbff;--violet-2: #d0bfff;--violet-3: #b197fc;--violet-4: #9775fa;--violet-5: #845ef7;--violet-6: #7950f2;--violet-7: #7048e8;--violet-8: #6741d9;--violet-9: #5f3dc4;--violet-10: #5235ab;--violet-11: #462d91;--violet-12: #3a2578;--indigo-0: #edf2ff;--indigo-1: #dbe4ff;--indigo-2: #bac8ff;--indigo-3: #91a7ff;--indigo-4: #748ffc;--indigo-5: #5c7cfa;--indigo-6: #4c6ef5;--indigo-7: #4263eb;--indigo-8: #3b5bdb;--indigo-9: #364fc7;--indigo-10: #2f44ad;--indigo-11: #283a94;--indigo-12: #21307a;--blue-0: #e7f5ff;--blue-1: #d0ebff;--blue-2: #a5d8ff;--blue-3: #74c0fc;--blue-4: #4dabf7;--blue-5: #339af0;--blue-6: #228be6;--blue-7: #1c7ed6;--blue-8: #1971c2;--blue-9: #1864ab;--blue-10: #145591;--blue-11: #114678;--blue-12: #0d375e;--cyan-0: #e3fafc;--cyan-1: #c5f6fa;--cyan-2: #99e9f2;--cyan-3: #66d9e8;--cyan-4: #3bc9db;--cyan-5: #22b8cf;--cyan-6: #15aabf;--cyan-7: #1098ad;--cyan-8: #0c8599;--cyan-9: #0b7285;--cyan-10: #095c6b;--cyan-11: #074652;--cyan-12: #053038;--teal-0: #e6fcf5;--teal-1: #c3fae8;--teal-2: #96f2d7;--teal-3: #63e6be;--teal-4: #38d9a9;--teal-5: #20c997;--teal-6: #12b886;--teal-7: #0ca678;--teal-8: #099268;--teal-9: #087f5b;--teal-10: #066649;--teal-11: #054d37;--teal-12: #033325;--green-0: #ebfbee;--green-1: #d3f9d8;--green-2: #b2f2bb;--green-3: #8ce99a;--green-4: #69db7c;--green-5: #51cf66;--green-6: #40c057;--green-7: #37b24d;--green-8: #2f9e44;--green-9: #2b8a3e;--green-10: #237032;--green-11: #1b5727;--green-12: #133d1b;--lime-0: #f4fce3;--lime-1: #e9fac8;--lime-2: #d8f5a2;--lime-3: #c0eb75;--lime-4: #a9e34b;--lime-5: #94d82d;--lime-6: #82c91e;--lime-7: #74b816;--lime-8: #66a80f;--lime-9: #5c940d;--lime-10: #4c7a0b;--lime-11: #3c6109;--lime-12: #2c4706;--yellow-0: #fff9db;--yellow-1: #fff3bf;--yellow-2: #ffec99;--yellow-3: #ffe066;--yellow-4: #ffd43b;--yellow-5: #fcc419;--yellow-6: #fab005;--yellow-7: #f59f00;--yellow-8: #f08c00;--yellow-9: #e67700;--yellow-10: #b35c00;--yellow-11: #804200;--yellow-12: #663500;--orange-0: #fff4e6;--orange-1: #ffe8cc;--orange-2: #ffd8a8;--orange-3: #ffc078;--orange-4: #ffa94d;--orange-5: #ff922b;--orange-6: #fd7e14;--orange-7: #f76707;--orange-8: #e8590c;--orange-9: #d9480f;--orange-10: #bf400d;--orange-11: #99330b;--orange-12: #802b09;--choco-0: #fff8dc;--choco-1: #fce1bc;--choco-2: #f7ca9e;--choco-3: #f1b280;--choco-4: #e99b62;--choco-5: #df8545;--choco-6: #d46e25;--choco-7: #bd5f1b;--choco-8: #a45117;--choco-9: #8a4513;--choco-10: #703a13;--choco-11: #572f12;--choco-12: #3d210d;--brown-0: #faf4eb;--brown-1: #ede0d1;--brown-2: #e0cab7;--brown-3: #d3b79e;--brown-4: #c5a285;--brown-5: #b78f6d;--brown-6: #a87c56;--brown-7: #956b47;--brown-8: #825b3a;--brown-9: #6f4b2d;--brown-10:#5e3a21;--brown-11:#4e2b15;--brown-12: #422412;--sand-0: #f8fafb;--sand-1: #e6e4dc;--sand-2: #d5cfbd;--sand-3: #c2b9a0;--sand-4: #aea58c;--sand-5: #9a9178;--sand-6: #867c65;--sand-7: #736a53;--sand-8: #5f5746;--sand-9: #4b4639;--sand-10:#38352d;--sand-11:#252521;--sand-12: #121210;--camo-0: #f9fbe7;--camo-1: #e8ed9c;--camo-2: #d2df4e;--camo-3: #c2ce34;--camo-4: #b5bb2e;--camo-5: #a7a827;--camo-6: #999621;--camo-7: #8c851c;--camo-8: #7e7416;--camo-9: #6d6414;--camo-10: #5d5411;--camo-11: #4d460e;--camo-12: #36300a;--jungle-0: #ecfeb0;--jungle-1: #def39a;--jungle-2: #d0e884;--jungle-3: #c2dd6e;--jungle-4: #b5d15b;--jungle-5: #a8c648;--jungle-6: #9bbb36;--jungle-7: #8fb024;--jungle-8: #84a513;--jungle-9: #7a9908;--jungle-10: #658006;--jungle-11: #516605;--jungle-12: #3d4d04}html{font-family:var(--main-font);line-height:var(--rhythm);background:var(--bg);color:var(--fg);scroll-padding-block-start:calc(4*var(--gap))}footer,header,section+section{margin-block:calc(2*var(--gap))}nav a{text-decoration:none;color:var(--accent)}aside h1,aside h2,aside h3,aside h4,aside h5,aside h6{font-size:1em;text-transform:none;letter-spacing:none}.\<h1\>,.\<h2\>,.\<h3\>,.\<h4\>,.\<h5\>,.\<h6\>,h1,h2,h3,h4,h5,h6{margin-block-end:var(--gap);font-family:var(--secondary-font);margin-block-start:calc(2*var(--gap));position:relative}.\<h1\>,.\<h2\>,h1,h2{font-size:2em;text-transform:none;line-height:calc(2*var(--rhythm));letter-spacing:0}.\<h2\>,h2{font-size:1.6em;line-height:calc(1.5*var(--rhythm))}.\<h3\>,.\<h4\>,.\<h5\>,.\<h6\>,h3,h4,h5,h6{font-size:1.17em;line-height:calc(1*var(--rhythm))}.\<h4\>,.\<h5\>,.\<h6\>,h4,h5,h6{font-size:1em;text-transform:none;letter-spacing:0;margin-block-start:var(--gap)}h1+h2,h1:first-child,h2+h3,h2:first-child,h3+h4,h3:first-child,h4+h5,h4:first-child,h5+h6,h5:first-child,h6:first-child{margin-block-start:var(--gap)}h1:target,h2:target,h3:target,h4:target,h5:target,h6:target{outline:0}h1:target::before,h2:target::before,h3:target::before,h4:target::before,h5:target::before,h6:target::before{content:"";display:block;position:absolute;left:-.5em;width:4px;height:100%;background:var(--accent)}footer,header{font-family:var(--secondary-font)}header{border-block-end:1px solid var(--faded-fg)}footer{border-block-start:1px solid var(--faded-fg)}body>footer,body>header,main+footer{padding:var(--rhythm) calc((100% - var(--eff-line-length))/2)}address{--density: 0}dl,hr,p{margin-block:var(--gap)}hr{color:inherit;margin-inline:0;flex:0 1 0px;border-inline-start:1px solid var(--accent);block-size:auto;border-block-start:1px solid var(--accent);border-block-end:none;border-inline-end:none}blockquote,pre{line-height:var(--rhythm)}pre{font-family:var(--mono-font);-o-tab-size:2;tab-size:2;margin:var(--gap) 0;overflow-x:auto;scrollbar-width:thin;scrollbar-color:var(--accent) transparent;font-size:.9em}blockquote{margin-inline:0 var(--gap);padding-inline:var(--gap) 0;margin-block:var(--gap);font-size:1.1em;font-style:italic;border-inline-start:1px solid var(--faded-fg);color:var(--muted-fg)}.italic address,.italic cite,.italic dfn,.italic em,.italic i,.italic var,blockquote address,blockquote cite,blockquote dfn,blockquote em,blockquote i,blockquote var,q address,q cite,q dfn,q em,q i,q var{font-style:normal}blockquote footer{text-align:right;text-align:end}ol,ul{padding-inline-start:var(--rhythm)}ol ol,ol ul,ul ol,ul ul{padding-inline-start:var(--gap)}ol[role=list],ul[role=list]{padding-inline-start:0;list-style:none}ol{list-style:decimal}.breadcrumbs[aria-label] [aria-current=page],.sidebar-layout header a,dt{font-weight:700}dd{margin-inline-start:var(--rhythm)}li::marker{font-family:var(--secondary-font)}figure{max-width:100%;margin-inline:0}figcaption{margin-block:var(--gap);font-family:var(--secondary-font);color:var(--muted-fg)}main{max-inline-size:var(--eff-line-length);margin:auto}main:first-child{padding-top:var(--gap)}a{color:var(--link-fg, var(--accent));font-family:var(--secondary-font);border-radius:var(--border-radius);outline-offset:1px}.list-of-links a{text-decoration:none}a:focus,a:hover{text-decoration:none;outline:1px solid;transition:outline-offset .1s ease-in-out}a:active{outline-offset:0}span>small:only-child{display:block;float:inline-end;clear:inline-end;--sidenote-width: 20ch;max-inline-size:var(--sidenote-width);padding-inline:1.5ch 1ch;margin-inline-end:calc(1em - var(--sidenote-width));margin-block-end:var(--rhythm);font-family:var(--secondary-font);background:var(--bg);border:1px solid transparent;transition:transform .1s ease-in-out}span>small:only-child:focus-within,span>small:only-child:hover{border:1px solid var(--faded-fg);border-radius:var(--border-radius);transform:translateX(calc(0px - var(--sidenote-width) + min(var(--gutter-width),var(--sidenote-width))))}del,s{color:var(--bad-fg)}caption,q{font-style:italic}time{font-variant-numeric:tabular-nums}code,kbd,samp{font-family:var(--mono-font)}ins,samp{color:var(--ok-fg)}kbd kbd{display:inline-block;padding:0 .3em;font-size:.8em;line-height:1.1em;background:var(--interactive-bg);border:1px outset var(--faded-fg);border-block-end-width:3px;border-radius:var(--border-radius)}sub{vertical-align:bottom}sub,sup{line-height:1}mark{background:var(--warn-bg);color:var(--warn-fg)}ins{background:var(--ok-bg)}del{background:var(--bad-bg)}audio,embed,iframe,img,object,video{max-inline-size:100%;inline-size:max-content;block-size:auto}caption{text-align:start;font-family:var(--secondary-font)}tbody{border-block:1px solid var(--fg)}select[multiple],sup,td,th{vertical-align:top}td:not(:last-child),th:not(:last-child){padding-inline-end:var(--rhythm)}th{font-family:var(--secondary-font);text-align:start}input{display:block}label input:not([specificity-hack]){display:inline;padding-block:0}.\<button\>,button,input::file-selector-button,input[type=button],input[type=reset],input[type=submit]{display:inline-block;padding:0 calc(var(--rhythm)/4);vertical-align:top;font-size:.8rem;line-height:1.125em;font-family:var(--secondary-font);min-height:var(--rhythm);background:var(--interactive-bg);border:1px solid var(--muted-fg);box-sizing:border-box;border-radius:var(--border-radius);color:var(--fg);text-decoration:none;display:inline-flex;place-items:center}:is(button,input[type="submit"],input[type="reset"],input[type="button"],input::file-selector-button,.\<button\>):focus-visible,:is(button,input[type="submit"],input[type="reset"],input[type="button"],input::file-selector-button,.\<button\>):hover{filter:brightness(1.1);text-decoration:none}:is(button,input[type="submit"],input[type="reset"],input[type="button"],input::file-selector-button,.\<button\>):active{filter:brightness(.8)}[aria-expanded=true]:is(button,input[type="submit"],input[type="reset"],input[type="button"],input::file-selector-button,.\<button\>),[aria-pressed=true]:is(button,input[type="submit"],input[type="reset"],input[type="button"],input::file-selector-button,.\<button\>){box-shadow:0 .05em var(--accent);transform:translateY(.05em);background:var(--pressed-interactive-bg)}[disabled]:is(button,input[type="submit"],input[type="reset"],input[type="button"],input::file-selector-button,.\<button\>){color:var(--muted-fg)}strong>:is(button,input[type="submit"],input[type="reset"],input[type="button"],input::file-selector-button,.\<button\>){background:var(--accent);color:var(--bg);border:0;font-weight:700}strong>[disabled]:is(button,input[type="submit"],input[type="reset"],input[type="button"],input::file-selector-button,.\<button\>){color:var(--muted-accent)}input:not([type]),input[type=date],input[type=datetime-local],input[type=datetime],input[type=email],input[type=month],input[type=number],input[type=password],input[type=search],input[type=tel],input[type=text],input[type=time],input[type=url],input[type=week],select,textarea{padding:calc(var(--rhythm)/4);font-size:1rem;line-height:inherit;font-family:var(--main-font);background:var(--bg);color:var(--fg);border:1px solid var(--faded-fg);border-radius:var(--border-radius);vertical-align:top}:is(input:not([type]),input[type="text"],input[type="search"],input[type="tel"],input[type="url"],input[type="email"],input[type="password"],input[type="date"],input[type="month"],input[type="week"],input[type="time"],input[type="datetime"],input[type="datetime-local"],input[type="number"],select,textarea):focus-visible{border:1px solid var(--accent)}:is(input:not([type]),input[type="text"],input[type="search"],input[type="tel"],input[type="url"],input[type="email"],input[type="password"],input[type="date"],input[type="month"],input[type="week"],input[type="time"],input[type="datetime"],input[type="datetime-local"],input[type="number"],select,textarea)::placeholder{color:var(--muted-fg);opacity:1;text-align:end}input[type=range]{width:100%;padding:calc(var(--gap)/4)}input[type=color]{padding:0;margin:0;height:calc(1.5*var(--rhythm));border:0;background:0 0}input[type=file]{padding:calc(var(--gap)/4) 0;font:inherit;line-height:calc(var(--rhythm)/2)}input[type=file]::file-selector-button{margin-block:.1em 0;margin-inline-end:1ch}optgroup::before{color:var(--muted-fg);font-style:normal}label[for]{display:block;padding-block:calc(var(--gap)/4)}fieldset>legend+*{margin-block-start:0}details{padding-block-start:0}details:not([open]){padding-block-end:0}summary{margin:calc(0px - var(--gap));margin-bottom:0;padding-inline:var(--gap);font-family:var(--secondary-font);font-weight:700;background:var(--accent);color:var(--bg);cursor:pointer}summary:active,summary:focus-visible{filter:brightness(.8)}details[open] summary{border-block-end:1px solid var(--accent);border-end-end-radius:0;border-end-start-radius:0}dialog{inline-inset:0;block-size:-moz-fit-content;block-size:fit-content;inline-size:-moz-fit-content;inline-size:fit-content;margin:auto!important;background-color:var(--bg);color:var(--fg)}dialog[open]::backdrop{display:block;background:#000;opacity:.4;animation:bg 2s}dialog:not([open]){display:none}.box,.sidebar-layout>header,[role=menu],[role=tabpanel],aside,details,dialog,figure{margin:var(--gap) 0;padding:var(--gap);overflow:clip;border-radius:var(--border-radius);background:var(--box-bg);border:1px solid var(--faded-fg)}.titlebar{margin-inline:calc(0px - var(--gap));margin-block-end:calc(0px - var(--gap));padding-inline:var(--gap);font:inherit;font-family:var(--secondary-font);font-weight:700;translate:0 calc(-1px - var(--gap));background:var(--faded-fg);color:var(--bg)}.sub-title,sub-title{display:block;font-weight:400;color:var(--muted-fg)}.tool-bar,[role=toolbar]{display:flex;flex-flow:row wrap;gap:calc(var(--gap)/2)}.tool-bar>*,[role=toolbar]>*{margin:0}.sidebar-layout header li{margin-block:calc(.5*var(--gap))}@media (min-width:75ch){.sidebar-layout{display:grid;grid-template-columns:25ch auto;inset:0}.sidebar-layout>header{border-block:none;border-inline-start:none;margin:0}.sidebar-layout>:nth-child(2){overflow:auto;--full-width: calc(100vw - 25ch)}}.breadcrumbs[aria-label]{font-family:var(--secondary-font)}.breadcrumbs[aria-label] ol,.breadcrumbs[aria-label] ul{list-style:none;padding-inline-start:0}.breadcrumbs[aria-label] li{display:inline}:is(.breadcrumbs[aria-label] li)+li::before{content:' / ';display:inline}.chip,.navbar,chip{font-family:var(--secondary-font);background:var(--box-bg)}.chip,chip{border:1px solid var(--accent);border-radius:calc(var(--rhythm)/2);padding-inline:calc(var(--rhythm)/2)}.navbar{padding:var(--rhythm);border-block-end:1px solid var(--accent);overflow-x:auto;scrollbar-width:thin;position:sticky;z-index:5;top:0;left:0;right:0;display:flex;flex-flow:row;align-items:center;gap:var(--gap)}.navbar.expanded{flex-flow:column;align-items:start;max-height:90vh;overflow-y:auto}.navbar.expanded ul[role=list]{flex-flow:column}.navbar *{flex-shrink:0;margin-block:0}.navbar:not(.expanded) nav>:first-child,.navbar:not(.expanded)>:first-child{margin-inline-start:auto}.navbar:not(.expanded) nav>:last-child,.navbar:not(.expanded)>:last-child{margin-inline-end:auto}.navbar hr{align-self:stretch}.navbar nav ul[role=list]{display:flex;flex-flow:row;gap:var(--rhythm);padding-inline-start:0}.navbar nav ul[role=list] *{flex-shrink:0}.navbar a{font-weight:700;text-decoration:none;padding-inline:.2em}.navbar a:focus,.navbar a:hover{text-decoration:underline}.navbar [aria-current=page]{position:relative}.navbar [aria-current=page]::after{width:100%;height:6px;content:"";display:block;position:absolute;bottom:calc(-1*var(--gap));background:currentcolor}.navbar.expanded [aria-current=page]::after{width:6px;height:100%;position:absolute;left:calc(-1*var(--gap));top:0}.permalink-anchor{display:none}:hover>.permalink-anchor{display:initial}button.iconbutton{border:0;background:0 0;color:currentcolor;padding:0;line-height:var(--rhythm);font-size:24px;width:24px;height:24px;display:inline-block;text-align:center;border-radius:50%;transition:font-weight .2s ease-in-out}button.iconbutton:focus-visible,button.iconbutton:hover{outline:1px solid var(--accent);outline-offset:6px}button.iconbutton:active{outline-offset:3px;background:0 0}button.iconbutton[aria-pressed=true]{box-shadow:none;transform:none}[role=tablist]{display:flex;gap:.5ch;scrollbar-width:thin}[role=tab][role=tab]{all:initial;font-family:var(--secondary-font);padding:0 calc(var(--rhythm)/4);margin:0;min-height:var(--rhythm);color:var(--fg);border:solid var(--faded-fg);border-width:1px 1px 0;border-block-end-color:transparent;background:var(--interactive-bg);border-start-start-radius:.4em;border-start-end-radius:.4em}[role=tab][role=tab]:active,[role=tab][role=tab][aria-selected=true]{transform:none;bottom:-1px;position:relative;background:var(--box-bg);border-block-end:1px solid var(--box-bg)}[role=tab][role=tab]:hover{background-color:var(--box-bg)}[role=tab][role=tab]:focus{background-color:var(--box-bg);border-color:var(--accent);outline:1px solid var(--accent)}[role=tabpanel]{margin-block-start:0;border-start-start-radius:0;border-start-end-radius:0;z-index:1}[role=menu]{position:absolute;z-index:10;padding:calc(var(--gap)/2) 0;margin:1px 0 0;display:flex;flex-flow:column nowrap}[role=menuitem]{padding:0 calc(var(--gap)/2);display:block;text-decoration:none;border-radius:0;color:var(--fg)}[role=menuitem]:focus{background:var(--accent);color:var(--bg)}[role=listbox]{list-style:none}ul[role=listbox]{padding-inline-start:0}[role=listbox] [role=option]{margin-inline:calc(-1*var(--gap));padding-inline:var(--gap)}[role=listbox] [role=option][aria-selected=true]{background:var(--interactive-bg)}[role=listbox] .active[role=option]{--temporary-bg: var(--accent);--temporary-fg: var(--bg);--temporary-accent: parent-var(--muted-accent);--temporary-muted-accent: parent-var(--box-bg);background:var(--temporary-bg);color:var(--temporary-fg)}[role=listbox] .active[role=option]>*{--bg: var(--temporary-bg);--fg: var(--temporary-fg);--accent: var(--temporary-accent);--muted-accent: var(--temporary-muted-accent)}[aria-orientation=vertical]{flex-direction:column;width:-moz-fit-content;width:fit-content;text-align:center}.plain{--box-bg: var(--plain-bg);--accent: var(--plain-fg);--faded-fg: var(--plain-faded-fg)}.info{--box-bg: var(--info-bg);--accent: var(--info-fg);--faded-fg: var(--info-faded-fg)}.ok{--box-bg: var(--ok-bg);--accent: var(--ok-fg);--faded-fg: var(--ok-faded-fg)}.warn{--box-bg: var(--warn-bg);--accent: var(--warn-fg);--faded-fg: var(--warn-faded-fg)}.bad{--box-bg: var(--bad-bg);--accent: var(--bad-fg);--faded-fg: var(--bad-faded-fg)}.color{color:var(--accent)}.bg{background:var(--box-bg)}.border{border-style:solid;border-color:var(--faded-fg)}:root{--fg: var(--gray-12);--muted-fg: var(--gray-10);--faded-fg: var(--plain-faded-fg);--plain-fg: var(--blue-10);--info-fg: var(--blue-11);--ok-fg: var(--green-11);--bad-fg: var(--red-11);--warn-fg: var(--yellow-11);--plain-faded-fg: var(--gray-6);--info-faded-fg: var(--blue-6);--ok-faded-fg: var(--green-6);--bad-faded-fg: var(--red-6);--warn-faded-fg: var(--yellow-6);--bg: var(--gray-0);--box-bg: var(--plain-bg);--interactive-bg: var(--gray-4);--plain-bg: var(--gray-1);--info-bg: var(--blue-1);--ok-bg: var(--green-1);--bad-bg: var(--red-1);--warn-bg: var(--yellow-1);--accent: var(--blue-10);--muted-accent: var(--blue-7);--rhythm: 1.4rem;--line-length: 40rem;--border-radius: .2rem;--main-font: 'Source Sans 3', 'Source Sans Pro', -apple-system, system-ui, sans-serif;--secondary-font: var(--main-font);--mono-font: 'M Plus Code Latin', monospace, monospace;--density: 1;--full-width: 100vw;--eff-line-length: /* Effective line length for prose. */
- min(
- calc( var(--full-width) - (2 * var(--rhythm)) ),
- var(--line-length)
- );--gutter-width: /* Width of spaces at each side of page content. */
- calc(
- (
- var(--full-width) /* Viewport width */
- - var(--eff-line-length) /* minus line width */
- ) / 2)}@media (prefers-color-scheme:dark){:root:not(.-no-dark-theme){--fg: var(--gray-0);--muted-fg: var(--gray-2);--faded-fg: var(--gray-7);--plain-bg: var(--gray-11);--info-bg: var(--blue-12);--ok-bg: var(--green-12);--bad-bg: var(--red-12);--warn-bg: var(--yellow-12);--plain-faded-fg: var(--blue-6);--info-faded-fg: var(--blue-6);--ok-faded-fg: var(--green-6);--bad-faded-fg: var(--red-6);--warn-faded-fg: var(--yellow-6);--bg: var(--gray-12);--box-bg: var(--gray-10);--interactive-bg: var(--gray-8);--plain-fg: (--blue-3);--info-fg: var(--blue-3);--ok-fg: var(--green-3);--bad-fg: var(--red-3);--warn-fg: var(--yellow-3);--accent: var(--blue-3);--muted-accent: var(--blue-5)}}*{--gap: calc(var(--rhythm) * var(--density));accent-color:var(--accent)}.textcolumns{--col-width: 30ch;column-width:var(--col-width);column-gap:var(--gap);margin-block:var(--gap)}.textcolumns :first-child{margin-block-start:0!important}.text-align\:center{text-align:center}.center{display:grid;place-items:center}.container{max-inline-size:var(--eff-line-length);margin-inline:auto}.fullbleed,.fullscreen{position:relative;left:50%;border-radius:0;border-inline:none}.fullbleed{width:var(--full-width);transform:translateX(calc(-.5*var(--full-width)))}.fullscreen{height:100vh;width:100vw;transform:translateX(-50vw)}.width\:100\%{width:100%;max-width:100%}.height\:100\%{height:100%;max-height:100%}:first-child:first-child:first-child{margin-block-start:0}:last-child:last-child:last-child{margin-block-end:0}.padding{padding-inline:var(--gap)}.padding-block{padding-block:var(--gap)}.padding-block-start{padding-block-start:var(--gap)}.padding-block-end{padding-block-end:var(--gap)}.padding-inline{padding-inline:var(--gap)}.padding-inline-end,.padding-inline-start{padding-inline-start:var(--gap)}.margin{margin:var(--gap)}.margin-block{margin-block:var(--gap)}.margin-block-start{margin-block-start:var(--gap)}.margin-block-end{margin-block-end:var(--gap)}.margin-inline{margin-inline:var(--gap)}.margin-inline-start{margin-inline-start:var(--gap)}.margin-inline-end{margin-inline-end:var(--gap)}.flow-gap>:not(:last-child){margin-bottom:1em}.inline{display:inline}.block{display:block}.contents{display:contents}.table{display:table;width:100%;margin:0}.row,.rows>*{display:table-row}.row:not(:last-child):not([specificity-hack])>*,.rows>:not(:last-child):not([specificity-hack])>*{margin-bottom:var(--gap)}.row>:not([specificity-hack]),.rows>*>:not([specificity-hack]){display:table-cell;vertical-align:top}.row>*+:not([specificity-hack]),:is(.rows > *)>*+:not([specificity-hack]){margin-inline-start:var(--gap);display:inline-block}.fixed{position:fixed}.sticky{position:sticky}.top{top:0}.right{right:0}.bottom{bottom:0}.left{left:0}.float\:left{float:left}.float\:right{float:right}.overflow\:auto{overflow:auto}.overflow\:scroll{overflow:scroll}.airy{--density: 3}.spacious{--density: 2}.dense{--density: 1}.crowded{--density: .5}.packed{--density: 0}.autodensity{--density: 1
-}@media (min-width:768px){.autodensity{--density: 2
-}}@media (min-width:1024px){.autodensity{--density: 3
-}}.vh,v-h{clip:rect(0 0 0 0);-webkit-clip-path:inset(50%);clip-path:inset(50%);block-size:1px;inline-size:1px;overflow:hidden;white-space:nowrap}.all\:initial{all:initial}.bold{font-weight:700}.italic{font-style:italic}.allcaps{text-transform:uppercase;letter-spacing:.1rem}.monospace{font-family:var(--mono-font)}.f-row{display:flex;flex-direction:row;gap:var(--gap)}.f-row>*{margin:0}.f-col{display:flex;flex-direction:column;gap:var(--gap)}.f-col>*{margin:0}.f-switch{display:flex;flex-wrap:wrap;gap:var(--gap);--f-switch-threshold: 55ch
-}.f-switch>*{margin:0;flex-grow:1;flex-basis:calc((var(--f-switch-threshold) - 100%)*999)}.justify-content\:start{justify-content:start}.justify-content\:end{justify-content:end}.justify-content\:baseline{justify-content:baseline}.justify-content\:center{justify-content:center}.justify-content\:stretch{justify-content:stretch}.justify-content\:space-between{justify-content:space-between}.justify-content\:space-around{justify-content:space-around}.justify-content\:space-evenly{justify-content:space-evenly}.align-items\:start{align-items:start}.align-items\:end{align-items:end}.align-items\:baseline{align-items:baseline}.align-items\:center{align-items:center}.align-items\:stretch{align-items:stretch}.align-self\:start{align-self:start}.align-self\:end{align-self:end}.align-self\:baseline{align-self:baseline}.align-self\:center{align-self:center}.align-self\:stretch{align-self:stretch}.flex-grow\:0{flex-grow:0}.flex-grow\:1{flex-grow:1}.flex-grow\:2{flex-grow:2}.flex-grow\:3{flex-grow:3}.flex-grow\:4{flex-grow:4}.flex-grow\:5{flex-grow:5}.flex-grow\:6{flex-grow:6}.flex-grow\:7{flex-grow:7}.flex-grow\:8{flex-grow:8}.flex-grow\:9{flex-grow:9}.flex-grow\:10{flex-grow:10}.flex-grow\:11{flex-grow:11}.flex-grow\:12{flex-grow:12}.flex-wrap\:wrap{flex-wrap:wrap}.flex-wrap\:nowrap{flex-wrap:nowrap}.grid{display:grid;grid-auto-columns:var(--grid-col-width, 1fr);grid-auto-rows:var(--grid-row-width, auto);gap:var(--gap)}.grid>*{margin:0}.grid-even-rows{--grid-row-width: 1fr}.grid-variable-cols{--grid-column-width: auto}[data-cols^="1 "]{grid-column-start:1}[data-cols$=" 1"]{grid-column-end:2}[data-cols="1"]{grid-column:1}[data-cols^="2 "]{grid-column-start:2}[data-cols$=" 2"]{grid-column-end:3}[data-cols="2"]{grid-column:2}[data-cols^="3 "]{grid-column-start:3}[data-cols$=" 3"]{grid-column-end:4}[data-cols="3"]{grid-column:3}[data-cols^="4 "]{grid-column-start:4}[data-cols$=" 4"]{grid-column-end:5}[data-cols="4"]{grid-column:4}[data-cols^="5 "]{grid-column-start:5}[data-cols$=" 5"]{grid-column-end:6}[data-cols="5"]{grid-column:5}[data-cols^="6 "]{grid-column-start:6}[data-cols$=" 6"]{grid-column-end:7}[data-cols="6"]{grid-column:6}[data-cols^="7 "]{grid-column-start:7}[data-cols$=" 7"]{grid-column-end:8}[data-cols="7"]{grid-column:7}[data-cols^="8 "]{grid-column-start:8}[data-cols$=" 8"]{grid-column-end:9}[data-cols="8"]{grid-column:8}[data-cols^="9 "]{grid-column-start:9}[data-cols$=" 9"]{grid-column-end:10}[data-cols="9"]{grid-column:9}[data-cols^="10 "]{grid-column-start:10}[data-cols$=" 10"]{grid-column-end:11}[data-cols="10"]{grid-column:10}[data-cols^="11 "]{grid-column-start:11}[data-cols$=" 11"]{grid-column-end:12}[data-cols="11"]{grid-column:11}[data-cols^="12 "]{grid-column-start:12}[data-cols$=" 12"]{grid-column-end:13}[data-cols="12"]{grid-column:12}[data-rows^="1 "]{grid-row-start:1}[data-rows$=" 1"]{grid-row-end:2}[data-rows="1"]{grid-row:1}[data-rows^="2 "]{grid-row-start:2}[data-rows$=" 2"]{grid-row-end:3}[data-rows="2"]{grid-row:2}[data-rows^="3 "]{grid-row-start:3}[data-rows$=" 3"]{grid-row-end:4}[data-rows="3"]{grid-row:3}[data-rows^="4 "]{grid-row-start:4}[data-rows$=" 4"]{grid-row-end:5}[data-rows="4"]{grid-row:4}[data-rows^="5 "]{grid-row-start:5}[data-rows$=" 5"]{grid-row-end:6}[data-rows="5"]{grid-row:5}[data-rows^="6 "]{grid-row-start:6}[data-rows$=" 6"]{grid-row-end:7}[data-rows="6"]{grid-row:6}[data-rows^="7 "]{grid-row-start:7}[data-rows$=" 7"]{grid-row-end:8}[data-rows="7"]{grid-row:7}[data-rows^="8 "]{grid-row-start:8}[data-rows$=" 8"]{grid-row-end:9}[data-rows="8"]{grid-row:8}[data-rows^="9 "]{grid-row-start:9}[data-rows$=" 9"]{grid-row-end:10}[data-rows="9"]{grid-row:9}[data-rows^="10 "]{grid-row-start:10}[data-rows$=" 10"]{grid-row-end:11}[data-rows="10"]{grid-row:10}[data-rows^="11 "]{grid-row-start:11}[data-rows$=" 11"]{grid-row-end:12}[data-rows="11"]{grid-row:11}[data-rows^="12 "]{grid-row-start:12}[data-rows$=" 12"]{grid-row-end:13}[data-rows="12"]{grid-row:12}@media (max-width:768px){[data-cols\@s^="1 "]{grid-column-start:1}[data-cols\@s$=" 1"]{grid-column-end:2}[data-cols\@s="1"]{grid-column:1}[data-cols\@s^="2 "]{grid-column-start:2}[data-cols\@s$=" 2"]{grid-column-end:3}[data-cols\@s="2"]{grid-column:2}[data-cols\@s^="3 "]{grid-column-start:3}[data-cols\@s$=" 3"]{grid-column-end:4}[data-cols\@s="3"]{grid-column:3}[data-cols\@s^="4 "]{grid-column-start:4}[data-cols\@s$=" 4"]{grid-column-end:5}[data-cols\@s="4"]{grid-column:4}[data-cols\@s^="5 "]{grid-column-start:5}[data-cols\@s$=" 5"]{grid-column-end:6}[data-cols\@s="5"]{grid-column:5}[data-cols\@s^="6 "]{grid-column-start:6}[data-cols\@s$=" 6"]{grid-column-end:7}[data-cols\@s="6"]{grid-column:6}[data-cols\@s^="7 "]{grid-column-start:7}[data-cols\@s$=" 7"]{grid-column-end:8}[data-cols\@s="7"]{grid-column:7}[data-cols\@s^="8 "]{grid-column-start:8}[data-cols\@s$=" 8"]{grid-column-end:9}[data-cols\@s="8"]{grid-column:8}[data-cols\@s^="9 "]{grid-column-start:9}[data-cols\@s$=" 9"]{grid-column-end:10}[data-cols\@s="9"]{grid-column:9}[data-cols\@s^="10 "]{grid-column-start:10}[data-cols\@s$=" 10"]{grid-column-end:11}[data-cols\@s="10"]{grid-column:10}[data-cols\@s^="11 "]{grid-column-start:11}[data-cols\@s$=" 11"]{grid-column-end:12}[data-cols\@s="11"]{grid-column:11}[data-cols\@s^="12 "]{grid-column-start:12}[data-cols\@s$=" 12"]{grid-column-end:13}[data-cols\@s="12"]{grid-column:12}[data-rows\@s^="1 "]{grid-row-start:1}[data-rows\@s$=" 1"]{grid-row-end:2}[data-rows\@s="1"]{grid-row:1}[data-rows\@s^="2 "]{grid-row-start:2}[data-rows\@s$=" 2"]{grid-row-end:3}[data-rows\@s="2"]{grid-row:2}[data-rows\@s^="3 "]{grid-row-start:3}[data-rows\@s$=" 3"]{grid-row-end:4}[data-rows\@s="3"]{grid-row:3}[data-rows\@s^="4 "]{grid-row-start:4}[data-rows\@s$=" 4"]{grid-row-end:5}[data-rows\@s="4"]{grid-row:4}[data-rows\@s^="5 "]{grid-row-start:5}[data-rows\@s$=" 5"]{grid-row-end:6}[data-rows\@s="5"]{grid-row:5}[data-rows\@s^="6 "]{grid-row-start:6}[data-rows\@s$=" 6"]{grid-row-end:7}[data-rows\@s="6"]{grid-row:6}[data-rows\@s^="7 "]{grid-row-start:7}[data-rows\@s$=" 7"]{grid-row-end:8}[data-rows\@s="7"]{grid-row:7}[data-rows\@s^="8 "]{grid-row-start:8}[data-rows\@s$=" 8"]{grid-row-end:9}[data-rows\@s="8"]{grid-row:8}[data-rows\@s^="9 "]{grid-row-start:9}[data-rows\@s$=" 9"]{grid-row-end:10}[data-rows\@s="9"]{grid-row:9}[data-rows\@s^="10 "]{grid-row-start:10}[data-rows\@s$=" 10"]{grid-row-end:11}[data-rows\@s="10"]{grid-row:10}[data-rows\@s^="11 "]{grid-row-start:11}[data-rows\@s$=" 11"]{grid-row-end:12}[data-rows\@s="11"]{grid-row:11}[data-rows\@s^="12 "]{grid-row-start:12}[data-rows\@s$=" 12"]{grid-row-end:13}[data-rows\@s="12"]{grid-row:12}}@media (min-width:1024px){[data-cols\@l^="1 "]{grid-column-start:1}[data-cols\@l$=" 1"]{grid-column-end:2}[data-cols\@l="1"]{grid-column:1}[data-cols\@l^="2 "]{grid-column-start:2}[data-cols\@l$=" 2"]{grid-column-end:3}[data-cols\@l="2"]{grid-column:2}[data-cols\@l^="3 "]{grid-column-start:3}[data-cols\@l$=" 3"]{grid-column-end:4}[data-cols\@l="3"]{grid-column:3}[data-cols\@l^="4 "]{grid-column-start:4}[data-cols\@l$=" 4"]{grid-column-end:5}[data-cols\@l="4"]{grid-column:4}[data-cols\@l^="5 "]{grid-column-start:5}[data-cols\@l$=" 5"]{grid-column-end:6}[data-cols\@l="5"]{grid-column:5}[data-cols\@l^="6 "]{grid-column-start:6}[data-cols\@l$=" 6"]{grid-column-end:7}[data-cols\@l="6"]{grid-column:6}[data-cols\@l^="7 "]{grid-column-start:7}[data-cols\@l$=" 7"]{grid-column-end:8}[data-cols\@l="7"]{grid-column:7}[data-cols\@l^="8 "]{grid-column-start:8}[data-cols\@l$=" 8"]{grid-column-end:9}[data-cols\@l="8"]{grid-column:8}[data-cols\@l^="9 "]{grid-column-start:9}[data-cols\@l$=" 9"]{grid-column-end:10}[data-cols\@l="9"]{grid-column:9}[data-cols\@l^="10 "]{grid-column-start:10}[data-cols\@l$=" 10"]{grid-column-end:11}[data-cols\@l="10"]{grid-column:10}[data-cols\@l^="11 "]{grid-column-start:11}[data-cols\@l$=" 11"]{grid-column-end:12}[data-cols\@l="11"]{grid-column:11}[data-cols\@l^="12 "]{grid-column-start:12}[data-cols\@l$=" 12"]{grid-column-end:13}[data-cols\@l="12"]{grid-column:12}[data-rows\@l^="1 "]{grid-row-start:1}[data-rows\@l$=" 1"]{grid-row-end:2}[data-rows\@l="1"]{grid-row:1}[data-rows\@l^="2 "]{grid-row-start:2}[data-rows\@l$=" 2"]{grid-row-end:3}[data-rows\@l="2"]{grid-row:2}[data-rows\@l^="3 "]{grid-row-start:3}[data-rows\@l$=" 3"]{grid-row-end:4}[data-rows\@l="3"]{grid-row:3}[data-rows\@l^="4 "]{grid-row-start:4}[data-rows\@l$=" 4"]{grid-row-end:5}[data-rows\@l="4"]{grid-row:4}[data-rows\@l^="5 "]{grid-row-start:5}[data-rows\@l$=" 5"]{grid-row-end:6}[data-rows\@l="5"]{grid-row:5}[data-rows\@l^="6 "]{grid-row-start:6}[data-rows\@l$=" 6"]{grid-row-end:7}[data-rows\@l="6"]{grid-row:6}[data-rows\@l^="7 "]{grid-row-start:7}[data-rows\@l$=" 7"]{grid-row-end:8}[data-rows\@l="7"]{grid-row:7}[data-rows\@l^="8 "]{grid-row-start:8}[data-rows\@l$=" 8"]{grid-row-end:9}[data-rows\@l="8"]{grid-row:8}[data-rows\@l^="9 "]{grid-row-start:9}[data-rows\@l$=" 9"]{grid-row-end:10}[data-rows\@l="9"]{grid-row:9}[data-rows\@l^="10 "]{grid-row-start:10}[data-rows\@l$=" 10"]{grid-row-end:11}[data-rows\@l="10"]{grid-row:10}[data-rows\@l^="11 "]{grid-row-start:11}[data-rows\@l$=" 11"]{grid-row-end:12}[data-rows\@l="11"]{grid-row:11}[data-rows\@l^="12 "]{grid-row-start:12}[data-rows\@l$=" 12"]{grid-row-end:13}[data-rows\@l="12"]{grid-row:12}} \ No newline at end of file
diff --git a/www/releases/_artifacts/v1.0.1/missing-js/19.js b/www/releases/_artifacts/v1.0.1/missing-js/19.js
deleted file mode 100644
index 2b9acc7..0000000
--- a/www/releases/_artifacts/v1.0.1/missing-js/19.js
+++ /dev/null
@@ -1 +0,0 @@
-function T(e){return(...t)=>(console.log("%c%s","color:green",e,...t),t.at(-1))}const h=T("19.js");function E(e){return e.replace(/[A-Z]/g,t=>"-"+t.toLowerCase())}function f(e,t,n,r,i={}){const{wrap:s=!0}=i,u=e+"ElementSibling",a=e==="next"?(l,p)=>d(l,p):(l,p)=>g(l,p).at(-1);if(!r)return s?a(t,n):null;let o=r;for(;;){for(;o[u]===null;)if(o=o.parentElement,o===t)return s?a(t,n):null;o=o[u];const l=o.matches(n)?o:d(o,n);if(l)return l}}function d(e,t){return e.querySelector(t)}function g(e,t){return Array.from(e.querySelectorAll(t))}function L(e,t,n,r={}){const i=s=>(r.addedBy&&!r.addedBy.isConnected&&v({target:e,type:t,listener:i,options:r}),n(s));return e.addEventListener(t,i,r),{target:e,type:t,options:r,listener:i}}function v({target:e,type:t,listener:n,options:r}){return e.removeEventListener(t,n,r)}function y(e,t){for(const n of e.split(" "))n==="default"&&t.preventDefault(),n==="bubbling"&&t.stopPropagation(),n==="propagation"&&t.stopImmediatePropagation()}function A(e,t){return n=>{y(e,n),t(n)}}function w(e,t,n){return e.dispatchEvent(new CustomEvent(t,{detail:n}))}function N(e,t,n=void 0){if(typeof t=="object"){for(const i in t)e.setAttribute(E(i),t[i]);return null}const r=e.getAttribute(t);return n===void 0?e.getAttribute(t):n===null?(e.removeAttribute(t),r):(e.setAttribute(t,n),n)}function x(e){const t=document.createElement("div");return t.append(e),t.innerHTML}function b(e){return e==null?"":e instanceof Node?x(e):String(e).replaceAll("&","&amp;").replaceAll("<","&lt;").replaceAll(">","&gt;").replaceAll("'","&#x27;").replaceAll('"',"&quot;")}function k(e,...t){const n=document.createElement("template");return typeof e=="object"&&"raw"in e&&(e=String.raw(e,...t.map(b))),n.innerHTML=e,n.content}function O(e){return e instanceof HTMLElement?e:null}function P(e,t,n,r={}){return f("next",e,t,n,r)}function S(e,t,n,r={}){return f("previous",e,t,n,r)}function B(e){const s={},u=o=>~~(o.altKey&&1)|~~(o.ctrlKey&&2)|~~(o.metaKey&&4)|~~(o.shiftKey&&8),a=o=>{const l=o.split("+"),p=l.pop();let c=0;for(const m in l)switch(m.toLowerCase()){case"alt":c|=1;break;case"ctrl":c|=2;break;case"meta":c|=4;break;case"shift":c|=8;break}return[p,c]};for(const[o,l]of Object.entries(e)){const[p,c]=a(o);(s[p]??(s[p]=new Array(8)))[c]=l}return o=>s[o.key]?.[u(o)]?.(o)}function C(e,t,{mode:n="trailing"}={}){let r=null;return(...i)=>{r?clearTimeout(r):n==="leading"&&t(...i),r=setTimeout(()=>{n==="trailing"&&t(...i),r=null},e)}}function D(e,t){const n=new WeakSet;return(r=document,i={})=>{const s=r.getRootNode();g(r,e).forEach(u=>{n.has(u)||(n.add(u),t(u,{options:i,root:s}))})}}function K(e,t){return n=>{let r=null;const i=(...a)=>{const o=r;r=a.at(-1),r instanceof DocumentFragment&&(r=r.lastChild),o?o.after(...a):e.prepend(...a)},s=a=>{if(a)for(;a.nextSibling;)a.nextSibling.remove();else e.replaceChildren()},u=e.getRootNode();for(const a of n){const o=t.idOf(a),l=u.getElementById(o);i(l?t.update?.(l,a)??l:t.create(a,{id:o}))}s(r)}}export{d as $,g as $$,O as asHtml,N as attr,D as behavior,C as debounce,w as dispatch,y as halt,A as halts,B as hotkey,k as html,b as htmlescape,T as makelogger,P as next,v as off,L as on,S as prev,K as repeater,x as stringifyNode,f as traverse};
diff --git a/www/releases/_artifacts/v1.0.1/missing-js/menu.js b/www/releases/_artifacts/v1.0.1/missing-js/menu.js
deleted file mode 100644
index f652774..0000000
--- a/www/releases/_artifacts/v1.0.1/missing-js/menu.js
+++ /dev/null
@@ -1 +0,0 @@
-import{$ as m,$$ as h,on as o,dispatch as c,halts as g,attr as i,next as E,prev as _,asHtml as a,hotkey as w,behavior as f,makelogger as k}from"./19.js";const l=k("menu"),x="[role=menu]",s="[role=menuitem]",p=e=>h(e,s),y=(e,{root:r})=>{const t=i(e,"aria-controls");return t===null?null:r.getElementById(t)},u=e=>m(e,s),v=e=>p(e).at(-1)??null,d=e=>!e.hidden,B=f(x,(e,{root:r})=>{if(!(e instanceof HTMLElement))return;let t;p(e).forEach(n=>n.setAttribute("tabindex","-1")),o(e,"menu:open",n=>{t=n.detail?.opener,t||l("Warning: Menu",e,"opened without passing an `opener` element"),e.hidden=!1,u(e)?.focus()}),o(e,"menu:close",n=>{l("menu:close",e.hidden=!0),t?.focus()}),o(e,"focusout",n=>{!d(e)||e.contains(n.relatedTarget)||t!==n.relatedTarget&&c(e,"menu:close")}),o(e,"keydown",g("default",w({ArrowUp:n=>a(_(e,s,r.activeElement,{}))?.focus(),ArrowDown:n=>a(E(e,s,r.activeElement,{}))?.focus(),Space:n=>a(r.activeElement?.closest(s))?.click(),Home:n=>u(e)?.focus(),End:n=>v(e)?.focus(),Escape:n=>c(e,"menu:close")}))),o(window,"click",n=>{!d(e)||t!==n.target&&c(e,"menu:close")},{addedBy:e})}),M=f("[aria-haspopup=menu]",(e,{root:r})=>{const t=y(e,{root:r});if(t===null)return l("Error: Menu button",e,"has no menu.");o(t,"menu:close",n=>i(e,"aria-expanded","false"),{addedBy:e}),o(t,"menu:open",n=>i(e,"aria-expanded","true"),{addedBy:e}),o(e,"click",()=>c(t,d(t)?"menu:close":"menu:open",{opener:e}))});B(document);M(document);export{B as menu,M as menuButton};
diff --git a/www/releases/_artifacts/v1.0.1/missing-js/overflow-nav.js b/www/releases/_artifacts/v1.0.1/missing-js/overflow-nav.js
deleted file mode 100644
index a8a7bf8..0000000
--- a/www/releases/_artifacts/v1.0.1/missing-js/overflow-nav.js
+++ /dev/null
@@ -1 +0,0 @@
-import{$ as f,asHtml as g,attr as d,behavior as p,makelogger as m,on as l}from"./19.js";const w=m("overflow-nav"),a=p("[data-overflow-nav]",(t,{options:{expandedClass:o="expanded"}})=>{const e=g(f(t,"[data-nav-expander]"));if(e===null)return w("Expand toggle missing from navbar ",t);const c=()=>t.scrollWidth>t.clientWidth,r=()=>t.classList.contains(o),n=(s=!r())=>{s?(t.classList.add(o),d(e,"aria-pressed",!0),e.textContent="\xD7"):(t.classList.remove(o),d(e,"aria-pressed",!1),e.textContent="\u2630")},i=()=>{const s=e.hidden;e.hidden=!c(),s!=e.hidden&&n(!1)};l(e,"click",()=>n()),i(),l(window,"resize",()=>i(),{addedBy:t})});var h=a;a(document);export{h as default};
diff --git a/www/releases/_artifacts/v1.0.1/missing-js/tabs.js b/www/releases/_artifacts/v1.0.1/missing-js/tabs.js
deleted file mode 100644
index 8b71759..0000000
--- a/www/releases/_artifacts/v1.0.1/missing-js/tabs.js
+++ /dev/null
@@ -1 +0,0 @@
-import{$ as h,$$ as m,on as t,attr as s,next as p,prev as x,asHtml as r,hotkey as b,behavior as k,makelogger as w}from"./19.js";const E=w("tabs"),c=e=>m(e,"[role=tab]"),u=e=>h(e,"[role=tab][aria-selected=true]"),i=(e,n)=>{const o=s(e,"aria-controls");return o===null?(E("Tab",e,"has no associated tabpanel"),null):n.getElementById(o)},f=(e,n,o)=>{if(!o)return;const a=u(n);if(a){s(a,{ariaSelected:!1,tabindex:-1});const l=i(a,e);l&&(l.hidden=!0)}s(o,{ariaSelected:!0,tabindex:0});const d=i(o,e);d&&(d.hidden=!1),o.focus()},g=k("[role=tablist]",(e,{root:n})=>{e instanceof HTMLElement&&(e.tabIndex=0,c(e).forEach(o=>o.tabIndex=-1),f(n,e,u(e)),t(e,"focus",o=>u(e)?.focus()),t(e,"click",o=>f(n,e,r(r(o.target)?.closest("[role=tab]")))),t(e,"focusin",o=>f(n,e,r(r(o.target)?.closest("[role=tab]")))),t(e,"keydown",b({ArrowRight:o=>r(p(e,"[role=tab]",r(o.target)))?.focus(),ArrowLeft:o=>r(x(e,"[role=tab]",r(o.target)))?.focus(),Home:o=>c(e).at(0)?.focus(),End:o=>c(e).at(-1)?.focus()})))});g(document);var y=g;export{y as default,g as tablist};
diff --git a/www/releases/_artifacts/v1.0.1/missing-prism.css b/www/releases/_artifacts/v1.0.1/missing-prism.css
deleted file mode 100644
index 23e48b5..0000000
--- a/www/releases/_artifacts/v1.0.1/missing-prism.css
+++ /dev/null
@@ -1,62 +0,0 @@
-
-.token.comment,
-.token.prolog,
-.token.doctype,
-.token.cdata,
-.token.punctuation {
- color: var(--muted-fg);
-}
-
-.token.property,
-.token.tag,
-.token.boolean,
-.token.number,
-.token.constant,
-.token.symbol,
-.token.deleted {
- color: var(--bad-fg);
-}
-
-.token.selector,
-.token.attr-name,
-.token.string,
-.token.char,
-.token.builtin,
-.token.inserted {
- color: var(--ok-fg);
-}
-
-.token.operator,
-.token.entity,
-.token.url,
-.language-css .token.string,
-.style .token.string,
-.token.regex,
-.token.important,
-.token.variable {
- color: var(--warn-fg)
-}
-
-.token.atrule,
-.token.attr-value,
-.token.keyword {
- color: var(--info-fg);
-}
-
-.token.function {
- color: var(--bad-fg);
- font-style: italic;
-}
-
-.token.important,
-.token.bold {
- font-weight: bold;
-}
-
-.token.italic {
- font-style: italic;
-}
-
-.token.entity {
- cursor: help;
-}
diff --git a/www/releases/_artifacts/v1.0.1/missing-prism.min.css b/www/releases/_artifacts/v1.0.1/missing-prism.min.css
deleted file mode 100644
index 41c91b1..0000000
--- a/www/releases/_artifacts/v1.0.1/missing-prism.min.css
+++ /dev/null
@@ -1 +0,0 @@
-.token.cdata,.token.comment,.token.doctype,.token.prolog,.token.punctuation{color:var(--muted-fg)}.token.boolean,.token.constant,.token.deleted,.token.number,.token.property,.token.symbol,.token.tag{color:var(--bad-fg)}.token.attr-name,.token.builtin,.token.char,.token.inserted,.token.selector,.token.string{color:var(--ok-fg)}.language-css .token.string,.style .token.string,.token.entity,.token.important,.token.operator,.token.regex,.token.url,.token.variable{color:var(--warn-fg)}.token.atrule,.token.attr-value,.token.keyword{color:var(--info-fg)}.token.function{color:var(--bad-fg);font-style:italic}.token.bold,.token.important{font-weight:700}.token.italic{font-style:italic}.token.entity{cursor:help} \ No newline at end of file
diff --git a/www/releases/_artifacts/v1.0.1/missing.css b/www/releases/_artifacts/v1.0.1/missing.css
deleted file mode 100644
index f7f1b5a..0000000
--- a/www/releases/_artifacts/v1.0.1/missing.css
+++ /dev/null
@@ -1,2339 +0,0 @@
-/* Document
- * ========================================================================== */
-
-/**
- * 1. Add border box sizing in all browsers (opinionated).
- * 2. Backgrounds do not repeat by default (opinionated).
- */
-
-*,
-::before,
-::after {
- box-sizing: border-box; /* 1 */
- background-repeat: no-repeat; /* 2 */
-}
-
-/**
- * 1. Add text decoration inheritance in all browsers (opinionated).
- * 2. Add vertical alignment inheritance in all browsers (opinionated).
- */
-
-::before,
-::after {
- text-decoration: inherit; /* 1 */
- vertical-align: inherit; /* 2 */
-}
-
-/**
- * 1. Use the default cursor in all browsers (opinionated).
- * 3. Breaks words to prevent overflow in all browsers (opinionated).
- * 5. Remove the grey highlight on links in iOS (opinionated).
- * 6. Prevent adjustments of font size after orientation changes in iOS.
- */
-
-:root {
- cursor: default; /* 1 */
- overflow-wrap: break-word; /* 3 */
- -webkit-tap-highlight-color: transparent; /* 5 */
- text-size-adjust: none;
- -webkit-text-size-adjust: none;
-}
-
-/* Text-level semantics
- * ========================================================================== */
-
-/**
- * Add the correct text decoration in Safari.
- */
-
-abbr[title] {
- text-decoration: underline;
- -webkit-text-decoration: underline dotted;
- text-decoration: underline dotted;
-}
-
-/**
- * Add the correct font weight in Chrome, Edge, and Safari.
- */
-
-strong, b {
- font-weight: bolder;
-}
-
-/**
- * Add the correct font size in all browsers.
- */
-
-small {
- font-size: 80%;
-}
-
-/* Embedded content
- * ========================================================================== */
-
-/*
- * Change the alignment on media elements in all browsers (opinionated).
- */
-
-audio, canvas, iframe, img, svg, video {
- vertical-align: middle;
-}
-
-/**
- * Change the fill color to match the text color in all browsers (opinionated).
- */
-
-svg:not([fill]) {
- fill: currentColor;
-}
-
-/* Tabular data
- * ========================================================================== */
-
-/**
- * 1. Collapse border spacing in all browsers (opinionated).
- * 2. Correct table border color in Chrome, Edge, and Safari.
- * 3. Remove text indentation from table contents in Chrome, Edge, and Safari.
- */
-
-table {
- border-collapse: collapse; /* 1 */
- border-color: currentColor; /* 2 */
- text-indent: 0; /* 3 */
-}
-
-/* Forms
- * ========================================================================== */
-
-/**
- * Remove the margin on controls in Safari.
- */
-
-button, input, select {
- margin: 0;
-}
-
-/**
- * Correct the inability to style buttons in iOS and Safari.
- */
-
-button, [type="button"], [type="reset"], [type="submit"] {
- -webkit-appearance: button;
-}
-
-/**
- * Change the inconsistent appearance in all browsers (opinionated).
- */
-
-fieldset {
- border: 1px solid #a0a0a0;
-}
-
-/**
- * Add the correct vertical alignment in Chrome, Edge, and Firefox.
- */
-
-progress {
- vertical-align: baseline;
-}
-
-/**
- * 1. Remove the margin in Firefox and Safari.
- */
-
-textarea {
- margin: 0; /* 1 */
-}
-
-/**
- * 1. Correct the odd appearance in Chrome, Edge, and Safari.
- * 2. Correct the outline style in Safari.
- */
-
-[type="search"] {
- -webkit-appearance: textfield; /* 1 */
- outline-offset: -2px; /* 2 */
-}
-
-/**
- * Correct the cursor style of increment and decrement buttons in Safari.
- */
-
-::-webkit-inner-spin-button,
-::-webkit-outer-spin-button {
- block-size: auto;
-}
-
-/**
- * Correct the text style of placeholders in Chrome, Edge, and Safari.
- */
-
-::-webkit-input-placeholder {
- color: inherit;
- opacity: 0.54;
-}
-
-/**
- * Remove the inner padding in Chrome, Edge, and Safari on macOS.
- */
-
-::-webkit-search-decoration {
- -webkit-appearance: none;
-}
-
-/**
- * 1. Correct the inability to style upload buttons in iOS and Safari.
- * 2. Change font properties to `inherit` in Safari.
- */
-
-::-webkit-file-upload-button {
- -webkit-appearance: button; /* 1 */
- font: inherit; /* 2 */
-}
-
-/* Interactive
- * ========================================================================== */
-
-[hidden] {
- display: none !important;
-}
-
-:focus-visible {
- outline: .2em solid var(--accent);
- z-index: 32;
-}
-
-iframe:focus-visible,
- html:focus-visible,
- body:focus-visible {
- outline: none;
- }
-
-:target {
- outline: .2em solid var(--fg);
- z-index: 2;
-}
-
-/*
- * Add the correct display in Safari.
- */
-
-details > summary:first-of-type {
- display: list-item;
-}
-
-/* Accessibility
- * ========================================================================== */
-
-/**
- * Change the cursor on busy elements in all browsers (opinionated).
- */
-
-[aria-busy="true"] {
- cursor: progress;
-}
-
-/*
- * Change the cursor on disabled, not-editable, or otherwise
- * inoperable elements in all browsers (opinionated).
- */
-
-[aria-disabled="true"], [disabled] {
- cursor: not-allowed;
-}
-
-datalist {
- display: none !important;
-}
-
-/* https://github.com/fchristant/colar/ */
-
-:root {
- --gray-0: #f8fafb;
- --gray-1: #f2f4f6;
- --gray-2: #ebedef;
- --gray-3: #e0e4e5;
- --gray-4: #d1d6d8;
- --gray-5: #b1b6b9;
- --gray-6: #979b9d;
- --gray-7: #7e8282;
- --gray-8: #666968;
- --gray-9: #50514f;
- --gray-10: #3a3a37;
- --gray-11: #252521;
- --gray-12: #121210;
-
- --red-0: #fff5f5;
- --red-1: #ffe3e3;
- --red-2: #ffc9c9;
- --red-3: #ffa8a8;
- --red-4: #ff8787;
- --red-5: #ff6b6b;
- --red-6: #fa5252;
- --red-7: #f03e3e;
- --red-8: #e03131;
- --red-9: #c92a2a;
- --red-10: #b02525;
- --red-11: #962020;
- --red-12: #7d1a1a;
-
- --pink-0: #fff0f6;
- --pink-1: #ffdeeb;
- --pink-2: #fcc2d7;
- --pink-3: #faa2c1;
- --pink-4: #f783ac;
- --pink-5: #f06595;
- --pink-6: #e64980;
- --pink-7: #d6336c;
- --pink-8: #c2255c;
- --pink-9: #a61e4d;
- --pink-10: #8c1941;
- --pink-11: #731536;
- --pink-12: #59102a;
-
- --purple-0: #f8f0fc;
- --purple-1: #f3d9fa;
- --purple-2: #eebefa;
- --purple-3: #e599f7;
- --purple-4: #da77f2;
- --purple-5: #cc5de8;
- --purple-6: #be4bdb;
- --purple-7: #ae3ec9;
- --purple-8: #9c36b5;
- --purple-9: #862e9c;
- --purple-10: #702682;
- --purple-11: #5a1e69;
- --purple-12: #44174f;
-
- --violet-0: #f3f0ff;
- --violet-1: #e5dbff;
- --violet-2: #d0bfff;
- --violet-3: #b197fc;
- --violet-4: #9775fa;
- --violet-5: #845ef7;
- --violet-6: #7950f2;
- --violet-7: #7048e8;
- --violet-8: #6741d9;
- --violet-9: #5f3dc4;
- --violet-10: #5235ab;
- --violet-11: #462d91;
- --violet-12: #3a2578;
-
- --indigo-0: #edf2ff;
- --indigo-1: #dbe4ff;
- --indigo-2: #bac8ff;
- --indigo-3: #91a7ff;
- --indigo-4: #748ffc;
- --indigo-5: #5c7cfa;
- --indigo-6: #4c6ef5;
- --indigo-7: #4263eb;
- --indigo-8: #3b5bdb;
- --indigo-9: #364fc7;
- --indigo-10: #2f44ad;
- --indigo-11: #283a94;
- --indigo-12: #21307a;
-
- --blue-0: #e7f5ff;
- --blue-1: #d0ebff;
- --blue-2: #a5d8ff;
- --blue-3: #74c0fc;
- --blue-4: #4dabf7;
- --blue-5: #339af0;
- --blue-6: #228be6;
- --blue-7: #1c7ed6;
- --blue-8: #1971c2;
- --blue-9: #1864ab;
- --blue-10: #145591;
- --blue-11: #114678;
- --blue-12: #0d375e;
-
- --cyan-0: #e3fafc;
- --cyan-1: #c5f6fa;
- --cyan-2: #99e9f2;
- --cyan-3: #66d9e8;
- --cyan-4: #3bc9db;
- --cyan-5: #22b8cf;
- --cyan-6: #15aabf;
- --cyan-7: #1098ad;
- --cyan-8: #0c8599;
- --cyan-9: #0b7285;
- --cyan-10: #095c6b;
- --cyan-11: #074652;
- --cyan-12: #053038;
-
- --teal-0: #e6fcf5;
- --teal-1: #c3fae8;
- --teal-2: #96f2d7;
- --teal-3: #63e6be;
- --teal-4: #38d9a9;
- --teal-5: #20c997;
- --teal-6: #12b886;
- --teal-7: #0ca678;
- --teal-8: #099268;
- --teal-9: #087f5b;
- --teal-10: #066649;
- --teal-11: #054d37;
- --teal-12: #033325;
-
- --green-0: #ebfbee;
- --green-1: #d3f9d8;
- --green-2: #b2f2bb;
- --green-3: #8ce99a;
- --green-4: #69db7c;
- --green-5: #51cf66;
- --green-6: #40c057;
- --green-7: #37b24d;
- --green-8: #2f9e44;
- --green-9: #2b8a3e;
- --green-10: #237032;
- --green-11: #1b5727;
- --green-12: #133d1b;
-
- --lime-0: #f4fce3;
- --lime-1: #e9fac8;
- --lime-2: #d8f5a2;
- --lime-3: #c0eb75;
- --lime-4: #a9e34b;
- --lime-5: #94d82d;
- --lime-6: #82c91e;
- --lime-7: #74b816;
- --lime-8: #66a80f;
- --lime-9: #5c940d;
- --lime-10: #4c7a0b;
- --lime-11: #3c6109;
- --lime-12: #2c4706;
-
- --yellow-0: #fff9db;
- --yellow-1: #fff3bf;
- --yellow-2: #ffec99;
- --yellow-3: #ffe066;
- --yellow-4: #ffd43b;
- --yellow-5: #fcc419;
- --yellow-6: #fab005;
- --yellow-7: #f59f00;
- --yellow-8: #f08c00;
- --yellow-9: #e67700;
- --yellow-10: #b35c00;
- --yellow-11: #804200;
- --yellow-12: #663500;
-
- --orange-0: #fff4e6;
- --orange-1: #ffe8cc;
- --orange-2: #ffd8a8;
- --orange-3: #ffc078;
- --orange-4: #ffa94d;
- --orange-5: #ff922b;
- --orange-6: #fd7e14;
- --orange-7: #f76707;
- --orange-8: #e8590c;
- --orange-9: #d9480f;
- --orange-10: #bf400d;
- --orange-11: #99330b;
- --orange-12: #802b09;
-
- --choco-0: #fff8dc;
- --choco-1: #fce1bc;
- --choco-2: #f7ca9e;
- --choco-3: #f1b280;
- --choco-4: #e99b62;
- --choco-5: #df8545;
- --choco-6: #d46e25;
- --choco-7: #bd5f1b;
- --choco-8: #a45117;
- --choco-9: #8a4513;
- --choco-10: #703a13;
- --choco-11: #572f12;
- --choco-12: #3d210d;
-
- --brown-0: #faf4eb;
- --brown-1: #ede0d1;
- --brown-2: #e0cab7;
- --brown-3: #d3b79e;
- --brown-4: #c5a285;
- --brown-5: #b78f6d;
- --brown-6: #a87c56;
- --brown-7: #956b47;
- --brown-8: #825b3a;
- --brown-9: #6f4b2d;
- --brown-10:#5e3a21;
- --brown-11:#4e2b15;
- --brown-12: #422412;
-
- --sand-0: #f8fafb;
- --sand-1: #e6e4dc;
- --sand-2: #d5cfbd;
- --sand-3: #c2b9a0;
- --sand-4: #aea58c;
- --sand-5: #9a9178;
- --sand-6: #867c65;
- --sand-7: #736a53;
- --sand-8: #5f5746;
- --sand-9: #4b4639;
- --sand-10:#38352d;
- --sand-11:#252521;
- --sand-12: #121210;
-
- --camo-0: #f9fbe7;
- --camo-1: #e8ed9c;
- --camo-2: #d2df4e;
- --camo-3: #c2ce34;
- --camo-4: #b5bb2e;
- --camo-5: #a7a827;
- --camo-6: #999621;
- --camo-7: #8c851c;
- --camo-8: #7e7416;
- --camo-9: #6d6414;
- --camo-10: #5d5411;
- --camo-11: #4d460e;
- --camo-12: #36300a;
-
- --jungle-0: #ecfeb0;
- --jungle-1: #def39a;
- --jungle-2: #d0e884;
- --jungle-3: #c2dd6e;
- --jungle-4: #b5d15b;
- --jungle-5: #a8c648;
- --jungle-6: #9bbb36;
- --jungle-7: #8fb024;
- --jungle-8: #84a513;
- --jungle-9: #7a9908;
- --jungle-10: #658006;
- --jungle-11: #516605;
- --jungle-12: #3d4d04;
-}
-
-/***
- 4.1 The document element
- https://html.spec.whatwg.org/multipage/semantics.html#the-root-element
-
- 4.3 Sections
- https://html.spec.whatwg.org/multipage/sections.html
- ***/
-
-html {
- font-family: var(--main-font);
- line-height: var(--rhythm);
-
- background: var(--bg);
- color: var(--fg);
- scroll-padding-block-start: calc(4 * var(--gap));
-}
-
-body {
- margin: 0;
-}
-
-header, footer, section + section {
- margin-block: calc(2 * var(--gap));
-}
-
-nav a {
- text-decoration: none;
- color: var(--accent);
- }
-
-/* SEE components/box.css */
-
-aside h1,
- aside h2,
- aside h3,
- aside h4,
- aside h5,
- aside h6 {
- font-size: 1em;
- text-transform: none;
- letter-spacing: none;
- }
-
-h1, h2, h3, h4, h5, h6,
-.\<h1\>, .\<h2\>, .\<h3\>, .\<h4\>, .\<h5\>, .\<h6\> {
- margin-block-end: var(--gap);
- font-family: var(--secondary-font);
- font-size: 1em;
- margin-block-start: calc(2 * var(--gap));
- position: relative;
-}
-
-h1, .\<h1\> {
- font-size: 2em;
- text-transform: none;
- line-height: calc(2 * var(--rhythm));
- letter-spacing: 0;
-}
-
-h2, .\<h2\> {
- font-size: 1.6em;
- text-transform: none;
- line-height: calc(1.5 * var(--rhythm));
- letter-spacing: 0;
-}
-
-h3, .\<h3\> {
- font-size: 1.17em;
- line-height: calc(1 * var(--rhythm));
-}
-
-h4, .\<h4\>, h5, .\<h5\>, h6, .\<h6\> {
- font-size: 1em;
- text-transform: none;
- line-height: calc(1 * var(--rhythm));
- letter-spacing: 0;
- margin-block-start: var(--gap);
-}
-
-h1 + h2,
-h2 + h3,
-h3 + h4,
-h4 + h5,
-h5 + h6,
-h1:first-child,
-h2:first-child,
-h3:first-child,
-h4:first-child,
-h5:first-child,
-h6:first-child {
- margin-block-start: var(--gap);
-}
-
-h1:target,
-h2:target,
-h3:target,
-h4:target,
-h5:target,
-h6:target {
- outline: none
-}
-
-h1:target::before, h2:target::before, h3:target::before, h4:target::before, h5:target::before, h6:target::before {
- content: "";
- display: block;
- position: absolute;
- left: -.5em;
- width: 4px;
- height: 100%;
- background: var(--accent);
- }
-
-header {
- font-family: var(--secondary-font);
- border-block-end: 1px solid var(--faded-fg);
-}
-
-footer {
- font-family: var(--secondary-font);
- border-block-start: 1px solid var(--faded-fg);
-}
-
-body > header,
-body > footer,
-main + footer {
- padding: var(--rhythm) calc((100% - var(--eff-line-length)) / 2)
-}
-
-address {
- --density: 0;
-}
-
-/***
- 4.4 Grouping content
- https://html.spec.whatwg.org/multipage/grouping-content.html
- ***/
-
-p {
- margin-block: var(--gap);
-}
-
-hr {
- color: inherit;
- margin-inline: 0;
- margin-block: var(--gap);
-
- flex: 0 1 0px;
- border-inline-start: 1px solid var(--accent);
- block-size: auto;
- border-block-start: 1px solid var(--accent);
- border-block-end: none;
- border-inline-end: none;
-}
-
-pre {
- font-family: var(--mono-font);
- font-size: .9em;
- line-height: var(--rhythm);
- -o-tab-size: 2;
- tab-size: 2;
-
- margin: var(--gap) 0;
-
- overflow-x: auto;
- scrollbar-width: thin;
- scrollbar-color: var(--accent) transparent;
-}
-
-blockquote {
- margin-inline: 0 var(--gap);
- padding-inline: var(--gap) 0;
- margin-block: var(--gap);
-
- font-size: 1.1em;
- line-height: var(--rhythm);
- font-style: italic;
-
- border-inline-start: 1px solid var(--faded-fg);
- color: var(--muted-fg)
-}
-
-blockquote em, blockquote cite, blockquote dfn, blockquote var, blockquote i, blockquote address {
- font-style: normal;
- }
-
-blockquote footer {
- text-align: right;
- text-align: end;
- }
-
-ul, ol {
- padding-inline-start: var(--rhythm)
-}
-
-ul ul, ul ol, ol ul, ol ol {
- padding-inline-start: var(--gap);
- }
-
-ul[role="list"], ol[role="list"], ul[role="listbox"], ol[role="listbox"] {
- padding-inline-start: 0;
- list-style: none;
- }
-
-ul {
-}
-
-ol {
- list-style: decimal;
-}
-
-dl {
- margin-block: var(--gap);
-}
-
-dt {
- font-weight: bold;
- }
-
-dd {
- margin-inline-start: var(--rhythm);
- }
-
-li::marker {
- font-family: var(--secondary-font);
-}
-
-figure {
- max-width: 100%;
- margin-inline: 0;
-
- /* SEE components/box.css */
-}
-
-figcaption {
- margin-block: var(--gap);
-
- font-family: var(--secondary-font);
-
- color: var(--muted-fg);
-}
-
-main {
- max-inline-size: var(--eff-line-length);
- inline-size: 100%;
- margin-inline: auto
-}
-
-main:first-child { padding-top: var(--gap); }
-
-/***
- 4.5 Text-level semantics
- https://html.spec.whatwg.org/multipage/text-level-semantics.html
-
- 4.7 Edits
- https://html.spec.whatwg.org/multipage/edits.html
- ***/
-
-/* Text-level semantics */
-
-a {
- color: var(--link-fg, var(--accent));
- font-family: var(--secondary-font);
- border-radius: var(--border-radius);
- outline-offset: 1px
-}
-
-.list-of-links a {
- text-decoration: none
-}
-
-a:hover, a:focus {
- text-decoration: none;
- outline: 1px solid;
- transition: outline-offset .1s ease-in-out;
- }
-
-a:active {
- outline-offset: 0;
- }
-
-span > small:only-child {
- /***
- Sidenote
- ***/
- display: block;
- float: inline-end;
- clear: inline-end;
-
- --sidenote-width: 20ch;
-
- max-inline-size: var(--sidenote-width);
- padding-inline: 1.5ch 1ch;
-
- margin-inline-end: calc(1em - var(--sidenote-width));
- margin-block-end: var(--rhythm);
-
- font-family: var(--secondary-font);
-
- background: var(--bg);
- border: 1px solid transparent;
-
- transition: transform .1s ease-in-out
-}
-
-span > small:only-child:hover, span > small:only-child:focus-within {
- border: 1px solid var(--faded-fg);
- border-radius: var(--border-radius);
- transform: translateX(calc(
- 0px - var(--sidenote-width)
- + min(var(--gutter-width), var(--sidenote-width))
- ))
- }
-
-s {
- color: var(--bad-fg);
-}
-
-q {
- font-style: italic
-}
-
-q em, q cite, q dfn, q var, q i, q address {
- font-style: normal;
- }
-
-time {
- font-variant-numeric: tabular-nums;
-}
-
-code, samp, kbd {
- font-family: var(--mono-font);
-}
-
-samp {
- color: var(--ok-fg);
-}
-
-kbd kbd /*
- We apply the key-like styling to a nested kbd element, a pattern shown in
- WHATWG HTML for marking up keyboard input:
-
- > Here the kbd element is used to indicate keys to press:
- > ~~~ html
- > <p>To make George eat an apple, press <kbd><kbd>Shift</kbd> + <kbd>F3</kbd></kbd></p>
- > ~~~
-
- The plain kbd element can also be used for clicking menus (<kbd>File |
- New...</kbd>) or voice input (<kbd>Hey Siri, </kbd>)
-*/ {
- display: inline-block;
-
- padding: 0 .3em;
- font-size: .8em;
- line-height: 1.1em;
-
- background: var(--interactive-bg);
- border: 1px outset var(--faded-fg);
- border-block-end-width: 3px;
- border-radius: var(--border-radius);
-}
-
-sub {
- vertical-align: bottom;
- line-height: 1;
-}
-
-sup {
- vertical-align: top;
- line-height: 1;
-}
-
-mark {
- background: var(--warn-bg);
- color: var(--warn-fg);
-}
-
-/* Edits */
-
-ins {
- background: var(--ok-bg);
- color: var(--ok-fg);
-}
-
-del {
- background: var(--bad-bg);
- color: var(--bad-fg);
-}
-
-/***
- 4.8 Embedded content
- https://html.spec.whatwg.org/multipage/embedded-content.html
- ***/
-
-img, video, audio, iframe, object, embed {
- max-inline-size: 100%;
- inline-size: max-content;
- block-size: auto;
-}
-
-/***
- 4.9 Tabular data
- https://html.spec.whatwg.org/multipage/tables.html
- ***/
-
-table {
- font-variant-numeric: tabular-nums;
- font: inherit;
-}
-
-caption {
- text-align: start;
- font-family: var(--secondary-font);
- font-style: italic;
-}
-
-tbody {
- border-block: 1px solid var(--fg);
-}
-
-thead {
-}
-
-tfoot {
-}
-
-tr {
-
-}
-
-td, th {
- vertical-align: top
-}
-
-td:not(:last-child), th:not(:last-child) {
- padding-inline-end: var(--rhythm);
- }
-
-td {
- }
-
-th {
- font-family: var(--secondary-font);
- text-align: start;
- }
-
-/***
- 4.10 Forms
- https://html.spec.whatwg.org/multipage/forms.html
- ***/
-
-input { display: block; }
-
-label input:not([specificity-hack]) { display: inline; padding-block: 0; }
-
-button,
-input[type="submit"],
-input[type="reset"],
-input[type="button"],
-input::file-selector-button,
-.\<button\> {
- display: inline-block;
- padding: 0 calc(var(--rhythm) / 4);
- vertical-align: top;
-
- font-size: .8rem;
- line-height: 1.125em;
- font-family: var(--secondary-font);
- min-height: var(--rhythm);
-
- background: var(--interactive-bg);
- color: var(--fg);
- border: 1px solid var(--muted-fg);
- box-sizing: border-box;
- border-radius: var(--border-radius);
-
- /* a-specific resets */
- color: var(--fg);
- text-decoration: none;
- display: inline-flex;
- place-items: center
-}
-
-:is(button,input[type="submit"],input[type="reset"],input[type="button"],input::file-selector-button,.\<button\>):hover, :is(button,input[type="submit"],input[type="reset"],input[type="button"],input::file-selector-button,.\<button\>):focus-visible {
- filter: brightness(1.1);
-
- /* a-specific resets */
- text-decoration: none;
- }
-
-:is(button,input[type="submit"],input[type="reset"],input[type="button"],input::file-selector-button,.\<button\>):active {
- filter: brightness(.8);
- }
-
-[aria-pressed="true"]:is(button,input[type="submit"],input[type="reset"],input[type="button"],input::file-selector-button,.\<button\>), [aria-expanded="true"]:is(button,input[type="submit"],input[type="reset"],input[type="button"],input::file-selector-button,.\<button\>) {
- box-shadow: 0 .05em var(--accent);
- transform: translateY(.05em);
- background: var(--pressed-interactive-bg);
- }
-
-[disabled]:is(button,input[type="submit"],input[type="reset"],input[type="button"],input::file-selector-button,.\<button\>) {
- color: var(--muted-fg);
- }
-
-strong > :is(button,input[type="submit"],input[type="reset"],input[type="button"],input::file-selector-button,.\<button\>) {
- background: var(--accent);
- color: var(--bg);
- border: none;
- font-weight: bold
-}
-
-strong > [disabled]:is(button,input[type="submit"],input[type="reset"],input[type="button"],input::file-selector-button,.\<button\>) {
- color: var(--muted-accent);
- }
-
-input:not([type]),
-input[type="text"],
-input[type="search"],
-input[type="tel"],
-input[type="url"],
-input[type="email"],
-input[type="password"],
-input[type="date"],
-input[type="month"],
-input[type="week"],
-input[type="time"],
-input[type="datetime"],
-input[type="datetime-local"],
-input[type="number"],
-select,
-textarea {
- padding: calc(var(--rhythm) / 4);
- vertical-align: top;
-
- font-size: 1rem;
- line-height: inherit;
- font-family: var(--main-font);
-
- background: var(--bg);
- color: var(--fg);
- border: 1px solid var(--faded-fg);
- border-radius: var(--border-radius);
-
- vertical-align: top
-}
-
-:is(input:not([type]),input[type="text"],input[type="search"],input[type="tel"],input[type="url"],input[type="email"],input[type="password"],input[type="date"],input[type="month"],input[type="week"],input[type="time"],input[type="datetime"],input[type="datetime-local"],input[type="number"],select,textarea):focus-visible {
- border: 1px solid var(--accent);
- }
-
-:is(input:not([type]),input[type="text"],input[type="search"],input[type="tel"],input[type="url"],input[type="email"],input[type="password"],input[type="date"],input[type="month"],input[type="week"],input[type="time"],input[type="datetime"],input[type="datetime-local"],input[type="number"],select,textarea)::placeholder {
- color: var(--muted-fg);
- opacity: 1;
- text-align: end;
- }
-
-input[type="range"] {
- width: 100%;
- padding: calc(var(--gap) / 4);
-}
-
-input[type="color"] {
- padding: 0;
- margin: 0;
- height: calc(1.5 * var(--rhythm));
-
- border: none;
- background: none;
-}
-
-input[type="file"] {
- padding: calc(var(--gap) / 4) 0;
- font: inherit;
- line-height: calc(var(--rhythm) / 2)
-}
-
-input[type="file"]::file-selector-button {
- margin-block: .1em 0;
- margin-inline-end: 1ch;
- }
-
-select[multiple] {
- vertical-align: top;
-}
-
-optgroup::before {
- color: var(--muted-fg);
- font-style: normal;
-}
-
-progress {
- /* TODO */
-}
-
-meter {
- /* TODO */
-}
-
-label[for] {
- display: block;
- padding-block: calc(var(--gap) / 4);
-}
-
-fieldset {
- position: relative;
-
- padding: var(--gap);
- margin: var(--gap) 0;
- width: 100%;
- border-radius: var(--border-radius);
-}
-
-fieldset > legend + * { margin-block-start: 0 }
-
-fieldset {
-
- border: 1px solid var(--faded-fg);
-}
-
-/***
- 4.11 Interactive elements
- https://html.spec.whatwg.org/multipage/interactive-elements.html#interactive-elements
- ***/
-
-details:not(specificity-hack) {
- /* SEE components/box.css */
-
- padding-block-start: 0
-}
-
-details:not(specificity-hack):not([open]) { padding-block-end: 0; }
-
-summary {
- margin: calc(0px - var(--gap));
- margin-top: calc(0px - var(--gap));
- margin-bottom: 0;
- padding-inline: var(--gap);
-
- font-family: var(--secondary-font);
- font-weight: bold;
-
- background: var(--accent);
- color: var(--bg);
-
- cursor: pointer
-}
-
-summary:focus-visible, summary:active {
- filter: brightness(.8);
- }
-
-details[open] summary {
- border-block-end: 1px solid var(--accent);
- border-end-end-radius: 0;
- border-end-start-radius: 0
-}
-
-dialog {
- /* SEE components/box.css */
-
- inline-inset: 0;
-
- block-size: -moz-fit-content;
-
- block-size: fit-content;
- inline-size: -moz-fit-content;
- inline-size: fit-content;
-
- margin: auto !important;
-
- background-color: var(--bg);
- color: var(--fg);
- border-color: var(--accent);
-}
-
-dialog[open]::backdrop {
- display: block;
- background: black;
- opacity: .4;
- animation: bg 2s;
-}
-
-@keyframes bg {
- from { background: transparent; }
-}
-
-dialog:not([open]) {
- display: none;
-}
-
-.box,
-/* defined elsewhere */
-[role=menu],
-.sidebar-layout > header,
-[role=tabpanel],
-figure,
-details,
-dialog,
-aside {
- margin: var(--gap) 0;
- padding: var(--gap);
- overflow: clip;
-
- border-radius: var(--border-radius);
- background: var(--box-bg);
- border: 1px solid var(--faded-fg);
-}
-
-.titlebar {
- margin-inline: calc(0px - var(--gap));
- margin-block-end: calc(0px - var(--gap));
- padding-inline: var(--gap);
-
- font: inherit;
- font-family: var(--secondary-font);
- font-weight: bold;
-
- translate: 0 calc(-1px - var(--gap));
-
- background: var(--faded-fg);
- color: var(--bg);
-}
-
-.sub-title, sub-title {
- /***
- Meant for use in headings. Make sure to also use visually-hidden punctuation
- to mark the subtitle as shown below:
-
- 1 | <h1>
- 2 | Foo Bar<v-h>:</v-h>
- 3 | <sub-title>How I Learned To Stop Worrying and Love Baz</sub-title>
- 4 | </h1>
-
- 1 | <h1>
- 2 | <sub-title class="-allcaps">Breaking News</sub-title><v-h>:</v-h>
- 3 | Bad Thing Happens
- 4 | <h1>
- ***/
-
- display: block;
-
- font-weight: normal;
-
- color: var(--muted-fg);
-}
-
-.tool-bar, [role=toolbar] {
- display: flex;
- flex-flow: row wrap;
- gap: calc(var(--gap) / 2)
-}
-
-.tool-bar > *, [role=toolbar] > * { margin: 0; }
-
-.sidebar-layout header li {
- margin-block: calc(.5 * var(--gap));
- }
-
-.sidebar-layout header a {
- font-weight: bold;
- }
-
-@media (min-width: 75ch) {
-
-.sidebar-layout {
- display: grid;
- grid-template-columns: 25ch auto;
- inset: 0
-}
-
- .sidebar-layout > header {
- border-block: none;
- border-inline-start: none;
- margin: 0;
- }
-
- .sidebar-layout > :nth-child(2) {
- overflow: auto;
- --full-width: calc(100vw - 25ch);
- margin-top: var(--gap);
- }
- }
-
-.breadcrumbs[aria-label] {
- font-family: var(--secondary-font)
-}
-
-.breadcrumbs[aria-label] ul, .breadcrumbs[aria-label] ol {
- list-style: none;
- padding-inline-start: 0;
- }
-
-.breadcrumbs[aria-label] li {
- display: inline
- }
-
-:is(.breadcrumbs[aria-label] li)+li::before {
- content: ' / ' / '';
- content: ' / ';
- display: inline;
- }
-
-.breadcrumbs[aria-label] [aria-current="page"] {
- font-weight: bold;
- }
-
-.chip, chip {
- font-family: var(--secondary-font);
- border: 1px solid var(--accent);
- background: var(--box-bg);
- border-radius: calc(var(--rhythm) / 2);
- padding-inline: calc(var(--rhythm) / 2);
-}
-
-.navbar {
- padding: var(--rhythm);
-
- font-family: var(--secondary-font);
-
- background: var(--box-bg);
- border-block-end: 1px solid var(--accent);
-
- overflow-x: auto;
- scrollbar-width: thin;
-
- position: sticky;
- z-index: 5;
- top: 0;
- left: 0;
- right: 0;
-
- /* Inner layout */
- display: flex;
- flex-flow: row;
- align-items: center;
- gap: var(--gap)
-}
-
-.navbar.expanded {
- flex-flow: column;
- align-items: start;
-
- max-height: 90vh;
- overflow-y: auto
- }
-
-.navbar.expanded ul[role="list"] { flex-flow: column; }
-
-.navbar * {
- flex-shrink: 0;
- margin-block: 0;
- }
-
-.navbar:not(.expanded) > :first-child, .navbar:not(.expanded) nav > :first-child { margin-inline-start: auto; }
-
-.navbar:not(.expanded) > :last-child, .navbar:not(.expanded) nav > :last-child { margin-inline-end: auto; }
-
-.navbar hr { align-self: stretch; }
-
-.navbar nav ul[role="list"] {
- display: flex;
- flex-flow: row;
- gap: var(--rhythm)
- }
-
-.navbar nav ul[role="list"] * { flex-shrink: 0 }
-
-.navbar nav ul[role="list"] {
- padding-inline-start: 0;
- }
-
-.navbar a {
- font-weight: bold;
- text-decoration: none;
- padding-inline: .2em;
- }
-
-.navbar a:hover, .navbar a:focus {
- text-decoration: underline;
- }
-
-.navbar [aria-current=page] {
- position: relative;
- }
-
-.navbar [aria-current=page]::after {
- width: 100%;
- height: 6px;
- content: "";
- display: block;
- position: absolute;
- bottom: calc(-1 * var(--gap));
- background: currentcolor;
- }
-
-.navbar.expanded [aria-current=page]::after {
- width: 6px;
- height: 100%;
- position: absolute;
- left: calc(-1 * var(--gap));
- top: 0;
- }
-
-.permalink-anchor {
- display: none
-}
-
-*:hover > .permalink-anchor {
- display: initial
-}
-
-button.iconbutton {
- border: none;
- background: none;
- color: currentcolor;
- padding: 0;
- line-height: var(--rhythm);
- font-size: 24px;
- width: 24px;
- height: 24px;
- display: inline-block;
- text-align: center;
- border-radius: 50%;
- transition: font-weight .2s ease-in-out
-}
-
-button.iconbutton:hover, button.iconbutton:focus-visible {
- outline: 1px solid var(--accent);
- outline-offset: 6px;
- }
-
-button.iconbutton:active {
- outline-offset: 3px;
- background: none;
- }
-
-button.iconbutton[aria-pressed=true] {
- box-shadow: none;
- transform: none;
- }
-
-[role="tablist"] {
- display: flex;
- gap: .5ch;
- scrollbar-width: thin;
-}
-
-[role="tab"][role="tab"] {
- all: initial;
-
- font-family: var(--secondary-font);
-
- padding: 0 calc(var(--rhythm) / 4);
- margin: 0;
- min-height: var(--rhythm);
-
- color: var(--fg);
- border: solid var(--faded-fg);
- border-width: 1px 1px 0 1px;
- border-block-end-color: transparent;
- background: var(--interactive-bg);
-
- border-start-start-radius: .4em;
- border-start-end-radius: .4em
-}
-
-[role="tab"][role="tab"]:active, [role="tab"][role="tab"][aria-selected="true"] {
- transform: none;
- bottom: -1px;
- position: relative;
- background: var(--box-bg);
- border-block-end: 1px solid var(--box-bg);
- }
-
-[role="tab"][role="tab"]:hover {
- background-color: var(--box-bg);
- }
-
-[role="tab"][role="tab"]:focus {
- background-color: var(--box-bg);
- border-color: var(--accent);
- outline: 1px solid var(--accent);
- }
-
-[role="tabpanel"] {
- /* SEE components/box.css */
-
- margin-block-start: 0;
- border-start-start-radius: 0;
- border-start-end-radius: 0;
- z-index: 1;
-}
-
-[role="menu"] {
- /* SEE components/box.css */
- position: absolute;
-
- z-index: 10;
-
- padding: calc(var(--gap) / 2) 0;
- margin: 1px 0 0 0;
-
- display: flex;
- flex-flow: column nowrap;
-}
-
-[role=menuitem] {
- padding: 0 calc(var(--gap) / 2);
-
- display: block;
-
- text-decoration: none;
- border-radius: 0;
-
- color: var(--fg)
-}
-
-[role=menuitem]:focus, [role=menuitem]:active {
- background: var(--accent);
- color: var(--bg);
- }
-
-[role=listbox] {
- list-style: none
-}
-
-[role=listbox] [role=option] {
- margin-inline: calc(-1 * var(--gap));
- padding-inline: var(--gap);
- }
-
-[role=listbox] [role=option][aria-selected=true] {
- background: var(--interactive-bg);
- }
-
-[role=listbox] .active[role=option] {
- --temporary-bg: var(--accent);
- --temporary-fg: var(--bg);
- --temporary-accent: parent-var(--muted-accent);
- --temporary-muted-accent: parent-var(--box-bg);
-
- background: var(--temporary-bg);
- color: var(--temporary-fg)
- }
-
-[role=listbox] .active[role=option] > * {
- --bg: var(--temporary-bg);
- --fg: var(--temporary-fg);
- --accent: var(--temporary-accent);
- --muted-accent: var(--temporary-muted-accent);
- }
-
-[aria-orientation="vertical"] {
- flex-direction: column;
- width: -moz-fit-content;
- width: fit-content;
- text-align: center;
-}
-
-.plain {
- --box-bg: var(--plain-bg);
- --accent: var(--plain-fg);
- --faded-fg: var(--plain-faded-fg);
-}
-
-.info {
- --box-bg: var(--info-bg);
- --accent: var(--info-fg);
- --faded-fg: var(--info-faded-fg);
-}
-
-.ok {
- --box-bg: var(--ok-bg);
- --accent: var(--ok-fg);
- --faded-fg: var(--ok-faded-fg);
-}
-
-.warn {
- --box-bg: var(--warn-bg);
- --accent: var(--warn-fg);
- --faded-fg: var(--warn-faded-fg);
-}
-
-.bad {
- --box-bg: var(--bad-bg);
- --accent: var(--bad-fg);
- --faded-fg: var(--bad-faded-fg);
-}
-
-.color {
- color: var(--accent);
-}
-
-.bg {
- background: var(--box-bg);
-}
-
-.border {
- border-style: solid;
- border-color: var(--faded-fg);
-}
-
-:root {
- /* Colors */
- --fg: var(--gray-12); /* Text. */
- --muted-fg: var(--gray-10); /* De-emphasized or disabled elements' text. Will be
- used with a background of --c-bg and --c-bg-2 -- check contrast! */
- --faded-fg: var(--plain-faded-fg); /* De-emphasized or disabled graphical elements. Will not
- be used as a text color. */
-
- --plain-fg: var(--blue-10);
- --info-fg: var(--blue-11);
- --ok-fg: var(--green-11);
- --bad-fg: var(--red-11);
- --warn-fg: var(--yellow-11);
-
- --plain-faded-fg: var(--gray-6);
- --info-faded-fg: var(--blue-6);
- --ok-faded-fg: var(--green-6);
- --bad-faded-fg: var(--red-6);
- --warn-faded-fg: var(--yellow-6);
-
- --bg: var(--gray-0); /* Page background. */
- --box-bg: var(--plain-bg); /* Background for blocks: cards, admonitions etc. */
- --interactive-bg: var(--gray-4); /* Background for interactive elements */
-
- --plain-bg: var(--gray-1);
- --info-bg: var(--blue-1);
- --ok-bg: var(--green-1);
- --bad-bg: var(--red-1);
- --warn-bg: var(--yellow-1);
-
- --accent: var(--blue-10); /* Accent color. Will be used *as a text color* with a
- background of --c-bg and --c-bg-2 -- check contrast! */
- --muted-accent: var(--blue-7); /* Muted accent color. Will not be used for text. */
-
- /* Lengths */
- --rhythm: 1.4rem; /* Vertical rhythm, line height. */
- --line-length: 40rem; /* Maximum line length for prose. */
- --border-radius: .2rem;
-
- /* Fonts */
- --main-font: 'Source Sans 3', 'Source Sans Pro', -apple-system, system-ui, sans-serif;
- --secondary-font: var(--main-font); /* Headings etc. */
- --mono-font: 'M Plus Code Latin', monospace, monospace; /* monospace twice stops browsers from
- shrinking this */
-
- /* Density */
- --density: 1;
-
- /* Width */
- --full-width: 100vw;
-
- /* Do not set these. */
- --eff-line-length: /* Effective line length for prose. */
- min(
- calc( var(--full-width) - (2 * var(--rhythm)) ),
- var(--line-length)
- );
-
- --gutter-width: /* Width of spaces at each side of page content. */
- calc(
- (
- var(--full-width) /* Viewport width */
- - var(--eff-line-length) /* minus line width */
- ) / 2); /* Divide by 2: there are two page margins */
-}
-
-@media (prefers-color-scheme: dark) {
- :root:not(.-no-dark-theme) {
- --fg: var(--gray-0);
- --muted-fg: var(--gray-2);
- --faded-fg: var(--gray-7);
-
- --plain-bg: var(--gray-11);
- --info-bg: var(--blue-12);
- --ok-bg: var(--green-12);
- --bad-bg: var(--red-12);
- --warn-bg: var(--yellow-12);
-
- --plain-faded-fg: var(--blue-6);
- --info-faded-fg: var(--blue-6);
- --ok-faded-fg: var(--green-6);
- --bad-faded-fg: var(--red-6);
- --warn-faded-fg: var(--yellow-6);
-
- --bg: var(--gray-12);
- --box-bg: var(--gray-10);
- --interactive-bg: var(--gray-8);
-
- --plain-fg: (--blue-3);
- --info-fg: var(--blue-3);
- --ok-fg: var(--green-3);
- --bad-fg: var(--red-3);
- --warn-fg: var(--yellow-3);
-
- --accent: var(--blue-3);
- --muted-accent: var(--blue-5);
- }
-}
-
-* {
- --gap: calc(var(--rhythm) * var(--density));
- accent-color: var(--accent);
-}
-
-.textcolumns {
- --col-width: 30ch;
- column-width: var(--col-width);
- column-gap: var(--gap);
- margin-block: var(--gap)
-}
-
-.textcolumns :first-child { margin-block-start: 0 !important }
-
-.text-align\:center {
- text-align: center;
-}
-
-.center {
- display: grid;
- place-items: center;
-}
-
-/**/
-
-.container {
- max-inline-size: var(--eff-line-length);
- margin-inline: auto;
-}
-
-.fullbleed {
- position: relative;
- width: var(--full-width);
- left: 50%;
- transform: translateX(calc(-.5 * var(--full-width)));
-
- border-radius: 0;
- border-inline: none;
-}
-
-.fullscreen {
- height: 100vh;
-
- position: relative;
- width: 100vw;
- left: 50%;
- transform: translateX(-50vw);
-
- border-radius: 0;
- border-inline: none;
-}
-
-.width\:100\% { width:100%; max-width: 100% }
-
-.height\:100\% { height:100%; max-height: 100% }
-
-/**/
-
-/* margin-trim had better be implemented soon */
-
-:is(
- body,
- .box,
- [role=menu],
- .sidebar-layout > header,
- [role=tabpanel],
- figure,
- details,
- dialog,
- aside,
- fieldset,
- dd,
- td,
- th
-)>:first-child:first-child:first-child:first-child,
- :is(
- body,
- .box,
- [role=menu],
- .sidebar-layout > header,
- [role=tabpanel],
- figure,
- details,
- dialog,
- aside,
- fieldset,
- dd,
- td,
- th
-)>:first-child>:first-child:first-child:first-child,
- :is(
- body,
- .box,
- [role=menu],
- .sidebar-layout > header,
- [role=tabpanel],
- figure,
- details,
- dialog,
- aside,
- fieldset,
- dd,
- td,
- th
-)>:first-child>:first-child>:first-child:first-child,
- :is(
- body,
- .box,
- [role=menu],
- .sidebar-layout > header,
- [role=tabpanel],
- figure,
- details,
- dialog,
- aside,
- fieldset,
- dd,
- td,
- th
-)>:first-child>:first-child>:first-child>:first-child { margin-block-start: 0; }
-
-:is(
- body,
- .box,
- [role=menu],
- .sidebar-layout > header,
- [role=tabpanel],
- figure,
- details,
- dialog,
- aside,
- fieldset,
- dd,
- td,
- th
-)>:last-child:last-child:last-child:last-child,
- :is(
- body,
- .box,
- [role=menu],
- .sidebar-layout > header,
- [role=tabpanel],
- figure,
- details,
- dialog,
- aside,
- fieldset,
- dd,
- td,
- th
-)>:last-child>:last-child:last-child:last-child,
- :is(
- body,
- .box,
- [role=menu],
- .sidebar-layout > header,
- [role=tabpanel],
- figure,
- details,
- dialog,
- aside,
- fieldset,
- dd,
- td,
- th
-)>:last-child>:last-child>:last-child:last-child,
- :is(
- body,
- .box,
- [role=menu],
- .sidebar-layout > header,
- [role=tabpanel],
- figure,
- details,
- dialog,
- aside,
- fieldset,
- dd,
- td,
- th
-)>:last-child>:last-child>:last-child>:last-child { margin-block-end: 0; }
-
-/**/
-
-.padding { padding-inline: var(--gap) }
-
-.padding-block { padding-block: var(--gap) }
-
-.padding-block-start { padding-block-start: var(--gap) }
-
-.padding-block-end { padding-block-end: var(--gap) }
-
-.padding-inline { padding-inline: var(--gap) }
-
-.padding-inline-start { padding-inline-start: var(--gap) }
-
-.padding-inline-end { padding-inline-start: var(--gap) }
-
-.margin { margin: var(--gap) }
-
-.margin-block { margin-block: var(--gap) }
-
-.margin-block-start { margin-block-start: var(--gap) }
-
-.margin-block-end { margin-block-end: var(--gap) }
-
-.margin-inline { margin-inline: var(--gap) }
-
-.margin-inline-start { margin-inline-start: var(--gap) }
-
-.margin-inline-end { margin-inline-end: var(--gap) }
-
-.flow-gap > :not(:last-child) {
- margin-bottom: 1em;
- }
-
-/**/
-
-.inline { display: inline }
-
-.block { display: block }
-
-.contents { display: contents }
-
-.table {
- display: table;
- width: 100%;
- margin: 0;
-}
-
-.row, .rows > * {
- display: table-row
-}
-
-.row:not(:last-child):not([specificity-hack]) > *, .rows > *:not(:last-child):not([specificity-hack]) > * {
- margin-bottom: var(--gap);
- }
-
-.row > *:not([specificity-hack]), .rows > * > *:not([specificity-hack]) {
- display: table-cell;
- vertical-align: top;
- }
-
-.row > * + *:not([specificity-hack]), :is(.rows > *) > * + *:not([specificity-hack]) {
- margin-inline-start: var(--gap);
- display: inline-block;
- }
-
-/**/
-
-.fixed { position: fixed }
-
-.sticky { position: sticky }
-
-.top { top: 0 }
-
-.right { right: 0 }
-
-.bottom { bottom: 0 }
-
-.left { left: 0 }
-
-.float\:left { float: left }
-
-.float\:right { float: right }
-
-.overflow\:auto { overflow: auto }
-
-.overflow\:scroll { overflow: scroll }
-
-.airy { --density: 3; }
-
-.spacious { --density: 2; }
-
-.dense { --density: 1; }
-
-.crowded { --density: .5; }
-
-.packed { --density: 0; }
-
-.autodensity {
- --density: 1
-}
-
-@media (min-width: 768px) {
-
-.autodensity { --density: 2
-}}
-
-@media (min-width: 1024px) {
-
-.autodensity { --density: 3
-}}
-
-.vh, v-h {
- clip: rect(0 0 0 0);
- -webkit-clip-path: inset(50%);
- clip-path: inset(50%);
- block-size: 1px;
- inline-size: 1px;
- overflow: hidden;
- white-space: nowrap;
-}
-
-.all\:initial {
- all: initial;
-}
-
-.bold { font-weight: bold }
-
-.italic {
- font-style: italic
-}
-
-.italic em, .italic cite, .italic dfn, .italic var, .italic i, .italic address {
- font-style: normal;
- }
-
-.allcaps {
- text-transform: uppercase;
- letter-spacing: .1rem;
-}
-
-.monospace {
- font-family: var(--mono-font);
-}
-
-.f-row {
- display: flex;
- flex-direction: row;
- gap: var(--gap)
-}
-
-.f-row > * { margin: 0 }
-
-.f-col {
- display: flex;
- flex-direction: column;
- gap: var(--gap)
-}
-
-.f-col > * { margin: 0 }
-
-.f-switch {
- display: flex;
- flex-wrap: wrap;
- gap: var(--gap);
- --f-switch-threshold: 55ch
-}
-
-.f-switch > * {
- margin: 0;
-
- flex-grow: 1;
- flex-basis: calc((var(--f-switch-threshold) - 100%) * 999);
- }
-
-.justify-content\:start { justify-content: start }
-
-.justify-content\:end { justify-content: end }
-
-.justify-content\:baseline { justify-content: baseline }
-
-.justify-content\:center { justify-content: center }
-
-.justify-content\:stretch { justify-content: stretch }
-
-.justify-content\:space-between { justify-content: space-between }
-
-.justify-content\:space-around { justify-content: space-around }
-
-.justify-content\:space-evenly { justify-content: space-evenly }
-
-.align-items\:start { align-items: start }
-
-.align-items\:end { align-items: end }
-
-.align-items\:baseline { align-items: baseline }
-
-.align-items\:center { align-items: center }
-
-.align-items\:stretch { align-items: stretch }
-
-.align-self\:start { align-self: start }
-
-.align-self\:end { align-self: end }
-
-.align-self\:baseline { align-self: baseline }
-
-.align-self\:center { align-self: center }
-
-.align-self\:stretch { align-self: stretch }
-
-.flex-grow\:0 { flex-grow: 0 }
-
-.flex-grow\:1 { flex-grow: 1 }
-
-.flex-grow\:2 { flex-grow: 2 }
-
-.flex-grow\:3 { flex-grow: 3 }
-
-.flex-grow\:4 { flex-grow: 4 }
-
-.flex-grow\:5 { flex-grow: 5 }
-
-.flex-grow\:6 { flex-grow: 6 }
-
-.flex-grow\:7 { flex-grow: 7 }
-
-.flex-grow\:8 { flex-grow: 8 }
-
-.flex-grow\:9 { flex-grow: 9 }
-
-.flex-grow\:10 { flex-grow: 10 }
-
-.flex-grow\:11 { flex-grow: 11 }
-
-.flex-grow\:12 { flex-grow: 12 }
-
-.flex-wrap\:wrap { flex-wrap: wrap }
-
-.flex-wrap\:nowrap { flex-wrap: nowrap }
-
-.grid {
- display: grid;
- grid-auto-columns: var(--grid-col-width, 1fr);
- grid-auto-rows: var(--grid-row-width, auto);
- gap: var(--gap)
-}
-
-.grid > * { margin: 0 }
-
-.grid-even-rows { --grid-row-width: 1fr; }
-
-.grid-variable-cols { --grid-column-width: auto; }
-
-[data-cols^="1 " ] { grid-column-start: 1 }
-
-[data-cols$=" 1" ] { grid-column-end: 2 }
-
-[data-cols="1" ] { grid-column: 1 }
-
-[data-cols^="2 " ] { grid-column-start: 2 }
-
-[data-cols$=" 2" ] { grid-column-end: 3 }
-
-[data-cols="2" ] { grid-column: 2 }
-
-[data-cols^="3 " ] { grid-column-start: 3 }
-
-[data-cols$=" 3" ] { grid-column-end: 4 }
-
-[data-cols="3" ] { grid-column: 3 }
-
-[data-cols^="4 " ] { grid-column-start: 4 }
-
-[data-cols$=" 4" ] { grid-column-end: 5 }
-
-[data-cols="4" ] { grid-column: 4 }
-
-[data-cols^="5 " ] { grid-column-start: 5 }
-
-[data-cols$=" 5" ] { grid-column-end: 6 }
-
-[data-cols="5" ] { grid-column: 5 }
-
-[data-cols^="6 " ] { grid-column-start: 6 }
-
-[data-cols$=" 6" ] { grid-column-end: 7 }
-
-[data-cols="6" ] { grid-column: 6 }
-
-[data-cols^="7 " ] { grid-column-start: 7 }
-
-[data-cols$=" 7" ] { grid-column-end: 8 }
-
-[data-cols="7" ] { grid-column: 7 }
-
-[data-cols^="8 " ] { grid-column-start: 8 }
-
-[data-cols$=" 8" ] { grid-column-end: 9 }
-
-[data-cols="8" ] { grid-column: 8 }
-
-[data-cols^="9 " ] { grid-column-start: 9 }
-
-[data-cols$=" 9" ] { grid-column-end: 10 }
-
-[data-cols="9" ] { grid-column: 9 }
-
-[data-cols^="10 "] { grid-column-start: 10 }
-
-[data-cols$=" 10"] { grid-column-end: 11 }
-
-[data-cols="10"] { grid-column: 10 }
-
-[data-cols^="11 "] { grid-column-start: 11 }
-
-[data-cols$=" 11"] { grid-column-end: 12 }
-
-[data-cols="11"] { grid-column: 11 }
-
-[data-cols^="12 "] { grid-column-start: 12 }
-
-[data-cols$=" 12"] { grid-column-end: 13 }
-
-[data-cols="12"] { grid-column: 12 }
-
-[data-rows^="1 " ] { grid-row-start: 1 }
-
-[data-rows$=" 1" ] { grid-row-end: 2 }
-
-[data-rows="1" ] { grid-row: 1 }
-
-[data-rows^="2 " ] { grid-row-start: 2 }
-
-[data-rows$=" 2" ] { grid-row-end: 3 }
-
-[data-rows="2" ] { grid-row: 2 }
-
-[data-rows^="3 " ] { grid-row-start: 3 }
-
-[data-rows$=" 3" ] { grid-row-end: 4 }
-
-[data-rows="3" ] { grid-row: 3 }
-
-[data-rows^="4 " ] { grid-row-start: 4 }
-
-[data-rows$=" 4" ] { grid-row-end: 5 }
-
-[data-rows="4" ] { grid-row: 4 }
-
-[data-rows^="5 " ] { grid-row-start: 5 }
-
-[data-rows$=" 5" ] { grid-row-end: 6 }
-
-[data-rows="5" ] { grid-row: 5 }
-
-[data-rows^="6 " ] { grid-row-start: 6 }
-
-[data-rows$=" 6" ] { grid-row-end: 7 }
-
-[data-rows="6" ] { grid-row: 6 }
-
-[data-rows^="7 " ] { grid-row-start: 7 }
-
-[data-rows$=" 7" ] { grid-row-end: 8 }
-
-[data-rows="7" ] { grid-row: 7 }
-
-[data-rows^="8 " ] { grid-row-start: 8 }
-
-[data-rows$=" 8" ] { grid-row-end: 9 }
-
-[data-rows="8" ] { grid-row: 8 }
-
-[data-rows^="9 " ] { grid-row-start: 9 }
-
-[data-rows$=" 9" ] { grid-row-end: 10 }
-
-[data-rows="9" ] { grid-row: 9 }
-
-[data-rows^="10 "] { grid-row-start: 10 }
-
-[data-rows$=" 10"] { grid-row-end: 11 }
-
-[data-rows="10"] { grid-row: 10 }
-
-[data-rows^="11 "] { grid-row-start: 11 }
-
-[data-rows$=" 11"] { grid-row-end: 12 }
-
-[data-rows="11"] { grid-row: 11 }
-
-[data-rows^="12 "] { grid-row-start: 12 }
-
-[data-rows$=" 12"] { grid-row-end: 13 }
-
-[data-rows="12"] { grid-row: 12 }
-
-@media (max-width: 768px) {
- [data-cols\@s^="1 " ] { grid-column-start: 1 } [data-cols\@s$=" 1" ] { grid-column-end: 2 } [data-cols\@s="1" ] { grid-column: 1 }
- [data-cols\@s^="2 " ] { grid-column-start: 2 } [data-cols\@s$=" 2" ] { grid-column-end: 3 } [data-cols\@s="2" ] { grid-column: 2 }
- [data-cols\@s^="3 " ] { grid-column-start: 3 } [data-cols\@s$=" 3" ] { grid-column-end: 4 } [data-cols\@s="3" ] { grid-column: 3 }
- [data-cols\@s^="4 " ] { grid-column-start: 4 } [data-cols\@s$=" 4" ] { grid-column-end: 5 } [data-cols\@s="4" ] { grid-column: 4 }
- [data-cols\@s^="5 " ] { grid-column-start: 5 } [data-cols\@s$=" 5" ] { grid-column-end: 6 } [data-cols\@s="5" ] { grid-column: 5 }
- [data-cols\@s^="6 " ] { grid-column-start: 6 } [data-cols\@s$=" 6" ] { grid-column-end: 7 } [data-cols\@s="6" ] { grid-column: 6 }
- [data-cols\@s^="7 " ] { grid-column-start: 7 } [data-cols\@s$=" 7" ] { grid-column-end: 8 } [data-cols\@s="7" ] { grid-column: 7 }
- [data-cols\@s^="8 " ] { grid-column-start: 8 } [data-cols\@s$=" 8" ] { grid-column-end: 9 } [data-cols\@s="8" ] { grid-column: 8 }
- [data-cols\@s^="9 " ] { grid-column-start: 9 } [data-cols\@s$=" 9" ] { grid-column-end: 10 } [data-cols\@s="9" ] { grid-column: 9 }
- [data-cols\@s^="10 "] { grid-column-start: 10 } [data-cols\@s$=" 10"] { grid-column-end: 11 } [data-cols\@s="10"] { grid-column: 10 }
- [data-cols\@s^="11 "] { grid-column-start: 11 } [data-cols\@s$=" 11"] { grid-column-end: 12 } [data-cols\@s="11"] { grid-column: 11 }
- [data-cols\@s^="12 "] { grid-column-start: 12 } [data-cols\@s$=" 12"] { grid-column-end: 13 } [data-cols\@s="12"] { grid-column: 12 }
-
- [data-rows\@s^="1 " ] { grid-row-start: 1 } [data-rows\@s$=" 1" ] { grid-row-end: 2 } [data-rows\@s="1" ] { grid-row: 1 }
- [data-rows\@s^="2 " ] { grid-row-start: 2 } [data-rows\@s$=" 2" ] { grid-row-end: 3 } [data-rows\@s="2" ] { grid-row: 2 }
- [data-rows\@s^="3 " ] { grid-row-start: 3 } [data-rows\@s$=" 3" ] { grid-row-end: 4 } [data-rows\@s="3" ] { grid-row: 3 }
- [data-rows\@s^="4 " ] { grid-row-start: 4 } [data-rows\@s$=" 4" ] { grid-row-end: 5 } [data-rows\@s="4" ] { grid-row: 4 }
- [data-rows\@s^="5 " ] { grid-row-start: 5 } [data-rows\@s$=" 5" ] { grid-row-end: 6 } [data-rows\@s="5" ] { grid-row: 5 }
- [data-rows\@s^="6 " ] { grid-row-start: 6 } [data-rows\@s$=" 6" ] { grid-row-end: 7 } [data-rows\@s="6" ] { grid-row: 6 }
- [data-rows\@s^="7 " ] { grid-row-start: 7 } [data-rows\@s$=" 7" ] { grid-row-end: 8 } [data-rows\@s="7" ] { grid-row: 7 }
- [data-rows\@s^="8 " ] { grid-row-start: 8 } [data-rows\@s$=" 8" ] { grid-row-end: 9 } [data-rows\@s="8" ] { grid-row: 8 }
- [data-rows\@s^="9 " ] { grid-row-start: 9 } [data-rows\@s$=" 9" ] { grid-row-end: 10 } [data-rows\@s="9" ] { grid-row: 9 }
- [data-rows\@s^="10 "] { grid-row-start: 10 } [data-rows\@s$=" 10"] { grid-row-end: 11 } [data-rows\@s="10"] { grid-row: 10 }
- [data-rows\@s^="11 "] { grid-row-start: 11 } [data-rows\@s$=" 11"] { grid-row-end: 12 } [data-rows\@s="11"] { grid-row: 11 }
- [data-rows\@s^="12 "] { grid-row-start: 12 } [data-rows\@s$=" 12"] { grid-row-end: 13 } [data-rows\@s="12"] { grid-row: 12 }
-}
-
-@media (min-width: 1024px) {
- [data-cols\@l^="1 " ] { grid-column-start: 1 } [data-cols\@l$=" 1" ] { grid-column-end: 2 } [data-cols\@l="1" ] { grid-column: 1 }
- [data-cols\@l^="2 " ] { grid-column-start: 2 } [data-cols\@l$=" 2" ] { grid-column-end: 3 } [data-cols\@l="2" ] { grid-column: 2 }
- [data-cols\@l^="3 " ] { grid-column-start: 3 } [data-cols\@l$=" 3" ] { grid-column-end: 4 } [data-cols\@l="3" ] { grid-column: 3 }
- [data-cols\@l^="4 " ] { grid-column-start: 4 } [data-cols\@l$=" 4" ] { grid-column-end: 5 } [data-cols\@l="4" ] { grid-column: 4 }
- [data-cols\@l^="5 " ] { grid-column-start: 5 } [data-cols\@l$=" 5" ] { grid-column-end: 6 } [data-cols\@l="5" ] { grid-column: 5 }
- [data-cols\@l^="6 " ] { grid-column-start: 6 } [data-cols\@l$=" 6" ] { grid-column-end: 7 } [data-cols\@l="6" ] { grid-column: 6 }
- [data-cols\@l^="7 " ] { grid-column-start: 7 } [data-cols\@l$=" 7" ] { grid-column-end: 8 } [data-cols\@l="7" ] { grid-column: 7 }
- [data-cols\@l^="8 " ] { grid-column-start: 8 } [data-cols\@l$=" 8" ] { grid-column-end: 9 } [data-cols\@l="8" ] { grid-column: 8 }
- [data-cols\@l^="9 " ] { grid-column-start: 9 } [data-cols\@l$=" 9" ] { grid-column-end: 10 } [data-cols\@l="9" ] { grid-column: 9 }
- [data-cols\@l^="10 "] { grid-column-start: 10 } [data-cols\@l$=" 10"] { grid-column-end: 11 } [data-cols\@l="10"] { grid-column: 10 }
- [data-cols\@l^="11 "] { grid-column-start: 11 } [data-cols\@l$=" 11"] { grid-column-end: 12 } [data-cols\@l="11"] { grid-column: 11 }
- [data-cols\@l^="12 "] { grid-column-start: 12 } [data-cols\@l$=" 12"] { grid-column-end: 13 } [data-cols\@l="12"] { grid-column: 12 }
-
- [data-rows\@l^="1 " ] { grid-row-start: 1 } [data-rows\@l$=" 1" ] { grid-row-end: 2 } [data-rows\@l="1" ] { grid-row: 1 }
- [data-rows\@l^="2 " ] { grid-row-start: 2 } [data-rows\@l$=" 2" ] { grid-row-end: 3 } [data-rows\@l="2" ] { grid-row: 2 }
- [data-rows\@l^="3 " ] { grid-row-start: 3 } [data-rows\@l$=" 3" ] { grid-row-end: 4 } [data-rows\@l="3" ] { grid-row: 3 }
- [data-rows\@l^="4 " ] { grid-row-start: 4 } [data-rows\@l$=" 4" ] { grid-row-end: 5 } [data-rows\@l="4" ] { grid-row: 4 }
- [data-rows\@l^="5 " ] { grid-row-start: 5 } [data-rows\@l$=" 5" ] { grid-row-end: 6 } [data-rows\@l="5" ] { grid-row: 5 }
- [data-rows\@l^="6 " ] { grid-row-start: 6 } [data-rows\@l$=" 6" ] { grid-row-end: 7 } [data-rows\@l="6" ] { grid-row: 6 }
- [data-rows\@l^="7 " ] { grid-row-start: 7 } [data-rows\@l$=" 7" ] { grid-row-end: 8 } [data-rows\@l="7" ] { grid-row: 7 }
- [data-rows\@l^="8 " ] { grid-row-start: 8 } [data-rows\@l$=" 8" ] { grid-row-end: 9 } [data-rows\@l="8" ] { grid-row: 8 }
- [data-rows\@l^="9 " ] { grid-row-start: 9 } [data-rows\@l$=" 9" ] { grid-row-end: 10 } [data-rows\@l="9" ] { grid-row: 9 }
- [data-rows\@l^="10 "] { grid-row-start: 10 } [data-rows\@l$=" 10"] { grid-row-end: 11 } [data-rows\@l="10"] { grid-row: 10 }
- [data-rows\@l^="11 "] { grid-row-start: 11 } [data-rows\@l$=" 11"] { grid-row-end: 12 } [data-rows\@l="11"] { grid-row: 11 }
- [data-rows\@l^="12 "] { grid-row-start: 12 } [data-rows\@l$=" 12"] { grid-row-end: 13 } [data-rows\@l="12"] { grid-row: 12 }
-}
diff --git a/www/releases/_artifacts/v1.0.1/missing.min.css b/www/releases/_artifacts/v1.0.1/missing.min.css
deleted file mode 100644
index 061d032..0000000
--- a/www/releases/_artifacts/v1.0.1/missing.min.css
+++ /dev/null
@@ -1,126 +0,0 @@
-@keyframes bg{0%{background:0 0}}*,::after,::before{box-sizing:border-box;background-repeat:no-repeat}::after,::before{text-decoration:inherit;vertical-align:inherit}:root{cursor:default;overflow-wrap:break-word;-webkit-tap-highlight-color:transparent;text-size-adjust:none;-webkit-text-size-adjust:none}abbr[title]{-webkit-text-decoration:underline dotted;text-decoration:underline dotted}b,strong{font-weight:bolder}small{font-size:80%}audio,canvas,iframe,img,svg,video{vertical-align:middle}svg:not([fill]){fill:currentColor}table{border-collapse:collapse;border-color:currentColor;text-indent:0;font-variant-numeric:tabular-nums;font:inherit}body,button,input,select,textarea{margin:0}[type=button],[type=reset],[type=submit],button{-webkit-appearance:button}fieldset{border:1px solid #a0a0a0;position:relative;padding:var(--gap);margin:var(--gap) 0;width:100%;border-radius:var(--border-radius);border:1px solid var(--faded-fg)}progress{vertical-align:baseline}[type=search]{-webkit-appearance:textfield;outline-offset:-2px}::-webkit-inner-spin-button,::-webkit-outer-spin-button{block-size:auto}::-webkit-input-placeholder{color:inherit;opacity:.54}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{-webkit-appearance:button;font:inherit}[hidden],datalist{display:none!important}:focus-visible{outline:.2em solid var(--accent);z-index:32}body:focus-visible,html:focus-visible,iframe:focus-visible{outline:0}:target{outline:.2em solid var(--fg);z-index:2}details>summary:first-of-type{display:list-item}[aria-busy=true]{cursor:progress}[aria-disabled=true],[disabled]{cursor:not-allowed}:root{--gray-0: #f8fafb;--gray-1: #f2f4f6;--gray-2: #ebedef;--gray-3: #e0e4e5;--gray-4: #d1d6d8;--gray-5: #b1b6b9;--gray-6: #979b9d;--gray-7: #7e8282;--gray-8: #666968;--gray-9: #50514f;--gray-10: #3a3a37;--gray-11: #252521;--gray-12: #121210;--red-0: #fff5f5;--red-1: #ffe3e3;--red-2: #ffc9c9;--red-3: #ffa8a8;--red-4: #ff8787;--red-5: #ff6b6b;--red-6: #fa5252;--red-7: #f03e3e;--red-8: #e03131;--red-9: #c92a2a;--red-10: #b02525;--red-11: #962020;--red-12: #7d1a1a;--pink-0: #fff0f6;--pink-1: #ffdeeb;--pink-2: #fcc2d7;--pink-3: #faa2c1;--pink-4: #f783ac;--pink-5: #f06595;--pink-6: #e64980;--pink-7: #d6336c;--pink-8: #c2255c;--pink-9: #a61e4d;--pink-10: #8c1941;--pink-11: #731536;--pink-12: #59102a;--purple-0: #f8f0fc;--purple-1: #f3d9fa;--purple-2: #eebefa;--purple-3: #e599f7;--purple-4: #da77f2;--purple-5: #cc5de8;--purple-6: #be4bdb;--purple-7: #ae3ec9;--purple-8: #9c36b5;--purple-9: #862e9c;--purple-10: #702682;--purple-11: #5a1e69;--purple-12: #44174f;--violet-0: #f3f0ff;--violet-1: #e5dbff;--violet-2: #d0bfff;--violet-3: #b197fc;--violet-4: #9775fa;--violet-5: #845ef7;--violet-6: #7950f2;--violet-7: #7048e8;--violet-8: #6741d9;--violet-9: #5f3dc4;--violet-10: #5235ab;--violet-11: #462d91;--violet-12: #3a2578;--indigo-0: #edf2ff;--indigo-1: #dbe4ff;--indigo-2: #bac8ff;--indigo-3: #91a7ff;--indigo-4: #748ffc;--indigo-5: #5c7cfa;--indigo-6: #4c6ef5;--indigo-7: #4263eb;--indigo-8: #3b5bdb;--indigo-9: #364fc7;--indigo-10: #2f44ad;--indigo-11: #283a94;--indigo-12: #21307a;--blue-0: #e7f5ff;--blue-1: #d0ebff;--blue-2: #a5d8ff;--blue-3: #74c0fc;--blue-4: #4dabf7;--blue-5: #339af0;--blue-6: #228be6;--blue-7: #1c7ed6;--blue-8: #1971c2;--blue-9: #1864ab;--blue-10: #145591;--blue-11: #114678;--blue-12: #0d375e;--cyan-0: #e3fafc;--cyan-1: #c5f6fa;--cyan-2: #99e9f2;--cyan-3: #66d9e8;--cyan-4: #3bc9db;--cyan-5: #22b8cf;--cyan-6: #15aabf;--cyan-7: #1098ad;--cyan-8: #0c8599;--cyan-9: #0b7285;--cyan-10: #095c6b;--cyan-11: #074652;--cyan-12: #053038;--teal-0: #e6fcf5;--teal-1: #c3fae8;--teal-2: #96f2d7;--teal-3: #63e6be;--teal-4: #38d9a9;--teal-5: #20c997;--teal-6: #12b886;--teal-7: #0ca678;--teal-8: #099268;--teal-9: #087f5b;--teal-10: #066649;--teal-11: #054d37;--teal-12: #033325;--green-0: #ebfbee;--green-1: #d3f9d8;--green-2: #b2f2bb;--green-3: #8ce99a;--green-4: #69db7c;--green-5: #51cf66;--green-6: #40c057;--green-7: #37b24d;--green-8: #2f9e44;--green-9: #2b8a3e;--green-10: #237032;--green-11: #1b5727;--green-12: #133d1b;--lime-0: #f4fce3;--lime-1: #e9fac8;--lime-2: #d8f5a2;--lime-3: #c0eb75;--lime-4: #a9e34b;--lime-5: #94d82d;--lime-6: #82c91e;--lime-7: #74b816;--lime-8: #66a80f;--lime-9: #5c940d;--lime-10: #4c7a0b;--lime-11: #3c6109;--lime-12: #2c4706;--yellow-0: #fff9db;--yellow-1: #fff3bf;--yellow-2: #ffec99;--yellow-3: #ffe066;--yellow-4: #ffd43b;--yellow-5: #fcc419;--yellow-6: #fab005;--yellow-7: #f59f00;--yellow-8: #f08c00;--yellow-9: #e67700;--yellow-10: #b35c00;--yellow-11: #804200;--yellow-12: #663500;--orange-0: #fff4e6;--orange-1: #ffe8cc;--orange-2: #ffd8a8;--orange-3: #ffc078;--orange-4: #ffa94d;--orange-5: #ff922b;--orange-6: #fd7e14;--orange-7: #f76707;--orange-8: #e8590c;--orange-9: #d9480f;--orange-10: #bf400d;--orange-11: #99330b;--orange-12: #802b09;--choco-0: #fff8dc;--choco-1: #fce1bc;--choco-2: #f7ca9e;--choco-3: #f1b280;--choco-4: #e99b62;--choco-5: #df8545;--choco-6: #d46e25;--choco-7: #bd5f1b;--choco-8: #a45117;--choco-9: #8a4513;--choco-10: #703a13;--choco-11: #572f12;--choco-12: #3d210d;--brown-0: #faf4eb;--brown-1: #ede0d1;--brown-2: #e0cab7;--brown-3: #d3b79e;--brown-4: #c5a285;--brown-5: #b78f6d;--brown-6: #a87c56;--brown-7: #956b47;--brown-8: #825b3a;--brown-9: #6f4b2d;--brown-10:#5e3a21;--brown-11:#4e2b15;--brown-12: #422412;--sand-0: #f8fafb;--sand-1: #e6e4dc;--sand-2: #d5cfbd;--sand-3: #c2b9a0;--sand-4: #aea58c;--sand-5: #9a9178;--sand-6: #867c65;--sand-7: #736a53;--sand-8: #5f5746;--sand-9: #4b4639;--sand-10:#38352d;--sand-11:#252521;--sand-12: #121210;--camo-0: #f9fbe7;--camo-1: #e8ed9c;--camo-2: #d2df4e;--camo-3: #c2ce34;--camo-4: #b5bb2e;--camo-5: #a7a827;--camo-6: #999621;--camo-7: #8c851c;--camo-8: #7e7416;--camo-9: #6d6414;--camo-10: #5d5411;--camo-11: #4d460e;--camo-12: #36300a;--jungle-0: #ecfeb0;--jungle-1: #def39a;--jungle-2: #d0e884;--jungle-3: #c2dd6e;--jungle-4: #b5d15b;--jungle-5: #a8c648;--jungle-6: #9bbb36;--jungle-7: #8fb024;--jungle-8: #84a513;--jungle-9: #7a9908;--jungle-10: #658006;--jungle-11: #516605;--jungle-12: #3d4d04}html{font-family:var(--main-font);line-height:var(--rhythm);background:var(--bg);color:var(--fg);scroll-padding-block-start:calc(4*var(--gap))}footer,header,section+section{margin-block:calc(2*var(--gap))}nav a{text-decoration:none;color:var(--accent)}aside h1,aside h2,aside h3,aside h4,aside h5,aside h6{font-size:1em;text-transform:none;letter-spacing:none}.\<h1\>,.\<h2\>,.\<h3\>,.\<h4\>,.\<h5\>,.\<h6\>,h1,h2,h3,h4,h5,h6{margin-block-end:var(--gap);font-family:var(--secondary-font);margin-block-start:calc(2*var(--gap));position:relative}.\<h1\>,.\<h2\>,h1,h2{font-size:2em;text-transform:none;line-height:calc(2*var(--rhythm));letter-spacing:0}.\<h2\>,h2{font-size:1.6em;line-height:calc(1.5*var(--rhythm))}.\<h3\>,.\<h4\>,.\<h5\>,.\<h6\>,h3,h4,h5,h6{font-size:1.17em;line-height:calc(1*var(--rhythm))}.\<h4\>,.\<h5\>,.\<h6\>,h4,h5,h6{font-size:1em;text-transform:none;letter-spacing:0;margin-block-start:var(--gap)}h1+h2,h1:first-child,h2+h3,h2:first-child,h3+h4,h3:first-child,h4+h5,h4:first-child,h5+h6,h5:first-child,h6:first-child{margin-block-start:var(--gap)}h1:target,h2:target,h3:target,h4:target,h5:target,h6:target{outline:0}h1:target::before,h2:target::before,h3:target::before,h4:target::before,h5:target::before,h6:target::before{content:"";display:block;position:absolute;left:-.5em;width:4px;height:100%;background:var(--accent)}footer,header{font-family:var(--secondary-font)}header{border-block-end:1px solid var(--faded-fg)}footer{border-block-start:1px solid var(--faded-fg)}body>footer,body>header,main+footer{padding:var(--rhythm) calc((100% - var(--eff-line-length))/2)}address{--density: 0}dl,hr,p{margin-block:var(--gap)}hr{color:inherit;margin-inline:0;flex:0 1 0px;border-inline-start:1px solid var(--accent);block-size:auto;border-block-start:1px solid var(--accent);border-block-end:none;border-inline-end:none}blockquote,pre{line-height:var(--rhythm)}pre{font-family:var(--mono-font);-o-tab-size:2;tab-size:2;margin:var(--gap) 0;overflow-x:auto;scrollbar-width:thin;scrollbar-color:var(--accent) transparent;font-size:.9em}blockquote{margin-inline:0 var(--gap);padding-inline:var(--gap) 0;margin-block:var(--gap);font-size:1.1em;font-style:italic;border-inline-start:1px solid var(--faded-fg);color:var(--muted-fg)}.italic address,.italic cite,.italic dfn,.italic em,.italic i,.italic var,blockquote address,blockquote cite,blockquote dfn,blockquote em,blockquote i,blockquote var,q address,q cite,q dfn,q em,q i,q var{font-style:normal}blockquote footer{text-align:right;text-align:end}ol,ul{padding-inline-start:var(--rhythm)}ol ol,ol ul,ul ol,ul ul{padding-inline-start:var(--gap)}ol[role=list],ol[role=listbox],ul[role=list],ul[role=listbox]{padding-inline-start:0;list-style:none}ol{list-style:decimal}.breadcrumbs[aria-label] [aria-current=page],.sidebar-layout header a,dt{font-weight:700}dd{margin-inline-start:var(--rhythm)}li::marker{font-family:var(--secondary-font)}figure{max-width:100%;margin-inline:0}figcaption{margin-block:var(--gap);font-family:var(--secondary-font);color:var(--muted-fg)}main{max-inline-size:var(--eff-line-length);inline-size:100%;margin-inline:auto}main:first-child{padding-top:var(--gap)}a{color:var(--link-fg, var(--accent));font-family:var(--secondary-font);border-radius:var(--border-radius);outline-offset:1px}.list-of-links a{text-decoration:none}a:focus,a:hover{text-decoration:none;outline:1px solid;transition:outline-offset .1s ease-in-out}a:active{outline-offset:0}span>small:only-child{display:block;float:inline-end;clear:inline-end;--sidenote-width: 20ch;max-inline-size:var(--sidenote-width);padding-inline:1.5ch 1ch;margin-inline-end:calc(1em - var(--sidenote-width));margin-block-end:var(--rhythm);font-family:var(--secondary-font);background:var(--bg);border:1px solid transparent;transition:transform .1s ease-in-out}span>small:only-child:focus-within,span>small:only-child:hover{border:1px solid var(--faded-fg);border-radius:var(--border-radius);transform:translateX(calc(0px - var(--sidenote-width) + min(var(--gutter-width),var(--sidenote-width))))}del,s{color:var(--bad-fg)}caption,q{font-style:italic}time{font-variant-numeric:tabular-nums}code,kbd,samp{font-family:var(--mono-font)}ins,samp{color:var(--ok-fg)}kbd kbd{display:inline-block;padding:0 .3em;font-size:.8em;line-height:1.1em;background:var(--interactive-bg);border:1px outset var(--faded-fg);border-block-end-width:3px;border-radius:var(--border-radius)}sub{vertical-align:bottom}sub,sup{line-height:1}mark{background:var(--warn-bg);color:var(--warn-fg)}ins{background:var(--ok-bg)}del{background:var(--bad-bg)}audio,embed,iframe,img,object,video{max-inline-size:100%;inline-size:max-content;block-size:auto}caption{text-align:start;font-family:var(--secondary-font)}tbody{border-block:1px solid var(--fg)}select[multiple],sup,td,th{vertical-align:top}td:not(:last-child),th:not(:last-child){padding-inline-end:var(--rhythm)}th{font-family:var(--secondary-font);text-align:start}input{display:block}label input:not([specificity-hack]){display:inline;padding-block:0}.\<button\>,button,input::file-selector-button,input[type=button],input[type=reset],input[type=submit]{display:inline-block;padding:0 calc(var(--rhythm)/4);vertical-align:top;font-size:.8rem;line-height:1.125em;font-family:var(--secondary-font);min-height:var(--rhythm);background:var(--interactive-bg);border:1px solid var(--muted-fg);box-sizing:border-box;border-radius:var(--border-radius);color:var(--fg);text-decoration:none;display:inline-flex;place-items:center}:is(button,input[type="submit"],input[type="reset"],input[type="button"],input::file-selector-button,.\<button\>):focus-visible,:is(button,input[type="submit"],input[type="reset"],input[type="button"],input::file-selector-button,.\<button\>):hover{filter:brightness(1.1);text-decoration:none}:is(button,input[type="submit"],input[type="reset"],input[type="button"],input::file-selector-button,.\<button\>):active{filter:brightness(.8)}[aria-expanded=true]:is(button,input[type="submit"],input[type="reset"],input[type="button"],input::file-selector-button,.\<button\>),[aria-pressed=true]:is(button,input[type="submit"],input[type="reset"],input[type="button"],input::file-selector-button,.\<button\>){box-shadow:0 .05em var(--accent);transform:translateY(.05em);background:var(--pressed-interactive-bg)}[disabled]:is(button,input[type="submit"],input[type="reset"],input[type="button"],input::file-selector-button,.\<button\>){color:var(--muted-fg)}strong>:is(button,input[type="submit"],input[type="reset"],input[type="button"],input::file-selector-button,.\<button\>){background:var(--accent);color:var(--bg);border:0;font-weight:700}strong>[disabled]:is(button,input[type="submit"],input[type="reset"],input[type="button"],input::file-selector-button,.\<button\>){color:var(--muted-accent)}input:not([type]),input[type=date],input[type=datetime-local],input[type=datetime],input[type=email],input[type=month],input[type=number],input[type=password],input[type=search],input[type=tel],input[type=text],input[type=time],input[type=url],input[type=week],select,textarea{padding:calc(var(--rhythm)/4);font-size:1rem;line-height:inherit;font-family:var(--main-font);background:var(--bg);color:var(--fg);border:1px solid var(--faded-fg);border-radius:var(--border-radius);vertical-align:top}:is(input:not([type]),input[type="text"],input[type="search"],input[type="tel"],input[type="url"],input[type="email"],input[type="password"],input[type="date"],input[type="month"],input[type="week"],input[type="time"],input[type="datetime"],input[type="datetime-local"],input[type="number"],select,textarea):focus-visible{border:1px solid var(--accent)}:is(input:not([type]),input[type="text"],input[type="search"],input[type="tel"],input[type="url"],input[type="email"],input[type="password"],input[type="date"],input[type="month"],input[type="week"],input[type="time"],input[type="datetime"],input[type="datetime-local"],input[type="number"],select,textarea)::placeholder{color:var(--muted-fg);opacity:1;text-align:end}input[type=range]{width:100%;padding:calc(var(--gap)/4)}input[type=color]{padding:0;margin:0;height:calc(1.5*var(--rhythm));border:0;background:0 0}input[type=file]{padding:calc(var(--gap)/4) 0;font:inherit;line-height:calc(var(--rhythm)/2)}input[type=file]::file-selector-button{margin-block:.1em 0;margin-inline-end:1ch}optgroup::before{color:var(--muted-fg);font-style:normal}label[for]{display:block;padding-block:calc(var(--gap)/4)}fieldset>legend+*{margin-block-start:0}details:not(specificity-hack){padding-block-start:0}details:not(specificity-hack):not([open]){padding-block-end:0}summary{margin:calc(0px - var(--gap));margin-bottom:0;padding-inline:var(--gap);font-family:var(--secondary-font);font-weight:700;background:var(--accent);color:var(--bg);cursor:pointer}summary:active,summary:focus-visible{filter:brightness(.8)}details[open] summary{border-block-end:1px solid var(--accent);border-end-end-radius:0;border-end-start-radius:0}dialog{inline-inset:0;block-size:-moz-fit-content;block-size:fit-content;inline-size:-moz-fit-content;inline-size:fit-content;margin:auto!important;background-color:var(--bg);color:var(--fg)}dialog[open]::backdrop{display:block;background:#000;opacity:.4;animation:bg 2s}dialog:not([open]){display:none}.box,.sidebar-layout>header,[role=menu],[role=tabpanel],aside,details,dialog,figure{margin:var(--gap) 0;padding:var(--gap);overflow:clip;border-radius:var(--border-radius);background:var(--box-bg);border:1px solid var(--faded-fg)}.titlebar{margin-inline:calc(0px - var(--gap));margin-block-end:calc(0px - var(--gap));padding-inline:var(--gap);font:inherit;font-family:var(--secondary-font);font-weight:700;translate:0 calc(-1px - var(--gap));background:var(--faded-fg);color:var(--bg)}.sub-title,sub-title{display:block;font-weight:400;color:var(--muted-fg)}.tool-bar,[role=toolbar]{display:flex;flex-flow:row wrap;gap:calc(var(--gap)/2)}.tool-bar>*,[role=toolbar]>*{margin:0}.sidebar-layout header li{margin-block:calc(.5*var(--gap))}@media (min-width:75ch){.sidebar-layout{display:grid;grid-template-columns:25ch auto;inset:0}.sidebar-layout>header{border-block:none;border-inline-start:none;margin:0}.sidebar-layout>:nth-child(2){overflow:auto;--full-width: calc(100vw - 25ch);margin-top:var(--gap)}}.breadcrumbs[aria-label]{font-family:var(--secondary-font)}.breadcrumbs[aria-label] ol,.breadcrumbs[aria-label] ul{list-style:none;padding-inline-start:0}.breadcrumbs[aria-label] li{display:inline}:is(.breadcrumbs[aria-label] li)+li::before{content:' / ';display:inline}.chip,.navbar,chip{font-family:var(--secondary-font);background:var(--box-bg)}.chip,chip{border:1px solid var(--accent);border-radius:calc(var(--rhythm)/2);padding-inline:calc(var(--rhythm)/2)}.navbar{padding:var(--rhythm);border-block-end:1px solid var(--accent);overflow-x:auto;scrollbar-width:thin;position:sticky;z-index:5;top:0;left:0;right:0;display:flex;flex-flow:row;align-items:center;gap:var(--gap)}.navbar.expanded{flex-flow:column;align-items:start;max-height:90vh;overflow-y:auto}.navbar.expanded ul[role=list]{flex-flow:column}.navbar *{flex-shrink:0;margin-block:0}.navbar:not(.expanded) nav>:first-child,.navbar:not(.expanded)>:first-child{margin-inline-start:auto}.navbar:not(.expanded) nav>:last-child,.navbar:not(.expanded)>:last-child{margin-inline-end:auto}.navbar hr{align-self:stretch}.navbar nav ul[role=list]{display:flex;flex-flow:row;gap:var(--rhythm);padding-inline-start:0}.navbar nav ul[role=list] *{flex-shrink:0}.navbar a{font-weight:700;text-decoration:none;padding-inline:.2em}.navbar a:focus,.navbar a:hover{text-decoration:underline}.navbar [aria-current=page]{position:relative}.navbar [aria-current=page]::after{width:100%;height:6px;content:"";display:block;position:absolute;bottom:calc(-1*var(--gap));background:currentcolor}.navbar.expanded [aria-current=page]::after{width:6px;height:100%;position:absolute;left:calc(-1*var(--gap));top:0}.permalink-anchor{display:none}:hover>.permalink-anchor{display:initial}button.iconbutton{border:0;background:0 0;color:currentcolor;padding:0;line-height:var(--rhythm);font-size:24px;width:24px;height:24px;display:inline-block;text-align:center;border-radius:50%;transition:font-weight .2s ease-in-out}button.iconbutton:focus-visible,button.iconbutton:hover{outline:1px solid var(--accent);outline-offset:6px}button.iconbutton:active{outline-offset:3px;background:0 0}button.iconbutton[aria-pressed=true]{box-shadow:none;transform:none}[role=tablist]{display:flex;gap:.5ch;scrollbar-width:thin}[role=tab][role=tab]{all:initial;font-family:var(--secondary-font);padding:0 calc(var(--rhythm)/4);margin:0;min-height:var(--rhythm);color:var(--fg);border:solid var(--faded-fg);border-width:1px 1px 0;border-block-end-color:transparent;background:var(--interactive-bg);border-start-start-radius:.4em;border-start-end-radius:.4em}[role=tab][role=tab]:active,[role=tab][role=tab][aria-selected=true]{transform:none;bottom:-1px;position:relative;background:var(--box-bg);border-block-end:1px solid var(--box-bg)}[role=tab][role=tab]:hover{background-color:var(--box-bg)}[role=tab][role=tab]:focus{background-color:var(--box-bg);border-color:var(--accent);outline:1px solid var(--accent)}[role=tabpanel]{margin-block-start:0;border-start-start-radius:0;border-start-end-radius:0;z-index:1}[role=menu]{position:absolute;z-index:10;padding:calc(var(--gap)/2) 0;margin:1px 0 0;display:flex;flex-flow:column nowrap}[role=menuitem]{padding:0 calc(var(--gap)/2);display:block;text-decoration:none;border-radius:0;color:var(--fg)}[role=menuitem]:active,[role=menuitem]:focus{background:var(--accent);color:var(--bg)}[role=listbox]{list-style:none}[role=listbox] [role=option]{margin-inline:calc(-1*var(--gap));padding-inline:var(--gap)}[role=listbox] [role=option][aria-selected=true]{background:var(--interactive-bg)}[role=listbox] .active[role=option]{--temporary-bg: var(--accent);--temporary-fg: var(--bg);--temporary-accent: parent-var(--muted-accent);--temporary-muted-accent: parent-var(--box-bg);background:var(--temporary-bg);color:var(--temporary-fg)}[role=listbox] .active[role=option]>*{--bg: var(--temporary-bg);--fg: var(--temporary-fg);--accent: var(--temporary-accent);--muted-accent: var(--temporary-muted-accent)}[aria-orientation=vertical]{flex-direction:column;width:-moz-fit-content;width:fit-content;text-align:center}.plain{--box-bg: var(--plain-bg);--accent: var(--plain-fg);--faded-fg: var(--plain-faded-fg)}.info{--box-bg: var(--info-bg);--accent: var(--info-fg);--faded-fg: var(--info-faded-fg)}.ok{--box-bg: var(--ok-bg);--accent: var(--ok-fg);--faded-fg: var(--ok-faded-fg)}.warn{--box-bg: var(--warn-bg);--accent: var(--warn-fg);--faded-fg: var(--warn-faded-fg)}.bad{--box-bg: var(--bad-bg);--accent: var(--bad-fg);--faded-fg: var(--bad-faded-fg)}.color{color:var(--accent)}.bg{background:var(--box-bg)}.border{border-style:solid;border-color:var(--faded-fg)}:root{--fg: var(--gray-12);--muted-fg: var(--gray-10);--faded-fg: var(--plain-faded-fg);--plain-fg: var(--blue-10);--info-fg: var(--blue-11);--ok-fg: var(--green-11);--bad-fg: var(--red-11);--warn-fg: var(--yellow-11);--plain-faded-fg: var(--gray-6);--info-faded-fg: var(--blue-6);--ok-faded-fg: var(--green-6);--bad-faded-fg: var(--red-6);--warn-faded-fg: var(--yellow-6);--bg: var(--gray-0);--box-bg: var(--plain-bg);--interactive-bg: var(--gray-4);--plain-bg: var(--gray-1);--info-bg: var(--blue-1);--ok-bg: var(--green-1);--bad-bg: var(--red-1);--warn-bg: var(--yellow-1);--accent: var(--blue-10);--muted-accent: var(--blue-7);--rhythm: 1.4rem;--line-length: 40rem;--border-radius: .2rem;--main-font: 'Source Sans 3', 'Source Sans Pro', -apple-system, system-ui, sans-serif;--secondary-font: var(--main-font);--mono-font: 'M Plus Code Latin', monospace, monospace;--density: 1;--full-width: 100vw;--eff-line-length: /* Effective line length for prose. */
- min(
- calc( var(--full-width) - (2 * var(--rhythm)) ),
- var(--line-length)
- );--gutter-width: /* Width of spaces at each side of page content. */
- calc(
- (
- var(--full-width) /* Viewport width */
- - var(--eff-line-length) /* minus line width */
- ) / 2)}@media (prefers-color-scheme:dark){:root:not(.-no-dark-theme){--fg: var(--gray-0);--muted-fg: var(--gray-2);--faded-fg: var(--gray-7);--plain-bg: var(--gray-11);--info-bg: var(--blue-12);--ok-bg: var(--green-12);--bad-bg: var(--red-12);--warn-bg: var(--yellow-12);--plain-faded-fg: var(--blue-6);--info-faded-fg: var(--blue-6);--ok-faded-fg: var(--green-6);--bad-faded-fg: var(--red-6);--warn-faded-fg: var(--yellow-6);--bg: var(--gray-12);--box-bg: var(--gray-10);--interactive-bg: var(--gray-8);--plain-fg: (--blue-3);--info-fg: var(--blue-3);--ok-fg: var(--green-3);--bad-fg: var(--red-3);--warn-fg: var(--yellow-3);--accent: var(--blue-3);--muted-accent: var(--blue-5)}}*{--gap: calc(var(--rhythm) * var(--density));accent-color:var(--accent)}.textcolumns{--col-width: 30ch;column-width:var(--col-width);column-gap:var(--gap);margin-block:var(--gap)}.textcolumns :first-child{margin-block-start:0!important}.text-align\:center{text-align:center}.center{display:grid;place-items:center}.container{max-inline-size:var(--eff-line-length);margin-inline:auto}.fullbleed,.fullscreen{position:relative;left:50%;border-radius:0;border-inline:none}.fullbleed{width:var(--full-width);transform:translateX(calc(-.5*var(--full-width)))}.fullscreen{height:100vh;width:100vw;transform:translateX(-50vw)}.width\:100\%{width:100%;max-width:100%}.height\:100\%{height:100%;max-height:100%}:is(
- body,
- .box,
- [role=menu],
- .sidebar-layout > header,
- [role=tabpanel],
- figure,
- details,
- dialog,
- aside,
- fieldset,
- dd,
- td,
- th
-)>:first-child:first-child:first-child:first-child,:is(
- body,
- .box,
- [role=menu],
- .sidebar-layout > header,
- [role=tabpanel],
- figure,
- details,
- dialog,
- aside,
- fieldset,
- dd,
- td,
- th
-)>:first-child>:first-child:first-child:first-child,:is(
- body,
- .box,
- [role=menu],
- .sidebar-layout > header,
- [role=tabpanel],
- figure,
- details,
- dialog,
- aside,
- fieldset,
- dd,
- td,
- th
-)>:first-child>:first-child>:first-child:first-child,:is(
- body,
- .box,
- [role=menu],
- .sidebar-layout > header,
- [role=tabpanel],
- figure,
- details,
- dialog,
- aside,
- fieldset,
- dd,
- td,
- th
-)>:first-child>:first-child>:first-child>:first-child{margin-block-start:0}:is(
- body,
- .box,
- [role=menu],
- .sidebar-layout > header,
- [role=tabpanel],
- figure,
- details,
- dialog,
- aside,
- fieldset,
- dd,
- td,
- th
-)>:last-child:last-child:last-child:last-child,:is(
- body,
- .box,
- [role=menu],
- .sidebar-layout > header,
- [role=tabpanel],
- figure,
- details,
- dialog,
- aside,
- fieldset,
- dd,
- td,
- th
-)>:last-child>:last-child:last-child:last-child,:is(
- body,
- .box,
- [role=menu],
- .sidebar-layout > header,
- [role=tabpanel],
- figure,
- details,
- dialog,
- aside,
- fieldset,
- dd,
- td,
- th
-)>:last-child>:last-child>:last-child:last-child,:is(
- body,
- .box,
- [role=menu],
- .sidebar-layout > header,
- [role=tabpanel],
- figure,
- details,
- dialog,
- aside,
- fieldset,
- dd,
- td,
- th
-)>:last-child>:last-child>:last-child>:last-child{margin-block-end:0}.padding{padding-inline:var(--gap)}.padding-block{padding-block:var(--gap)}.padding-block-start{padding-block-start:var(--gap)}.padding-block-end{padding-block-end:var(--gap)}.padding-inline{padding-inline:var(--gap)}.padding-inline-end,.padding-inline-start{padding-inline-start:var(--gap)}.margin{margin:var(--gap)}.margin-block{margin-block:var(--gap)}.margin-block-start{margin-block-start:var(--gap)}.margin-block-end{margin-block-end:var(--gap)}.margin-inline{margin-inline:var(--gap)}.margin-inline-start{margin-inline-start:var(--gap)}.margin-inline-end{margin-inline-end:var(--gap)}.flow-gap>:not(:last-child){margin-bottom:1em}.inline{display:inline}.block{display:block}.contents{display:contents}.table{display:table;width:100%;margin:0}.row,.rows>*{display:table-row}.row:not(:last-child):not([specificity-hack])>*,.rows>:not(:last-child):not([specificity-hack])>*{margin-bottom:var(--gap)}.row>:not([specificity-hack]),.rows>*>:not([specificity-hack]){display:table-cell;vertical-align:top}.row>*+:not([specificity-hack]),:is(.rows > *)>*+:not([specificity-hack]){margin-inline-start:var(--gap);display:inline-block}.fixed{position:fixed}.sticky{position:sticky}.top{top:0}.right{right:0}.bottom{bottom:0}.left{left:0}.float\:left{float:left}.float\:right{float:right}.overflow\:auto{overflow:auto}.overflow\:scroll{overflow:scroll}.airy{--density: 3}.spacious{--density: 2}.dense{--density: 1}.crowded{--density: .5}.packed{--density: 0}.autodensity{--density: 1
-}@media (min-width:768px){.autodensity{--density: 2
-}}@media (min-width:1024px){.autodensity{--density: 3
-}}.vh,v-h{clip:rect(0 0 0 0);-webkit-clip-path:inset(50%);clip-path:inset(50%);block-size:1px;inline-size:1px;overflow:hidden;white-space:nowrap}.all\:initial{all:initial}.bold{font-weight:700}.italic{font-style:italic}.allcaps{text-transform:uppercase;letter-spacing:.1rem}.monospace{font-family:var(--mono-font)}.f-row{display:flex;flex-direction:row;gap:var(--gap)}.f-row>*{margin:0}.f-col{display:flex;flex-direction:column;gap:var(--gap)}.f-col>*{margin:0}.f-switch{display:flex;flex-wrap:wrap;gap:var(--gap);--f-switch-threshold: 55ch
-}.f-switch>*{margin:0;flex-grow:1;flex-basis:calc((var(--f-switch-threshold) - 100%)*999)}.justify-content\:start{justify-content:start}.justify-content\:end{justify-content:end}.justify-content\:baseline{justify-content:baseline}.justify-content\:center{justify-content:center}.justify-content\:stretch{justify-content:stretch}.justify-content\:space-between{justify-content:space-between}.justify-content\:space-around{justify-content:space-around}.justify-content\:space-evenly{justify-content:space-evenly}.align-items\:start{align-items:start}.align-items\:end{align-items:end}.align-items\:baseline{align-items:baseline}.align-items\:center{align-items:center}.align-items\:stretch{align-items:stretch}.align-self\:start{align-self:start}.align-self\:end{align-self:end}.align-self\:baseline{align-self:baseline}.align-self\:center{align-self:center}.align-self\:stretch{align-self:stretch}.flex-grow\:0{flex-grow:0}.flex-grow\:1{flex-grow:1}.flex-grow\:2{flex-grow:2}.flex-grow\:3{flex-grow:3}.flex-grow\:4{flex-grow:4}.flex-grow\:5{flex-grow:5}.flex-grow\:6{flex-grow:6}.flex-grow\:7{flex-grow:7}.flex-grow\:8{flex-grow:8}.flex-grow\:9{flex-grow:9}.flex-grow\:10{flex-grow:10}.flex-grow\:11{flex-grow:11}.flex-grow\:12{flex-grow:12}.flex-wrap\:wrap{flex-wrap:wrap}.flex-wrap\:nowrap{flex-wrap:nowrap}.grid{display:grid;grid-auto-columns:var(--grid-col-width, 1fr);grid-auto-rows:var(--grid-row-width, auto);gap:var(--gap)}.grid>*{margin:0}.grid-even-rows{--grid-row-width: 1fr}.grid-variable-cols{--grid-column-width: auto}[data-cols^="1 "]{grid-column-start:1}[data-cols$=" 1"]{grid-column-end:2}[data-cols="1"]{grid-column:1}[data-cols^="2 "]{grid-column-start:2}[data-cols$=" 2"]{grid-column-end:3}[data-cols="2"]{grid-column:2}[data-cols^="3 "]{grid-column-start:3}[data-cols$=" 3"]{grid-column-end:4}[data-cols="3"]{grid-column:3}[data-cols^="4 "]{grid-column-start:4}[data-cols$=" 4"]{grid-column-end:5}[data-cols="4"]{grid-column:4}[data-cols^="5 "]{grid-column-start:5}[data-cols$=" 5"]{grid-column-end:6}[data-cols="5"]{grid-column:5}[data-cols^="6 "]{grid-column-start:6}[data-cols$=" 6"]{grid-column-end:7}[data-cols="6"]{grid-column:6}[data-cols^="7 "]{grid-column-start:7}[data-cols$=" 7"]{grid-column-end:8}[data-cols="7"]{grid-column:7}[data-cols^="8 "]{grid-column-start:8}[data-cols$=" 8"]{grid-column-end:9}[data-cols="8"]{grid-column:8}[data-cols^="9 "]{grid-column-start:9}[data-cols$=" 9"]{grid-column-end:10}[data-cols="9"]{grid-column:9}[data-cols^="10 "]{grid-column-start:10}[data-cols$=" 10"]{grid-column-end:11}[data-cols="10"]{grid-column:10}[data-cols^="11 "]{grid-column-start:11}[data-cols$=" 11"]{grid-column-end:12}[data-cols="11"]{grid-column:11}[data-cols^="12 "]{grid-column-start:12}[data-cols$=" 12"]{grid-column-end:13}[data-cols="12"]{grid-column:12}[data-rows^="1 "]{grid-row-start:1}[data-rows$=" 1"]{grid-row-end:2}[data-rows="1"]{grid-row:1}[data-rows^="2 "]{grid-row-start:2}[data-rows$=" 2"]{grid-row-end:3}[data-rows="2"]{grid-row:2}[data-rows^="3 "]{grid-row-start:3}[data-rows$=" 3"]{grid-row-end:4}[data-rows="3"]{grid-row:3}[data-rows^="4 "]{grid-row-start:4}[data-rows$=" 4"]{grid-row-end:5}[data-rows="4"]{grid-row:4}[data-rows^="5 "]{grid-row-start:5}[data-rows$=" 5"]{grid-row-end:6}[data-rows="5"]{grid-row:5}[data-rows^="6 "]{grid-row-start:6}[data-rows$=" 6"]{grid-row-end:7}[data-rows="6"]{grid-row:6}[data-rows^="7 "]{grid-row-start:7}[data-rows$=" 7"]{grid-row-end:8}[data-rows="7"]{grid-row:7}[data-rows^="8 "]{grid-row-start:8}[data-rows$=" 8"]{grid-row-end:9}[data-rows="8"]{grid-row:8}[data-rows^="9 "]{grid-row-start:9}[data-rows$=" 9"]{grid-row-end:10}[data-rows="9"]{grid-row:9}[data-rows^="10 "]{grid-row-start:10}[data-rows$=" 10"]{grid-row-end:11}[data-rows="10"]{grid-row:10}[data-rows^="11 "]{grid-row-start:11}[data-rows$=" 11"]{grid-row-end:12}[data-rows="11"]{grid-row:11}[data-rows^="12 "]{grid-row-start:12}[data-rows$=" 12"]{grid-row-end:13}[data-rows="12"]{grid-row:12}@media (max-width:768px){[data-cols\@s^="1 "]{grid-column-start:1}[data-cols\@s$=" 1"]{grid-column-end:2}[data-cols\@s="1"]{grid-column:1}[data-cols\@s^="2 "]{grid-column-start:2}[data-cols\@s$=" 2"]{grid-column-end:3}[data-cols\@s="2"]{grid-column:2}[data-cols\@s^="3 "]{grid-column-start:3}[data-cols\@s$=" 3"]{grid-column-end:4}[data-cols\@s="3"]{grid-column:3}[data-cols\@s^="4 "]{grid-column-start:4}[data-cols\@s$=" 4"]{grid-column-end:5}[data-cols\@s="4"]{grid-column:4}[data-cols\@s^="5 "]{grid-column-start:5}[data-cols\@s$=" 5"]{grid-column-end:6}[data-cols\@s="5"]{grid-column:5}[data-cols\@s^="6 "]{grid-column-start:6}[data-cols\@s$=" 6"]{grid-column-end:7}[data-cols\@s="6"]{grid-column:6}[data-cols\@s^="7 "]{grid-column-start:7}[data-cols\@s$=" 7"]{grid-column-end:8}[data-cols\@s="7"]{grid-column:7}[data-cols\@s^="8 "]{grid-column-start:8}[data-cols\@s$=" 8"]{grid-column-end:9}[data-cols\@s="8"]{grid-column:8}[data-cols\@s^="9 "]{grid-column-start:9}[data-cols\@s$=" 9"]{grid-column-end:10}[data-cols\@s="9"]{grid-column:9}[data-cols\@s^="10 "]{grid-column-start:10}[data-cols\@s$=" 10"]{grid-column-end:11}[data-cols\@s="10"]{grid-column:10}[data-cols\@s^="11 "]{grid-column-start:11}[data-cols\@s$=" 11"]{grid-column-end:12}[data-cols\@s="11"]{grid-column:11}[data-cols\@s^="12 "]{grid-column-start:12}[data-cols\@s$=" 12"]{grid-column-end:13}[data-cols\@s="12"]{grid-column:12}[data-rows\@s^="1 "]{grid-row-start:1}[data-rows\@s$=" 1"]{grid-row-end:2}[data-rows\@s="1"]{grid-row:1}[data-rows\@s^="2 "]{grid-row-start:2}[data-rows\@s$=" 2"]{grid-row-end:3}[data-rows\@s="2"]{grid-row:2}[data-rows\@s^="3 "]{grid-row-start:3}[data-rows\@s$=" 3"]{grid-row-end:4}[data-rows\@s="3"]{grid-row:3}[data-rows\@s^="4 "]{grid-row-start:4}[data-rows\@s$=" 4"]{grid-row-end:5}[data-rows\@s="4"]{grid-row:4}[data-rows\@s^="5 "]{grid-row-start:5}[data-rows\@s$=" 5"]{grid-row-end:6}[data-rows\@s="5"]{grid-row:5}[data-rows\@s^="6 "]{grid-row-start:6}[data-rows\@s$=" 6"]{grid-row-end:7}[data-rows\@s="6"]{grid-row:6}[data-rows\@s^="7 "]{grid-row-start:7}[data-rows\@s$=" 7"]{grid-row-end:8}[data-rows\@s="7"]{grid-row:7}[data-rows\@s^="8 "]{grid-row-start:8}[data-rows\@s$=" 8"]{grid-row-end:9}[data-rows\@s="8"]{grid-row:8}[data-rows\@s^="9 "]{grid-row-start:9}[data-rows\@s$=" 9"]{grid-row-end:10}[data-rows\@s="9"]{grid-row:9}[data-rows\@s^="10 "]{grid-row-start:10}[data-rows\@s$=" 10"]{grid-row-end:11}[data-rows\@s="10"]{grid-row:10}[data-rows\@s^="11 "]{grid-row-start:11}[data-rows\@s$=" 11"]{grid-row-end:12}[data-rows\@s="11"]{grid-row:11}[data-rows\@s^="12 "]{grid-row-start:12}[data-rows\@s$=" 12"]{grid-row-end:13}[data-rows\@s="12"]{grid-row:12}}@media (min-width:1024px){[data-cols\@l^="1 "]{grid-column-start:1}[data-cols\@l$=" 1"]{grid-column-end:2}[data-cols\@l="1"]{grid-column:1}[data-cols\@l^="2 "]{grid-column-start:2}[data-cols\@l$=" 2"]{grid-column-end:3}[data-cols\@l="2"]{grid-column:2}[data-cols\@l^="3 "]{grid-column-start:3}[data-cols\@l$=" 3"]{grid-column-end:4}[data-cols\@l="3"]{grid-column:3}[data-cols\@l^="4 "]{grid-column-start:4}[data-cols\@l$=" 4"]{grid-column-end:5}[data-cols\@l="4"]{grid-column:4}[data-cols\@l^="5 "]{grid-column-start:5}[data-cols\@l$=" 5"]{grid-column-end:6}[data-cols\@l="5"]{grid-column:5}[data-cols\@l^="6 "]{grid-column-start:6}[data-cols\@l$=" 6"]{grid-column-end:7}[data-cols\@l="6"]{grid-column:6}[data-cols\@l^="7 "]{grid-column-start:7}[data-cols\@l$=" 7"]{grid-column-end:8}[data-cols\@l="7"]{grid-column:7}[data-cols\@l^="8 "]{grid-column-start:8}[data-cols\@l$=" 8"]{grid-column-end:9}[data-cols\@l="8"]{grid-column:8}[data-cols\@l^="9 "]{grid-column-start:9}[data-cols\@l$=" 9"]{grid-column-end:10}[data-cols\@l="9"]{grid-column:9}[data-cols\@l^="10 "]{grid-column-start:10}[data-cols\@l$=" 10"]{grid-column-end:11}[data-cols\@l="10"]{grid-column:10}[data-cols\@l^="11 "]{grid-column-start:11}[data-cols\@l$=" 11"]{grid-column-end:12}[data-cols\@l="11"]{grid-column:11}[data-cols\@l^="12 "]{grid-column-start:12}[data-cols\@l$=" 12"]{grid-column-end:13}[data-cols\@l="12"]{grid-column:12}[data-rows\@l^="1 "]{grid-row-start:1}[data-rows\@l$=" 1"]{grid-row-end:2}[data-rows\@l="1"]{grid-row:1}[data-rows\@l^="2 "]{grid-row-start:2}[data-rows\@l$=" 2"]{grid-row-end:3}[data-rows\@l="2"]{grid-row:2}[data-rows\@l^="3 "]{grid-row-start:3}[data-rows\@l$=" 3"]{grid-row-end:4}[data-rows\@l="3"]{grid-row:3}[data-rows\@l^="4 "]{grid-row-start:4}[data-rows\@l$=" 4"]{grid-row-end:5}[data-rows\@l="4"]{grid-row:4}[data-rows\@l^="5 "]{grid-row-start:5}[data-rows\@l$=" 5"]{grid-row-end:6}[data-rows\@l="5"]{grid-row:5}[data-rows\@l^="6 "]{grid-row-start:6}[data-rows\@l$=" 6"]{grid-row-end:7}[data-rows\@l="6"]{grid-row:6}[data-rows\@l^="7 "]{grid-row-start:7}[data-rows\@l$=" 7"]{grid-row-end:8}[data-rows\@l="7"]{grid-row:7}[data-rows\@l^="8 "]{grid-row-start:8}[data-rows\@l$=" 8"]{grid-row-end:9}[data-rows\@l="8"]{grid-row:8}[data-rows\@l^="9 "]{grid-row-start:9}[data-rows\@l$=" 9"]{grid-row-end:10}[data-rows\@l="9"]{grid-row:9}[data-rows\@l^="10 "]{grid-row-start:10}[data-rows\@l$=" 10"]{grid-row-end:11}[data-rows\@l="10"]{grid-row:10}[data-rows\@l^="11 "]{grid-row-start:11}[data-rows\@l$=" 11"]{grid-row-end:12}[data-rows\@l="11"]{grid-row:11}[data-rows\@l^="12 "]{grid-row-start:12}[data-rows\@l$=" 12"]{grid-row-end:13}[data-rows\@l="12"]{grid-row:12}} \ No newline at end of file
diff --git a/www/releases/_artifacts/v1.0.10/missing-js/19.js b/www/releases/_artifacts/v1.0.10/missing-js/19.js
deleted file mode 100644
index 1e034eb..0000000
--- a/www/releases/_artifacts/v1.0.10/missing-js/19.js
+++ /dev/null
@@ -1,3 +0,0 @@
-function T(e){return(...t)=>(console.log("%c%s","color:green",e,...t),t.at(-1))}const h=T("19.js");function E(e){return e.replace(/[A-Z]/g,t=>"-"+t.toLowerCase())}function f(e,t,n,r,i={}){const{wrap:l=!0}=i,u=e+"ElementSibling",a=()=>l?e==="next"?d(t,n):g(t,n).at(-1):null;if(!r)return a();let o=r;for(;;){for(;o[u]===null;)if(o=o.parentElement,o===t)return a();o=o[u];const s=o.matches(n)?o:d(o,n);if(s)return s}}function d(e,t){return e.querySelector(t)}function g(e,t){return Array.from(e.querySelectorAll(t))}function L(e,t,n,r={}){const i=l=>(r.addedBy&&!r.addedBy.isConnected&&v({target:e,type:t,listener:i,options:r}),n(l));return e.addEventListener(t,i,r),{target:e,type:t,options:r,listener:i}}function v({target:e,type:t,listener:n,options:r}){return e.removeEventListener(t,n,r)}function y(e,t){for(const n of e.split(" "))n==="default"&&t.preventDefault(),n==="bubbling"&&t.stopPropagation(),n==="propagation"&&t.stopImmediatePropagation()}function A(e,t){return n=>{y(e,n),t(n)}}function w(e,t,n){return e.dispatchEvent(new CustomEvent(t,{detail:n}))}function k(e,t,n=void 0){if(typeof t=="object"){for(const i in t)e.setAttribute(E(i),t[i]);return null}const r=e.getAttribute(t);return n===void 0?e.getAttribute(t):n===null?(e.removeAttribute(t),r):(e.setAttribute(t,n),n)}function x(e){const t=document.createElement("div");return t.append(e),t.innerHTML}function b(e){return e==null?"":e instanceof Node?x(e):String(e).replaceAll("&","&amp;").replaceAll("<","&lt;").replaceAll(">","&gt;").replaceAll("'","&#x27;").replaceAll('"',"&quot;")}function N(e,...t){const n=document.createElement("template");return typeof e=="object"&&"raw"in e&&(e=String.raw(e,...t.map(b))),n.innerHTML=e,n.content}function O(e){return e instanceof HTMLElement?e:null}function P(e,t,n,r={}){return f("next",e,t,n,r)}function S(e,t,n,r={}){return f("previous",e,t,n,r)}function B(e){const l={},u=o=>~~(o.altKey&&1)|~~(o.ctrlKey&&2)|~~(o.metaKey&&4)|~~(o.shiftKey&&8),a=o=>{const s=o.split("+"),c=s.pop();let p=0;for(const m in s)switch(m.toLowerCase()){case"alt":p|=1;break;case"ctrl":p|=2;break;case"meta":p|=4;break;case"shift":p|=8;break}return[c,p]};for(const[o,s]of Object.entries(e)){const[c,p]=a(o);(l[c]??(l[c]=new Array(8)))[p]=s}return o=>l[o.key]?.[u(o)]?.(o)}function C(e,t,{mode:n="trailing"}={}){let r=null;return(...i)=>{r?clearTimeout(r):n==="leading"&&t(...i),r=setTimeout(()=>{n==="trailing"&&t(...i),r=null},e)}}function D(e,t){const n=new WeakSet;return(r=document,i={})=>{const l=r.getRootNode();g(r,e).forEach(u=>{n.has(u)||(n.add(u),t(u,{options:i,root:l}))})}}function K(e,t){return n=>{let r=null;const i=(...a)=>{const o=r;r=a.at(-1),r instanceof DocumentFragment&&(r=r.lastChild),o?o.after(...a):e.prepend(...a)},l=a=>{if(a)for(;a.nextSibling;)a.nextSibling.remove();else e.replaceChildren()},u=e.getRootNode();for(const a of n){const o=t.idOf(a),s=u.getElementById(o);i(s?t.update?.(s,a)??s:t.create(a,{id:o}))}l(r)}}export{d as $,g as $$,O as asHtml,k as attr,D as behavior,C as debounce,w as dispatch,y as halt,A as halts,B as hotkey,N as html,b as htmlescape,T as makelogger,P as next,v as off,L as on,S as prev,K as repeater,x as stringifyNode,f as traverse};
-
-/*# sourceMappingURL=./19.js.map */ \ No newline at end of file
diff --git a/www/releases/_artifacts/v1.0.10/missing-js/menu.js b/www/releases/_artifacts/v1.0.10/missing-js/menu.js
deleted file mode 100644
index 80c3830..0000000
--- a/www/releases/_artifacts/v1.0.10/missing-js/menu.js
+++ /dev/null
@@ -1,3 +0,0 @@
-import{$ as m,$$ as h,on as o,dispatch as c,halts as g,attr as i,next as E,prev as _,asHtml as a,hotkey as w,behavior as f,makelogger as k}from"./19.js";const l=k("menu"),x="[role=menu]",s="[role=menuitem]",p=e=>h(e,s),y=(e,{root:r})=>{const t=i(e,"aria-controls");return t===null?null:r.getElementById(t)},u=e=>m(e,s),v=e=>p(e).at(-1)??null,d=e=>!e.hidden,B=f(x,(e,{root:r})=>{if(!(e instanceof HTMLElement))return;let t;p(e).forEach(n=>n.setAttribute("tabindex","-1")),o(e,"menu:open",n=>{t=n.detail?.opener,t||l("Warning: Menu",e,"opened without passing an `opener` element"),e.hidden=!1,u(e)?.focus()}),o(e,"menu:close",n=>{l("menu:close",e.hidden=!0),t?.focus()}),o(e,"focusout",n=>{d(e)&&(e.contains(n.relatedTarget)||t!==n.relatedTarget&&c(e,"menu:close"))}),o(e,"keydown",g("default",w({ArrowUp:n=>a(_(e,s,r.activeElement,{}))?.focus(),ArrowDown:n=>a(E(e,s,r.activeElement,{}))?.focus(),Space:n=>a(r.activeElement?.closest(s))?.click(),Home:n=>u(e)?.focus(),End:n=>v(e)?.focus(),Escape:n=>c(e,"menu:close")}))),o(window,"click",n=>{d(e)&&t!==n.target&&c(e,"menu:close")},{addedBy:e})}),M=f("[aria-haspopup=menu]",(e,{root:r})=>{const t=y(e,{root:r});if(t===null)return l("Error: Menu button",e,"has no menu.");o(t,"menu:close",n=>i(e,"aria-expanded","false"),{addedBy:e}),o(t,"menu:open",n=>i(e,"aria-expanded","true"),{addedBy:e}),o(e,"click",()=>c(t,d(t)?"menu:close":"menu:open",{opener:e}))});B(document);M(document);export{B as menu,M as menuButton};
-
-/*# sourceMappingURL=./menu.js.map */ \ No newline at end of file
diff --git a/www/releases/_artifacts/v1.0.10/missing-js/overflow-nav.js b/www/releases/_artifacts/v1.0.10/missing-js/overflow-nav.js
deleted file mode 100644
index 8ede3f4..0000000
--- a/www/releases/_artifacts/v1.0.10/missing-js/overflow-nav.js
+++ /dev/null
@@ -1,3 +0,0 @@
-import{$ as f,asHtml as g,attr as d,behavior as p,makelogger as m,on as l}from"./19.js";const w=m("overflow-nav"),a=p("[data-overflow-nav]",(t,{options:{expandedClass:o="expanded"}})=>{const e=g(f(t,"[data-nav-expander]"));if(e===null)return w("Expand toggle missing from navbar ",t);const c=()=>t.scrollWidth>t.clientWidth,r=()=>t.classList.contains(o),n=(s=!r())=>{s?(t.classList.add(o),d(e,"aria-pressed",!0),e.textContent="\xD7"):(t.classList.remove(o),d(e,"aria-pressed",!1),e.textContent="\u2630")},i=()=>{const s=e.hidden;e.hidden=!c(),s!=e.hidden&&n(!1)};l(e,"click",()=>n()),i(),l(window,"resize",()=>i(),{addedBy:t})});var h=a;a(document);export{h as default};
-
-/*# sourceMappingURL=./overflow-nav.js.map */ \ No newline at end of file
diff --git a/www/releases/_artifacts/v1.0.10/missing-js/tabs.js b/www/releases/_artifacts/v1.0.10/missing-js/tabs.js
deleted file mode 100644
index 873a350..0000000
--- a/www/releases/_artifacts/v1.0.10/missing-js/tabs.js
+++ /dev/null
@@ -1,3 +0,0 @@
-import{$ as m,$$ as p,on as t,attr as s,next as x,prev as b,asHtml as r,hotkey as T,behavior as k,makelogger as w}from"./19.js";const E=w("tabs"),c=e=>p(e,"[role=tab]"),u=e=>m(e,"[role=tab][aria-selected=true]"),i=(e,n)=>{const o=s(e,"aria-controls");return o===null?(E("Tab",e,"has no associated tabpanel"),null):n.getElementById(o)},f=(e,n,o,{focusTab:h=!0}={})=>{if(!o)return;const a=u(n);if(a){s(a,{ariaSelected:!1,tabindex:-1});const l=i(a,e);l&&(l.hidden=!0)}s(o,{ariaSelected:!0,tabindex:0});const d=i(o,e);d&&(d.hidden=!1),h&&o.focus()},g=k("[role=tablist]",(e,{root:n})=>{e instanceof HTMLElement&&(e.tabIndex=0,c(e).forEach(o=>o.tabIndex=-1),f(n,e,u(e),{focusTab:!1}),t(e,"focus",o=>u(e)?.focus()),t(e,"click",o=>f(n,e,r(r(o.target)?.closest("[role=tab]")))),t(e,"focusin",o=>f(n,e,r(r(o.target)?.closest("[role=tab]")))),t(e,"keydown",T({ArrowRight:o=>r(x(e,"[role=tab]",r(o.target)))?.focus(),ArrowLeft:o=>r(b(e,"[role=tab]",r(o.target)))?.focus(),Home:o=>c(e).at(0)?.focus(),End:o=>c(e).at(-1)?.focus()})))});g(document);var H=g;export{H as default,g as tablist};
-
-/*# sourceMappingURL=./tabs.js.map */ \ No newline at end of file
diff --git a/www/releases/_artifacts/v1.0.10/missing-prism.css b/www/releases/_artifacts/v1.0.10/missing-prism.css
deleted file mode 100644
index 23e48b5..0000000
--- a/www/releases/_artifacts/v1.0.10/missing-prism.css
+++ /dev/null
@@ -1,62 +0,0 @@
-
-.token.comment,
-.token.prolog,
-.token.doctype,
-.token.cdata,
-.token.punctuation {
- color: var(--muted-fg);
-}
-
-.token.property,
-.token.tag,
-.token.boolean,
-.token.number,
-.token.constant,
-.token.symbol,
-.token.deleted {
- color: var(--bad-fg);
-}
-
-.token.selector,
-.token.attr-name,
-.token.string,
-.token.char,
-.token.builtin,
-.token.inserted {
- color: var(--ok-fg);
-}
-
-.token.operator,
-.token.entity,
-.token.url,
-.language-css .token.string,
-.style .token.string,
-.token.regex,
-.token.important,
-.token.variable {
- color: var(--warn-fg)
-}
-
-.token.atrule,
-.token.attr-value,
-.token.keyword {
- color: var(--info-fg);
-}
-
-.token.function {
- color: var(--bad-fg);
- font-style: italic;
-}
-
-.token.important,
-.token.bold {
- font-weight: bold;
-}
-
-.token.italic {
- font-style: italic;
-}
-
-.token.entity {
- cursor: help;
-}
diff --git a/www/releases/_artifacts/v1.0.10/missing-prism.min.css b/www/releases/_artifacts/v1.0.10/missing-prism.min.css
deleted file mode 100644
index 41c91b1..0000000
--- a/www/releases/_artifacts/v1.0.10/missing-prism.min.css
+++ /dev/null
@@ -1 +0,0 @@
-.token.cdata,.token.comment,.token.doctype,.token.prolog,.token.punctuation{color:var(--muted-fg)}.token.boolean,.token.constant,.token.deleted,.token.number,.token.property,.token.symbol,.token.tag{color:var(--bad-fg)}.token.attr-name,.token.builtin,.token.char,.token.inserted,.token.selector,.token.string{color:var(--ok-fg)}.language-css .token.string,.style .token.string,.token.entity,.token.important,.token.operator,.token.regex,.token.url,.token.variable{color:var(--warn-fg)}.token.atrule,.token.attr-value,.token.keyword{color:var(--info-fg)}.token.function{color:var(--bad-fg);font-style:italic}.token.bold,.token.important{font-weight:700}.token.italic{font-style:italic}.token.entity{cursor:help} \ No newline at end of file
diff --git a/www/releases/_artifacts/v1.0.10/missing.css b/www/releases/_artifacts/v1.0.10/missing.css
deleted file mode 100644
index 93ce0eb..0000000
--- a/www/releases/_artifacts/v1.0.10/missing.css
+++ /dev/null
@@ -1,2452 +0,0 @@
-/* Document
- * ========================================================================== */
-
-/**
- * 1. Add border box sizing in all browsers (opinionated).
- * 2. Backgrounds do not repeat by default (opinionated).
- */
-
-*,
-::before,
-::after {
- box-sizing: border-box; /* 1 */
- background-repeat: no-repeat; /* 2 */
-}
-
-/**
- * 1. Add text decoration inheritance in all browsers (opinionated).
- * 2. Add vertical alignment inheritance in all browsers (opinionated).
- */
-
-::before,
-::after {
- text-decoration: inherit; /* 1 */
- vertical-align: inherit; /* 2 */
-}
-
-/**
- * 1. Use the default cursor in all browsers (opinionated).
- * 3. Breaks words to prevent overflow in all browsers (opinionated).
- * 5. Remove the grey highlight on links in iOS (opinionated).
- * 6. Prevent adjustments of font size after orientation changes in iOS.
- */
-
-:root {
- cursor: default; /* 1 */
- overflow-wrap: break-word; /* 3 */
- -webkit-tap-highlight-color: transparent; /* 5 */
- text-size-adjust: none;
- -webkit-text-size-adjust: none;
-}
-
-/* Text-level semantics
- * ========================================================================== */
-
-/**
- * Add the correct text decoration in Safari.
- */
-
-abbr[title] {
- text-decoration: underline;
- -webkit-text-decoration: underline dotted;
- text-decoration: underline dotted;
-}
-
-/**
- * Add the correct font weight in Chrome, Edge, and Safari.
- */
-
-strong, b {
- font-weight: bolder;
-}
-
-/**
- * Add the correct font size in all browsers.
- */
-
-small {
- font-size: 80%;
-}
-
-/* Embedded content
- * ========================================================================== */
-
-/*
- * Change the alignment on media elements in all browsers (opinionated).
- */
-
-audio, canvas, iframe, img, svg, video {
- vertical-align: middle;
-}
-
-/**
- * Change the fill color to match the text color in all browsers (opinionated).
- */
-
-svg:not([fill]) {
- fill: currentColor;
-}
-
-/* Tabular data
- * ========================================================================== */
-
-/**
- * 1. Collapse border spacing in all browsers (opinionated).
- * 2. Correct table border color in Chrome, Edge, and Safari.
- * 3. Remove text indentation from table contents in Chrome, Edge, and Safari.
- */
-
-table {
- border-collapse: collapse; /* 1 */
- border-color: currentColor; /* 2 */
- text-indent: 0; /* 3 */
-}
-
-/* Forms
- * ========================================================================== */
-
-/**
- * Remove the margin on controls in Safari.
- */
-
-button, input, select {
- margin: 0;
-}
-
-/**
- * Correct the inability to style buttons in iOS and Safari.
- */
-
-button, [type="button"], [type="reset"], [type="submit"] {
- -webkit-appearance: button;
-}
-
-/**
- * Change the inconsistent appearance in all browsers (opinionated).
- */
-
-fieldset {
- border: 1px solid #a0a0a0;
-}
-
-/**
- * Add the correct vertical alignment in Chrome, Edge, and Firefox.
- */
-
-progress {
- vertical-align: baseline;
-}
-
-/**
- * 1. Remove the margin in Firefox and Safari.
- */
-
-textarea {
- margin: 0; /* 1 */
-}
-
-/**
- * 1. Correct the odd appearance in Chrome, Edge, and Safari.
- * 2. Correct the outline style in Safari.
- */
-
-[type="search"] {
- -webkit-appearance: textfield; /* 1 */
- outline-offset: -2px; /* 2 */
-}
-
-/**
- * Correct the cursor style of increment and decrement buttons in Safari.
- */
-
-::-webkit-inner-spin-button,
-::-webkit-outer-spin-button {
- block-size: auto;
-}
-
-/**
- * Correct the text style of placeholders in Chrome, Edge, and Safari.
- */
-
-::-webkit-input-placeholder {
- color: inherit;
- opacity: 0.54;
-}
-
-/**
- * Remove the inner padding in Chrome, Edge, and Safari on macOS.
- */
-
-::-webkit-search-decoration {
- -webkit-appearance: none;
-}
-
-/**
- * 1. Correct the inability to style upload buttons in iOS and Safari.
- * 2. Change font properties to `inherit` in Safari.
- */
-
-::-webkit-file-upload-button {
- -webkit-appearance: button; /* 1 */
- font: inherit; /* 2 */
-}
-
-/* Interactive
- * ========================================================================== */
-
-[hidden] {
- display: none !important;
-}
-
-:focus-visible {
- outline: .2em solid var(--accent);
- z-index: 32;
-}
-
-iframe:focus-visible,
- html:focus-visible,
- body:focus-visible {
- outline: none;
- }
-
-:target {
- outline: .2em solid var(--fg);
- z-index: 2;
-}
-
-/*
- * Add the correct display in Safari.
- */
-
-details > summary:first-of-type {
- display: list-item;
-}
-
-/* Accessibility
- * ========================================================================== */
-
-/**
- * Change the cursor on busy elements in all browsers (opinionated).
- */
-
-[aria-busy="true"] {
- cursor: progress;
-}
-
-/*
- * Change the cursor on disabled, not-editable, or otherwise
- * inoperable elements in all browsers (opinionated).
- */
-
-[aria-disabled="true"], [disabled] {
- cursor: not-allowed;
-}
-
-datalist {
- display: none !important;
-}
-
-/* https://github.com/fchristant/colar/ */
-
-:root {
- --gray-0: #f8fafb;
- --gray-1: #f2f4f6;
- --gray-2: #ebedef;
- --gray-3: #e0e4e5;
- --gray-4: #d1d6d8;
- --gray-5: #b1b6b9;
- --gray-6: #979b9d;
- --gray-7: #7e8282;
- --gray-8: #666968;
- --gray-9: #50514f;
- --gray-10: #3a3a37;
- --gray-11: #252521;
- --gray-12: #121210;
-
- --red-0: #fff5f5;
- --red-1: #ffe3e3;
- --red-2: #ffc9c9;
- --red-3: #ffa8a8;
- --red-4: #ff8787;
- --red-5: #ff6b6b;
- --red-6: #fa5252;
- --red-7: #f03e3e;
- --red-8: #e03131;
- --red-9: #c92a2a;
- --red-10: #b02525;
- --red-11: #962020;
- --red-12: #7d1a1a;
-
- --pink-0: #fff0f6;
- --pink-1: #ffdeeb;
- --pink-2: #fcc2d7;
- --pink-3: #faa2c1;
- --pink-4: #f783ac;
- --pink-5: #f06595;
- --pink-6: #e64980;
- --pink-7: #d6336c;
- --pink-8: #c2255c;
- --pink-9: #a61e4d;
- --pink-10: #8c1941;
- --pink-11: #731536;
- --pink-12: #59102a;
-
- --purple-0: #f8f0fc;
- --purple-1: #f3d9fa;
- --purple-2: #eebefa;
- --purple-3: #e599f7;
- --purple-4: #da77f2;
- --purple-5: #cc5de8;
- --purple-6: #be4bdb;
- --purple-7: #ae3ec9;
- --purple-8: #9c36b5;
- --purple-9: #862e9c;
- --purple-10: #702682;
- --purple-11: #5a1e69;
- --purple-12: #44174f;
-
- --violet-0: #f3f0ff;
- --violet-1: #e5dbff;
- --violet-2: #d0bfff;
- --violet-3: #b197fc;
- --violet-4: #9775fa;
- --violet-5: #845ef7;
- --violet-6: #7950f2;
- --violet-7: #7048e8;
- --violet-8: #6741d9;
- --violet-9: #5f3dc4;
- --violet-10: #5235ab;
- --violet-11: #462d91;
- --violet-12: #3a2578;
-
- --indigo-0: #edf2ff;
- --indigo-1: #dbe4ff;
- --indigo-2: #bac8ff;
- --indigo-3: #91a7ff;
- --indigo-4: #748ffc;
- --indigo-5: #5c7cfa;
- --indigo-6: #4c6ef5;
- --indigo-7: #4263eb;
- --indigo-8: #3b5bdb;
- --indigo-9: #364fc7;
- --indigo-10: #2f44ad;
- --indigo-11: #283a94;
- --indigo-12: #21307a;
-
- --blue-0: #e7f5ff;
- --blue-1: #d0ebff;
- --blue-2: #a5d8ff;
- --blue-3: #74c0fc;
- --blue-4: #4dabf7;
- --blue-5: #339af0;
- --blue-6: #228be6;
- --blue-7: #1c7ed6;
- --blue-8: #1971c2;
- --blue-9: #1864ab;
- --blue-10: #145591;
- --blue-11: #114678;
- --blue-12: #0d375e;
-
- --cyan-0: #e3fafc;
- --cyan-1: #c5f6fa;
- --cyan-2: #99e9f2;
- --cyan-3: #66d9e8;
- --cyan-4: #3bc9db;
- --cyan-5: #22b8cf;
- --cyan-6: #15aabf;
- --cyan-7: #1098ad;
- --cyan-8: #0c8599;
- --cyan-9: #0b7285;
- --cyan-10: #095c6b;
- --cyan-11: #074652;
- --cyan-12: #053038;
-
- --teal-0: #e6fcf5;
- --teal-1: #c3fae8;
- --teal-2: #96f2d7;
- --teal-3: #63e6be;
- --teal-4: #38d9a9;
- --teal-5: #20c997;
- --teal-6: #12b886;
- --teal-7: #0ca678;
- --teal-8: #099268;
- --teal-9: #087f5b;
- --teal-10: #066649;
- --teal-11: #054d37;
- --teal-12: #033325;
-
- --green-0: #ebfbee;
- --green-1: #d3f9d8;
- --green-2: #b2f2bb;
- --green-3: #8ce99a;
- --green-4: #69db7c;
- --green-5: #51cf66;
- --green-6: #40c057;
- --green-7: #37b24d;
- --green-8: #2f9e44;
- --green-9: #2b8a3e;
- --green-10: #237032;
- --green-11: #1b5727;
- --green-12: #133d1b;
-
- --lime-0: #f4fce3;
- --lime-1: #e9fac8;
- --lime-2: #d8f5a2;
- --lime-3: #c0eb75;
- --lime-4: #a9e34b;
- --lime-5: #94d82d;
- --lime-6: #82c91e;
- --lime-7: #74b816;
- --lime-8: #66a80f;
- --lime-9: #5c940d;
- --lime-10: #4c7a0b;
- --lime-11: #3c6109;
- --lime-12: #2c4706;
-
- --yellow-0: #fff9db;
- --yellow-1: #fff3bf;
- --yellow-2: #ffec99;
- --yellow-3: #ffe066;
- --yellow-4: #ffd43b;
- --yellow-5: #fcc419;
- --yellow-6: #fab005;
- --yellow-7: #f59f00;
- --yellow-8: #f08c00;
- --yellow-9: #e67700;
- --yellow-10: #b35c00;
- --yellow-11: #804200;
- --yellow-12: #663500;
-
- --orange-0: #fff4e6;
- --orange-1: #ffe8cc;
- --orange-2: #ffd8a8;
- --orange-3: #ffc078;
- --orange-4: #ffa94d;
- --orange-5: #ff922b;
- --orange-6: #fd7e14;
- --orange-7: #f76707;
- --orange-8: #e8590c;
- --orange-9: #d9480f;
- --orange-10: #bf400d;
- --orange-11: #99330b;
- --orange-12: #802b09;
-
- --choco-0: #fff8dc;
- --choco-1: #fce1bc;
- --choco-2: #f7ca9e;
- --choco-3: #f1b280;
- --choco-4: #e99b62;
- --choco-5: #df8545;
- --choco-6: #d46e25;
- --choco-7: #bd5f1b;
- --choco-8: #a45117;
- --choco-9: #8a4513;
- --choco-10: #703a13;
- --choco-11: #572f12;
- --choco-12: #3d210d;
-
- --brown-0: #faf4eb;
- --brown-1: #ede0d1;
- --brown-2: #e0cab7;
- --brown-3: #d3b79e;
- --brown-4: #c5a285;
- --brown-5: #b78f6d;
- --brown-6: #a87c56;
- --brown-7: #956b47;
- --brown-8: #825b3a;
- --brown-9: #6f4b2d;
- --brown-10:#5e3a21;
- --brown-11:#4e2b15;
- --brown-12: #422412;
-
- --sand-0: #f8fafb;
- --sand-1: #e6e4dc;
- --sand-2: #d5cfbd;
- --sand-3: #c2b9a0;
- --sand-4: #aea58c;
- --sand-5: #9a9178;
- --sand-6: #867c65;
- --sand-7: #736a53;
- --sand-8: #5f5746;
- --sand-9: #4b4639;
- --sand-10:#38352d;
- --sand-11:#252521;
- --sand-12: #121210;
-
- --camo-0: #f9fbe7;
- --camo-1: #e8ed9c;
- --camo-2: #d2df4e;
- --camo-3: #c2ce34;
- --camo-4: #b5bb2e;
- --camo-5: #a7a827;
- --camo-6: #999621;
- --camo-7: #8c851c;
- --camo-8: #7e7416;
- --camo-9: #6d6414;
- --camo-10: #5d5411;
- --camo-11: #4d460e;
- --camo-12: #36300a;
-
- --jungle-0: #ecfeb0;
- --jungle-1: #def39a;
- --jungle-2: #d0e884;
- --jungle-3: #c2dd6e;
- --jungle-4: #b5d15b;
- --jungle-5: #a8c648;
- --jungle-6: #9bbb36;
- --jungle-7: #8fb024;
- --jungle-8: #84a513;
- --jungle-9: #7a9908;
- --jungle-10: #658006;
- --jungle-11: #516605;
- --jungle-12: #3d4d04;
-}
-
-/***
- 4.1 The document element
- https://html.spec.whatwg.org/multipage/semantics.html#the-root-element
-
- 4.3 Sections
- https://html.spec.whatwg.org/multipage/sections.html
- ***/
-
-html {
- font-family: var(--main-font);
- line-height: var(--rhythm);
-
- background: var(--bg);
- color: var(--fg);
- scroll-padding-block-start: calc(4 * var(--gap));
-}
-
-body {
- margin: 0;
-}
-
-header, footer, section + section {
- margin-block: calc(2 * var(--gap));
-}
-
-nav a {
- text-decoration: none;
- color: var(--accent);
- }
-
-aside {
- font-size: .8em;
- line-height: calc(var(--rhythm) * 2 / 3);
- --gap: calc(var(--rhythm) * var(--density) * 2 / 3)
-}
-
-aside>* { --rhythm: calc(var(--gap)) }
-
-aside {
-
- border-block: 1px solid var(--graphical-fg);
- padding-block: var(--gap)
-}
-
-aside h1,
- aside h2,
- aside h3,
- aside h4,
- aside h5,
- aside h6 {
- font-size: 1em;
- text-transform: none;
- letter-spacing: none;
- }
-
-aside.big {
- /* Pull quote */
- background: none;
- border: none;
- -webkit-border-start: 1px solid var(--muted-fg);
- border-inline-start: 1px solid var(--muted-fg);
- border-radius: 0;
- padding: 0;
- -webkit-padding-start: var(--rhythm);
- padding-inline-start: var(--rhythm);
- font-style: italic;
- color: var(--accent);
- }
-
-h1, h2, h3, h4, h5, h6,
-.\<h1\>, .\<h2\>, .\<h3\>, .\<h4\>, .\<h5\>, .\<h6\> {
- -webkit-margin-after: var(--gap);
- margin-block-end: var(--gap);
- font-family: var(--secondary-font);
- font-size: 1em;
- -webkit-margin-before: calc(2 * var(--gap));
- margin-block-start: calc(2 * var(--gap));
- position: relative;
-}
-
-h1, .\<h1\> {
- font-size: 2em;
- text-transform: none;
- line-height: calc(2 * var(--rhythm));
- letter-spacing: 0;
-}
-
-h2, .\<h2\> {
- font-size: 1.6em;
- text-transform: none;
- line-height: calc(1.5 * var(--rhythm));
- letter-spacing: 0;
-}
-
-h3, .\<h3\> {
- font-size: 1.17em;
- line-height: calc(1 * var(--rhythm));
-}
-
-h4, .\<h4\>, h5, .\<h5\>, h6, .\<h6\> {
- font-size: 1em;
- text-transform: none;
- line-height: calc(1 * var(--rhythm));
- letter-spacing: 0;
- -webkit-margin-before: var(--gap);
- margin-block-start: var(--gap);
-}
-
-h1 + h2,
-h2 + h3,
-h3 + h4,
-h4 + h5,
-h5 + h6,
-h1:first-child,
-h2:first-child,
-h3:first-child,
-h4:first-child,
-h5:first-child,
-h6:first-child {
- -webkit-margin-before: var(--gap);
- margin-block-start: var(--gap);
-}
-
-h1:target,
-h2:target,
-h3:target,
-h4:target,
-h5:target,
-h6:target {
- outline: none
-}
-
-h1:target::before, h2:target::before, h3:target::before, h4:target::before, h5:target::before, h6:target::before {
- content: "";
- display: block;
- position: absolute;
- left: -.5em;
- width: 4px;
- height: 100%;
- background: var(--accent);
- }
-
-header {
- font-family: var(--secondary-font);
- -webkit-border-after: 1px solid var(--graphical-fg);
- border-block-end: 1px solid var(--graphical-fg);
-}
-
-footer {
- font-family: var(--secondary-font);
- font-size: .8em;
- line-height: calc(var(--rhythm) * 2 / 3);
-}
-
-footer>* { --rhythm: calc(var(--rhythm) * 2 / 3) }
-
-footer {
- -webkit-border-before: 1px solid var(--graphical-fg);
- border-block-start: 1px solid var(--graphical-fg);
-}
-
-body > header,
-body > footer,
-main + footer {
- padding: var(--rhythm) calc((100% - var(--eff-line-length)) / 2)
-}
-
-address {
- --density: 0;
-}
-
-/***
- 4.4 Grouping content
- https://html.spec.whatwg.org/multipage/grouping-content.html
- ***/
-
-p {
- margin-block: var(--gap);
-}
-
-hr {
- color: inherit;
- margin-inline: 0;
- margin-block: var(--gap);
-
- flex: 0 1 0px;
- -webkit-border-start: 1px solid var(--accent);
- border-inline-start: 1px solid var(--accent);
- block-size: auto;
- -webkit-border-before: 1px solid var(--accent);
- border-block-start: 1px solid var(--accent);
- -webkit-border-after: none;
- border-block-end: none;
- -webkit-border-end: none;
- border-inline-end: none;
-}
-
-pre {
- font-family: var(--mono-font);
- font-size: .9em;
- line-height: var(--rhythm);
- tab-size: 2;
-
- margin: var(--gap) 0;
-
- overflow-x: auto;
- scrollbar-width: thin;
- scrollbar-color: var(--accent) transparent;
-}
-
-blockquote {
- margin-inline: 0 var(--gap);
- padding-inline: var(--gap) 0;
- margin-block: var(--gap);
-
- font-size: 1.1em;
- line-height: var(--rhythm);
- font-style: italic;
-
- -webkit-border-start: 1px solid var(--graphical-fg);
-
- border-inline-start: 1px solid var(--graphical-fg);
- color: var(--muted-fg)
-}
-
-blockquote em, blockquote cite, blockquote dfn, blockquote var, blockquote i, blockquote address {
- font-style: normal;
- }
-
-blockquote footer {
- text-align: right;
- text-align: end;
- }
-
-ul, ol {
- -webkit-padding-start: var(--rhythm);
- padding-inline-start: var(--rhythm);
- margin-block: var(--gap)
-}
-
-ul ul, ul ol, ol ul, ol ol {
- -webkit-padding-start: var(--gap);
- padding-inline-start: var(--gap);
- }
-
-ul[role="list"], ol[role="list"], ul[role="listbox"], ol[role="listbox"] {
- -webkit-padding-start: 0;
- padding-inline-start: 0;
- list-style: none;
- }
-
-ul {
-}
-
-ol {
- list-style: decimal;
-}
-
-dl {
- margin-block: var(--gap);
-}
-
-dt {
- font-weight: bold;
- font-family: var(--secondary-font);
- }
-
-dd {
- -webkit-margin-start: var(--rhythm);
- margin-inline-start: var(--rhythm);
- }
-
-li::marker {
- font-family: var(--secondary-font);
-}
-
-figure {
- max-width: 100%;
- margin-inline: 0;
-
- /* SEE components/box.css */
-}
-
-figcaption {
- margin-block: var(--gap);
-
- font-family: var(--secondary-font);
-
- color: var(--muted-fg);
-}
-
-main {
- max-inline-size: var(--eff-line-length);
- inline-size: 100%;
- margin-inline: auto
-}
-
-main:first-child { padding-top: var(--gap); }
-
-/***
- 4.5 Text-level semantics
- https://html.spec.whatwg.org/multipage/text-level-semantics.html
-
- 4.7 Edits
- https://html.spec.whatwg.org/multipage/edits.html
- ***/
-
-/* Text-level semantics */
-
-a, .\<a\> {
- color: var(--link-fg, var(--accent));
- border-radius: var(--border-radius);
- outline-offset: 1px;
- background: none;
- border: none;
- font-size: 1em;
- -webkit-text-decoration: 1px dotted underline;
- text-decoration: 1px dotted underline
-}
-
-.list-of-links :is(a,.\<a\>) {
- text-decoration: none
-}
-
-:is(a,.\<a\>):hover, :is(a,.\<a\>):focus {
- -webkit-text-decoration: 2px solid underline;
- text-decoration: 2px solid underline;
- cursor: pointer;
- outline: none;
- }
-
-small[role="note"] {
- /***
- Sidenote
- ***/
- display: block;
- float: inline-end;
- clear: inline-end;
-
- --sidenote-width: 20ch;
-
- max-inline-size: var(--sidenote-width);
- padding-inline: 1.5ch 1ch;
-
- -webkit-margin-end: calc(1em - var(--sidenote-width));
-
- margin-inline-end: calc(1em - var(--sidenote-width));
- -webkit-margin-after: var(--rhythm);
- margin-block-end: var(--rhythm);
-
- font-family: var(--secondary-font);
-
- background: var(--bg);
- border: 1px solid transparent;
-
- transition: transform .1s ease-in-out
-}
-
-small[role="note"]:hover, small[role="note"]:focus-within {
- border: 1px solid var(--graphical-fg);
- border-radius: var(--border-radius);
- transform: translateX(calc(
- 0px - var(--sidenote-width)
- + min(var(--gutter-width), var(--sidenote-width))
- ))
- }
-
-small, .\<small\> {
- font-size: .8em;
- line-height: calc(var(--rhythm) * 2 / 3)
-}
-
-:is(small,.\<small\>)>* { --rhythm: calc(var(--rhythm) * 2 / 3) }
-
-s {
- color: var(--bad-fg);
-}
-
-q {
- font-style: italic
-}
-
-q em, q cite, q dfn, q var, q i, q address {
- font-style: normal;
- }
-
-time {
- font-variant-numeric: tabular-nums;
-}
-
-code, samp, kbd {
- font-family: var(--mono-font);
- font-style: normal;
-}
-
-samp {
- color: var(--ok-fg);
-}
-
-kbd kbd /*
- We apply the key-like styling to a nested kbd element, a pattern shown in
- WHATWG HTML for marking up keyboard input:
-
- > Here the kbd element is used to indicate keys to press:
- > ~~~ html
- > <p>To make George eat an apple, press <kbd><kbd>Shift</kbd> + <kbd>F3</kbd></kbd></p>
- > ~~~
-
- The plain kbd element can also be used for clicking menus (<kbd>File |
- New...</kbd>) or voice input (<kbd>Hey Siri, </kbd>)
-*/ {
- display: inline-block;
-
- padding: 0 .3em;
- font-size: .8em;
- line-height: 1.1em;
-
- background: var(--interactive-bg);
- border: 1px outset var(--graphical-fg);
- border-block-end-width: 3px;
- border-radius: var(--border-radius);
-}
-
-sub {
- vertical-align: bottom;
- line-height: 1;
-}
-
-sup {
- vertical-align: top;
- line-height: 1;
-}
-
-mark {
- background: var(--warn-bg);
- color: var(--warn-fg);
-}
-
-/* Edits */
-
-ins {
- background: var(--ok-bg);
- color: var(--ok-fg);
-}
-
-del {
- background: var(--bad-bg);
- color: var(--bad-fg);
-}
-
-/***
- 4.8 Embedded content
- https://html.spec.whatwg.org/multipage/embedded-content.html
- ***/
-
-img, video, audio, iframe, object, embed {
- max-inline-size: 100%;
- inline-size: max-content;
- block-size: auto;
-}
-
-/***
- 4.9 Tabular data
- https://html.spec.whatwg.org/multipage/tables.html
- ***/
-
-table {
- font-variant-numeric: tabular-nums;
- font: inherit;
-}
-
-caption {
- text-align: start;
- font-family: var(--secondary-font);
- font-style: italic;
-}
-
-tbody {
- border-block: 1px solid var(--faded-fg);
-}
-
-thead {
-}
-
-tfoot {
-}
-
-tr {
-
-}
-
-td, th {
- vertical-align: top
-}
-
-td:not(:last-child), th:not(:last-child) {
- -webkit-padding-end: var(--rhythm);
- padding-inline-end: var(--rhythm);
- }
-
-td {
- }
-
-th {
- font-family: var(--secondary-font);
- text-align: start;
- }
-
-/***
- 4.10 Forms
- https://html.spec.whatwg.org/multipage/forms.html
- ***/
-
-input { display: block; }
-
-label input:not([specificity-hack]) { display: inline; padding-block: 0; }
-
-button,
-input[type="submit"],
-input[type="reset"],
-input[type="button"],
-input::file-selector-button,
-.\<button\> {
- display: inline-block;
- padding: 0 calc(var(--rhythm) / 4);
- vertical-align: middle;
- box-sizing: border-box;
-
- font-size: .8rem;
- line-height: 1.125em;
- font-family: var(--secondary-font);
- min-height: var(--rhythm);
-
- background: var(--interactive-bg);
- color: var(--fg);
- border: 1px solid var(--muted-fg);
- box-shadow: 0 2px 4px -2px var(--fg);
- border-radius: var(--border-radius);
-
- /* a-specific resets */
- color: var(--fg);
- text-decoration: none;
- display: inline-flex;
- justify-content: center;
- align-items: center
-}
-
-:is(button,input[type="submit"],input[type="reset"],input[type="button"],input::file-selector-button,.\<button\>):hover, :is(button,input[type="submit"],input[type="reset"],input[type="button"],input::file-selector-button,.\<button\>):focus-visible {
- filter: brightness(1.1);
- box-shadow: 0 3px 6px -2px var(--fg);
-
- /* a-specific resets */
- text-decoration: none;
- }
-
-:is(button,input[type="submit"],input[type="reset"],input[type="button"],input::file-selector-button,.\<button\>):active {
- box-shadow: none
- }
-
-:is(button,input[type="submit"],input[type="reset"],input[type="button"],input::file-selector-button,.\<button\>):active:is([aria-pressed], [aria-expanded]) {
- color: var(--accent);
- box-shadow: 0 1px 5px -1px var(--fg) inset;
- }
-
-:is(button,input[type="submit"],input[type="reset"],input[type="button"],input::file-selector-button,.\<button\>):where([aria-pressed="true"], [aria-expanded="true"]) {
- box-shadow: 0 2px 4px -1px var(--fg) inset;
- background: var(--pressed-interactive-bg);
- color: var(--accent)
- }
-
-:is(button,input[type="submit"],input[type="reset"],input[type="button"],input::file-selector-button,.\<button\>):where([aria-pressed="true"], [aria-expanded="true"]):hover, :is(button,input[type="submit"],input[type="reset"],input[type="button"],input::file-selector-button,.\<button\>):where([aria-pressed="true"], [aria-expanded="true"]):focus-visible {
- box-shadow: 0 1px 3px -1px var(--fg) inset;
- }
-
-[disabled]:is(button,input[type="submit"],input[type="reset"],input[type="button"],input::file-selector-button,.\<button\>) {
- color: var(--muted-fg);
- box-shadow: none;
- }
-
-strong > :is(button,input[type="submit"],input[type="reset"],input[type="button"],input::file-selector-button,.\<button\>) {
- background: var(--accent);
- color: var(--bg);
- border: none;
- font-weight: bold
-}
-
-strong > [disabled]:is(button,input[type="submit"],input[type="reset"],input[type="button"],input::file-selector-button,.\<button\>) {
- color: var(--muted-accent);
- }
-
-.big:is(button,input[type="submit"],input[type="reset"],input[type="button"],input::file-selector-button,.\<button\>) {
- min-block-size: calc(1.5 * var(--rhythm));
- font-size: 1rem;
- padding-inline: calc(.5 * var(--rhythm));
- line-height: var(--rhythm)
-}
-
-input:not([type]),
-input[type="text"],
-input[type="search"],
-input[type="tel"],
-input[type="url"],
-input[type="email"],
-input[type="password"],
-input[type="date"],
-input[type="month"],
-input[type="week"],
-input[type="time"],
-input[type="datetime"],
-input[type="datetime-local"],
-input[type="number"],
-select,
-textarea {
- padding: calc(var(--rhythm) / 4);
- vertical-align: top;
-
- font-size: 1rem;
- line-height: inherit;
- font-family: var(--main-font);
-
- background: var(--bg);
- color: var(--fg);
- border: 1px solid var(--graphical-fg);
- border-radius: var(--border-radius);
-
- vertical-align: top
-}
-
-:is(input:not([type]),input[type="text"],input[type="search"],input[type="tel"],input[type="url"],input[type="email"],input[type="password"],input[type="date"],input[type="month"],input[type="week"],input[type="time"],input[type="datetime"],input[type="datetime-local"],input[type="number"],select,textarea):focus-visible {
- border: 1px solid var(--accent);
- }
-
-:is(input:not([type]),input[type="text"],input[type="search"],input[type="tel"],input[type="url"],input[type="email"],input[type="password"],input[type="date"],input[type="month"],input[type="week"],input[type="time"],input[type="datetime"],input[type="datetime-local"],input[type="number"],select,textarea)::placeholder {
- color: var(--muted-fg);
- opacity: 1;
- text-align: end;
- }
-
-input[type="range"] {
- width: 100%;
- padding: calc(var(--gap) / 4);
-}
-
-input[type="color"] {
- padding: 0;
- margin: 0;
- height: calc(1.5 * var(--rhythm));
-
- border: none;
- background: none;
-}
-
-input[type="file"] {
- padding: calc(var(--gap) / 4) 0;
- font: inherit;
- line-height: calc(var(--rhythm) / 2)
-}
-
-input[type="file"]::file-selector-button {
- margin-block: .1em 0;
- -webkit-margin-end: 1ch;
- margin-inline-end: 1ch;
- }
-
-select[multiple] {
- vertical-align: top;
-}
-
-optgroup::before {
- color: var(--muted-fg);
- font-style: normal;
-}
-
-progress {
- /* TODO */
-}
-
-meter {
- /* TODO */
-}
-
-label[for] {
- display: block;
- padding-block: calc(var(--gap) / 4);
-}
-
-fieldset {
- position: relative;
-
- padding: var(--gap);
- margin: var(--gap) 0;
- width: 100%;
- border-radius: var(--border-radius);
-}
-
-fieldset > legend + * { -webkit-margin-before: 0; margin-block-start: 0 }
-
-fieldset {
-
- border: 1px solid var(--graphical-fg);
-}
-
-/***
- 4.11 Interactive elements
- https://html.spec.whatwg.org/multipage/interactive-elements.html#interactive-elements
- ***/
-
-details:not(specificity-hack) {
- /* SEE components/box.css */
-
- -webkit-padding-before: 0;
-
- padding-block-start: 0
-}
-
-details:not(specificity-hack):not([open]) { -webkit-padding-after: 0; padding-block-end: 0; }
-
-summary {
- margin: calc(0px - var(--gap));
- margin-top: calc(0px - var(--gap));
- margin-bottom: 0;
- padding-inline: var(--gap);
-
- font-family: var(--secondary-font);
- font-weight: bold;
-
- cursor: pointer
-}
-
-summary:focus-visible, summary:active {
- filter: brightness(.8);
- outline: none;
- }
-
-dialog {
- /* SEE components/box.css */
-
- inline-inset: 0;
-
- block-size: -moz-fit-content;
-
- block-size: fit-content;
- inline-size: -moz-fit-content;
- inline-size: fit-content;
-
- margin: auto !important;
-
- background-color: var(--bg);
- color: var(--fg);
- border-color: var(--accent);
-}
-
-dialog[open]::backdrop {
- display: block;
- background: black;
- opacity: .4;
- animation: bg 2s;
-}
-
-@keyframes bg {
- from { background: transparent; }
-}
-
-dialog:not([open]) {
- display: none;
-}
-
-.box,
-/* defined elsewhere */
-[role=menu],
-.sidebar-layout > header,
-[role=tabpanel],
-figure,
-details,
-dialog {
- margin: var(--gap) 0;
- padding: var(--gap);
- overflow: clip;
-
- border-radius: var(--border-radius);
- background: var(--box-bg);
- border: 1px solid var(--graphical-fg);
-}
-
-.titlebar {
- margin-inline: calc(0px - var(--gap));
- -webkit-margin-after: calc(0px - var(--gap));
- margin-block-end: calc(0px - var(--gap));
- padding-inline: var(--gap);
-
- font: inherit;
- font-family: var(--secondary-font);
- font-weight: bold;
-
- translate: 0 calc(-1px - var(--gap));
-
- background: var(--graphical-fg);
- color: var(--bg);
-}
-
-.sub-title, sub-title {
- /***
- Meant for use in headings. Make sure to also use visually-hidden punctuation
- to mark the subtitle as shown below:
-
- 1 | <h1>
- 2 | Foo Bar<v-h>:</v-h>
- 3 | <sub-title>How I Learned To Stop Worrying and Love Baz</sub-title>
- 4 | </h1>
-
- 1 | <h1>
- 2 | <sub-title class="-allcaps">Breaking News</sub-title><v-h>:</v-h>
- 3 | Bad Thing Happens
- 4 | <h1>
- ***/
-
- display: block;
-
- font-weight: normal;
-
- color: var(--muted-fg);
-}
-
-.tool-bar, [role=toolbar] {
- display: flex;
- flex-flow: row wrap;
- gap: calc(var(--gap) / 2)
-}
-
-.tool-bar > *, [role=toolbar] > * { margin: 0; }
-
-.sidebar-layout header li {
- margin-block: calc(.5 * var(--gap));
- }
-
-.sidebar-layout header a {
- font-weight: bold;
- }
-
-@media (min-width: 75ch) {
-
-.sidebar-layout {
- display: grid;
- grid-template-columns: 25ch auto;
- inset: 0
-}
-
- .sidebar-layout > header {
- border-block: none;
- -webkit-border-start: none;
- border-inline-start: none;
- margin: 0;
- }
-
- .sidebar-layout > :nth-child(2) {
- overflow: auto;
- --full-width: calc(100vw - 25ch);
- margin-top: var(--gap);
- }
- }
-
-.breadcrumbs[aria-label] {
- font-family: var(--secondary-font)
-}
-
-.breadcrumbs[aria-label] ul, .breadcrumbs[aria-label] ol {
- list-style: none;
- -webkit-padding-start: 0;
- padding-inline-start: 0;
- }
-
-.breadcrumbs[aria-label] li {
- display: inline
- }
-
-:is(.breadcrumbs[aria-label] li)+li::before {
- content: ' / ' / '';
- content: ' / ';
- display: inline;
- }
-
-.breadcrumbs[aria-label] [aria-current="page"] {
- font-weight: bold;
- }
-
-.chip, chip {
- font-family: var(--secondary-font);
- border: 1px solid var(--accent);
- background: var(--box-bg);
- border-radius: calc(var(--rhythm) / 2);
- padding-inline: calc(var(--rhythm) / 2);
-}
-
-.navbar {
- padding: var(--rhythm);
-
- font-family: var(--secondary-font);
-
- background: var(--box-bg);
- -webkit-border-after: 1px solid var(--accent);
- border-block-end: 1px solid var(--accent);
-
- overflow-x: auto;
- scrollbar-width: thin;
-
- position: sticky;
- z-index: 5;
- top: 0;
- left: 0;
- right: 0;
-
- /* Inner layout */
- display: flex;
- flex-flow: row;
- align-items: center;
- gap: var(--gap)
-}
-
-.navbar.expanded {
- flex-flow: column;
- align-items: start;
-
- max-height: 90vh;
- overflow-y: auto
- }
-
-.navbar.expanded ul[role="list"] { flex-flow: column; }
-
-.navbar * {
- flex-shrink: 0;
- margin-block: 0;
- }
-
-.navbar:not(.expanded) > :first-child, .navbar:not(.expanded) nav > :first-child { -webkit-margin-start: auto; margin-inline-start: auto; }
-
-.navbar:not(.expanded) > :last-child, .navbar:not(.expanded) nav > :last-child { -webkit-margin-end: auto; margin-inline-end: auto; }
-
-.navbar hr { align-self: stretch; }
-
-.navbar nav ul[role="list"] {
- display: flex;
- flex-flow: row;
- gap: var(--rhythm)
- }
-
-.navbar nav ul[role="list"] * { flex-shrink: 0 }
-
-.navbar nav ul[role="list"] {
- -webkit-padding-start: 0;
- padding-inline-start: 0;
- }
-
-.navbar a {
- font-weight: bold;
- text-decoration: none;
- padding-inline: .2em;
- }
-
-.navbar a:hover, .navbar a:focus {
- text-decoration: underline;
- }
-
-.navbar [aria-current=page] {
- position: relative;
- }
-
-.navbar [aria-current=page]::after {
- width: 100%;
- height: 6px;
- content: "";
- display: block;
- position: absolute;
- bottom: calc(-1 * var(--gap));
- background: currentcolor;
- }
-
-.navbar.expanded [aria-current=page]::after {
- width: 6px;
- height: 100%;
- position: absolute;
- left: calc(-1 * var(--gap));
- top: 0;
- }
-
-.permalink-anchor {
- display: none
-}
-
-*:hover > .permalink-anchor {
- display: initial
-}
-
-button.iconbutton {
- border: none;
- background: none;
- color: currentcolor;
- padding: 0;
- line-height: var(--rhythm);
- font-size: 24px;
- width: 24px;
- height: 24px;
- display: inline-block;
- text-align: center;
- border-radius: 50%;
- transition: font-weight .2s ease-in-out
-}
-
-button.iconbutton:hover, button.iconbutton:focus-visible {
- outline: 1px solid var(--accent);
- outline-offset: 6px;
- }
-
-button.iconbutton:active {
- outline-offset: 3px;
- background: none;
- }
-
-button.iconbutton[aria-pressed=true] {
- box-shadow: none;
- transform: none;
- }
-
-[role="tablist"] {
- display: flex;
- gap: .5ch;
- scrollbar-width: thin;
-}
-
-[role="tab"][role="tab"] {
- all: initial;
-
- font-family: var(--secondary-font);
-
- padding: 0 calc(var(--rhythm) / 4);
- margin: 0;
- min-height: var(--rhythm);
- bottom: -1px;
- position: relative;
-
- color: var(--fg);
- border: solid var(--graphical-fg);
- border-width: 1px;
- background: var(--interactive-bg);
-
- border-start-start-radius: .4em;
- border-start-end-radius: .4em
-}
-
-[role="tab"][role="tab"]:active, [role="tab"][role="tab"][aria-selected="true"] {
- background: var(--box-bg);
- -webkit-border-after: 1px solid transparent;
- border-block-end: 1px solid transparent;
- }
-
-[role="tab"][role="tab"]:hover {
- background-color: var(--box-bg);
- box-shadow: none;
- }
-
-[role="tab"][role="tab"]:focus-visible {
- box-shadow: none;
- color: var(--accent);
- text-decoration: underline;
- }
-
-[role="tabpanel"] {
- /* SEE components/box.css */
-
- -webkit-margin-before: 0;
-
- margin-block-start: 0;
- border-start-start-radius: 0;
- border-start-end-radius: 0;
- z-index: 1;
-}
-
-[role="menu"] {
- /* SEE components/box.css */
- position: absolute;
-
- z-index: 10;
-
- padding: calc(var(--gap) / 2) 0;
- margin: 1px 0 0 0;
-
- display: flex;
- flex-flow: column nowrap;
-}
-
-[role=menuitem] {
- padding: 0 calc(var(--gap) / 2);
-
- display: block;
-
- text-decoration: none;
- border-radius: 0;
-
- color: var(--fg)
-}
-
-[role=menuitem]:focus, [role=menuitem]:active {
- background: var(--accent);
- color: var(--bg);
- }
-
-[role=listbox] {
- list-style: none
-}
-
-[role=listbox] [role=option] {
- margin-inline: calc(-1 * var(--gap));
- padding-inline: var(--gap);
- }
-
-[role=listbox] [role=option][aria-selected=true] {
- background: var(--interactive-bg);
- }
-
-[role=listbox] .active[role=option] {
- --temporary-bg: var(--accent);
- --temporary-fg: var(--bg);
- --temporary-accent: parent-var(--muted-accent);
- --temporary-muted-accent: parent-var(--box-bg);
-
- background: var(--temporary-bg);
- color: var(--temporary-fg)
- }
-
-[role=listbox] .active[role=option] > * {
- --bg: var(--temporary-bg);
- --fg: var(--temporary-fg);
- --accent: var(--temporary-accent);
- --muted-accent: var(--temporary-muted-accent);
- }
-
-[aria-orientation="vertical"] {
- flex-direction: column;
- width: -moz-fit-content;
- width: fit-content;
- text-align: center;
-}
-
-.plain {
- --box-bg: var(--plain-bg);
- --accent: var(--plain-fg);
- --graphical-fg: var(--plain-graphical-fg);
-}
-
-.info {
- --box-bg: var(--info-bg);
- --accent: var(--info-fg);
- --graphical-fg: var(--info-graphical-fg);
-}
-
-.ok {
- --box-bg: var(--ok-bg);
- --accent: var(--ok-fg);
- --graphical-fg: var(--ok-graphical-fg);
-}
-
-.warn {
- --box-bg: var(--warn-bg);
- --accent: var(--warn-fg);
- --graphical-fg: var(--warn-graphical-fg);
-}
-
-.bad {
- --box-bg: var(--bad-bg);
- --accent: var(--bad-fg);
- --graphical-fg: var(--bad-graphical-fg);
-}
-
-.color {
- color: var(--accent);
-}
-
-.bg {
- background: var(--box-bg);
-}
-
-.border {
- border-style: solid;
- border-color: var(--graphical-fg);
-}
-
-:root {
- /* Colors */
- --fg: var(--gray-12); /* Text. */
- --muted-fg: var(--gray-10); /* Secondary text color. Will be
- used with a background of --c-bg and --c-bg-2 -- check contrast! */
- --faded-fg: var(--gray-6); /* Disabled text color. */
- --graphical-fg: var(--plain-graphical-fg); /* Graphical elements. Will not
- be used as a text color. */
-
- --plain-fg: var(--blue-10);
- --info-fg: var(--blue-11);
- --ok-fg: var(--green-11);
- --bad-fg: var(--red-11);
- --warn-fg: var(--yellow-11);
-
- --plain-graphical-fg: var(--gray-6);
- --info-graphical-fg: var(--blue-6);
- --ok-graphical-fg: var(--green-6);
- --bad-graphical-fg: var(--red-6);
- --warn-graphical-fg: var(--yellow-6);
-
- --bg: var(--gray-0); /* Page background. */
- --box-bg: var(--plain-bg); /* Background for blocks: cards, admonitions etc. */
- --interactive-bg: var(--gray-4); /* Background for interactive elements */
-
- --plain-bg: var(--gray-1);
- --info-bg: var(--blue-1);
- --ok-bg: var(--green-1);
- --bad-bg: var(--red-1);
- --warn-bg: var(--yellow-1);
-
- --accent: var(--blue-10); /* Accent color. Will be used *as a text color* with a
- background of --c-bg and --c-bg-2 -- check contrast! */
- --muted-accent: var(--blue-7); /* Muted accent color. Will not be used for text. */
-
- /* Lengths */
- --rhythm: 1.4rem; /* Vertical rhythm, line height. */
- --line-length: 40rem; /* Maximum line length for prose. */
- --border-radius: .2rem;
-
- /* Fonts */
- --main-font: 'Source Sans 3', 'Source Sans Pro', -apple-system, system-ui, sans-serif;
- --secondary-font: var(--main-font); /* Headings etc. */
- --mono-font: 'M Plus Code Latin', monospace, monospace; /* monospace twice stops browsers from
- shrinking this */
-
- /* Density */
- --density: 1;
-
- /* Width */
- --full-width: 100vw;
-
- /* Do not set these. */
- --eff-line-length: /* Effective line length for prose. */
- min(
- calc( var(--full-width) - (2 * var(--rhythm)) ),
- var(--line-length)
- );
-
- --gutter-width: /* Width of spaces at each side of page content. */
- calc(
- (
- var(--full-width) /* Viewport width */
- - var(--eff-line-length) /* minus line width */
- ) / 2); /* Divide by 2: there are two page margins */
-}
-
-@media (prefers-color-scheme: dark) {
- :root:not(.-no-dark-theme) {
- --fg: var(--gray-0);
- --muted-fg: var(--gray-2);
- --faded-fg: var(--gray-7);
-
- --plain-bg: var(--gray-11);
- --info-bg: var(--blue-12);
- --ok-bg: var(--green-12);
- --bad-bg: var(--red-12);
- --warn-bg: var(--yellow-12);
-
- --plain-faded-fg: var(--blue-6);
- --info-faded-fg: var(--blue-6);
- --ok-faded-fg: var(--green-6);
- --bad-faded-fg: var(--red-6);
- --warn-faded-fg: var(--yellow-6);
-
- --bg: var(--gray-12);
- --box-bg: var(--gray-10);
- --interactive-bg: var(--gray-8);
-
- --plain-fg: (--blue-3);
- --info-fg: var(--blue-3);
- --ok-fg: var(--green-3);
- --bad-fg: var(--red-3);
- --warn-fg: var(--yellow-3);
-
- --accent: var(--blue-3);
- --muted-accent: var(--blue-5);
- }
-}
-
-:root {
- --gap: calc(var(--rhythm) * var(--density));
-}
-
-* {
- accent-color: var(--accent);
-}
-
-.textcolumns {
- --col-width: 30ch;
- column-width: var(--col-width);
- column-gap: var(--gap);
- margin-block: var(--gap)
-}
-
-.textcolumns :first-child { -webkit-margin-before: 0 !important; margin-block-start: 0 !important }
-
-.text-align\:center {
- text-align: center;
-}
-
-.center {
- display: grid;
- place-items: center;
-}
-
-/**/
-
-.container {
- max-inline-size: var(--eff-line-length);
- margin-inline: auto;
-}
-
-.fullbleed {
- position: relative;
- width: var(--full-width);
- left: 50%;
- transform: translateX(calc(-.5 * var(--full-width)));
-
- border-radius: 0;
- border-inline: none;
-}
-
-.fullscreen {
- height: 100vh;
-
- position: relative;
- width: 100vw;
- left: 50%;
- transform: translateX(-50vw);
-
- border-radius: 0;
- border-inline: none;
-}
-
-.width\:100\% { width:100%; max-width: 100% }
-
-.height\:100\% { height:100%; max-height: 100% }
-
-/**/
-
-/* margin-trim had better be implemented soon */
-
-:is(
- body,
- .box,
- [role=menu],
- .sidebar-layout > header,
- [role=tabpanel],
- figure,
- details,
- dialog,
- aside,
- fieldset,
- dd,
- td,
- th
-)>:first-child:first-child:first-child:first-child,
- :is(
- body,
- .box,
- [role=menu],
- .sidebar-layout > header,
- [role=tabpanel],
- figure,
- details,
- dialog,
- aside,
- fieldset,
- dd,
- td,
- th
-)>:first-child>:first-child:first-child:first-child,
- :is(
- body,
- .box,
- [role=menu],
- .sidebar-layout > header,
- [role=tabpanel],
- figure,
- details,
- dialog,
- aside,
- fieldset,
- dd,
- td,
- th
-)>:first-child>:first-child>:first-child:first-child,
- :is(
- body,
- .box,
- [role=menu],
- .sidebar-layout > header,
- [role=tabpanel],
- figure,
- details,
- dialog,
- aside,
- fieldset,
- dd,
- td,
- th
-)>:first-child>:first-child>:first-child>:first-child { -webkit-margin-before: 0; margin-block-start: 0; }
-
-:is(
- body,
- .box,
- [role=menu],
- .sidebar-layout > header,
- [role=tabpanel],
- figure,
- details,
- dialog,
- aside,
- fieldset,
- dd,
- td,
- th
-)>:last-child:last-child:last-child:last-child,
- :is(
- body,
- .box,
- [role=menu],
- .sidebar-layout > header,
- [role=tabpanel],
- figure,
- details,
- dialog,
- aside,
- fieldset,
- dd,
- td,
- th
-)>:last-child>:last-child:last-child:last-child,
- :is(
- body,
- .box,
- [role=menu],
- .sidebar-layout > header,
- [role=tabpanel],
- figure,
- details,
- dialog,
- aside,
- fieldset,
- dd,
- td,
- th
-)>:last-child>:last-child>:last-child:last-child,
- :is(
- body,
- .box,
- [role=menu],
- .sidebar-layout > header,
- [role=tabpanel],
- figure,
- details,
- dialog,
- aside,
- fieldset,
- dd,
- td,
- th
-)>:last-child>:last-child>:last-child>:last-child { -webkit-margin-after: 0; margin-block-end: 0; }
-
-/**/
-
-.padding { padding-inline: var(--gap) }
-
-.padding-block { padding-block: var(--gap) }
-
-.padding-block-start { -webkit-padding-before: var(--gap); padding-block-start: var(--gap) }
-
-.padding-block-end { -webkit-padding-after: var(--gap); padding-block-end: var(--gap) }
-
-.padding-inline { padding-inline: var(--gap) }
-
-.padding-inline-start { -webkit-padding-start: var(--gap); padding-inline-start: var(--gap) }
-
-.padding-inline-end { -webkit-padding-start: var(--gap); padding-inline-start: var(--gap) }
-
-.margin { margin: var(--gap) }
-
-.margin-block { margin-block: var(--gap) }
-
-.margin-block-start { -webkit-margin-before: var(--gap); margin-block-start: var(--gap) }
-
-.margin-block-end { -webkit-margin-after: var(--gap); margin-block-end: var(--gap) }
-
-.margin-inline { margin-inline: var(--gap) }
-
-.margin-inline-start { -webkit-margin-start: var(--gap); margin-inline-start: var(--gap) }
-
-.margin-inline-end { -webkit-margin-end: var(--gap); margin-inline-end: var(--gap) }
-
-.flow-gap > :not(:last-child) {
- margin-bottom: var(--gap);
- }
-
-/**/
-
-.inline { display: inline }
-
-.block { display: block }
-
-.contents { display: contents }
-
-.table {
- display: table;
- width: 100%;
- margin: 0;
-}
-
-.row, .rows > * {
- display: table-row
-}
-
-.row:not(:last-child):not([specificity-hack]) > *, .rows > *:not(:last-child):not([specificity-hack]) > * {
- margin-bottom: var(--gap);
- }
-
-.row > *:not([specificity-hack]), .rows > * > *:not([specificity-hack]) {
- display: table-cell;
- vertical-align: top;
- }
-
-.row > * + *:not([specificity-hack]), :is(.rows > *) > * + *:not([specificity-hack]) {
- -webkit-margin-start: var(--gap);
- margin-inline-start: var(--gap);
- display: inline-block;
- }
-
-/**/
-
-.big {
- font-size: 1.4em;
- line-height: calc(1.5 * var(--rhythm));
-}
-
-/**/
-
-.fixed { position: fixed }
-
-.sticky { position: sticky }
-
-.top { top: 0 }
-
-.right { right: 0 }
-
-.bottom { bottom: 0 }
-
-.left { left: 0 }
-
-.float\:left { float: left }
-
-.float\:right { float: right }
-
-.overflow\:auto { overflow: auto }
-
-.overflow\:scroll { overflow: scroll }
-
-.airy { --density: 3; }
-
-.spacious { --density: 2; }
-
-.dense { --density: 1; }
-
-.crowded { --density: .5; }
-
-.packed { --density: 0; }
-
-.autodensity {
- --density: 1
-}
-
-@media (min-width: 768px) {
-
-.autodensity { --density: 2
-}}
-
-@media (min-width: 1024px) {
-
-.autodensity { --density: 3
-}}
-
-.vh, v-h {
- clip: rect(0 0 0 0);
- -webkit-clip-path: inset(50%);
- clip-path: inset(50%);
- block-size: 1px;
- inline-size: 1px;
- overflow: hidden;
- white-space: nowrap;
-}
-
-.all\:initial {
- all: initial;
-}
-
-.bold { font-weight: bold }
-
-.italic {
- font-style: italic
-}
-
-.italic em, .italic cite, .italic dfn, .italic var, .italic i, .italic address {
- font-style: normal;
- }
-
-.allcaps {
- text-transform: uppercase;
- letter-spacing: .1rem;
-}
-
-.primary-font { font-family: var(--primary-font) }
-
-.secondary-font { font-family: var(--secondary-font) }
-
-.display-font { font-family: var(--display-font) }
-
-.mono-font, .monospace { font-family: var(--mono-font) }
-
-.massivetext {
- font-size: calc(.13 * var(--eff-line-length));
- line-height: 1em;
- letter-spacing: 0;
-}
-
-.aestheticbreak {
- display: block;
- margin: 0;
- padding: 0;
- height: calc(.5 * var(--gap));
-}
-
-.f-row {
- display: flex;
- flex-direction: row;
- gap: var(--gap)
-}
-
-.f-row > * { margin: 0 }
-
-.f-col {
- display: flex;
- flex-direction: column;
- gap: var(--gap)
-}
-
-.f-col > * { margin: 0 }
-
-.f-switch {
- display: flex;
- flex-wrap: wrap;
- gap: var(--gap);
- --f-switch-threshold: 55ch
-}
-
-.f-switch > * {
- margin: 0;
-
- flex-grow: 1;
- flex-basis: calc((var(--f-switch-threshold) - 100%) * 999);
- }
-
-.justify-content\:start { justify-content: start }
-
-.justify-content\:end { justify-content: end }
-
-.justify-content\:baseline { justify-content: baseline }
-
-.justify-content\:center { justify-content: center }
-
-.justify-content\:stretch { justify-content: stretch }
-
-.justify-content\:space-between { justify-content: space-between }
-
-.justify-content\:space-around { justify-content: space-around }
-
-.justify-content\:space-evenly { justify-content: space-evenly }
-
-.align-items\:start { align-items: start }
-
-.align-items\:end { align-items: end }
-
-.align-items\:baseline { align-items: baseline }
-
-.align-items\:center { align-items: center }
-
-.align-items\:stretch { align-items: stretch }
-
-.align-self\:start { align-self: start }
-
-.align-self\:end { align-self: end }
-
-.align-self\:baseline { align-self: baseline }
-
-.align-self\:center { align-self: center }
-
-.align-self\:stretch { align-self: stretch }
-
-.flex-grow\:0 { flex-grow: 0 }
-
-.flex-grow\:1 { flex-grow: 1 }
-
-.flex-grow\:2 { flex-grow: 2 }
-
-.flex-grow\:3 { flex-grow: 3 }
-
-.flex-grow\:4 { flex-grow: 4 }
-
-.flex-grow\:5 { flex-grow: 5 }
-
-.flex-grow\:6 { flex-grow: 6 }
-
-.flex-grow\:7 { flex-grow: 7 }
-
-.flex-grow\:8 { flex-grow: 8 }
-
-.flex-grow\:9 { flex-grow: 9 }
-
-.flex-grow\:10 { flex-grow: 10 }
-
-.flex-grow\:11 { flex-grow: 11 }
-
-.flex-grow\:12 { flex-grow: 12 }
-
-.flex-wrap\:wrap { flex-wrap: wrap }
-
-.flex-wrap\:nowrap { flex-wrap: nowrap }
-
-.grid {
- display: grid;
- grid-auto-columns: var(--grid-col-width, 1fr);
- grid-auto-rows: var(--grid-row-width, auto);
- gap: var(--gap)
-}
-
-.grid > * { margin: 0 }
-
-.grid-even-rows { --grid-row-width: 1fr; }
-
-.grid-variable-cols { --grid-column-width: auto; }
-
-[data-cols^="1 " ] { grid-column-start: 1 }
-
-[data-cols$=" 1" ] { grid-column-end: 2 }
-
-[data-cols="1" ] { grid-column: 1 }
-
-[data-cols^="2 " ] { grid-column-start: 2 }
-
-[data-cols$=" 2" ] { grid-column-end: 3 }
-
-[data-cols="2" ] { grid-column: 2 }
-
-[data-cols^="3 " ] { grid-column-start: 3 }
-
-[data-cols$=" 3" ] { grid-column-end: 4 }
-
-[data-cols="3" ] { grid-column: 3 }
-
-[data-cols^="4 " ] { grid-column-start: 4 }
-
-[data-cols$=" 4" ] { grid-column-end: 5 }
-
-[data-cols="4" ] { grid-column: 4 }
-
-[data-cols^="5 " ] { grid-column-start: 5 }
-
-[data-cols$=" 5" ] { grid-column-end: 6 }
-
-[data-cols="5" ] { grid-column: 5 }
-
-[data-cols^="6 " ] { grid-column-start: 6 }
-
-[data-cols$=" 6" ] { grid-column-end: 7 }
-
-[data-cols="6" ] { grid-column: 6 }
-
-[data-cols^="7 " ] { grid-column-start: 7 }
-
-[data-cols$=" 7" ] { grid-column-end: 8 }
-
-[data-cols="7" ] { grid-column: 7 }
-
-[data-cols^="8 " ] { grid-column-start: 8 }
-
-[data-cols$=" 8" ] { grid-column-end: 9 }
-
-[data-cols="8" ] { grid-column: 8 }
-
-[data-cols^="9 " ] { grid-column-start: 9 }
-
-[data-cols$=" 9" ] { grid-column-end: 10 }
-
-[data-cols="9" ] { grid-column: 9 }
-
-[data-cols^="10 "] { grid-column-start: 10 }
-
-[data-cols$=" 10"] { grid-column-end: 11 }
-
-[data-cols="10"] { grid-column: 10 }
-
-[data-cols^="11 "] { grid-column-start: 11 }
-
-[data-cols$=" 11"] { grid-column-end: 12 }
-
-[data-cols="11"] { grid-column: 11 }
-
-[data-cols^="12 "] { grid-column-start: 12 }
-
-[data-cols$=" 12"] { grid-column-end: 13 }
-
-[data-cols="12"] { grid-column: 12 }
-
-[data-rows^="1 " ] { grid-row-start: 1 }
-
-[data-rows$=" 1" ] { grid-row-end: 2 }
-
-[data-rows="1" ] { grid-row: 1 }
-
-[data-rows^="2 " ] { grid-row-start: 2 }
-
-[data-rows$=" 2" ] { grid-row-end: 3 }
-
-[data-rows="2" ] { grid-row: 2 }
-
-[data-rows^="3 " ] { grid-row-start: 3 }
-
-[data-rows$=" 3" ] { grid-row-end: 4 }
-
-[data-rows="3" ] { grid-row: 3 }
-
-[data-rows^="4 " ] { grid-row-start: 4 }
-
-[data-rows$=" 4" ] { grid-row-end: 5 }
-
-[data-rows="4" ] { grid-row: 4 }
-
-[data-rows^="5 " ] { grid-row-start: 5 }
-
-[data-rows$=" 5" ] { grid-row-end: 6 }
-
-[data-rows="5" ] { grid-row: 5 }
-
-[data-rows^="6 " ] { grid-row-start: 6 }
-
-[data-rows$=" 6" ] { grid-row-end: 7 }
-
-[data-rows="6" ] { grid-row: 6 }
-
-[data-rows^="7 " ] { grid-row-start: 7 }
-
-[data-rows$=" 7" ] { grid-row-end: 8 }
-
-[data-rows="7" ] { grid-row: 7 }
-
-[data-rows^="8 " ] { grid-row-start: 8 }
-
-[data-rows$=" 8" ] { grid-row-end: 9 }
-
-[data-rows="8" ] { grid-row: 8 }
-
-[data-rows^="9 " ] { grid-row-start: 9 }
-
-[data-rows$=" 9" ] { grid-row-end: 10 }
-
-[data-rows="9" ] { grid-row: 9 }
-
-[data-rows^="10 "] { grid-row-start: 10 }
-
-[data-rows$=" 10"] { grid-row-end: 11 }
-
-[data-rows="10"] { grid-row: 10 }
-
-[data-rows^="11 "] { grid-row-start: 11 }
-
-[data-rows$=" 11"] { grid-row-end: 12 }
-
-[data-rows="11"] { grid-row: 11 }
-
-[data-rows^="12 "] { grid-row-start: 12 }
-
-[data-rows$=" 12"] { grid-row-end: 13 }
-
-[data-rows="12"] { grid-row: 12 }
-
-@media (max-width: 768px) {
- [data-cols\@s^="1 " ] { grid-column-start: 1 } [data-cols\@s$=" 1" ] { grid-column-end: 2 } [data-cols\@s="1" ] { grid-column: 1 }
- [data-cols\@s^="2 " ] { grid-column-start: 2 } [data-cols\@s$=" 2" ] { grid-column-end: 3 } [data-cols\@s="2" ] { grid-column: 2 }
- [data-cols\@s^="3 " ] { grid-column-start: 3 } [data-cols\@s$=" 3" ] { grid-column-end: 4 } [data-cols\@s="3" ] { grid-column: 3 }
- [data-cols\@s^="4 " ] { grid-column-start: 4 } [data-cols\@s$=" 4" ] { grid-column-end: 5 } [data-cols\@s="4" ] { grid-column: 4 }
- [data-cols\@s^="5 " ] { grid-column-start: 5 } [data-cols\@s$=" 5" ] { grid-column-end: 6 } [data-cols\@s="5" ] { grid-column: 5 }
- [data-cols\@s^="6 " ] { grid-column-start: 6 } [data-cols\@s$=" 6" ] { grid-column-end: 7 } [data-cols\@s="6" ] { grid-column: 6 }
- [data-cols\@s^="7 " ] { grid-column-start: 7 } [data-cols\@s$=" 7" ] { grid-column-end: 8 } [data-cols\@s="7" ] { grid-column: 7 }
- [data-cols\@s^="8 " ] { grid-column-start: 8 } [data-cols\@s$=" 8" ] { grid-column-end: 9 } [data-cols\@s="8" ] { grid-column: 8 }
- [data-cols\@s^="9 " ] { grid-column-start: 9 } [data-cols\@s$=" 9" ] { grid-column-end: 10 } [data-cols\@s="9" ] { grid-column: 9 }
- [data-cols\@s^="10 "] { grid-column-start: 10 } [data-cols\@s$=" 10"] { grid-column-end: 11 } [data-cols\@s="10"] { grid-column: 10 }
- [data-cols\@s^="11 "] { grid-column-start: 11 } [data-cols\@s$=" 11"] { grid-column-end: 12 } [data-cols\@s="11"] { grid-column: 11 }
- [data-cols\@s^="12 "] { grid-column-start: 12 } [data-cols\@s$=" 12"] { grid-column-end: 13 } [data-cols\@s="12"] { grid-column: 12 }
-
- [data-rows\@s^="1 " ] { grid-row-start: 1 } [data-rows\@s$=" 1" ] { grid-row-end: 2 } [data-rows\@s="1" ] { grid-row: 1 }
- [data-rows\@s^="2 " ] { grid-row-start: 2 } [data-rows\@s$=" 2" ] { grid-row-end: 3 } [data-rows\@s="2" ] { grid-row: 2 }
- [data-rows\@s^="3 " ] { grid-row-start: 3 } [data-rows\@s$=" 3" ] { grid-row-end: 4 } [data-rows\@s="3" ] { grid-row: 3 }
- [data-rows\@s^="4 " ] { grid-row-start: 4 } [data-rows\@s$=" 4" ] { grid-row-end: 5 } [data-rows\@s="4" ] { grid-row: 4 }
- [data-rows\@s^="5 " ] { grid-row-start: 5 } [data-rows\@s$=" 5" ] { grid-row-end: 6 } [data-rows\@s="5" ] { grid-row: 5 }
- [data-rows\@s^="6 " ] { grid-row-start: 6 } [data-rows\@s$=" 6" ] { grid-row-end: 7 } [data-rows\@s="6" ] { grid-row: 6 }
- [data-rows\@s^="7 " ] { grid-row-start: 7 } [data-rows\@s$=" 7" ] { grid-row-end: 8 } [data-rows\@s="7" ] { grid-row: 7 }
- [data-rows\@s^="8 " ] { grid-row-start: 8 } [data-rows\@s$=" 8" ] { grid-row-end: 9 } [data-rows\@s="8" ] { grid-row: 8 }
- [data-rows\@s^="9 " ] { grid-row-start: 9 } [data-rows\@s$=" 9" ] { grid-row-end: 10 } [data-rows\@s="9" ] { grid-row: 9 }
- [data-rows\@s^="10 "] { grid-row-start: 10 } [data-rows\@s$=" 10"] { grid-row-end: 11 } [data-rows\@s="10"] { grid-row: 10 }
- [data-rows\@s^="11 "] { grid-row-start: 11 } [data-rows\@s$=" 11"] { grid-row-end: 12 } [data-rows\@s="11"] { grid-row: 11 }
- [data-rows\@s^="12 "] { grid-row-start: 12 } [data-rows\@s$=" 12"] { grid-row-end: 13 } [data-rows\@s="12"] { grid-row: 12 }
-}
-
-@media (min-width: 1024px) {
- [data-cols\@l^="1 " ] { grid-column-start: 1 } [data-cols\@l$=" 1" ] { grid-column-end: 2 } [data-cols\@l="1" ] { grid-column: 1 }
- [data-cols\@l^="2 " ] { grid-column-start: 2 } [data-cols\@l$=" 2" ] { grid-column-end: 3 } [data-cols\@l="2" ] { grid-column: 2 }
- [data-cols\@l^="3 " ] { grid-column-start: 3 } [data-cols\@l$=" 3" ] { grid-column-end: 4 } [data-cols\@l="3" ] { grid-column: 3 }
- [data-cols\@l^="4 " ] { grid-column-start: 4 } [data-cols\@l$=" 4" ] { grid-column-end: 5 } [data-cols\@l="4" ] { grid-column: 4 }
- [data-cols\@l^="5 " ] { grid-column-start: 5 } [data-cols\@l$=" 5" ] { grid-column-end: 6 } [data-cols\@l="5" ] { grid-column: 5 }
- [data-cols\@l^="6 " ] { grid-column-start: 6 } [data-cols\@l$=" 6" ] { grid-column-end: 7 } [data-cols\@l="6" ] { grid-column: 6 }
- [data-cols\@l^="7 " ] { grid-column-start: 7 } [data-cols\@l$=" 7" ] { grid-column-end: 8 } [data-cols\@l="7" ] { grid-column: 7 }
- [data-cols\@l^="8 " ] { grid-column-start: 8 } [data-cols\@l$=" 8" ] { grid-column-end: 9 } [data-cols\@l="8" ] { grid-column: 8 }
- [data-cols\@l^="9 " ] { grid-column-start: 9 } [data-cols\@l$=" 9" ] { grid-column-end: 10 } [data-cols\@l="9" ] { grid-column: 9 }
- [data-cols\@l^="10 "] { grid-column-start: 10 } [data-cols\@l$=" 10"] { grid-column-end: 11 } [data-cols\@l="10"] { grid-column: 10 }
- [data-cols\@l^="11 "] { grid-column-start: 11 } [data-cols\@l$=" 11"] { grid-column-end: 12 } [data-cols\@l="11"] { grid-column: 11 }
- [data-cols\@l^="12 "] { grid-column-start: 12 } [data-cols\@l$=" 12"] { grid-column-end: 13 } [data-cols\@l="12"] { grid-column: 12 }
-
- [data-rows\@l^="1 " ] { grid-row-start: 1 } [data-rows\@l$=" 1" ] { grid-row-end: 2 } [data-rows\@l="1" ] { grid-row: 1 }
- [data-rows\@l^="2 " ] { grid-row-start: 2 } [data-rows\@l$=" 2" ] { grid-row-end: 3 } [data-rows\@l="2" ] { grid-row: 2 }
- [data-rows\@l^="3 " ] { grid-row-start: 3 } [data-rows\@l$=" 3" ] { grid-row-end: 4 } [data-rows\@l="3" ] { grid-row: 3 }
- [data-rows\@l^="4 " ] { grid-row-start: 4 } [data-rows\@l$=" 4" ] { grid-row-end: 5 } [data-rows\@l="4" ] { grid-row: 4 }
- [data-rows\@l^="5 " ] { grid-row-start: 5 } [data-rows\@l$=" 5" ] { grid-row-end: 6 } [data-rows\@l="5" ] { grid-row: 5 }
- [data-rows\@l^="6 " ] { grid-row-start: 6 } [data-rows\@l$=" 6" ] { grid-row-end: 7 } [data-rows\@l="6" ] { grid-row: 6 }
- [data-rows\@l^="7 " ] { grid-row-start: 7 } [data-rows\@l$=" 7" ] { grid-row-end: 8 } [data-rows\@l="7" ] { grid-row: 7 }
- [data-rows\@l^="8 " ] { grid-row-start: 8 } [data-rows\@l$=" 8" ] { grid-row-end: 9 } [data-rows\@l="8" ] { grid-row: 8 }
- [data-rows\@l^="9 " ] { grid-row-start: 9 } [data-rows\@l$=" 9" ] { grid-row-end: 10 } [data-rows\@l="9" ] { grid-row: 9 }
- [data-rows\@l^="10 "] { grid-row-start: 10 } [data-rows\@l$=" 10"] { grid-row-end: 11 } [data-rows\@l="10"] { grid-row: 10 }
- [data-rows\@l^="11 "] { grid-row-start: 11 } [data-rows\@l$=" 11"] { grid-row-end: 12 } [data-rows\@l="11"] { grid-row: 11 }
- [data-rows\@l^="12 "] { grid-row-start: 12 } [data-rows\@l$=" 12"] { grid-row-end: 13 } [data-rows\@l="12"] { grid-row: 12 }
-}
diff --git a/www/releases/_artifacts/v1.0.10/missing.min.css b/www/releases/_artifacts/v1.0.10/missing.min.css
deleted file mode 100644
index bf62c75..0000000
--- a/www/releases/_artifacts/v1.0.10/missing.min.css
+++ /dev/null
@@ -1,127 +0,0 @@
-@keyframes bg{0%{background:0 0}}*,::after,::before{box-sizing:border-box;background-repeat:no-repeat}::after,::before{text-decoration:inherit;vertical-align:inherit}:root{cursor:default;overflow-wrap:break-word;-webkit-tap-highlight-color:transparent;text-size-adjust:none;-webkit-text-size-adjust:none}abbr[title]{-webkit-text-decoration:underline dotted;text-decoration:underline dotted}b,strong{font-weight:bolder}audio,canvas,iframe,img,svg,video{vertical-align:middle}svg:not([fill]){fill:currentColor}table{border-collapse:collapse;border-color:currentColor;text-indent:0;font-variant-numeric:tabular-nums;font:inherit}body,button,input,select,textarea{margin:0}[type=button],[type=reset],[type=submit],button{-webkit-appearance:button}fieldset{border:1px solid #a0a0a0;position:relative;padding:var(--gap);margin:var(--gap) 0;width:100%;border-radius:var(--border-radius);border:1px solid var(--graphical-fg)}progress{vertical-align:baseline}[type=search]{-webkit-appearance:textfield;outline-offset:-2px}::-webkit-inner-spin-button,::-webkit-outer-spin-button{block-size:auto}::-webkit-input-placeholder{color:inherit;opacity:.54}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{-webkit-appearance:button;font:inherit}[hidden],datalist{display:none!important}:focus-visible{outline:.2em solid var(--accent);z-index:32}body:focus-visible,html:focus-visible,iframe:focus-visible{outline:0}:target{outline:.2em solid var(--fg);z-index:2}details>summary:first-of-type{display:list-item}[aria-busy=true]{cursor:progress}[aria-disabled=true],[disabled]{cursor:not-allowed}:root{--gray-0: #f8fafb;--gray-1: #f2f4f6;--gray-2: #ebedef;--gray-3: #e0e4e5;--gray-4: #d1d6d8;--gray-5: #b1b6b9;--gray-6: #979b9d;--gray-7: #7e8282;--gray-8: #666968;--gray-9: #50514f;--gray-10: #3a3a37;--gray-11: #252521;--gray-12: #121210;--red-0: #fff5f5;--red-1: #ffe3e3;--red-2: #ffc9c9;--red-3: #ffa8a8;--red-4: #ff8787;--red-5: #ff6b6b;--red-6: #fa5252;--red-7: #f03e3e;--red-8: #e03131;--red-9: #c92a2a;--red-10: #b02525;--red-11: #962020;--red-12: #7d1a1a;--pink-0: #fff0f6;--pink-1: #ffdeeb;--pink-2: #fcc2d7;--pink-3: #faa2c1;--pink-4: #f783ac;--pink-5: #f06595;--pink-6: #e64980;--pink-7: #d6336c;--pink-8: #c2255c;--pink-9: #a61e4d;--pink-10: #8c1941;--pink-11: #731536;--pink-12: #59102a;--purple-0: #f8f0fc;--purple-1: #f3d9fa;--purple-2: #eebefa;--purple-3: #e599f7;--purple-4: #da77f2;--purple-5: #cc5de8;--purple-6: #be4bdb;--purple-7: #ae3ec9;--purple-8: #9c36b5;--purple-9: #862e9c;--purple-10: #702682;--purple-11: #5a1e69;--purple-12: #44174f;--violet-0: #f3f0ff;--violet-1: #e5dbff;--violet-2: #d0bfff;--violet-3: #b197fc;--violet-4: #9775fa;--violet-5: #845ef7;--violet-6: #7950f2;--violet-7: #7048e8;--violet-8: #6741d9;--violet-9: #5f3dc4;--violet-10: #5235ab;--violet-11: #462d91;--violet-12: #3a2578;--indigo-0: #edf2ff;--indigo-1: #dbe4ff;--indigo-2: #bac8ff;--indigo-3: #91a7ff;--indigo-4: #748ffc;--indigo-5: #5c7cfa;--indigo-6: #4c6ef5;--indigo-7: #4263eb;--indigo-8: #3b5bdb;--indigo-9: #364fc7;--indigo-10: #2f44ad;--indigo-11: #283a94;--indigo-12: #21307a;--blue-0: #e7f5ff;--blue-1: #d0ebff;--blue-2: #a5d8ff;--blue-3: #74c0fc;--blue-4: #4dabf7;--blue-5: #339af0;--blue-6: #228be6;--blue-7: #1c7ed6;--blue-8: #1971c2;--blue-9: #1864ab;--blue-10: #145591;--blue-11: #114678;--blue-12: #0d375e;--cyan-0: #e3fafc;--cyan-1: #c5f6fa;--cyan-2: #99e9f2;--cyan-3: #66d9e8;--cyan-4: #3bc9db;--cyan-5: #22b8cf;--cyan-6: #15aabf;--cyan-7: #1098ad;--cyan-8: #0c8599;--cyan-9: #0b7285;--cyan-10: #095c6b;--cyan-11: #074652;--cyan-12: #053038;--teal-0: #e6fcf5;--teal-1: #c3fae8;--teal-2: #96f2d7;--teal-3: #63e6be;--teal-4: #38d9a9;--teal-5: #20c997;--teal-6: #12b886;--teal-7: #0ca678;--teal-8: #099268;--teal-9: #087f5b;--teal-10: #066649;--teal-11: #054d37;--teal-12: #033325;--green-0: #ebfbee;--green-1: #d3f9d8;--green-2: #b2f2bb;--green-3: #8ce99a;--green-4: #69db7c;--green-5: #51cf66;--green-6: #40c057;--green-7: #37b24d;--green-8: #2f9e44;--green-9: #2b8a3e;--green-10: #237032;--green-11: #1b5727;--green-12: #133d1b;--lime-0: #f4fce3;--lime-1: #e9fac8;--lime-2: #d8f5a2;--lime-3: #c0eb75;--lime-4: #a9e34b;--lime-5: #94d82d;--lime-6: #82c91e;--lime-7: #74b816;--lime-8: #66a80f;--lime-9: #5c940d;--lime-10: #4c7a0b;--lime-11: #3c6109;--lime-12: #2c4706;--yellow-0: #fff9db;--yellow-1: #fff3bf;--yellow-2: #ffec99;--yellow-3: #ffe066;--yellow-4: #ffd43b;--yellow-5: #fcc419;--yellow-6: #fab005;--yellow-7: #f59f00;--yellow-8: #f08c00;--yellow-9: #e67700;--yellow-10: #b35c00;--yellow-11: #804200;--yellow-12: #663500;--orange-0: #fff4e6;--orange-1: #ffe8cc;--orange-2: #ffd8a8;--orange-3: #ffc078;--orange-4: #ffa94d;--orange-5: #ff922b;--orange-6: #fd7e14;--orange-7: #f76707;--orange-8: #e8590c;--orange-9: #d9480f;--orange-10: #bf400d;--orange-11: #99330b;--orange-12: #802b09;--choco-0: #fff8dc;--choco-1: #fce1bc;--choco-2: #f7ca9e;--choco-3: #f1b280;--choco-4: #e99b62;--choco-5: #df8545;--choco-6: #d46e25;--choco-7: #bd5f1b;--choco-8: #a45117;--choco-9: #8a4513;--choco-10: #703a13;--choco-11: #572f12;--choco-12: #3d210d;--brown-0: #faf4eb;--brown-1: #ede0d1;--brown-2: #e0cab7;--brown-3: #d3b79e;--brown-4: #c5a285;--brown-5: #b78f6d;--brown-6: #a87c56;--brown-7: #956b47;--brown-8: #825b3a;--brown-9: #6f4b2d;--brown-10:#5e3a21;--brown-11:#4e2b15;--brown-12: #422412;--sand-0: #f8fafb;--sand-1: #e6e4dc;--sand-2: #d5cfbd;--sand-3: #c2b9a0;--sand-4: #aea58c;--sand-5: #9a9178;--sand-6: #867c65;--sand-7: #736a53;--sand-8: #5f5746;--sand-9: #4b4639;--sand-10:#38352d;--sand-11:#252521;--sand-12: #121210;--camo-0: #f9fbe7;--camo-1: #e8ed9c;--camo-2: #d2df4e;--camo-3: #c2ce34;--camo-4: #b5bb2e;--camo-5: #a7a827;--camo-6: #999621;--camo-7: #8c851c;--camo-8: #7e7416;--camo-9: #6d6414;--camo-10: #5d5411;--camo-11: #4d460e;--camo-12: #36300a;--jungle-0: #ecfeb0;--jungle-1: #def39a;--jungle-2: #d0e884;--jungle-3: #c2dd6e;--jungle-4: #b5d15b;--jungle-5: #a8c648;--jungle-6: #9bbb36;--jungle-7: #8fb024;--jungle-8: #84a513;--jungle-9: #7a9908;--jungle-10: #658006;--jungle-11: #516605;--jungle-12: #3d4d04}html{font-family:var(--main-font);line-height:var(--rhythm);background:var(--bg);color:var(--fg);scroll-padding-block-start:calc(4*var(--gap))}footer,header,section+section{margin-block:calc(2*var(--gap))}aside.big,nav a{color:var(--accent)}nav a{text-decoration:none}aside{font-size:.8em;line-height:calc(var(--rhythm)*2/3);--gap: calc(var(--rhythm) * var(--density) * 2 / 3)
-;border-block:1px solid var(--graphical-fg);padding-block:var(--gap)}aside>*{--rhythm: calc(var(--gap)) }aside h1,aside h2,aside h3,aside h4,aside h5,aside h6{font-size:1em;text-transform:none;letter-spacing:none}aside.big{background:0 0;border:0;-webkit-border-start:1px solid var(--muted-fg);border-inline-start:1px solid var(--muted-fg);border-radius:0;padding:0;-webkit-padding-start:var(--rhythm);padding-inline-start:var(--rhythm);font-style:italic}.\<h1\>,.\<h2\>,.\<h3\>,.\<h4\>,.\<h5\>,.\<h6\>,h1,h2,h3,h4,h5,h6{-webkit-margin-after:var(--gap);margin-block-end:var(--gap);font-family:var(--secondary-font);-webkit-margin-before:calc(2*var(--gap));margin-block-start:calc(2*var(--gap));position:relative}.\<h1\>,.\<h2\>,h1,h2{font-size:2em;text-transform:none;line-height:calc(2*var(--rhythm));letter-spacing:0}.\<h2\>,h2{font-size:1.6em;line-height:calc(1.5*var(--rhythm))}.\<h3\>,.\<h4\>,.\<h5\>,.\<h6\>,h3,h4,h5,h6{font-size:1.17em;line-height:calc(1*var(--rhythm))}.\<h4\>,.\<h5\>,.\<h6\>,h4,h5,h6{font-size:1em;text-transform:none;letter-spacing:0;-webkit-margin-before:var(--gap);margin-block-start:var(--gap)}h1+h2,h1:first-child,h2+h3,h2:first-child,h3+h4,h3:first-child,h4+h5,h4:first-child,h5+h6,h5:first-child,h6:first-child{-webkit-margin-before:var(--gap);margin-block-start:var(--gap)}h1:target,h2:target,h3:target,h4:target,h5:target,h6:target{outline:0}h1:target::before,h2:target::before,h3:target::before,h4:target::before,h5:target::before,h6:target::before{content:"";display:block;position:absolute;left:-.5em;width:4px;height:100%;background:var(--accent)}header{-webkit-border-after:1px solid var(--graphical-fg);border-block-end:1px solid var(--graphical-fg)}dt,footer,header{font-family:var(--secondary-font)}footer{font-size:.8em;line-height:calc(var(--rhythm)*2/3);-webkit-border-before:1px solid var(--graphical-fg);border-block-start:1px solid var(--graphical-fg)}footer>*{--rhythm: calc(var(--rhythm) * 2 / 3) }body>footer,body>header,main+footer{padding:var(--rhythm) calc((100% - var(--eff-line-length))/2)}address{--density: 0}hr{color:inherit;margin-inline:0;flex:0 1 0px;-webkit-border-start:1px solid var(--accent);border-inline-start:1px solid var(--accent);block-size:auto;-webkit-border-before:1px solid var(--accent);border-block-start:1px solid var(--accent);-webkit-border-after:none;border-block-end:none;-webkit-border-end:none;border-inline-end:none}blockquote,pre{line-height:var(--rhythm)}pre{font-family:var(--mono-font);tab-size:2;margin:var(--gap) 0;overflow-x:auto;scrollbar-width:thin;scrollbar-color:var(--accent) transparent;font-size:.9em}blockquote,dl,hr,ol,p,ul{margin-block:var(--gap)}blockquote{margin-inline:0 var(--gap);padding-inline:var(--gap) 0;font-size:1.1em;font-style:italic;-webkit-border-start:1px solid var(--graphical-fg);border-inline-start:1px solid var(--graphical-fg);color:var(--muted-fg)}.italic address,.italic cite,.italic dfn,.italic em,.italic i,.italic var,blockquote address,blockquote cite,blockquote dfn,blockquote em,blockquote i,blockquote var,q address,q cite,q dfn,q em,q i,q var{font-style:normal}blockquote footer{text-align:right;text-align:end}ol,ul{-webkit-padding-start:var(--rhythm);padding-inline-start:var(--rhythm)}ol ol,ol ul,ul ol,ul ul{-webkit-padding-start:var(--gap);padding-inline-start:var(--gap)}ol[role=list],ol[role=listbox],ul[role=list],ul[role=listbox]{-webkit-padding-start:0;padding-inline-start:0;list-style:none}ol{list-style:decimal}dt{font-weight:700}dd{-webkit-margin-start:var(--rhythm);margin-inline-start:var(--rhythm)}li::marker{font-family:var(--secondary-font)}figure{max-width:100%;margin-inline:0}figcaption{margin-block:var(--gap);font-family:var(--secondary-font);color:var(--muted-fg)}main{max-inline-size:var(--eff-line-length);inline-size:100%;margin-inline:auto}main:first-child{padding-top:var(--gap)}.\<a\>,a{color:var(--link-fg, var(--accent));border-radius:var(--border-radius);outline-offset:1px;background:0 0;border:0;font-size:1em;-webkit-text-decoration:1px dotted underline;text-decoration:1px dotted underline}.list-of-links :is(a,.\<a\>){text-decoration:none}:is(a,.\<a\>):focus,:is(a,.\<a\>):hover{-webkit-text-decoration:2px solid underline;text-decoration:2px solid underline;cursor:pointer;outline:0}small[role=note]{display:block;float:inline-end;clear:inline-end;--sidenote-width: 20ch;max-inline-size:var(--sidenote-width);padding-inline:1.5ch 1ch;-webkit-margin-end:calc(1em - var(--sidenote-width));margin-inline-end:calc(1em - var(--sidenote-width));-webkit-margin-after:var(--rhythm);margin-block-end:var(--rhythm);font-family:var(--secondary-font);background:var(--bg);border:1px solid transparent;transition:transform .1s ease-in-out}small[role=note]:focus-within,small[role=note]:hover{border:1px solid var(--graphical-fg);border-radius:var(--border-radius);transform:translateX(calc(0px - var(--sidenote-width) + min(var(--gutter-width),var(--sidenote-width))))}.\<small\>,small{font-size:.8em;line-height:calc(var(--rhythm)*2/3)}:is(small,.\<small\>)>*{--rhythm: calc(var(--rhythm) * 2 / 3) }del,s{color:var(--bad-fg)}caption,q{font-style:italic}time{font-variant-numeric:tabular-nums}code,kbd,samp{font-family:var(--mono-font);font-style:normal}ins,samp{color:var(--ok-fg)}kbd kbd{display:inline-block;padding:0 .3em;font-size:.8em;line-height:1.1em;background:var(--interactive-bg);border:1px outset var(--graphical-fg);border-block-end-width:3px;border-radius:var(--border-radius)}sub{vertical-align:bottom}sub,sup{line-height:1}mark{background:var(--warn-bg);color:var(--warn-fg)}ins{background:var(--ok-bg)}del{background:var(--bad-bg)}audio,embed,iframe,img,object,video{max-inline-size:100%;inline-size:max-content;block-size:auto}caption{text-align:start;font-family:var(--secondary-font)}tbody{border-block:1px solid var(--faded-fg)}select[multiple],sup,td,th{vertical-align:top}td:not(:last-child),th:not(:last-child){-webkit-padding-end:var(--rhythm);padding-inline-end:var(--rhythm)}th{font-family:var(--secondary-font);text-align:start}input{display:block}label input:not([specificity-hack]){display:inline;padding-block:0}.\<button\>,button,input::file-selector-button,input[type=button],input[type=reset],input[type=submit]{display:inline-block;padding:0 calc(var(--rhythm)/4);vertical-align:middle;box-sizing:border-box;font-size:.8rem;line-height:1.125em;font-family:var(--secondary-font);min-height:var(--rhythm);background:var(--interactive-bg);border:1px solid var(--muted-fg);box-shadow:0 2px 4px -2px var(--fg);border-radius:var(--border-radius);color:var(--fg);text-decoration:none;display:inline-flex;justify-content:center;align-items:center}:is(button,input[type="submit"],input[type="reset"],input[type="button"],input::file-selector-button,.\<button\>):focus-visible,:is(button,input[type="submit"],input[type="reset"],input[type="button"],input::file-selector-button,.\<button\>):hover{filter:brightness(1.1);box-shadow:0 3px 6px -2px var(--fg);text-decoration:none}:is(button,input[type="submit"],input[type="reset"],input[type="button"],input::file-selector-button,.\<button\>):active{box-shadow:none}:is(button,input[type="submit"],input[type="reset"],input[type="button"],input::file-selector-button,.\<button\>):active:is([aria-pressed], [aria-expanded]){color:var(--accent);box-shadow:0 1px 5px -1px var(--fg) inset}:is(button,input[type="submit"],input[type="reset"],input[type="button"],input::file-selector-button,.\<button\>):where([aria-pressed="true"], [aria-expanded="true"]){box-shadow:0 2px 4px -1px var(--fg) inset;background:var(--pressed-interactive-bg);color:var(--accent)}:is(button,input[type="submit"],input[type="reset"],input[type="button"],input::file-selector-button,.\<button\>):where([aria-pressed="true"], [aria-expanded="true"]):focus-visible,:is(button,input[type="submit"],input[type="reset"],input[type="button"],input::file-selector-button,.\<button\>):where([aria-pressed="true"], [aria-expanded="true"]):hover{box-shadow:0 1px 3px -1px var(--fg) inset}[disabled]:is(button,input[type="submit"],input[type="reset"],input[type="button"],input::file-selector-button,.\<button\>){color:var(--muted-fg);box-shadow:none}strong>:is(button,input[type="submit"],input[type="reset"],input[type="button"],input::file-selector-button,.\<button\>){background:var(--accent);color:var(--bg);border:0;font-weight:700}strong>[disabled]:is(button,input[type="submit"],input[type="reset"],input[type="button"],input::file-selector-button,.\<button\>){color:var(--muted-accent)}.big:is(button,input[type="submit"],input[type="reset"],input[type="button"],input::file-selector-button,.\<button\>){min-block-size:calc(1.5*var(--rhythm));font-size:1rem;padding-inline:calc(.5*var(--rhythm));line-height:var(--rhythm)}input:not([type]),input[type=date],input[type=datetime-local],input[type=datetime],input[type=email],input[type=month],input[type=number],input[type=password],input[type=search],input[type=tel],input[type=text],input[type=time],input[type=url],input[type=week],select,textarea{padding:calc(var(--rhythm)/4);font-size:1rem;line-height:inherit;font-family:var(--main-font);background:var(--bg);color:var(--fg);border:1px solid var(--graphical-fg);border-radius:var(--border-radius);vertical-align:top}:is(input:not([type]),input[type="text"],input[type="search"],input[type="tel"],input[type="url"],input[type="email"],input[type="password"],input[type="date"],input[type="month"],input[type="week"],input[type="time"],input[type="datetime"],input[type="datetime-local"],input[type="number"],select,textarea):focus-visible{border:1px solid var(--accent)}:is(input:not([type]),input[type="text"],input[type="search"],input[type="tel"],input[type="url"],input[type="email"],input[type="password"],input[type="date"],input[type="month"],input[type="week"],input[type="time"],input[type="datetime"],input[type="datetime-local"],input[type="number"],select,textarea)::placeholder{color:var(--muted-fg);opacity:1;text-align:end}input[type=range]{width:100%;padding:calc(var(--gap)/4)}input[type=color]{padding:0;margin:0;height:calc(1.5*var(--rhythm));border:0;background:0 0}input[type=file]{padding:calc(var(--gap)/4) 0;font:inherit;line-height:calc(var(--rhythm)/2)}input[type=file]::file-selector-button{margin-block:.1em 0;-webkit-margin-end:1ch;margin-inline-end:1ch}optgroup::before{color:var(--muted-fg);font-style:normal}label[for]{display:block;padding-block:calc(var(--gap)/4)}fieldset>legend+*{-webkit-margin-before:0;margin-block-start:0}details:not(specificity-hack){-webkit-padding-before:0;padding-block-start:0}details:not(specificity-hack):not([open]){-webkit-padding-after:0;padding-block-end:0}summary{margin:calc(0px - var(--gap));margin-bottom:0;padding-inline:var(--gap);font-family:var(--secondary-font);font-weight:700;cursor:pointer}summary:active,summary:focus-visible{filter:brightness(.8);outline:0}dialog{inline-inset:0;block-size:-moz-fit-content;block-size:fit-content;inline-size:-moz-fit-content;inline-size:fit-content;margin:auto!important;background-color:var(--bg);color:var(--fg)}dialog[open]::backdrop{display:block;background:#000;opacity:.4;animation:bg 2s}dialog:not([open]){display:none}.box,.sidebar-layout>header,[role=menu],[role=tabpanel],details,dialog,figure{margin:var(--gap) 0;padding:var(--gap);overflow:clip;border-radius:var(--border-radius);background:var(--box-bg);border:1px solid var(--graphical-fg)}.titlebar{margin-inline:calc(0px - var(--gap));-webkit-margin-after:calc(0px - var(--gap));margin-block-end:calc(0px - var(--gap));padding-inline:var(--gap);font:inherit;font-family:var(--secondary-font);font-weight:700;translate:0 calc(-1px - var(--gap));background:var(--graphical-fg);color:var(--bg)}.sub-title,sub-title{display:block;font-weight:400;color:var(--muted-fg)}.tool-bar,[role=toolbar]{display:flex;flex-flow:row wrap;gap:calc(var(--gap)/2)}.tool-bar>*,[role=toolbar]>*{margin:0}.sidebar-layout header li{margin-block:calc(.5*var(--gap))}.breadcrumbs[aria-label] [aria-current=page],.sidebar-layout header a{font-weight:700}@media (min-width:75ch){.sidebar-layout{display:grid;grid-template-columns:25ch auto;inset:0}.sidebar-layout>header{border-block:none;-webkit-border-start:none;border-inline-start:none;margin:0}.sidebar-layout>:nth-child(2){overflow:auto;--full-width: calc(100vw - 25ch);margin-top:var(--gap)}}.breadcrumbs[aria-label]{font-family:var(--secondary-font)}.breadcrumbs[aria-label] ol,.breadcrumbs[aria-label] ul{list-style:none;-webkit-padding-start:0;padding-inline-start:0}.breadcrumbs[aria-label] li{display:inline}:is(.breadcrumbs[aria-label] li)+li::before{content:' / ';display:inline}.chip,.navbar,chip{font-family:var(--secondary-font);background:var(--box-bg)}.chip,chip{border:1px solid var(--accent);border-radius:calc(var(--rhythm)/2);padding-inline:calc(var(--rhythm)/2)}.navbar{padding:var(--rhythm);-webkit-border-after:1px solid var(--accent);border-block-end:1px solid var(--accent);overflow-x:auto;scrollbar-width:thin;position:sticky;z-index:5;top:0;left:0;right:0;display:flex;flex-flow:row;align-items:center;gap:var(--gap)}.navbar.expanded{flex-flow:column;align-items:start;max-height:90vh;overflow-y:auto}.navbar.expanded ul[role=list]{flex-flow:column}.navbar *{flex-shrink:0;margin-block:0}.navbar:not(.expanded) nav>:first-child,.navbar:not(.expanded)>:first-child{-webkit-margin-start:auto;margin-inline-start:auto}.navbar:not(.expanded) nav>:last-child,.navbar:not(.expanded)>:last-child{-webkit-margin-end:auto;margin-inline-end:auto}.navbar hr{align-self:stretch}.navbar nav ul[role=list]{display:flex;flex-flow:row;gap:var(--rhythm);-webkit-padding-start:0;padding-inline-start:0}.navbar nav ul[role=list] *{flex-shrink:0}.navbar a{font-weight:700;text-decoration:none;padding-inline:.2em}.navbar a:focus,.navbar a:hover{text-decoration:underline}.navbar [aria-current=page]{position:relative}.navbar [aria-current=page]::after{width:100%;height:6px;content:"";display:block;position:absolute;bottom:calc(-1*var(--gap));background:currentcolor}.navbar.expanded [aria-current=page]::after{width:6px;height:100%;position:absolute;left:calc(-1*var(--gap));top:0}.permalink-anchor{display:none}:hover>.permalink-anchor{display:initial}button.iconbutton{border:0;background:0 0;color:currentcolor;padding:0;line-height:var(--rhythm);font-size:24px;width:24px;height:24px;display:inline-block;text-align:center;border-radius:50%;transition:font-weight .2s ease-in-out}button.iconbutton:focus-visible,button.iconbutton:hover{outline:1px solid var(--accent);outline-offset:6px}button.iconbutton:active{outline-offset:3px;background:0 0}button.iconbutton[aria-pressed=true]{box-shadow:none;transform:none}[role=tablist]{display:flex;gap:.5ch;scrollbar-width:thin}[role=tab][role=tab]{all:initial;font-family:var(--secondary-font);padding:0 calc(var(--rhythm)/4);margin:0;min-height:var(--rhythm);bottom:-1px;position:relative;color:var(--fg);border:solid var(--graphical-fg);border-width:1px;background:var(--interactive-bg);border-start-start-radius:.4em;border-start-end-radius:.4em}[role=tab][role=tab]:active,[role=tab][role=tab][aria-selected=true]{background:var(--box-bg);-webkit-border-after:1px solid transparent;border-block-end:1px solid transparent}[role=tab][role=tab]:hover{background-color:var(--box-bg);box-shadow:none}[role=tab][role=tab]:focus-visible{box-shadow:none;color:var(--accent);text-decoration:underline}[role=tabpanel]{-webkit-margin-before:0;margin-block-start:0;border-start-start-radius:0;border-start-end-radius:0;z-index:1}[role=menu]{position:absolute;z-index:10;padding:calc(var(--gap)/2) 0;margin:1px 0 0;display:flex;flex-flow:column nowrap}[role=menuitem]{padding:0 calc(var(--gap)/2);display:block;text-decoration:none;border-radius:0;color:var(--fg)}[role=menuitem]:active,[role=menuitem]:focus{background:var(--accent);color:var(--bg)}[role=listbox]{list-style:none}[role=listbox] [role=option]{margin-inline:calc(-1*var(--gap));padding-inline:var(--gap)}[role=listbox] [role=option][aria-selected=true]{background:var(--interactive-bg)}[role=listbox] .active[role=option]{--temporary-bg: var(--accent);--temporary-fg: var(--bg);--temporary-accent: parent-var(--muted-accent);--temporary-muted-accent: parent-var(--box-bg);background:var(--temporary-bg);color:var(--temporary-fg)}[role=listbox] .active[role=option]>*{--bg: var(--temporary-bg);--fg: var(--temporary-fg);--accent: var(--temporary-accent);--muted-accent: var(--temporary-muted-accent)}[aria-orientation=vertical]{flex-direction:column;width:-moz-fit-content;width:fit-content;text-align:center}.plain{--box-bg: var(--plain-bg);--accent: var(--plain-fg);--graphical-fg: var(--plain-graphical-fg)}.info{--box-bg: var(--info-bg);--accent: var(--info-fg);--graphical-fg: var(--info-graphical-fg)}.ok{--box-bg: var(--ok-bg);--accent: var(--ok-fg);--graphical-fg: var(--ok-graphical-fg)}.warn{--box-bg: var(--warn-bg);--accent: var(--warn-fg);--graphical-fg: var(--warn-graphical-fg)}.bad{--box-bg: var(--bad-bg);--accent: var(--bad-fg);--graphical-fg: var(--bad-graphical-fg)}.color{color:var(--accent)}.bg{background:var(--box-bg)}.border{border-style:solid;border-color:var(--graphical-fg)}:root{--fg: var(--gray-12);--muted-fg: var(--gray-10);--faded-fg: var(--gray-6);--graphical-fg: var(--plain-graphical-fg);--plain-fg: var(--blue-10);--info-fg: var(--blue-11);--ok-fg: var(--green-11);--bad-fg: var(--red-11);--warn-fg: var(--yellow-11);--plain-graphical-fg: var(--gray-6);--info-graphical-fg: var(--blue-6);--ok-graphical-fg: var(--green-6);--bad-graphical-fg: var(--red-6);--warn-graphical-fg: var(--yellow-6);--bg: var(--gray-0);--box-bg: var(--plain-bg);--interactive-bg: var(--gray-4);--plain-bg: var(--gray-1);--info-bg: var(--blue-1);--ok-bg: var(--green-1);--bad-bg: var(--red-1);--warn-bg: var(--yellow-1);--accent: var(--blue-10);--muted-accent: var(--blue-7);--rhythm: 1.4rem;--line-length: 40rem;--border-radius: .2rem;--main-font: 'Source Sans 3', 'Source Sans Pro', -apple-system, system-ui, sans-serif;--secondary-font: var(--main-font);--mono-font: 'M Plus Code Latin', monospace, monospace;--density: 1;--full-width: 100vw;--eff-line-length: /* Effective line length for prose. */
- min(
- calc( var(--full-width) - (2 * var(--rhythm)) ),
- var(--line-length)
- );--gutter-width: /* Width of spaces at each side of page content. */
- calc(
- (
- var(--full-width) /* Viewport width */
- - var(--eff-line-length) /* minus line width */
- ) / 2);--gap: calc(var(--rhythm) * var(--density))}@media (prefers-color-scheme:dark){:root:not(.-no-dark-theme){--fg: var(--gray-0);--muted-fg: var(--gray-2);--faded-fg: var(--gray-7);--plain-bg: var(--gray-11);--info-bg: var(--blue-12);--ok-bg: var(--green-12);--bad-bg: var(--red-12);--warn-bg: var(--yellow-12);--plain-faded-fg: var(--blue-6);--info-faded-fg: var(--blue-6);--ok-faded-fg: var(--green-6);--bad-faded-fg: var(--red-6);--warn-faded-fg: var(--yellow-6);--bg: var(--gray-12);--box-bg: var(--gray-10);--interactive-bg: var(--gray-8);--plain-fg: (--blue-3);--info-fg: var(--blue-3);--ok-fg: var(--green-3);--bad-fg: var(--red-3);--warn-fg: var(--yellow-3);--accent: var(--blue-3);--muted-accent: var(--blue-5)}}*{accent-color:var(--accent)}.textcolumns{--col-width: 30ch;column-width:var(--col-width);column-gap:var(--gap);margin-block:var(--gap)}.textcolumns :first-child{-webkit-margin-before:0!important;margin-block-start:0!important}.text-align\:center{text-align:center}.center{display:grid;place-items:center}.container{max-inline-size:var(--eff-line-length);margin-inline:auto}.fullbleed,.fullscreen{position:relative;left:50%;border-radius:0;border-inline:none}.fullbleed{width:var(--full-width);transform:translateX(calc(-.5*var(--full-width)))}.fullscreen{height:100vh;width:100vw;transform:translateX(-50vw)}.width\:100\%{width:100%;max-width:100%}.height\:100\%{height:100%;max-height:100%}:is(
- body,
- .box,
- [role=menu],
- .sidebar-layout > header,
- [role=tabpanel],
- figure,
- details,
- dialog,
- aside,
- fieldset,
- dd,
- td,
- th
-)>:first-child:first-child:first-child:first-child,:is(
- body,
- .box,
- [role=menu],
- .sidebar-layout > header,
- [role=tabpanel],
- figure,
- details,
- dialog,
- aside,
- fieldset,
- dd,
- td,
- th
-)>:first-child>:first-child:first-child:first-child,:is(
- body,
- .box,
- [role=menu],
- .sidebar-layout > header,
- [role=tabpanel],
- figure,
- details,
- dialog,
- aside,
- fieldset,
- dd,
- td,
- th
-)>:first-child>:first-child>:first-child:first-child,:is(
- body,
- .box,
- [role=menu],
- .sidebar-layout > header,
- [role=tabpanel],
- figure,
- details,
- dialog,
- aside,
- fieldset,
- dd,
- td,
- th
-)>:first-child>:first-child>:first-child>:first-child{-webkit-margin-before:0;margin-block-start:0}:is(
- body,
- .box,
- [role=menu],
- .sidebar-layout > header,
- [role=tabpanel],
- figure,
- details,
- dialog,
- aside,
- fieldset,
- dd,
- td,
- th
-)>:last-child:last-child:last-child:last-child,:is(
- body,
- .box,
- [role=menu],
- .sidebar-layout > header,
- [role=tabpanel],
- figure,
- details,
- dialog,
- aside,
- fieldset,
- dd,
- td,
- th
-)>:last-child>:last-child:last-child:last-child,:is(
- body,
- .box,
- [role=menu],
- .sidebar-layout > header,
- [role=tabpanel],
- figure,
- details,
- dialog,
- aside,
- fieldset,
- dd,
- td,
- th
-)>:last-child>:last-child>:last-child:last-child,:is(
- body,
- .box,
- [role=menu],
- .sidebar-layout > header,
- [role=tabpanel],
- figure,
- details,
- dialog,
- aside,
- fieldset,
- dd,
- td,
- th
-)>:last-child>:last-child>:last-child>:last-child{-webkit-margin-after:0;margin-block-end:0}.padding{padding-inline:var(--gap)}.padding-block{padding-block:var(--gap)}.padding-block-start{-webkit-padding-before:var(--gap);padding-block-start:var(--gap)}.padding-block-end{-webkit-padding-after:var(--gap);padding-block-end:var(--gap)}.padding-inline{padding-inline:var(--gap)}.padding-inline-end,.padding-inline-start{-webkit-padding-start:var(--gap);padding-inline-start:var(--gap)}.margin{margin:var(--gap)}.margin-block{margin-block:var(--gap)}.margin-block-start{-webkit-margin-before:var(--gap);margin-block-start:var(--gap)}.margin-block-end{-webkit-margin-after:var(--gap);margin-block-end:var(--gap)}.margin-inline{margin-inline:var(--gap)}.margin-inline-start{-webkit-margin-start:var(--gap);margin-inline-start:var(--gap)}.margin-inline-end{-webkit-margin-end:var(--gap);margin-inline-end:var(--gap)}.flow-gap>:not(:last-child),.row:not(:last-child):not([specificity-hack])>*,.rows>:not(:last-child):not([specificity-hack])>*{margin-bottom:var(--gap)}.inline{display:inline}.block{display:block}.contents{display:contents}.table{display:table;width:100%;margin:0}.row,.rows>*{display:table-row}.row>:not([specificity-hack]),.rows>*>:not([specificity-hack]){display:table-cell;vertical-align:top}.row>*+:not([specificity-hack]),:is(.rows > *)>*+:not([specificity-hack]){-webkit-margin-start:var(--gap);margin-inline-start:var(--gap);display:inline-block}.big{font-size:1.4em;line-height:calc(1.5*var(--rhythm))}.fixed{position:fixed}.sticky{position:sticky}.top{top:0}.right{right:0}.bottom{bottom:0}.left{left:0}.float\:left{float:left}.float\:right{float:right}.overflow\:auto{overflow:auto}.overflow\:scroll{overflow:scroll}.airy{--density: 3}.spacious{--density: 2}.dense{--density: 1}.crowded{--density: .5}.packed{--density: 0}.autodensity{--density: 1
-}@media (min-width:768px){.autodensity{--density: 2
-}}@media (min-width:1024px){.autodensity{--density: 3
-}}.vh,v-h{clip:rect(0 0 0 0);-webkit-clip-path:inset(50%);clip-path:inset(50%);block-size:1px;inline-size:1px;overflow:hidden;white-space:nowrap}.all\:initial{all:initial}.bold{font-weight:700}.italic{font-style:italic}.allcaps{text-transform:uppercase;letter-spacing:.1rem}.primary-font{font-family:var(--primary-font)}.secondary-font{font-family:var(--secondary-font)}.display-font{font-family:var(--display-font)}.mono-font,.monospace{font-family:var(--mono-font)}.massivetext{font-size:calc(.13*var(--eff-line-length));line-height:1em;letter-spacing:0}.aestheticbreak{display:block;margin:0;padding:0;height:calc(.5*var(--gap))}.f-row{display:flex;flex-direction:row;gap:var(--gap)}.f-row>*{margin:0}.f-col{display:flex;flex-direction:column;gap:var(--gap)}.f-col>*{margin:0}.f-switch{display:flex;flex-wrap:wrap;gap:var(--gap);--f-switch-threshold: 55ch
-}.f-switch>*{margin:0;flex-grow:1;flex-basis:calc((var(--f-switch-threshold) - 100%)*999)}.justify-content\:start{justify-content:start}.justify-content\:end{justify-content:end}.justify-content\:baseline{justify-content:baseline}.justify-content\:center{justify-content:center}.justify-content\:stretch{justify-content:stretch}.justify-content\:space-between{justify-content:space-between}.justify-content\:space-around{justify-content:space-around}.justify-content\:space-evenly{justify-content:space-evenly}.align-items\:start{align-items:start}.align-items\:end{align-items:end}.align-items\:baseline{align-items:baseline}.align-items\:center{align-items:center}.align-items\:stretch{align-items:stretch}.align-self\:start{align-self:start}.align-self\:end{align-self:end}.align-self\:baseline{align-self:baseline}.align-self\:center{align-self:center}.align-self\:stretch{align-self:stretch}.flex-grow\:0{flex-grow:0}.flex-grow\:1{flex-grow:1}.flex-grow\:2{flex-grow:2}.flex-grow\:3{flex-grow:3}.flex-grow\:4{flex-grow:4}.flex-grow\:5{flex-grow:5}.flex-grow\:6{flex-grow:6}.flex-grow\:7{flex-grow:7}.flex-grow\:8{flex-grow:8}.flex-grow\:9{flex-grow:9}.flex-grow\:10{flex-grow:10}.flex-grow\:11{flex-grow:11}.flex-grow\:12{flex-grow:12}.flex-wrap\:wrap{flex-wrap:wrap}.flex-wrap\:nowrap{flex-wrap:nowrap}.grid{display:grid;grid-auto-columns:var(--grid-col-width, 1fr);grid-auto-rows:var(--grid-row-width, auto);gap:var(--gap)}.grid>*{margin:0}.grid-even-rows{--grid-row-width: 1fr}.grid-variable-cols{--grid-column-width: auto}[data-cols^="1 "]{grid-column-start:1}[data-cols$=" 1"]{grid-column-end:2}[data-cols="1"]{grid-column:1}[data-cols^="2 "]{grid-column-start:2}[data-cols$=" 2"]{grid-column-end:3}[data-cols="2"]{grid-column:2}[data-cols^="3 "]{grid-column-start:3}[data-cols$=" 3"]{grid-column-end:4}[data-cols="3"]{grid-column:3}[data-cols^="4 "]{grid-column-start:4}[data-cols$=" 4"]{grid-column-end:5}[data-cols="4"]{grid-column:4}[data-cols^="5 "]{grid-column-start:5}[data-cols$=" 5"]{grid-column-end:6}[data-cols="5"]{grid-column:5}[data-cols^="6 "]{grid-column-start:6}[data-cols$=" 6"]{grid-column-end:7}[data-cols="6"]{grid-column:6}[data-cols^="7 "]{grid-column-start:7}[data-cols$=" 7"]{grid-column-end:8}[data-cols="7"]{grid-column:7}[data-cols^="8 "]{grid-column-start:8}[data-cols$=" 8"]{grid-column-end:9}[data-cols="8"]{grid-column:8}[data-cols^="9 "]{grid-column-start:9}[data-cols$=" 9"]{grid-column-end:10}[data-cols="9"]{grid-column:9}[data-cols^="10 "]{grid-column-start:10}[data-cols$=" 10"]{grid-column-end:11}[data-cols="10"]{grid-column:10}[data-cols^="11 "]{grid-column-start:11}[data-cols$=" 11"]{grid-column-end:12}[data-cols="11"]{grid-column:11}[data-cols^="12 "]{grid-column-start:12}[data-cols$=" 12"]{grid-column-end:13}[data-cols="12"]{grid-column:12}[data-rows^="1 "]{grid-row-start:1}[data-rows$=" 1"]{grid-row-end:2}[data-rows="1"]{grid-row:1}[data-rows^="2 "]{grid-row-start:2}[data-rows$=" 2"]{grid-row-end:3}[data-rows="2"]{grid-row:2}[data-rows^="3 "]{grid-row-start:3}[data-rows$=" 3"]{grid-row-end:4}[data-rows="3"]{grid-row:3}[data-rows^="4 "]{grid-row-start:4}[data-rows$=" 4"]{grid-row-end:5}[data-rows="4"]{grid-row:4}[data-rows^="5 "]{grid-row-start:5}[data-rows$=" 5"]{grid-row-end:6}[data-rows="5"]{grid-row:5}[data-rows^="6 "]{grid-row-start:6}[data-rows$=" 6"]{grid-row-end:7}[data-rows="6"]{grid-row:6}[data-rows^="7 "]{grid-row-start:7}[data-rows$=" 7"]{grid-row-end:8}[data-rows="7"]{grid-row:7}[data-rows^="8 "]{grid-row-start:8}[data-rows$=" 8"]{grid-row-end:9}[data-rows="8"]{grid-row:8}[data-rows^="9 "]{grid-row-start:9}[data-rows$=" 9"]{grid-row-end:10}[data-rows="9"]{grid-row:9}[data-rows^="10 "]{grid-row-start:10}[data-rows$=" 10"]{grid-row-end:11}[data-rows="10"]{grid-row:10}[data-rows^="11 "]{grid-row-start:11}[data-rows$=" 11"]{grid-row-end:12}[data-rows="11"]{grid-row:11}[data-rows^="12 "]{grid-row-start:12}[data-rows$=" 12"]{grid-row-end:13}[data-rows="12"]{grid-row:12}@media (max-width:768px){[data-cols\@s^="1 "]{grid-column-start:1}[data-cols\@s$=" 1"]{grid-column-end:2}[data-cols\@s="1"]{grid-column:1}[data-cols\@s^="2 "]{grid-column-start:2}[data-cols\@s$=" 2"]{grid-column-end:3}[data-cols\@s="2"]{grid-column:2}[data-cols\@s^="3 "]{grid-column-start:3}[data-cols\@s$=" 3"]{grid-column-end:4}[data-cols\@s="3"]{grid-column:3}[data-cols\@s^="4 "]{grid-column-start:4}[data-cols\@s$=" 4"]{grid-column-end:5}[data-cols\@s="4"]{grid-column:4}[data-cols\@s^="5 "]{grid-column-start:5}[data-cols\@s$=" 5"]{grid-column-end:6}[data-cols\@s="5"]{grid-column:5}[data-cols\@s^="6 "]{grid-column-start:6}[data-cols\@s$=" 6"]{grid-column-end:7}[data-cols\@s="6"]{grid-column:6}[data-cols\@s^="7 "]{grid-column-start:7}[data-cols\@s$=" 7"]{grid-column-end:8}[data-cols\@s="7"]{grid-column:7}[data-cols\@s^="8 "]{grid-column-start:8}[data-cols\@s$=" 8"]{grid-column-end:9}[data-cols\@s="8"]{grid-column:8}[data-cols\@s^="9 "]{grid-column-start:9}[data-cols\@s$=" 9"]{grid-column-end:10}[data-cols\@s="9"]{grid-column:9}[data-cols\@s^="10 "]{grid-column-start:10}[data-cols\@s$=" 10"]{grid-column-end:11}[data-cols\@s="10"]{grid-column:10}[data-cols\@s^="11 "]{grid-column-start:11}[data-cols\@s$=" 11"]{grid-column-end:12}[data-cols\@s="11"]{grid-column:11}[data-cols\@s^="12 "]{grid-column-start:12}[data-cols\@s$=" 12"]{grid-column-end:13}[data-cols\@s="12"]{grid-column:12}[data-rows\@s^="1 "]{grid-row-start:1}[data-rows\@s$=" 1"]{grid-row-end:2}[data-rows\@s="1"]{grid-row:1}[data-rows\@s^="2 "]{grid-row-start:2}[data-rows\@s$=" 2"]{grid-row-end:3}[data-rows\@s="2"]{grid-row:2}[data-rows\@s^="3 "]{grid-row-start:3}[data-rows\@s$=" 3"]{grid-row-end:4}[data-rows\@s="3"]{grid-row:3}[data-rows\@s^="4 "]{grid-row-start:4}[data-rows\@s$=" 4"]{grid-row-end:5}[data-rows\@s="4"]{grid-row:4}[data-rows\@s^="5 "]{grid-row-start:5}[data-rows\@s$=" 5"]{grid-row-end:6}[data-rows\@s="5"]{grid-row:5}[data-rows\@s^="6 "]{grid-row-start:6}[data-rows\@s$=" 6"]{grid-row-end:7}[data-rows\@s="6"]{grid-row:6}[data-rows\@s^="7 "]{grid-row-start:7}[data-rows\@s$=" 7"]{grid-row-end:8}[data-rows\@s="7"]{grid-row:7}[data-rows\@s^="8 "]{grid-row-start:8}[data-rows\@s$=" 8"]{grid-row-end:9}[data-rows\@s="8"]{grid-row:8}[data-rows\@s^="9 "]{grid-row-start:9}[data-rows\@s$=" 9"]{grid-row-end:10}[data-rows\@s="9"]{grid-row:9}[data-rows\@s^="10 "]{grid-row-start:10}[data-rows\@s$=" 10"]{grid-row-end:11}[data-rows\@s="10"]{grid-row:10}[data-rows\@s^="11 "]{grid-row-start:11}[data-rows\@s$=" 11"]{grid-row-end:12}[data-rows\@s="11"]{grid-row:11}[data-rows\@s^="12 "]{grid-row-start:12}[data-rows\@s$=" 12"]{grid-row-end:13}[data-rows\@s="12"]{grid-row:12}}@media (min-width:1024px){[data-cols\@l^="1 "]{grid-column-start:1}[data-cols\@l$=" 1"]{grid-column-end:2}[data-cols\@l="1"]{grid-column:1}[data-cols\@l^="2 "]{grid-column-start:2}[data-cols\@l$=" 2"]{grid-column-end:3}[data-cols\@l="2"]{grid-column:2}[data-cols\@l^="3 "]{grid-column-start:3}[data-cols\@l$=" 3"]{grid-column-end:4}[data-cols\@l="3"]{grid-column:3}[data-cols\@l^="4 "]{grid-column-start:4}[data-cols\@l$=" 4"]{grid-column-end:5}[data-cols\@l="4"]{grid-column:4}[data-cols\@l^="5 "]{grid-column-start:5}[data-cols\@l$=" 5"]{grid-column-end:6}[data-cols\@l="5"]{grid-column:5}[data-cols\@l^="6 "]{grid-column-start:6}[data-cols\@l$=" 6"]{grid-column-end:7}[data-cols\@l="6"]{grid-column:6}[data-cols\@l^="7 "]{grid-column-start:7}[data-cols\@l$=" 7"]{grid-column-end:8}[data-cols\@l="7"]{grid-column:7}[data-cols\@l^="8 "]{grid-column-start:8}[data-cols\@l$=" 8"]{grid-column-end:9}[data-cols\@l="8"]{grid-column:8}[data-cols\@l^="9 "]{grid-column-start:9}[data-cols\@l$=" 9"]{grid-column-end:10}[data-cols\@l="9"]{grid-column:9}[data-cols\@l^="10 "]{grid-column-start:10}[data-cols\@l$=" 10"]{grid-column-end:11}[data-cols\@l="10"]{grid-column:10}[data-cols\@l^="11 "]{grid-column-start:11}[data-cols\@l$=" 11"]{grid-column-end:12}[data-cols\@l="11"]{grid-column:11}[data-cols\@l^="12 "]{grid-column-start:12}[data-cols\@l$=" 12"]{grid-column-end:13}[data-cols\@l="12"]{grid-column:12}[data-rows\@l^="1 "]{grid-row-start:1}[data-rows\@l$=" 1"]{grid-row-end:2}[data-rows\@l="1"]{grid-row:1}[data-rows\@l^="2 "]{grid-row-start:2}[data-rows\@l$=" 2"]{grid-row-end:3}[data-rows\@l="2"]{grid-row:2}[data-rows\@l^="3 "]{grid-row-start:3}[data-rows\@l$=" 3"]{grid-row-end:4}[data-rows\@l="3"]{grid-row:3}[data-rows\@l^="4 "]{grid-row-start:4}[data-rows\@l$=" 4"]{grid-row-end:5}[data-rows\@l="4"]{grid-row:4}[data-rows\@l^="5 "]{grid-row-start:5}[data-rows\@l$=" 5"]{grid-row-end:6}[data-rows\@l="5"]{grid-row:5}[data-rows\@l^="6 "]{grid-row-start:6}[data-rows\@l$=" 6"]{grid-row-end:7}[data-rows\@l="6"]{grid-row:6}[data-rows\@l^="7 "]{grid-row-start:7}[data-rows\@l$=" 7"]{grid-row-end:8}[data-rows\@l="7"]{grid-row:7}[data-rows\@l^="8 "]{grid-row-start:8}[data-rows\@l$=" 8"]{grid-row-end:9}[data-rows\@l="8"]{grid-row:8}[data-rows\@l^="9 "]{grid-row-start:9}[data-rows\@l$=" 9"]{grid-row-end:10}[data-rows\@l="9"]{grid-row:9}[data-rows\@l^="10 "]{grid-row-start:10}[data-rows\@l$=" 10"]{grid-row-end:11}[data-rows\@l="10"]{grid-row:10}[data-rows\@l^="11 "]{grid-row-start:11}[data-rows\@l$=" 11"]{grid-row-end:12}[data-rows\@l="11"]{grid-row:11}[data-rows\@l^="12 "]{grid-row-start:12}[data-rows\@l$=" 12"]{grid-row-end:13}[data-rows\@l="12"]{grid-row:12}} \ No newline at end of file
diff --git a/www/releases/_artifacts/v1.0.2/missing-js/19.js b/www/releases/_artifacts/v1.0.2/missing-js/19.js
deleted file mode 100644
index eebd9b7..0000000
--- a/www/releases/_artifacts/v1.0.2/missing-js/19.js
+++ /dev/null
@@ -1,3 +0,0 @@
-function T(e){return(...t)=>(console.log("%c%s","color:green",e,...t),t.at(-1))}const h=T("19.js");function E(e){return e.replace(/[A-Z]/g,t=>"-"+t.toLowerCase())}function f(e,t,n,r,i={}){const{wrap:s=!0}=i,u=e+"ElementSibling",a=e==="next"?(l,p)=>d(l,p):(l,p)=>g(l,p).at(-1);if(!r)return s?a(t,n):null;let o=r;for(;;){for(;o[u]===null;)if(o=o.parentElement,o===t)return s?a(t,n):null;o=o[u];const l=o.matches(n)?o:d(o,n);if(l)return l}}function d(e,t){return e.querySelector(t)}function g(e,t){return Array.from(e.querySelectorAll(t))}function L(e,t,n,r={}){const i=s=>(r.addedBy&&!r.addedBy.isConnected&&v({target:e,type:t,listener:i,options:r}),n(s));return e.addEventListener(t,i,r),{target:e,type:t,options:r,listener:i}}function v({target:e,type:t,listener:n,options:r}){return e.removeEventListener(t,n,r)}function y(e,t){for(const n of e.split(" "))n==="default"&&t.preventDefault(),n==="bubbling"&&t.stopPropagation(),n==="propagation"&&t.stopImmediatePropagation()}function A(e,t){return n=>{y(e,n),t(n)}}function w(e,t,n){return e.dispatchEvent(new CustomEvent(t,{detail:n}))}function N(e,t,n=void 0){if(typeof t=="object"){for(const i in t)e.setAttribute(E(i),t[i]);return null}const r=e.getAttribute(t);return n===void 0?e.getAttribute(t):n===null?(e.removeAttribute(t),r):(e.setAttribute(t,n),n)}function x(e){const t=document.createElement("div");return t.append(e),t.innerHTML}function b(e){return e==null?"":e instanceof Node?x(e):String(e).replaceAll("&","&amp;").replaceAll("<","&lt;").replaceAll(">","&gt;").replaceAll("'","&#x27;").replaceAll('"',"&quot;")}function k(e,...t){const n=document.createElement("template");return typeof e=="object"&&"raw"in e&&(e=String.raw(e,...t.map(b))),n.innerHTML=e,n.content}function O(e){return e instanceof HTMLElement?e:null}function P(e,t,n,r={}){return f("next",e,t,n,r)}function S(e,t,n,r={}){return f("previous",e,t,n,r)}function B(e){const s={},u=o=>~~(o.altKey&&1)|~~(o.ctrlKey&&2)|~~(o.metaKey&&4)|~~(o.shiftKey&&8),a=o=>{const l=o.split("+"),p=l.pop();let c=0;for(const m in l)switch(m.toLowerCase()){case"alt":c|=1;break;case"ctrl":c|=2;break;case"meta":c|=4;break;case"shift":c|=8;break}return[p,c]};for(const[o,l]of Object.entries(e)){const[p,c]=a(o);(s[p]??(s[p]=new Array(8)))[c]=l}return o=>s[o.key]?.[u(o)]?.(o)}function C(e,t,{mode:n="trailing"}={}){let r=null;return(...i)=>{r?clearTimeout(r):n==="leading"&&t(...i),r=setTimeout(()=>{n==="trailing"&&t(...i),r=null},e)}}function D(e,t){const n=new WeakSet;return(r=document,i={})=>{const s=r.getRootNode();g(r,e).forEach(u=>{n.has(u)||(n.add(u),t(u,{options:i,root:s}))})}}function K(e,t){return n=>{let r=null;const i=(...a)=>{const o=r;r=a.at(-1),r instanceof DocumentFragment&&(r=r.lastChild),o?o.after(...a):e.prepend(...a)},s=a=>{if(a)for(;a.nextSibling;)a.nextSibling.remove();else e.replaceChildren()},u=e.getRootNode();for(const a of n){const o=t.idOf(a),l=u.getElementById(o);i(l?t.update?.(l,a)??l:t.create(a,{id:o}))}s(r)}}export{d as $,g as $$,O as asHtml,N as attr,D as behavior,C as debounce,w as dispatch,y as halt,A as halts,B as hotkey,k as html,b as htmlescape,T as makelogger,P as next,v as off,L as on,S as prev,K as repeater,x as stringifyNode,f as traverse};
-
-/*# sourceMappingURL=./19.js.map */ \ No newline at end of file
diff --git a/www/releases/_artifacts/v1.0.2/missing-js/19.js.map b/www/releases/_artifacts/v1.0.2/missing-js/19.js.map
deleted file mode 100644
index 15b03a5..0000000
--- a/www/releases/_artifacts/v1.0.2/missing-js/19.js.map
+++ /dev/null
@@ -1 +0,0 @@
-{"version":3,"sources":["/missing-js/19.ts"],"sourcesContent":["/** \n * a DOM helper library.\n * \"1 US$ = 18.5842 TR₺ · Oct 16, 2022, 20:52 UTC\"\n */\n\n/// <reference lib=\"es2022\" />\n\nexport type Behavior<TOptions> = (subtree: ParentNode, options?: Partial<TOptions>) => void;\n\nexport type BehaviorInit<TOptions> = (element: Element, context: BehaviorContext<TOptions>) => void;\n\nexport type BehaviorContext<TOptions> = {\n root: Root;\n options: Partial<TOptions>\n}\n\nexport type Root = Document | ShadowRoot;\n\nexport type Logger = <T>(...args: [..._: any, last: T]) => T;\n\n/**\n * Creates a logging function.\n * The {@link scope} will be prepended to each message logged.\n * \n * We usually use `ilog` as a name for the resulting function.\n * It returns its last argument,\n * which makes it easier to log intermediate values in an expression:\n * \n * const x = a + ilog(\"b:\", b); // x = a + b\n * \n * @param scope - The name of the component/module/etc. that will use this logger.\n * @returns The `ilog` function.\n */\nexport function makelogger(scope: string): Logger {\n return (...args) => {\n console.log(\"%c%s\", \"color:green\", scope, ...args);\n return args.at(-1);\n };\n}\n\nconst ilog = makelogger(\"19.js\");\n\n/**\n * Converts camelCase to kebab-case.\n */\nfunction camelToKebab(s: string): string {\n return s.replace(/[A-Z]/g, (s) => \"-\" + s.toLowerCase());\n}\n\n/**\n * Traverse the DOM forward or backward from a starting point\n * to find an element matching some selector.\n * @param {(\"next\" | \"previous\")} direction\n * @param {ParentNode} root - The element within which to look for the next element, e.g. a menu.\n * @param {string} selector - The selector to look for, e.g. `\"[role=menuitem]\"`.\n * @param {Element | null} [current] - The element to start the search from, e.g. the currently selected menu item.\n * If missing, the first or last matching element will be returned (depending on search direction).\n * @param {object} [options]\n * @param {boolean} [options.wrap] Whether to wrap around when the end/start of {@link root} is reached.\n */\nexport function traverse(\n direction: \"next\" | \"previous\",\n root: ParentNode,\n selector: string,\n current: Element | null,\n options: { wrap?: boolean } = {},\n) {\n const { wrap = true } = options;\n\n const advance = direction + \"ElementSibling\";\n const wrapIt = direction === \"next\"\n ? (root: ParentNode, selector: string) => $(root, selector)\n : (root: ParentNode, selector: string) => $$(root, selector).at(-1);\n if (!current)\n return wrap ? wrapIt(root, selector) : null;\n let cursor = current;\n while (true) {\n while (cursor[advance] === null) {\n cursor = cursor.parentElement as Element;\n if (cursor === root)\n return wrap ? wrapIt(root, selector) : null;\n }\n cursor = cursor[advance];\n const found = cursor.matches(selector) ? cursor : $(cursor, selector);\n if (found)\n return found;\n }\n}\n\n/**\n * Wrapper for {@link scope}.querySelector({@link sel}).\n * Unlike jQuery, the scope is required to be specified.\n */\nexport function $<TElement extends Element>(scope: ParentNode, sel: string): TElement | null {\n return scope.querySelector<TElement>(sel);\n}\n\n/**\n * Wrapper for {@link scope}.querySelectorAll({@link sel}).\n * Unlike jQuery, the scope is required to be specified.\n * Returns an Array instead of a NodeList.\n */\nexport function $$<TElement extends Element>(scope: ParentNode, sel: string): TElement[] {\n return Array.from(scope.querySelectorAll<TElement>(sel));\n}\n\n/**\n * Returned by `on`, this is an object you can pass to `off` to remove an event listener,\n * saving the burden of keeping a handle on the listener function and options.\n */\ntype EventListenerToken = {\n target: EventTarget;\n type: string;\n listener: EventListener;\n options: object; \n}\n\n/** \n * @callbListener\n * @param {unknown extends HTMLElementEventMap[TEventType] ? CustomEvent : HTMLElementEventMap[TEventType]} event\n */\ntype Listener<T extends string> = (event: T extends keyof HTMLElementEventMap ? HTMLElementEventMap[T] : CustomEvent) => void;\n\n/**\n * Add an event listener.\n * @param target - The element (or other event target) to add the listener to.\n * @param type - The type of event to listen to, e.g. `\"click\"`.\n * @param listener - The listener function.\n * @param [options]\n * @param [options.addedBy] - If supplied, the listener will be removed when this element is not in the DOM.\n */\nexport function on<TEventType extends string>(\n target: EventTarget,\n type: TEventType,\n listener: Listener<TEventType>,\n options: { addedBy?: Element } = {}\n): EventListenerToken {\n const listenerWrapper: Listener<TEventType> = e => {\n if (options.addedBy && !options.addedBy.isConnected)\n off({ target, type: type, listener: listenerWrapper as EventListener, options }); // self-cleaning listener\n return listener(e);\n };\n target.addEventListener(type, listenerWrapper as EventListener, options as AddEventListenerOptions);\n return { target, type: type, options, listener: listenerWrapper as EventListener };\n}\n\n/**\n * Remove an event listener.\n * @param listenerToken - The return value of {@link on}.\n */\nexport function off({ target, type, listener, options }: EventListenerToken) {\n return target.removeEventListener(type, listener, options);\n}\n\n/**\n * \"Halt\" an event -- convenient wrapper for `preventDefault`, `stopPropagation`, and `stopImmediatePropagation`.\n * @param o - How to halt. Space-separated list of \"default\", \"bubbling\" and \"propagation\".\n * @param e - The event. \n */\nexport function halt(o: string, e: Event) {\n for (const t of o.split(\" \")) {\n if (t === \"default\")\n e.preventDefault();\n if (t === \"bubbling\")\n e.stopPropagation();\n if (t === \"propagation\")\n e.stopImmediatePropagation();\n }\n}\n\n/**\n * Decorator for any event listener to call {@link halt}.\n * \n * on(el, \"click\", halts(\"default\", e => ...))\n *\n * @param o - See {@link halt~o}.\n * @param f\n */\nexport function halts<T extends Event>(o: string, f: (e: T) => void): (e: T) => void {\n return e => { halt(o, e); f(e); };\n}\n\n/**\n * Dispatch a {@link CustomEvent}.\n * @param el - the event target\n * @param type - the event type, e.g. `\"myapp:clear-cart\"`\n * @param [detail] - Event.detail\n */\nexport function dispatch(el: EventTarget, type: string, detail?: any) {\n return el.dispatchEvent(new CustomEvent(type, { detail }));\n}\n\n/**\n * Get, remove or set an attribute.\n * \n * - attr(el, \"name\") Get the attribute \"name\"\n * - attr(el, \"name\", \"value\") Set the attribute \"name\" to \"value\"\n * - attr(el, \"name\", null) Remove the attribute \"name\"\n * - attr(el, [ nameA: \"valueA\", nameB: \"valueB\" ]) Set the attributes name-a to \"valueA\", name-b to \"valueB\"\n * \n * @param el \n * @param name - The attribute name **or** a map of names to values.\n * If an object is passed, camelCase attribute names will be converted to kebab-case.\n * @param value - The value of the attribute, when setting. Pass `null` to remove an attribute.\n */\nexport function attr(el: Element, name: string | object, value: any = undefined): string | null {\n if (typeof name === \"object\") {\n for (const at in name) el.setAttribute(camelToKebab(at), name[at]);\n return null;\n }\n const curValue = el.getAttribute(name);\n if (value === undefined)\n return el.getAttribute(name);\n else if (value === null)\n return el.removeAttribute(name), curValue;\n else\n return el.setAttribute(name, value), value;\n}\n\n/**\n * Convert a node to equivalent HTML.\n */\nexport function stringifyNode(node: Node): string {\n const tmp = document.createElement(\"div\");\n tmp.append(node);\n return tmp.innerHTML;\n}\n\n/**\n * HTML-escape a string.\n * If given a DOM node, it will return **unescaped** HTML for it.\n * Returns empty string when given null or undefined.\n */\nexport function htmlescape(s: any): string {\n if (s === null || s === undefined)\n return \"\";\n if (s instanceof Node)\n return stringifyNode(s);\n return String(s)\n .replaceAll(\"&\", \"&amp;\")\n .replaceAll(\"<\", \"&lt;\")\n .replaceAll(\">\", \"&gt;\")\n .replaceAll(\"'\", \"&#x27;\")\n .replaceAll(\"\\\"\", \"&quot;\");\n}\n\n\n/**\n * Template literal that escapes HTML in interpolated values and returns a DocumentFragment.\n * Can also be called with a string to parse it as HTML.\n * To let trusted HTML through escaping, parse it first:\n * \n * html`<p>My trusted markup: ${html(trustedMarkup)}</p>`\n */\nexport function html(str: TemplateStringsArray | string, ...values: any[]): DocumentFragment {\n const tmpl = document.createElement(\"template\");\n if (typeof str === \"object\" && \"raw\" in str)\n str = String.raw(str, ...values.map(htmlescape));\n tmpl.innerHTML = str;\n return tmpl.content;\n}\n\n/**\n * 'Type \"Element\" cannot be assigned to type \"HTMLElement\"' SHUT UP\n * @param {*} [el] \n * @returns {HTMLElement | null}\n */\nexport function asHtml(el: any): HTMLElement | null {\n return el instanceof HTMLElement ? el : null;\n}\n\n/**\n * Find the next element matching a given selector, searching deeply throughout the DOM.\n * @see traverse\n * @param root - The element within which to look for the next element, e.g. a menu.\n * @param selector - The selector to look for, e.g. `\"[role=menuitem]\"`.\n * @param [current] - The element to start the search from, e.g. the currently selected menu item.\n * If missing, the first or last matching element will be returned (depending on search direction).\n * @param [options]\n * @param [options.wrap] Whether to wrap around when the end/start of {@link root} is reached.\n */\nexport function next(\n root: ParentNode,\n selector: string, \n current: Element | null, \n options: { wrap?: boolean } = {}\n) {\n return traverse(\"next\", root, selector, current, options);\n}\n\n/**\n * Find the previous element matching a given selector, searching deeply throughout the DOM.\n * @see traverse\n * @param root - The element within which to look for the next element, e.g. a menu.\n * @param selector - The selector to look for, e.g. `\"[role=menuitem]\"`.\n * @param [current] - The element to start the search from, e.g. the currently selected menu item.\n * If missing, the first or last matching element will be returned (depending on search direction).\n * @param [options]\n * @param [options.wrap] Whether to wrap around when the end/start of {@link root} is reached.\n */\n export function prev(\n root: ParentNode,\n selector: string,\n current: Element | null,\n options: { wrap?: boolean } = {}\n) {\n return traverse(\"previous\", root, selector, current, options);\n}\n\ntype KeyboardEventListener = (e: KeyboardEvent) => void;\n\n/**\n * Create a handler for keyboard events using a keyboard shortcut DSL.\n * \n * - \"ArrowLeft\"\n * - \"Ctrl+Alt+3\"\n */\nexport function hotkey(hotkeys: Record<string, KeyboardEventListener>): KeyboardEventListener {\n const alt = 0b1, ctrl = 0b10, meta = 0b100, shift = 0b1000;\n const handlers = {}; // handlers[key][modifiers as bitfields]\n const modifiersOf = (e: KeyboardEvent) => ~~(e.altKey && alt) | ~~(e.ctrlKey && ctrl) | ~~(e.metaKey && meta) | ~~(e.shiftKey && shift);\n const parse = (hotkeySpec: string) => {\n const\n tokens = hotkeySpec.split(\"+\"), key = tokens.pop()!;\n let modifiers = 0 | 0;\n for (const token in tokens)\n switch (token.toLowerCase()) {\n case \"alt\": modifiers |= alt; break;\n case \"ctrl\": modifiers |= ctrl; break;\n case \"meta\": modifiers |= meta; break;\n case \"shift\": modifiers |= shift; break;\n }\n return [key, modifiers];\n };\n\n for (const [hotkeySpec, handler] of Object.entries(hotkeys)) {\n const [key, modifiers] = parse(hotkeySpec);\n (handlers[key] ??= new Array(8))[modifiers] = handler;\n }\n\n return e => handlers[e.key]?.[modifiersOf(e)]?.(e);\n}\n\n/**\n * Debounce a function.\n * \n * @param t - The debounce time.\n * @param f - The function.\n * @param [options.mode] - Leading or trailing debounce.\n */\nexport function debounce<TArgs extends any[]>(t: number, f: (...args: TArgs) => void, { mode = \"trailing\" } = {}): typeof f {\n let timeout: number | null = null;\n return (...args: TArgs) => {\n if (timeout)\n clearTimeout(timeout);\n else if (mode === \"leading\")\n f(...args);\n timeout = setTimeout(() => {\n if (mode === \"trailing\")\n f(...args);\n timeout = null;\n }, t);\n };\n}\n\n/**\n * Create a behavior that applies to elements matching the given selector.\n * @returns A function that can be called to apply the behavior to new elements within a subtree.\n */\nexport function behavior<TOptions>(selector: string, init: BehaviorInit<TOptions>): Behavior<TOptions> {\n const initialized = new WeakSet;\n return (subtree = document, options = {}) => {\n const root = subtree.getRootNode() as Root;\n $$(subtree, selector).forEach(el => {\n if (initialized.has(el))\n return;\n initialized.add(el);\n init(el, { options, root });\n });\n };\n}\n\ntype Repeater<TData> = {\n /**\n * Returns the HTML id for a given data value.\n * @param datum The data value.\n */\n idOf(datum: TData): string;\n\n /**\n * Createsa an element for a data value.\n * @param data The data value\n * @param ctx.id The id the returned element should have.\n */\n create(data: TData, ctx: { id: string }): Node;\n\n /**\n * \n * @param el The current element.\n * @param data The new data value.\n */\n update?(el: Element, data: TData): void;\n}\n\n/**\n * Repeat an element such that the list can be updated when data changes.\n * \n * @param {object} context\n * @param {(data: TData) => string} context.idOf\n * @param {(data: TData, ctx: { id: string }) => Node} context.create\n * @param {(el: Element, data: TData) => void} [context.update]\n * @returns \n */\nexport function repeater<TData>(container: ParentNode, rep: Repeater<TData>) {\n return (dataset: any) => {\n let cursor: ChildNode | null = null;\n\n const append = (...nodes: any[]) => {\n const oldcursor = cursor;\n cursor = nodes.at(-1);\n if (cursor instanceof DocumentFragment)\n cursor = cursor.lastChild;\n if (oldcursor)\n oldcursor.after(...nodes);\n else\n container.prepend(...nodes);\n };\n const clearAfter = (cursor: Node | null) => {\n if (cursor)\n while (cursor.nextSibling)\n cursor.nextSibling.remove();\n else\n container.replaceChildren();\n };\n\n const root = container.getRootNode() as Root;\n\n // TODO: use an actual morphing algo\n for (const datum of dataset) {\n const\n id = rep.idOf(datum), existing = root.getElementById(id);\n if (existing)\n append(rep.update?.(existing, datum) ?? existing);\n else\n append(rep.create(datum, { id }));\n }\n clearAfter(cursor);\n };\n}\n"],"mappings":"AAiCO,SAASA,EAAWC,EAAuB,CAChD,MAAO,IAAIC,KACT,QAAQ,IAAI,OAAQ,cAAeD,EAAO,GAAGC,CAAI,EAC1CA,EAAK,GAAG,EAAE,EAErB,CAEA,MAAMC,EAAOH,EAAW,OAAO,EAK/B,SAASI,EAAaC,EAAmB,CACvC,OAAOA,EAAE,QAAQ,SAAWA,GAAM,IAAMA,EAAE,YAAY,CAAC,CACzD,CAaO,SAASC,EACdC,EACAC,EACAC,EACAC,EACAC,EAA8B,CAAC,EAC/B,CACA,KAAM,CAAE,KAAAC,EAAO,EAAK,EAAID,EAElBE,EAAUN,EAAY,iBACtBO,EAASP,IAAc,OACzB,CAACC,EAAkBC,IAAqBM,EAAEP,EAAMC,CAAQ,EACxD,CAACD,EAAkBC,IAAqBO,EAAGR,EAAMC,CAAQ,EAAE,GAAG,EAAE,EACpE,GAAI,CAACC,EACH,OAAOE,EAAOE,EAAON,EAAMC,CAAQ,EAAI,KACzC,IAAIQ,EAASP,EACb,OAAa,CACX,KAAOO,EAAOJ,KAAa,MAEzB,GADAI,EAASA,EAAO,cACZA,IAAWT,EACb,OAAOI,EAAOE,EAAON,EAAMC,CAAQ,EAAI,KAE3CQ,EAASA,EAAOJ,GAChB,MAAMK,EAAQD,EAAO,QAAQR,CAAQ,EAAIQ,EAASF,EAAEE,EAAQR,CAAQ,EACpE,GAAIS,EACF,OAAOA,CACX,CACF,CAMO,SAASH,EAA4Bd,EAAmBkB,EAA8B,CAC3F,OAAOlB,EAAM,cAAwBkB,CAAG,CAC1C,CAOO,SAASH,EAA6Bf,EAAmBkB,EAAyB,CACvF,OAAO,MAAM,KAAKlB,EAAM,iBAA2BkB,CAAG,CAAC,CACzD,CA2BO,SAASC,EACdC,EACAC,EACAC,EACAZ,EAAiC,CAAC,EACd,CACpB,MAAMa,EAAwCC,IACxCd,EAAQ,SAAW,CAACA,EAAQ,QAAQ,aACtCe,EAAI,CAAE,OAAAL,EAAQ,KAAMC,EAAM,SAAUE,EAAkC,QAAAb,CAAQ,CAAC,EAC1EY,EAASE,CAAC,GAEnB,OAAAJ,EAAO,iBAAiBC,EAAME,EAAkCb,CAAkC,EAC3F,CAAE,OAAAU,EAAQ,KAAMC,EAAM,QAAAX,EAAS,SAAUa,CAAiC,CACnF,CAMO,SAASE,EAAI,CAAE,OAAAL,EAAQ,KAAAC,EAAM,SAAAC,EAAU,QAAAZ,CAAQ,EAAuB,CAC3E,OAAOU,EAAO,oBAAoBC,EAAMC,EAAUZ,CAAO,CAC3D,CAOO,SAASgB,EAAKC,EAAWH,EAAU,CACxC,UAAWI,KAAKD,EAAE,MAAM,GAAG,EACrBC,IAAM,WACRJ,EAAE,eAAe,EACfI,IAAM,YACRJ,EAAE,gBAAgB,EAChBI,IAAM,eACRJ,EAAE,yBAAyB,CAEjC,CAUO,SAASK,EAAuBF,EAAWG,EAAmC,CACnF,OAAON,GAAK,CAAEE,EAAKC,EAAGH,CAAC,EAAGM,EAAEN,CAAC,CAAG,CAClC,CAQO,SAASO,EAASC,EAAiBX,EAAcY,EAAc,CACpE,OAAOD,EAAG,cAAc,IAAI,YAAYX,EAAM,CAAE,OAAAY,CAAO,CAAC,CAAC,CAC3D,CAeO,SAASC,EAAKF,EAAaG,EAAuBC,EAAa,OAA0B,CAC9F,GAAI,OAAOD,GAAS,SAAU,CAC5B,UAAWE,KAAMF,EAAMH,EAAG,aAAa7B,EAAakC,CAAE,EAAGF,EAAKE,EAAG,EACjE,OAAO,IACT,CACA,MAAMC,EAAWN,EAAG,aAAaG,CAAI,EACrC,OAAIC,IAAU,OACLJ,EAAG,aAAaG,CAAI,EACpBC,IAAU,MACVJ,EAAG,gBAAgBG,CAAI,EAAGG,IAE1BN,EAAG,aAAaG,EAAMC,CAAK,EAAGA,EACzC,CAKO,SAASG,EAAcC,EAAoB,CAChD,MAAMC,EAAM,SAAS,cAAc,KAAK,EACxC,OAAAA,EAAI,OAAOD,CAAI,EACRC,EAAI,SACb,CAOO,SAASC,EAAWtC,EAAgB,CACzC,OAAIA,GAAM,KACD,GACLA,aAAa,KACRmC,EAAcnC,CAAC,EACjB,OAAOA,CAAC,EACZ,WAAW,IAAK,OAAO,EACvB,WAAW,IAAK,MAAM,EACtB,WAAW,IAAK,MAAM,EACtB,WAAW,IAAK,QAAQ,EACxB,WAAW,IAAM,QAAQ,CAC9B,CAUO,SAASuC,EAAKC,KAAuCC,EAAiC,CAC3F,MAAMC,EAAO,SAAS,cAAc,UAAU,EAC9C,OAAI,OAAOF,GAAQ,UAAY,QAASA,IACtCA,EAAM,OAAO,IAAIA,EAAK,GAAGC,EAAO,IAAIH,CAAU,CAAC,GACjDI,EAAK,UAAYF,EACVE,EAAK,OACd,CAOO,SAASC,EAAOf,EAA6B,CAClD,OAAOA,aAAc,YAAcA,EAAK,IAC1C,CAYO,SAASgB,EACdzC,EACAC,EACAC,EACAC,EAA8B,CAAC,EAC/B,CACA,OAAOL,EAAS,OAAQE,EAAMC,EAAUC,EAASC,CAAO,CAC1D,CAYQ,SAASuC,EACf1C,EACAC,EACAC,EACAC,EAA8B,CAAC,EAC/B,CACA,OAAOL,EAAS,WAAYE,EAAMC,EAAUC,EAASC,CAAO,CAC9D,CAUO,SAASwC,EAAOC,EAAuE,CAE5F,MAAMC,EAAW,CAAC,EACZC,EAAe7B,GAAqB,CAAC,EAAEA,EAAE,QAAU,GAAO,CAAC,EAAEA,EAAE,SAAW,GAAQ,CAAC,EAAEA,EAAE,SAAW,GAAQ,CAAC,EAAEA,EAAE,UAAY,GAC3H8B,EAASC,GAAuB,CAClC,MACEC,EAASD,EAAW,MAAM,GAAG,EAAGE,EAAMD,EAAO,IAAI,EACnD,IAAIE,EAAY,EAChB,UAAWC,KAASH,EAClB,OAAQG,EAAM,YAAY,EAAG,CAC3B,IAAK,MAAOD,GAAa,EAAK,MAC9B,IAAK,OAAQA,GAAa,EAAM,MAChC,IAAK,OAAQA,GAAa,EAAM,MAChC,IAAK,QAASA,GAAa,EAAO,KACpC,CACF,MAAO,CAACD,EAAKC,CAAS,CACxB,EAEF,SAAW,CAACH,EAAYK,CAAO,IAAK,OAAO,QAAQT,CAAO,EAAG,CAC3D,KAAM,CAACM,EAAKC,CAAS,EAAIJ,EAAMC,CAAU,GACxCH,EAAAK,KAAAL,EAAAK,GAAkB,IAAI,MAAM,CAAC,IAAGC,GAAaE,CAChD,CAEA,OAAOpC,GAAK4B,EAAS5B,EAAE,OAAO6B,EAAY7B,CAAC,KAAKA,CAAC,CACnD,CASO,SAASqC,EAA8BjC,EAAWE,EAA6B,CAAE,KAAAgC,EAAO,UAAW,EAAI,CAAC,EAAa,CAC1H,IAAIC,EAAyB,KAC7B,MAAO,IAAI9D,IAAgB,CACrB8D,EACF,aAAaA,CAAO,EACbD,IAAS,WAChBhC,EAAE,GAAG7B,CAAI,EACX8D,EAAU,WAAW,IAAM,CACrBD,IAAS,YACXhC,EAAE,GAAG7B,CAAI,EACX8D,EAAU,IACZ,EAAGnC,CAAC,CACN,CACF,CAMO,SAASoC,EAAmBxD,EAAkByD,EAAkD,CACrG,MAAMC,EAAc,IAAI,QACxB,MAAO,CAACC,EAAU,SAAUzD,EAAU,CAAC,IAAM,CAC3C,MAAMH,EAAO4D,EAAQ,YAAY,EACjCpD,EAAGoD,EAAS3D,CAAQ,EAAE,QAAQwB,GAAM,CAC9BkC,EAAY,IAAIlC,CAAE,IAEtBkC,EAAY,IAAIlC,CAAE,EAClBiC,EAAKjC,EAAI,CAAE,QAAAtB,EAAS,KAAAH,CAAK,CAAC,EAC5B,CAAC,CACH,CACF,CAiCO,SAAS6D,EAAgBC,EAAuBC,EAAsB,CAC3E,OAAQC,GAAiB,CACvB,IAAIvD,EAA2B,KAE/B,MAAMwD,EAAS,IAAIC,IAAiB,CAClC,MAAMC,EAAY1D,EAClBA,EAASyD,EAAM,GAAG,EAAE,EAChBzD,aAAkB,mBACpBA,EAASA,EAAO,WACd0D,EACFA,EAAU,MAAM,GAAGD,CAAK,EAExBJ,EAAU,QAAQ,GAAGI,CAAK,CAC9B,EACME,EAAc3D,GAAwB,CAC1C,GAAIA,EACF,KAAOA,EAAO,aACZA,EAAO,YAAY,OAAO,OAE5BqD,EAAU,gBAAgB,CAC9B,EAEM9D,EAAO8D,EAAU,YAAY,EAGnC,UAAWO,KAASL,EAAS,CAC3B,MACEM,EAAKP,EAAI,KAAKM,CAAK,EAAGE,EAAWvE,EAAK,eAAesE,CAAE,EAEvDL,EADEM,EACKR,EAAI,SAASQ,EAAUF,CAAK,GAAKE,EAEjCR,EAAI,OAAOM,EAAO,CAAE,GAAAC,CAAG,CAAC,CAFiB,CAGpD,CACAF,EAAW3D,CAAM,CACnB,CACF","names":["makelogger","scope","args","ilog","camelToKebab","s","traverse","direction","root","selector","current","options","wrap","advance","wrapIt","$","$$","cursor","found","sel","on","target","type","listener","listenerWrapper","e","off","halt","o","t","halts","f","dispatch","el","detail","attr","name","value","at","curValue","stringifyNode","node","tmp","htmlescape","html","str","values","tmpl","asHtml","next","prev","hotkey","hotkeys","handlers","modifiersOf","parse","hotkeySpec","tokens","key","modifiers","token","handler","debounce","mode","timeout","behavior","init","initialized","subtree","repeater","container","rep","dataset","append","nodes","oldcursor","clearAfter","datum","id","existing"],"sourceRoot":"file:///tmp/b0874495","file":"/missing-js/19.js.map"} \ No newline at end of file
diff --git a/www/releases/_artifacts/v1.0.2/missing-js/menu.js b/www/releases/_artifacts/v1.0.2/missing-js/menu.js
deleted file mode 100644
index 688434b..0000000
--- a/www/releases/_artifacts/v1.0.2/missing-js/menu.js
+++ /dev/null
@@ -1,3 +0,0 @@
-import{$ as m,$$ as h,on as o,dispatch as c,halts as g,attr as i,next as E,prev as _,asHtml as a,hotkey as w,behavior as f,makelogger as k}from"./19.js";const l=k("menu"),x="[role=menu]",s="[role=menuitem]",p=e=>h(e,s),y=(e,{root:r})=>{const t=i(e,"aria-controls");return t===null?null:r.getElementById(t)},u=e=>m(e,s),v=e=>p(e).at(-1)??null,d=e=>!e.hidden,B=f(x,(e,{root:r})=>{if(!(e instanceof HTMLElement))return;let t;p(e).forEach(n=>n.setAttribute("tabindex","-1")),o(e,"menu:open",n=>{t=n.detail?.opener,t||l("Warning: Menu",e,"opened without passing an `opener` element"),e.hidden=!1,u(e)?.focus()}),o(e,"menu:close",n=>{l("menu:close",e.hidden=!0),t?.focus()}),o(e,"focusout",n=>{!d(e)||e.contains(n.relatedTarget)||t!==n.relatedTarget&&c(e,"menu:close")}),o(e,"keydown",g("default",w({ArrowUp:n=>a(_(e,s,r.activeElement,{}))?.focus(),ArrowDown:n=>a(E(e,s,r.activeElement,{}))?.focus(),Space:n=>a(r.activeElement?.closest(s))?.click(),Home:n=>u(e)?.focus(),End:n=>v(e)?.focus(),Escape:n=>c(e,"menu:close")}))),o(window,"click",n=>{!d(e)||t!==n.target&&c(e,"menu:close")},{addedBy:e})}),M=f("[aria-haspopup=menu]",(e,{root:r})=>{const t=y(e,{root:r});if(t===null)return l("Error: Menu button",e,"has no menu.");o(t,"menu:close",n=>i(e,"aria-expanded","false"),{addedBy:e}),o(t,"menu:open",n=>i(e,"aria-expanded","true"),{addedBy:e}),o(e,"click",()=>c(t,d(t)?"menu:close":"menu:open",{opener:e}))});B(document);M(document);export{B as menu,M as menuButton};
-
-/*# sourceMappingURL=./menu.js.map */ \ No newline at end of file
diff --git a/www/releases/_artifacts/v1.0.2/missing-js/menu.js.map b/www/releases/_artifacts/v1.0.2/missing-js/menu.js.map
deleted file mode 100644
index 29a07f3..0000000
--- a/www/releases/_artifacts/v1.0.2/missing-js/menu.js.map
+++ /dev/null
@@ -1 +0,0 @@
-{"version":3,"sources":["/missing-js/menu.js"],"sourcesContent":["/// <reference lib=\"es2022\" />\n\nimport { $, $$, on, dispatch, halts, attr, next, prev, asHtml, hotkey, behavior, makelogger } from \"./19.js\"\n\nconst ilog = makelogger(\"menu\");\nconst sMenu = \"[role=menu]\";\nconst sMenuitem = \"[role=menuitem]\";\n\n/**\n * @param {HTMLElement} menu\n * @returns {HTMLElement[]}\n */\nconst menuItems = menu => $$(menu, sMenuitem);\n\n/**\n * @param {Element} button \n * @param {object} options \n * @param {import(\"./19.js\").Root} options.root \n * @returns {HTMLElement | null}\n */\nconst menuOf = (button, { root }) => {\n const id = attr(button, \"aria-controls\");\n if (id === null) return null;\n return root.getElementById(id);\n}\n\n/**\n * @param {HTMLElement} menu\n * @returns {HTMLElement | null}\n */\nconst firstItem = menu => $(menu, sMenuitem)\n\n/**\n * @param {HTMLElement} menu\n * @returns {HTMLElement | null}\n */\nconst lastItem = menu => menuItems(menu).at(-1) ?? null;\n\n\n/**\n * @param {HTMLElement} menu \n * @returns {boolean}\n */\nconst isOpen = menu => !menu.hidden;\n\nexport const menu = behavior(sMenu, (menu, { root }) => {\n if (!(menu instanceof HTMLElement)) return;\n\n let opener;\n\n menuItems(menu).forEach(item => item.setAttribute(\"tabindex\", \"-1\"));\n\n on(menu, \"menu:open\", e => {\n opener = e.detail?.opener;\n if (!opener) ilog(\"Warning: Menu\", menu, \"opened without passing an `opener` element\");\n menu.hidden = false;\n firstItem(menu)?.focus();\n });\n\n on(menu, \"menu:close\", _ => {\n ilog(\"menu:close\", menu.hidden = true);\n opener?.focus();\n });\n\n on(menu, \"focusout\", e => {\n if (!isOpen(menu)) return;\n if (menu.contains(/** @type {Node} */(e.relatedTarget))) return;\n if (opener === e.relatedTarget) return;\n dispatch(menu, \"menu:close\");\n });\n\n on(menu, \"keydown\", halts(\"default\", hotkey({\n \"ArrowUp\": _ => asHtml(prev(menu, sMenuitem, root.activeElement, {}))?.focus(),\n \"ArrowDown\": _ => asHtml(next(menu, sMenuitem, root.activeElement, {}))?.focus(),\n \"Space\": _ => asHtml(root.activeElement?.closest(sMenuitem))?.click(),\n \"Home\": _ => firstItem(menu)?.focus(),\n \"End\": _ => lastItem(menu)?.focus(),\n \"Escape\": _ => dispatch(menu, \"menu:close\"),\n })));\n\n on(window, \"click\", e => {\n if (!isOpen(menu)) return;\n if (opener === e.target) return;\n dispatch(menu, \"menu:close\");\n }, { addedBy: menu });\n});\n\nexport const menuButton = behavior(\"[aria-haspopup=menu]\", (button, { root }) => {\n const menu = menuOf(button, { root });\n\n if (menu === null) return ilog(\"Error: Menu button\", button, \"has no menu.\");\n\n on(menu, \"menu:close\", _ => attr(button, \"aria-expanded\", \"false\"), { addedBy: button })\n on(menu, \"menu:open\", _ => attr(button, \"aria-expanded\", \"true\"), { addedBy: button })\n on(button, \"click\", () => dispatch(menu, isOpen(menu) ? \"menu:close\" : \"menu:open\", { opener: button }));\n});\n\nmenu(document);\nmenuButton(document);\n"],"mappings":"AAEA,OAAS,KAAAA,EAAG,MAAAC,EAAI,MAAAC,EAAI,YAAAC,EAAU,SAAAC,EAAO,QAAAC,EAAM,QAAAC,EAAM,QAAAC,EAAM,UAAAC,EAAQ,UAAAC,EAAQ,YAAAC,EAAU,cAAAC,MAAkB,UAEnG,MAAMC,EAAOD,EAAW,MAAM,EACxBE,EAAQ,cACRC,EAAY,kBAMZC,EAAYC,GAAQf,EAAGe,EAAMF,CAAS,EAQtCG,EAAS,CAACC,EAAQ,CAAE,KAAAC,CAAK,IAAM,CACjC,MAAMC,EAAKf,EAAKa,EAAQ,eAAe,EACvC,OAAIE,IAAO,KAAa,KACjBD,EAAK,eAAeC,CAAE,CACjC,EAMMC,EAAYL,GAAQhB,EAAEgB,EAAMF,CAAS,EAMrCQ,EAAWN,GAAQD,EAAUC,CAAI,EAAE,GAAG,EAAE,GAAK,KAO7CO,EAASP,GAAQ,CAACA,EAAK,OAEhBA,EAAON,EAASG,EAAO,CAACG,EAAM,CAAE,KAAAG,CAAK,IAAM,CACpD,GAAI,EAAEH,aAAgB,aAAc,OAEpC,IAAIQ,EAEJT,EAAUC,CAAI,EAAE,QAAQS,GAAQA,EAAK,aAAa,WAAY,IAAI,CAAC,EAEnEvB,EAAGc,EAAM,YAAaU,GAAK,CACvBF,EAASE,EAAE,QAAQ,OACdF,GAAQZ,EAAK,gBAAiBI,EAAM,4CAA4C,EACrFA,EAAK,OAAS,GACdK,EAAUL,CAAI,GAAG,MAAM,CAC3B,CAAC,EAEDd,EAAGc,EAAM,aAAcW,GAAK,CACxBf,EAAK,aAAcI,EAAK,OAAS,EAAI,EACrCQ,GAAQ,MAAM,CAClB,CAAC,EAEDtB,EAAGc,EAAM,WAAYU,GAAK,CAClB,CAACH,EAAOP,CAAI,GACZA,EAAK,SAA6BU,EAAE,aAAc,GAClDF,IAAWE,EAAE,eACjBvB,EAASa,EAAM,YAAY,CAC/B,CAAC,EAEDd,EAAGc,EAAM,UAAWZ,EAAM,UAAWK,EAAO,CACxC,QAAWkB,GAAKnB,EAAOD,EAAKS,EAAMF,EAAWK,EAAK,cAAe,CAAC,CAAC,CAAC,GAAG,MAAM,EAC7E,UAAaQ,GAAKnB,EAAOF,EAAKU,EAAMF,EAAWK,EAAK,cAAe,CAAC,CAAC,CAAC,GAAG,MAAM,EAC/E,MAASQ,GAAKnB,EAAOW,EAAK,eAAe,QAAQL,CAAS,CAAC,GAAG,MAAM,EACpE,KAAQa,GAAKN,EAAUL,CAAI,GAAG,MAAM,EACpC,IAAOW,GAAKL,EAASN,CAAI,GAAG,MAAM,EAClC,OAAUW,GAAKxB,EAASa,EAAM,YAAY,CAC9C,CAAC,CAAC,CAAC,EAEHd,EAAG,OAAQ,QAASwB,GAAK,CACjB,CAACH,EAAOP,CAAI,GACZQ,IAAWE,EAAE,QACjBvB,EAASa,EAAM,YAAY,CAC/B,EAAG,CAAE,QAASA,CAAK,CAAC,CACxB,CAAC,EAEYY,EAAalB,EAAS,uBAAwB,CAACQ,EAAQ,CAAE,KAAAC,CAAK,IAAM,CAC7E,MAAMH,EAAOC,EAAOC,EAAQ,CAAE,KAAAC,CAAK,CAAC,EAEpC,GAAIH,IAAS,KAAM,OAAOJ,EAAK,qBAAsBM,EAAQ,cAAc,EAE3EhB,EAAGc,EAAM,aAAcW,GAAKtB,EAAKa,EAAQ,gBAAiB,OAAO,EAAG,CAAE,QAASA,CAAO,CAAC,EACvFhB,EAAGc,EAAM,YAAaW,GAAKtB,EAAKa,EAAQ,gBAAiB,MAAM,EAAG,CAAE,QAASA,CAAO,CAAC,EACrFhB,EAAGgB,EAAQ,QAAS,IAAMf,EAASa,EAAMO,EAAOP,CAAI,EAAI,aAAe,YAAa,CAAE,OAAQE,CAAO,CAAC,CAAC,CAC3G,CAAC,EAEDF,EAAK,QAAQ,EACbY,EAAW,QAAQ","names":["$","$$","on","dispatch","halts","attr","next","prev","asHtml","hotkey","behavior","makelogger","ilog","sMenu","sMenuitem","menuItems","menu","menuOf","button","root","id","firstItem","lastItem","isOpen","opener","item","e","_","menuButton"],"sourceRoot":"file:///tmp/b0874495","file":"/missing-js/menu.js.map"} \ No newline at end of file
diff --git a/www/releases/_artifacts/v1.0.2/missing-js/overflow-nav.js b/www/releases/_artifacts/v1.0.2/missing-js/overflow-nav.js
deleted file mode 100644
index 8ede3f4..0000000
--- a/www/releases/_artifacts/v1.0.2/missing-js/overflow-nav.js
+++ /dev/null
@@ -1,3 +0,0 @@
-import{$ as f,asHtml as g,attr as d,behavior as p,makelogger as m,on as l}from"./19.js";const w=m("overflow-nav"),a=p("[data-overflow-nav]",(t,{options:{expandedClass:o="expanded"}})=>{const e=g(f(t,"[data-nav-expander]"));if(e===null)return w("Expand toggle missing from navbar ",t);const c=()=>t.scrollWidth>t.clientWidth,r=()=>t.classList.contains(o),n=(s=!r())=>{s?(t.classList.add(o),d(e,"aria-pressed",!0),e.textContent="\xD7"):(t.classList.remove(o),d(e,"aria-pressed",!1),e.textContent="\u2630")},i=()=>{const s=e.hidden;e.hidden=!c(),s!=e.hidden&&n(!1)};l(e,"click",()=>n()),i(),l(window,"resize",()=>i(),{addedBy:t})});var h=a;a(document);export{h as default};
-
-/*# sourceMappingURL=./overflow-nav.js.map */ \ No newline at end of file
diff --git a/www/releases/_artifacts/v1.0.2/missing-js/overflow-nav.js.map b/www/releases/_artifacts/v1.0.2/missing-js/overflow-nav.js.map
deleted file mode 100644
index 5ab4218..0000000
--- a/www/releases/_artifacts/v1.0.2/missing-js/overflow-nav.js.map
+++ /dev/null
@@ -1 +0,0 @@
-{"version":3,"sources":["/missing-js/overflow-nav.js"],"sourcesContent":["import { $, asHtml, attr, behavior, makelogger, on } from \"./19.js\";\n\nconst ilog = makelogger(\"overflow-nav\");\n\n/**\n * @type {import(\"./19.js\").Behavior<{ expandedClass: string }>}\n */\nconst overflowNav = behavior(\"[data-overflow-nav]\", (navbar, {\n options: { expandedClass = \"expanded\" }\n}) => {\n const expandToggle = asHtml($(navbar, \"[data-nav-expander]\"));\n\n if (expandToggle === null) return ilog(\"Expand toggle missing from navbar \", navbar);\n\n /*\n \"The scrollWidth value is equal to the minimum width the element would\n require in order to fit all the content in the viewport without using a\n horizontal scrollbar. The width is measured in the same way as\n clientWidth: it includes the element's padding, but not its border,\n margin or vertical scrollbar (if present). It can also include the\n width of pseudo-elements such as ::before or ::after. If the element's\n content can fit without a need for horizontal scrollbar, its\n scrollWidth is equal to clientWidth\"\n -- MDN, \"Element.scrollWidth\", https://developer.mozilla.org/en-US/docs/Web/API/Element/scrollHeight\n */\n const overflows = () => navbar.scrollWidth > navbar.clientWidth;\n\n const isExpanded = () => navbar.classList.contains(expandedClass);\n\n const toggleExpansion = (expand = !isExpanded()) => {\n if (expand) {\n navbar.classList.add(expandedClass);\n attr(expandToggle, \"aria-pressed\", true);\n expandToggle.textContent = \"×\";\n } else {\n navbar.classList.remove(expandedClass);\n attr(expandToggle, \"aria-pressed\", false);\n expandToggle.textContent = \"☰\";\n }\n };\n\n const update = () => {\n const wasHidden = expandToggle.hidden\n expandToggle.hidden = !overflows();\n if (wasHidden != expandToggle.hidden) toggleExpansion(false);\n };\n\n on(expandToggle, \"click\", () => toggleExpansion());\n\n update();\n\n on(window, \"resize\", () => update(), { addedBy: navbar });\n})\n\nexport default overflowNav;\noverflowNav(document);\n"],"mappings":"AAAA,OAAS,KAAAA,EAAG,UAAAC,EAAQ,QAAAC,EAAM,YAAAC,EAAU,cAAAC,EAAY,MAAAC,MAAU,UAE1D,MAAMC,EAAOF,EAAW,cAAc,EAKhCG,EAAcJ,EAAS,sBAAuB,CAACK,EAAQ,CACzD,QAAS,CAAE,cAAAC,EAAgB,UAAW,CAC1C,IAAM,CACF,MAAMC,EAAeT,EAAOD,EAAEQ,EAAQ,qBAAqB,CAAC,EAE5D,GAAIE,IAAiB,KAAM,OAAOJ,EAAK,qCAAsCE,CAAM,EAanF,MAAMG,EAAY,IAAMH,EAAO,YAAcA,EAAO,YAE9CI,EAAa,IAAMJ,EAAO,UAAU,SAASC,CAAa,EAE1DI,EAAkB,CAACC,EAAS,CAACF,EAAW,IAAM,CAC5CE,GACAN,EAAO,UAAU,IAAIC,CAAa,EAClCP,EAAKQ,EAAc,eAAgB,EAAI,EACvCA,EAAa,YAAc,SAE3BF,EAAO,UAAU,OAAOC,CAAa,EACrCP,EAAKQ,EAAc,eAAgB,EAAK,EACxCA,EAAa,YAAc,SAEnC,EAEMK,EAAS,IAAM,CACjB,MAAMC,EAAYN,EAAa,OAC/BA,EAAa,OAAS,CAACC,EAAU,EAC7BK,GAAaN,EAAa,QAAQG,EAAgB,EAAK,CAC/D,EAEAR,EAAGK,EAAc,QAAS,IAAMG,EAAgB,CAAC,EAEjDE,EAAO,EAEPV,EAAG,OAAQ,SAAU,IAAMU,EAAO,EAAG,CAAE,QAASP,CAAO,CAAC,CAC5D,CAAC,EAED,IAAOS,EAAQV,EACfA,EAAY,QAAQ","names":["$","asHtml","attr","behavior","makelogger","on","ilog","overflowNav","navbar","expandedClass","expandToggle","overflows","isExpanded","toggleExpansion","expand","update","wasHidden","overflow_nav_default"],"sourceRoot":"file:///tmp/b0874495","file":"/missing-js/overflow-nav.js.map"} \ No newline at end of file
diff --git a/www/releases/_artifacts/v1.0.2/missing-js/tabs.js b/www/releases/_artifacts/v1.0.2/missing-js/tabs.js
deleted file mode 100644
index a5fc714..0000000
--- a/www/releases/_artifacts/v1.0.2/missing-js/tabs.js
+++ /dev/null
@@ -1,3 +0,0 @@
-import{$ as h,$$ as m,on as t,attr as s,next as p,prev as x,asHtml as r,hotkey as b,behavior as k,makelogger as w}from"./19.js";const E=w("tabs"),c=e=>m(e,"[role=tab]"),u=e=>h(e,"[role=tab][aria-selected=true]"),i=(e,n)=>{const o=s(e,"aria-controls");return o===null?(E("Tab",e,"has no associated tabpanel"),null):n.getElementById(o)},f=(e,n,o)=>{if(!o)return;const a=u(n);if(a){s(a,{ariaSelected:!1,tabindex:-1});const l=i(a,e);l&&(l.hidden=!0)}s(o,{ariaSelected:!0,tabindex:0});const d=i(o,e);d&&(d.hidden=!1),o.focus()},g=k("[role=tablist]",(e,{root:n})=>{e instanceof HTMLElement&&(e.tabIndex=0,c(e).forEach(o=>o.tabIndex=-1),f(n,e,u(e)),t(e,"focus",o=>u(e)?.focus()),t(e,"click",o=>f(n,e,r(r(o.target)?.closest("[role=tab]")))),t(e,"focusin",o=>f(n,e,r(r(o.target)?.closest("[role=tab]")))),t(e,"keydown",b({ArrowRight:o=>r(p(e,"[role=tab]",r(o.target)))?.focus(),ArrowLeft:o=>r(x(e,"[role=tab]",r(o.target)))?.focus(),Home:o=>c(e).at(0)?.focus(),End:o=>c(e).at(-1)?.focus()})))});g(document);var y=g;export{y as default,g as tablist};
-
-/*# sourceMappingURL=./tabs.js.map */ \ No newline at end of file
diff --git a/www/releases/_artifacts/v1.0.2/missing-js/tabs.js.map b/www/releases/_artifacts/v1.0.2/missing-js/tabs.js.map
deleted file mode 100644
index 02e8660..0000000
--- a/www/releases/_artifacts/v1.0.2/missing-js/tabs.js.map
+++ /dev/null
@@ -1 +0,0 @@
-{"version":3,"sources":["/missing-js/tabs.js"],"sourcesContent":["/// a tabs library.\n\nimport { $, $$, on, attr, next, prev, asHtml, hotkey, behavior, makelogger } from \"./19.js\";\n\nconst ilog = makelogger(\"tabs\");\n\n/** \n * @param {Element} tablist\n * @returns {HTMLElement[]}\n */\nconst tabsOf = tablist => $$(tablist, \"[role=tab]\");\n\n/** \n * @param {Element} tablist\n * @returns {HTMLElement | null}\n */\nconst currentTab = tablist => $(tablist, \"[role=tab][aria-selected=true]\");\n\n/** \n * @param {Element} tab\n * @param {import(\"./19.js\").Root} root\n * @returns {HTMLElement | null}\n */\nconst tabPanelOf = (tab, root) => {\n const id = attr(tab, \"aria-controls\");\n if (id === null) return ilog(\"Tab\", tab, \"has no associated tabpanel\"), null;\n return root.getElementById(id);\n}\n\n/** \n * @param {import(\"./19.js\").Root} root\n * @param {Element} tablist\n * @param {HTMLElement | null} tab\n * @returns {void}\n */\nconst switchTab = (root, tablist, tab) => {\n if (!tab) return;\n const curtab = currentTab(tablist);\n\n if (curtab) {\n attr(curtab, { ariaSelected: false, tabindex: -1 });\n const tabpanel = tabPanelOf(curtab, root);\n if (tabpanel) tabpanel.hidden = true;\n }\n attr(tab, { ariaSelected: true, tabindex: 0 });\n \n const tabpanel = tabPanelOf(tab, root);\n if (tabpanel) tabpanel.hidden = false;\n\n tab.focus();\n};\n\n/**\n * https://www.w3.org/WAI/ARIA/apg/patterns/tabpanel/\n */\nexport const tablist = behavior(\"[role=tablist]\", (tablist, { root }) => {\n if (!(tablist instanceof HTMLElement)) return;\n tablist.tabIndex = 0;\n tabsOf(tablist).forEach(tab => tab.tabIndex = -1);\n switchTab(root, tablist, currentTab(tablist));\n\n on(tablist, \"focus\", _ => currentTab(tablist)?.focus());\n\n on(tablist, \"click\", e => switchTab(root, tablist, asHtml(asHtml(e.target)?.closest(\"[role=tab]\"))));\n on(tablist, \"focusin\", e => switchTab(root, tablist, asHtml(asHtml(e.target)?.closest(\"[role=tab]\"))));\n\n on(tablist, \"keydown\", hotkey({\n \"ArrowRight\": e => asHtml(next(tablist, \"[role=tab]\", asHtml(e.target)))?.focus(),\n \"ArrowLeft\": e => asHtml(prev(tablist, \"[role=tab]\", asHtml(e.target)))?.focus(),\n \"Home\": _ => tabsOf(tablist).at(0)?.focus(),\n \"End\": _ => tabsOf(tablist).at(-1)?.focus(),\n }));\n})\n\ntablist(document);\nexport default tablist;\n\n"],"mappings":"AAEA,OAAS,KAAAA,EAAG,MAAAC,EAAI,MAAAC,EAAI,QAAAC,EAAM,QAAAC,EAAM,QAAAC,EAAM,UAAAC,EAAQ,UAAAC,EAAQ,YAAAC,EAAU,cAAAC,MAAkB,UAElF,MAAMC,EAAOD,EAAW,MAAM,EAMxBE,EAASC,GAAWX,EAAGW,EAAS,YAAY,EAM5CC,EAAaD,GAAWZ,EAAEY,EAAS,gCAAgC,EAOnEE,EAAa,CAACC,EAAKC,IAAS,CAChC,MAAMC,EAAKd,EAAKY,EAAK,eAAe,EACpC,OAAIE,IAAO,MAAaP,EAAK,MAAOK,EAAK,4BAA4B,EAAG,MACjEC,EAAK,eAAeC,CAAE,CAC/B,EAQMC,EAAY,CAACF,EAAMJ,EAASG,IAAQ,CACxC,GAAI,CAACA,EAAK,OACV,MAAMI,EAASN,EAAWD,CAAO,EAEjC,GAAIO,EAAQ,CACVhB,EAAKgB,EAAQ,CAAE,aAAc,GAAO,SAAU,EAAG,CAAC,EAClD,MAAMC,EAAWN,EAAWK,EAAQH,CAAI,EACpCI,IAAUA,EAAS,OAAS,GAClC,CACAjB,EAAKY,EAAK,CAAE,aAAc,GAAM,SAAU,CAAE,CAAC,EAE7C,MAAMK,EAAWN,EAAWC,EAAKC,CAAI,EACjCI,IAAUA,EAAS,OAAS,IAEhCL,EAAI,MAAM,CACZ,EAKaH,EAAUJ,EAAS,iBAAkB,CAACI,EAAS,CAAE,KAAAI,CAAK,IAAM,CACjEJ,aAAmB,cACzBA,EAAQ,SAAW,EACnBD,EAAOC,CAAO,EAAE,QAAQG,GAAOA,EAAI,SAAW,EAAE,EAChDG,EAAUF,EAAMJ,EAASC,EAAWD,CAAO,CAAC,EAE5CV,EAAGU,EAAS,QAASS,GAAKR,EAAWD,CAAO,GAAG,MAAM,CAAC,EAEtDV,EAAGU,EAAS,QAAWU,GAAKJ,EAAUF,EAAMJ,EAASN,EAAOA,EAAOgB,EAAE,MAAM,GAAG,QAAQ,YAAY,CAAC,CAAC,CAAC,EACrGpB,EAAGU,EAAS,UAAWU,GAAKJ,EAAUF,EAAMJ,EAASN,EAAOA,EAAOgB,EAAE,MAAM,GAAG,QAAQ,YAAY,CAAC,CAAC,CAAC,EAErGpB,EAAGU,EAAS,UAAWL,EAAO,CAC5B,WAAce,GAAKhB,EAAOF,EAAKQ,EAAS,aAAcN,EAAOgB,EAAE,MAAM,CAAC,CAAC,GAAG,MAAM,EAChF,UAAcA,GAAKhB,EAAOD,EAAKO,EAAS,aAAcN,EAAOgB,EAAE,MAAM,CAAC,CAAC,GAAG,MAAM,EAChF,KAAQD,GAAKV,EAAOC,CAAO,EAAE,GAAG,CAAC,GAAG,MAAM,EAC1C,IAAOS,GAAKV,EAAOC,CAAO,EAAE,GAAG,EAAE,GAAG,MAAM,CAC5C,CAAC,CAAC,EACJ,CAAC,EAEDA,EAAQ,QAAQ,EAChB,IAAOW,EAAQX","names":["$","$$","on","attr","next","prev","asHtml","hotkey","behavior","makelogger","ilog","tabsOf","tablist","currentTab","tabPanelOf","tab","root","id","switchTab","curtab","tabpanel","_","e","tabs_default"],"sourceRoot":"file:///tmp/b0874495","file":"/missing-js/tabs.js.map"} \ No newline at end of file
diff --git a/www/releases/_artifacts/v1.0.2/missing-prism.css b/www/releases/_artifacts/v1.0.2/missing-prism.css
deleted file mode 100644
index 23e48b5..0000000
--- a/www/releases/_artifacts/v1.0.2/missing-prism.css
+++ /dev/null
@@ -1,62 +0,0 @@
-
-.token.comment,
-.token.prolog,
-.token.doctype,
-.token.cdata,
-.token.punctuation {
- color: var(--muted-fg);
-}
-
-.token.property,
-.token.tag,
-.token.boolean,
-.token.number,
-.token.constant,
-.token.symbol,
-.token.deleted {
- color: var(--bad-fg);
-}
-
-.token.selector,
-.token.attr-name,
-.token.string,
-.token.char,
-.token.builtin,
-.token.inserted {
- color: var(--ok-fg);
-}
-
-.token.operator,
-.token.entity,
-.token.url,
-.language-css .token.string,
-.style .token.string,
-.token.regex,
-.token.important,
-.token.variable {
- color: var(--warn-fg)
-}
-
-.token.atrule,
-.token.attr-value,
-.token.keyword {
- color: var(--info-fg);
-}
-
-.token.function {
- color: var(--bad-fg);
- font-style: italic;
-}
-
-.token.important,
-.token.bold {
- font-weight: bold;
-}
-
-.token.italic {
- font-style: italic;
-}
-
-.token.entity {
- cursor: help;
-}
diff --git a/www/releases/_artifacts/v1.0.2/missing-prism.min.css b/www/releases/_artifacts/v1.0.2/missing-prism.min.css
deleted file mode 100644
index 41c91b1..0000000
--- a/www/releases/_artifacts/v1.0.2/missing-prism.min.css
+++ /dev/null
@@ -1 +0,0 @@
-.token.cdata,.token.comment,.token.doctype,.token.prolog,.token.punctuation{color:var(--muted-fg)}.token.boolean,.token.constant,.token.deleted,.token.number,.token.property,.token.symbol,.token.tag{color:var(--bad-fg)}.token.attr-name,.token.builtin,.token.char,.token.inserted,.token.selector,.token.string{color:var(--ok-fg)}.language-css .token.string,.style .token.string,.token.entity,.token.important,.token.operator,.token.regex,.token.url,.token.variable{color:var(--warn-fg)}.token.atrule,.token.attr-value,.token.keyword{color:var(--info-fg)}.token.function{color:var(--bad-fg);font-style:italic}.token.bold,.token.important{font-weight:700}.token.italic{font-style:italic}.token.entity{cursor:help} \ No newline at end of file
diff --git a/www/releases/_artifacts/v1.0.2/missing.css b/www/releases/_artifacts/v1.0.2/missing.css
deleted file mode 100644
index f304a00..0000000
--- a/www/releases/_artifacts/v1.0.2/missing.css
+++ /dev/null
@@ -1,2366 +0,0 @@
-/* Document
- * ========================================================================== */
-
-/**
- * 1. Add border box sizing in all browsers (opinionated).
- * 2. Backgrounds do not repeat by default (opinionated).
- */
-
-*,
-::before,
-::after {
- box-sizing: border-box; /* 1 */
- background-repeat: no-repeat; /* 2 */
-}
-
-/**
- * 1. Add text decoration inheritance in all browsers (opinionated).
- * 2. Add vertical alignment inheritance in all browsers (opinionated).
- */
-
-::before,
-::after {
- text-decoration: inherit; /* 1 */
- vertical-align: inherit; /* 2 */
-}
-
-/**
- * 1. Use the default cursor in all browsers (opinionated).
- * 3. Breaks words to prevent overflow in all browsers (opinionated).
- * 5. Remove the grey highlight on links in iOS (opinionated).
- * 6. Prevent adjustments of font size after orientation changes in iOS.
- */
-
-:root {
- cursor: default; /* 1 */
- overflow-wrap: break-word; /* 3 */
- -webkit-tap-highlight-color: transparent; /* 5 */
- text-size-adjust: none;
- -webkit-text-size-adjust: none;
-}
-
-/* Text-level semantics
- * ========================================================================== */
-
-/**
- * Add the correct text decoration in Safari.
- */
-
-abbr[title] {
- text-decoration: underline;
- -webkit-text-decoration: underline dotted;
- text-decoration: underline dotted;
-}
-
-/**
- * Add the correct font weight in Chrome, Edge, and Safari.
- */
-
-strong, b {
- font-weight: bolder;
-}
-
-/**
- * Add the correct font size in all browsers.
- */
-
-small {
- font-size: 80%;
-}
-
-/* Embedded content
- * ========================================================================== */
-
-/*
- * Change the alignment on media elements in all browsers (opinionated).
- */
-
-audio, canvas, iframe, img, svg, video {
- vertical-align: middle;
-}
-
-/**
- * Change the fill color to match the text color in all browsers (opinionated).
- */
-
-svg:not([fill]) {
- fill: currentColor;
-}
-
-/* Tabular data
- * ========================================================================== */
-
-/**
- * 1. Collapse border spacing in all browsers (opinionated).
- * 2. Correct table border color in Chrome, Edge, and Safari.
- * 3. Remove text indentation from table contents in Chrome, Edge, and Safari.
- */
-
-table {
- border-collapse: collapse; /* 1 */
- border-color: currentColor; /* 2 */
- text-indent: 0; /* 3 */
-}
-
-/* Forms
- * ========================================================================== */
-
-/**
- * Remove the margin on controls in Safari.
- */
-
-button, input, select {
- margin: 0;
-}
-
-/**
- * Correct the inability to style buttons in iOS and Safari.
- */
-
-button, [type="button"], [type="reset"], [type="submit"] {
- -webkit-appearance: button;
-}
-
-/**
- * Change the inconsistent appearance in all browsers (opinionated).
- */
-
-fieldset {
- border: 1px solid #a0a0a0;
-}
-
-/**
- * Add the correct vertical alignment in Chrome, Edge, and Firefox.
- */
-
-progress {
- vertical-align: baseline;
-}
-
-/**
- * 1. Remove the margin in Firefox and Safari.
- */
-
-textarea {
- margin: 0; /* 1 */
-}
-
-/**
- * 1. Correct the odd appearance in Chrome, Edge, and Safari.
- * 2. Correct the outline style in Safari.
- */
-
-[type="search"] {
- -webkit-appearance: textfield; /* 1 */
- outline-offset: -2px; /* 2 */
-}
-
-/**
- * Correct the cursor style of increment and decrement buttons in Safari.
- */
-
-::-webkit-inner-spin-button,
-::-webkit-outer-spin-button {
- block-size: auto;
-}
-
-/**
- * Correct the text style of placeholders in Chrome, Edge, and Safari.
- */
-
-::-webkit-input-placeholder {
- color: inherit;
- opacity: 0.54;
-}
-
-/**
- * Remove the inner padding in Chrome, Edge, and Safari on macOS.
- */
-
-::-webkit-search-decoration {
- -webkit-appearance: none;
-}
-
-/**
- * 1. Correct the inability to style upload buttons in iOS and Safari.
- * 2. Change font properties to `inherit` in Safari.
- */
-
-::-webkit-file-upload-button {
- -webkit-appearance: button; /* 1 */
- font: inherit; /* 2 */
-}
-
-/* Interactive
- * ========================================================================== */
-
-[hidden] {
- display: none !important;
-}
-
-:focus-visible {
- outline: .2em solid var(--accent);
- z-index: 32;
-}
-
-iframe:focus-visible,
- html:focus-visible,
- body:focus-visible {
- outline: none;
- }
-
-:target {
- outline: .2em solid var(--fg);
- z-index: 2;
-}
-
-/*
- * Add the correct display in Safari.
- */
-
-details > summary:first-of-type {
- display: list-item;
-}
-
-/* Accessibility
- * ========================================================================== */
-
-/**
- * Change the cursor on busy elements in all browsers (opinionated).
- */
-
-[aria-busy="true"] {
- cursor: progress;
-}
-
-/*
- * Change the cursor on disabled, not-editable, or otherwise
- * inoperable elements in all browsers (opinionated).
- */
-
-[aria-disabled="true"], [disabled] {
- cursor: not-allowed;
-}
-
-datalist {
- display: none !important;
-}
-
-/* https://github.com/fchristant/colar/ */
-
-:root {
- --gray-0: #f8fafb;
- --gray-1: #f2f4f6;
- --gray-2: #ebedef;
- --gray-3: #e0e4e5;
- --gray-4: #d1d6d8;
- --gray-5: #b1b6b9;
- --gray-6: #979b9d;
- --gray-7: #7e8282;
- --gray-8: #666968;
- --gray-9: #50514f;
- --gray-10: #3a3a37;
- --gray-11: #252521;
- --gray-12: #121210;
-
- --red-0: #fff5f5;
- --red-1: #ffe3e3;
- --red-2: #ffc9c9;
- --red-3: #ffa8a8;
- --red-4: #ff8787;
- --red-5: #ff6b6b;
- --red-6: #fa5252;
- --red-7: #f03e3e;
- --red-8: #e03131;
- --red-9: #c92a2a;
- --red-10: #b02525;
- --red-11: #962020;
- --red-12: #7d1a1a;
-
- --pink-0: #fff0f6;
- --pink-1: #ffdeeb;
- --pink-2: #fcc2d7;
- --pink-3: #faa2c1;
- --pink-4: #f783ac;
- --pink-5: #f06595;
- --pink-6: #e64980;
- --pink-7: #d6336c;
- --pink-8: #c2255c;
- --pink-9: #a61e4d;
- --pink-10: #8c1941;
- --pink-11: #731536;
- --pink-12: #59102a;
-
- --purple-0: #f8f0fc;
- --purple-1: #f3d9fa;
- --purple-2: #eebefa;
- --purple-3: #e599f7;
- --purple-4: #da77f2;
- --purple-5: #cc5de8;
- --purple-6: #be4bdb;
- --purple-7: #ae3ec9;
- --purple-8: #9c36b5;
- --purple-9: #862e9c;
- --purple-10: #702682;
- --purple-11: #5a1e69;
- --purple-12: #44174f;
-
- --violet-0: #f3f0ff;
- --violet-1: #e5dbff;
- --violet-2: #d0bfff;
- --violet-3: #b197fc;
- --violet-4: #9775fa;
- --violet-5: #845ef7;
- --violet-6: #7950f2;
- --violet-7: #7048e8;
- --violet-8: #6741d9;
- --violet-9: #5f3dc4;
- --violet-10: #5235ab;
- --violet-11: #462d91;
- --violet-12: #3a2578;
-
- --indigo-0: #edf2ff;
- --indigo-1: #dbe4ff;
- --indigo-2: #bac8ff;
- --indigo-3: #91a7ff;
- --indigo-4: #748ffc;
- --indigo-5: #5c7cfa;
- --indigo-6: #4c6ef5;
- --indigo-7: #4263eb;
- --indigo-8: #3b5bdb;
- --indigo-9: #364fc7;
- --indigo-10: #2f44ad;
- --indigo-11: #283a94;
- --indigo-12: #21307a;
-
- --blue-0: #e7f5ff;
- --blue-1: #d0ebff;
- --blue-2: #a5d8ff;
- --blue-3: #74c0fc;
- --blue-4: #4dabf7;
- --blue-5: #339af0;
- --blue-6: #228be6;
- --blue-7: #1c7ed6;
- --blue-8: #1971c2;
- --blue-9: #1864ab;
- --blue-10: #145591;
- --blue-11: #114678;
- --blue-12: #0d375e;
-
- --cyan-0: #e3fafc;
- --cyan-1: #c5f6fa;
- --cyan-2: #99e9f2;
- --cyan-3: #66d9e8;
- --cyan-4: #3bc9db;
- --cyan-5: #22b8cf;
- --cyan-6: #15aabf;
- --cyan-7: #1098ad;
- --cyan-8: #0c8599;
- --cyan-9: #0b7285;
- --cyan-10: #095c6b;
- --cyan-11: #074652;
- --cyan-12: #053038;
-
- --teal-0: #e6fcf5;
- --teal-1: #c3fae8;
- --teal-2: #96f2d7;
- --teal-3: #63e6be;
- --teal-4: #38d9a9;
- --teal-5: #20c997;
- --teal-6: #12b886;
- --teal-7: #0ca678;
- --teal-8: #099268;
- --teal-9: #087f5b;
- --teal-10: #066649;
- --teal-11: #054d37;
- --teal-12: #033325;
-
- --green-0: #ebfbee;
- --green-1: #d3f9d8;
- --green-2: #b2f2bb;
- --green-3: #8ce99a;
- --green-4: #69db7c;
- --green-5: #51cf66;
- --green-6: #40c057;
- --green-7: #37b24d;
- --green-8: #2f9e44;
- --green-9: #2b8a3e;
- --green-10: #237032;
- --green-11: #1b5727;
- --green-12: #133d1b;
-
- --lime-0: #f4fce3;
- --lime-1: #e9fac8;
- --lime-2: #d8f5a2;
- --lime-3: #c0eb75;
- --lime-4: #a9e34b;
- --lime-5: #94d82d;
- --lime-6: #82c91e;
- --lime-7: #74b816;
- --lime-8: #66a80f;
- --lime-9: #5c940d;
- --lime-10: #4c7a0b;
- --lime-11: #3c6109;
- --lime-12: #2c4706;
-
- --yellow-0: #fff9db;
- --yellow-1: #fff3bf;
- --yellow-2: #ffec99;
- --yellow-3: #ffe066;
- --yellow-4: #ffd43b;
- --yellow-5: #fcc419;
- --yellow-6: #fab005;
- --yellow-7: #f59f00;
- --yellow-8: #f08c00;
- --yellow-9: #e67700;
- --yellow-10: #b35c00;
- --yellow-11: #804200;
- --yellow-12: #663500;
-
- --orange-0: #fff4e6;
- --orange-1: #ffe8cc;
- --orange-2: #ffd8a8;
- --orange-3: #ffc078;
- --orange-4: #ffa94d;
- --orange-5: #ff922b;
- --orange-6: #fd7e14;
- --orange-7: #f76707;
- --orange-8: #e8590c;
- --orange-9: #d9480f;
- --orange-10: #bf400d;
- --orange-11: #99330b;
- --orange-12: #802b09;
-
- --choco-0: #fff8dc;
- --choco-1: #fce1bc;
- --choco-2: #f7ca9e;
- --choco-3: #f1b280;
- --choco-4: #e99b62;
- --choco-5: #df8545;
- --choco-6: #d46e25;
- --choco-7: #bd5f1b;
- --choco-8: #a45117;
- --choco-9: #8a4513;
- --choco-10: #703a13;
- --choco-11: #572f12;
- --choco-12: #3d210d;
-
- --brown-0: #faf4eb;
- --brown-1: #ede0d1;
- --brown-2: #e0cab7;
- --brown-3: #d3b79e;
- --brown-4: #c5a285;
- --brown-5: #b78f6d;
- --brown-6: #a87c56;
- --brown-7: #956b47;
- --brown-8: #825b3a;
- --brown-9: #6f4b2d;
- --brown-10:#5e3a21;
- --brown-11:#4e2b15;
- --brown-12: #422412;
-
- --sand-0: #f8fafb;
- --sand-1: #e6e4dc;
- --sand-2: #d5cfbd;
- --sand-3: #c2b9a0;
- --sand-4: #aea58c;
- --sand-5: #9a9178;
- --sand-6: #867c65;
- --sand-7: #736a53;
- --sand-8: #5f5746;
- --sand-9: #4b4639;
- --sand-10:#38352d;
- --sand-11:#252521;
- --sand-12: #121210;
-
- --camo-0: #f9fbe7;
- --camo-1: #e8ed9c;
- --camo-2: #d2df4e;
- --camo-3: #c2ce34;
- --camo-4: #b5bb2e;
- --camo-5: #a7a827;
- --camo-6: #999621;
- --camo-7: #8c851c;
- --camo-8: #7e7416;
- --camo-9: #6d6414;
- --camo-10: #5d5411;
- --camo-11: #4d460e;
- --camo-12: #36300a;
-
- --jungle-0: #ecfeb0;
- --jungle-1: #def39a;
- --jungle-2: #d0e884;
- --jungle-3: #c2dd6e;
- --jungle-4: #b5d15b;
- --jungle-5: #a8c648;
- --jungle-6: #9bbb36;
- --jungle-7: #8fb024;
- --jungle-8: #84a513;
- --jungle-9: #7a9908;
- --jungle-10: #658006;
- --jungle-11: #516605;
- --jungle-12: #3d4d04;
-}
-
-/***
- 4.1 The document element
- https://html.spec.whatwg.org/multipage/semantics.html#the-root-element
-
- 4.3 Sections
- https://html.spec.whatwg.org/multipage/sections.html
- ***/
-
-html {
- font-family: var(--main-font);
- line-height: var(--rhythm);
-
- background: var(--bg);
- color: var(--fg);
- scroll-padding-block-start: calc(4 * var(--gap));
-}
-
-body {
- margin: 0;
-}
-
-header, footer, section + section {
- margin-block: calc(2 * var(--gap));
-}
-
-nav a {
- text-decoration: none;
- color: var(--accent);
- }
-
-/* SEE components/box.css */
-
-aside h1,
- aside h2,
- aside h3,
- aside h4,
- aside h5,
- aside h6 {
- font-size: 1em;
- text-transform: none;
- letter-spacing: none;
- }
-
-aside.big {
- /* Pull quote */
- background: none;
- border: none;
- border-inline-start: 1px solid var(--muted-fg);
- border-radius: 0;
- padding: 0;
- padding-inline-start: var(--rhythm);
- font-style: italic;
- color: var(--accent);
- }
-
-h1, h2, h3, h4, h5, h6,
-.\<h1\>, .\<h2\>, .\<h3\>, .\<h4\>, .\<h5\>, .\<h6\> {
- margin-block-end: var(--gap);
- font-family: var(--secondary-font);
- font-size: 1em;
- margin-block-start: calc(2 * var(--gap));
- position: relative;
-}
-
-h1, .\<h1\> {
- font-size: 2em;
- text-transform: none;
- line-height: calc(2 * var(--rhythm));
- letter-spacing: 0;
-}
-
-h2, .\<h2\> {
- font-size: 1.6em;
- text-transform: none;
- line-height: calc(1.5 * var(--rhythm));
- letter-spacing: 0;
-}
-
-h3, .\<h3\> {
- font-size: 1.17em;
- line-height: calc(1 * var(--rhythm));
-}
-
-h4, .\<h4\>, h5, .\<h5\>, h6, .\<h6\> {
- font-size: 1em;
- text-transform: none;
- line-height: calc(1 * var(--rhythm));
- letter-spacing: 0;
- margin-block-start: var(--gap);
-}
-
-h1 + h2,
-h2 + h3,
-h3 + h4,
-h4 + h5,
-h5 + h6,
-h1:first-child,
-h2:first-child,
-h3:first-child,
-h4:first-child,
-h5:first-child,
-h6:first-child {
- margin-block-start: var(--gap);
-}
-
-h1:target,
-h2:target,
-h3:target,
-h4:target,
-h5:target,
-h6:target {
- outline: none
-}
-
-h1:target::before, h2:target::before, h3:target::before, h4:target::before, h5:target::before, h6:target::before {
- content: "";
- display: block;
- position: absolute;
- left: -.5em;
- width: 4px;
- height: 100%;
- background: var(--accent);
- }
-
-header {
- font-family: var(--secondary-font);
- border-block-end: 1px solid var(--faded-fg);
-}
-
-footer {
- font-family: var(--secondary-font);
- border-block-start: 1px solid var(--faded-fg);
-}
-
-body > header,
-body > footer,
-main + footer {
- padding: var(--rhythm) calc((100% - var(--eff-line-length)) / 2)
-}
-
-address {
- --density: 0;
-}
-
-/***
- 4.4 Grouping content
- https://html.spec.whatwg.org/multipage/grouping-content.html
- ***/
-
-p {
- margin-block: var(--gap);
-}
-
-hr {
- color: inherit;
- margin-inline: 0;
- margin-block: var(--gap);
-
- flex: 0 1 0px;
- border-inline-start: 1px solid var(--accent);
- block-size: auto;
- border-block-start: 1px solid var(--accent);
- border-block-end: none;
- border-inline-end: none;
-}
-
-pre {
- font-family: var(--mono-font);
- font-size: .9em;
- line-height: var(--rhythm);
- -o-tab-size: 2;
- tab-size: 2;
-
- margin: var(--gap) 0;
-
- overflow-x: auto;
- scrollbar-width: thin;
- scrollbar-color: var(--accent) transparent;
-}
-
-blockquote {
- margin-inline: 0 var(--gap);
- padding-inline: var(--gap) 0;
- margin-block: var(--gap);
-
- font-size: 1.1em;
- line-height: var(--rhythm);
- font-style: italic;
-
- border-inline-start: 1px solid var(--faded-fg);
- color: var(--muted-fg)
-}
-
-blockquote em, blockquote cite, blockquote dfn, blockquote var, blockquote i, blockquote address {
- font-style: normal;
- }
-
-blockquote footer {
- text-align: right;
- text-align: end;
- }
-
-ul, ol {
- padding-inline-start: var(--rhythm)
-}
-
-ul ul, ul ol, ol ul, ol ol {
- padding-inline-start: var(--gap);
- }
-
-ul[role="list"], ol[role="list"], ul[role="listbox"], ol[role="listbox"] {
- padding-inline-start: 0;
- list-style: none;
- }
-
-ul {
-}
-
-ol {
- list-style: decimal;
-}
-
-dl {
- margin-block: var(--gap);
-}
-
-dt {
- font-weight: bold;
- }
-
-dd {
- margin-inline-start: var(--rhythm);
- }
-
-li::marker {
- font-family: var(--secondary-font);
-}
-
-figure {
- max-width: 100%;
- margin-inline: 0;
-
- /* SEE components/box.css */
-}
-
-figcaption {
- margin-block: var(--gap);
-
- font-family: var(--secondary-font);
-
- color: var(--muted-fg);
-}
-
-main {
- max-inline-size: var(--eff-line-length);
- inline-size: 100%;
- margin-inline: auto
-}
-
-main:first-child { padding-top: var(--gap); }
-
-/***
- 4.5 Text-level semantics
- https://html.spec.whatwg.org/multipage/text-level-semantics.html
-
- 4.7 Edits
- https://html.spec.whatwg.org/multipage/edits.html
- ***/
-
-/* Text-level semantics */
-
-a {
- color: var(--link-fg, var(--accent));
- font-family: var(--secondary-font);
- border-radius: var(--border-radius);
- outline-offset: 1px
-}
-
-.list-of-links a {
- text-decoration: none
-}
-
-a:hover, a:focus {
- text-decoration: none;
- outline: 1px solid;
- transition: outline-offset .1s ease-in-out;
- }
-
-a:active {
- outline-offset: 0;
- }
-
-span > small:only-child {
- /***
- Sidenote
- ***/
- display: block;
- float: inline-end;
- clear: inline-end;
-
- --sidenote-width: 20ch;
-
- max-inline-size: var(--sidenote-width);
- padding-inline: 1.5ch 1ch;
-
- margin-inline-end: calc(1em - var(--sidenote-width));
- margin-block-end: var(--rhythm);
-
- font-family: var(--secondary-font);
-
- background: var(--bg);
- border: 1px solid transparent;
-
- transition: transform .1s ease-in-out
-}
-
-span > small:only-child:hover, span > small:only-child:focus-within {
- border: 1px solid var(--faded-fg);
- border-radius: var(--border-radius);
- transform: translateX(calc(
- 0px - var(--sidenote-width)
- + min(var(--gutter-width), var(--sidenote-width))
- ))
- }
-
-s {
- color: var(--bad-fg);
-}
-
-q {
- font-style: italic
-}
-
-q em, q cite, q dfn, q var, q i, q address {
- font-style: normal;
- }
-
-time {
- font-variant-numeric: tabular-nums;
-}
-
-code, samp, kbd {
- font-family: var(--mono-font);
- font-style: normal;
-}
-
-samp {
- color: var(--ok-fg);
-}
-
-kbd kbd /*
- We apply the key-like styling to a nested kbd element, a pattern shown in
- WHATWG HTML for marking up keyboard input:
-
- > Here the kbd element is used to indicate keys to press:
- > ~~~ html
- > <p>To make George eat an apple, press <kbd><kbd>Shift</kbd> + <kbd>F3</kbd></kbd></p>
- > ~~~
-
- The plain kbd element can also be used for clicking menus (<kbd>File |
- New...</kbd>) or voice input (<kbd>Hey Siri, </kbd>)
-*/ {
- display: inline-block;
-
- padding: 0 .3em;
- font-size: .8em;
- line-height: 1.1em;
-
- background: var(--interactive-bg);
- border: 1px outset var(--faded-fg);
- border-block-end-width: 3px;
- border-radius: var(--border-radius);
-}
-
-sub {
- vertical-align: bottom;
- line-height: 1;
-}
-
-sup {
- vertical-align: top;
- line-height: 1;
-}
-
-mark {
- background: var(--warn-bg);
- color: var(--warn-fg);
-}
-
-/* Edits */
-
-ins {
- background: var(--ok-bg);
- color: var(--ok-fg);
-}
-
-del {
- background: var(--bad-bg);
- color: var(--bad-fg);
-}
-
-/***
- 4.8 Embedded content
- https://html.spec.whatwg.org/multipage/embedded-content.html
- ***/
-
-img, video, audio, iframe, object, embed {
- max-inline-size: 100%;
- inline-size: max-content;
- block-size: auto;
-}
-
-/***
- 4.9 Tabular data
- https://html.spec.whatwg.org/multipage/tables.html
- ***/
-
-table {
- font-variant-numeric: tabular-nums;
- font: inherit;
-}
-
-caption {
- text-align: start;
- font-family: var(--secondary-font);
- font-style: italic;
-}
-
-tbody {
- border-block: 1px solid var(--fg);
-}
-
-thead {
-}
-
-tfoot {
-}
-
-tr {
-
-}
-
-td, th {
- vertical-align: top
-}
-
-td:not(:last-child), th:not(:last-child) {
- padding-inline-end: var(--rhythm);
- }
-
-td {
- }
-
-th {
- font-family: var(--secondary-font);
- text-align: start;
- }
-
-/***
- 4.10 Forms
- https://html.spec.whatwg.org/multipage/forms.html
- ***/
-
-input { display: block; }
-
-label input:not([specificity-hack]) { display: inline; padding-block: 0; }
-
-button,
-input[type="submit"],
-input[type="reset"],
-input[type="button"],
-input::file-selector-button,
-.\<button\> {
- display: inline-block;
- padding: 0 calc(var(--rhythm) / 4);
- vertical-align: middle;
-
- font-size: .8rem;
- line-height: 1.125em;
- font-family: var(--secondary-font);
- min-height: var(--rhythm);
-
- background: var(--interactive-bg);
- color: var(--fg);
- border: 1px solid var(--muted-fg);
- box-sizing: border-box;
- border-radius: var(--border-radius);
-
- /* a-specific resets */
- color: var(--fg);
- text-decoration: none;
- display: inline-flex;
- place-items: center
-}
-
-:is(button,input[type="submit"],input[type="reset"],input[type="button"],input::file-selector-button,.\<button\>):hover, :is(button,input[type="submit"],input[type="reset"],input[type="button"],input::file-selector-button,.\<button\>):focus-visible {
- filter: brightness(1.1);
-
- /* a-specific resets */
- text-decoration: none;
- }
-
-:is(button,input[type="submit"],input[type="reset"],input[type="button"],input::file-selector-button,.\<button\>):active {
- filter: brightness(.8);
- }
-
-[aria-pressed="true"]:is(button,input[type="submit"],input[type="reset"],input[type="button"],input::file-selector-button,.\<button\>), [aria-expanded="true"]:is(button,input[type="submit"],input[type="reset"],input[type="button"],input::file-selector-button,.\<button\>) {
- box-shadow: 0 .05em var(--accent);
- transform: translateY(.05em);
- background: var(--pressed-interactive-bg);
- }
-
-[disabled]:is(button,input[type="submit"],input[type="reset"],input[type="button"],input::file-selector-button,.\<button\>) {
- color: var(--muted-fg);
- }
-
-strong > :is(button,input[type="submit"],input[type="reset"],input[type="button"],input::file-selector-button,.\<button\>) {
- background: var(--accent);
- color: var(--bg);
- border: none;
- font-weight: bold
-}
-
-strong > [disabled]:is(button,input[type="submit"],input[type="reset"],input[type="button"],input::file-selector-button,.\<button\>) {
- color: var(--muted-accent);
- }
-
-.big:is(button,input[type="submit"],input[type="reset"],input[type="button"],input::file-selector-button,.\<button\>) {
- min-block-size: calc(1.5 * var(--rhythm));
- font-size: 1rem;
- padding-inline: calc(.5 * var(--rhythm));
- line-height: var(--rhythm)
-}
-
-input:not([type]),
-input[type="text"],
-input[type="search"],
-input[type="tel"],
-input[type="url"],
-input[type="email"],
-input[type="password"],
-input[type="date"],
-input[type="month"],
-input[type="week"],
-input[type="time"],
-input[type="datetime"],
-input[type="datetime-local"],
-input[type="number"],
-select,
-textarea {
- padding: calc(var(--rhythm) / 4);
- vertical-align: top;
-
- font-size: 1rem;
- line-height: inherit;
- font-family: var(--main-font);
-
- background: var(--bg);
- color: var(--fg);
- border: 1px solid var(--faded-fg);
- border-radius: var(--border-radius);
-
- vertical-align: top
-}
-
-:is(input:not([type]),input[type="text"],input[type="search"],input[type="tel"],input[type="url"],input[type="email"],input[type="password"],input[type="date"],input[type="month"],input[type="week"],input[type="time"],input[type="datetime"],input[type="datetime-local"],input[type="number"],select,textarea):focus-visible {
- border: 1px solid var(--accent);
- }
-
-:is(input:not([type]),input[type="text"],input[type="search"],input[type="tel"],input[type="url"],input[type="email"],input[type="password"],input[type="date"],input[type="month"],input[type="week"],input[type="time"],input[type="datetime"],input[type="datetime-local"],input[type="number"],select,textarea)::placeholder {
- color: var(--muted-fg);
- opacity: 1;
- text-align: end;
- }
-
-input[type="range"] {
- width: 100%;
- padding: calc(var(--gap) / 4);
-}
-
-input[type="color"] {
- padding: 0;
- margin: 0;
- height: calc(1.5 * var(--rhythm));
-
- border: none;
- background: none;
-}
-
-input[type="file"] {
- padding: calc(var(--gap) / 4) 0;
- font: inherit;
- line-height: calc(var(--rhythm) / 2)
-}
-
-input[type="file"]::file-selector-button {
- margin-block: .1em 0;
- margin-inline-end: 1ch;
- }
-
-select[multiple] {
- vertical-align: top;
-}
-
-optgroup::before {
- color: var(--muted-fg);
- font-style: normal;
-}
-
-progress {
- /* TODO */
-}
-
-meter {
- /* TODO */
-}
-
-label[for] {
- display: block;
- padding-block: calc(var(--gap) / 4);
-}
-
-fieldset {
- position: relative;
-
- padding: var(--gap);
- margin: var(--gap) 0;
- width: 100%;
- border-radius: var(--border-radius);
-}
-
-fieldset > legend + * { margin-block-start: 0 }
-
-fieldset {
-
- border: 1px solid var(--faded-fg);
-}
-
-/***
- 4.11 Interactive elements
- https://html.spec.whatwg.org/multipage/interactive-elements.html#interactive-elements
- ***/
-
-details:not(specificity-hack) {
- /* SEE components/box.css */
-
- padding-block-start: 0
-}
-
-details:not(specificity-hack):not([open]) { padding-block-end: 0; }
-
-summary {
- margin: calc(0px - var(--gap));
- margin-top: calc(0px - var(--gap));
- margin-bottom: 0;
- padding-inline: var(--gap);
-
- font-family: var(--secondary-font);
- font-weight: bold;
-
- background: var(--accent);
- color: var(--bg);
-
- cursor: pointer
-}
-
-summary:focus-visible, summary:active {
- filter: brightness(.8);
- }
-
-details[open] summary {
- border-block-end: 1px solid var(--accent);
- border-end-end-radius: 0;
- border-end-start-radius: 0
-}
-
-dialog {
- /* SEE components/box.css */
-
- inline-inset: 0;
-
- block-size: -moz-fit-content;
-
- block-size: fit-content;
- inline-size: -moz-fit-content;
- inline-size: fit-content;
-
- margin: auto !important;
-
- background-color: var(--bg);
- color: var(--fg);
- border-color: var(--accent);
-}
-
-dialog[open]::backdrop {
- display: block;
- background: black;
- opacity: .4;
- animation: bg 2s;
-}
-
-@keyframes bg {
- from { background: transparent; }
-}
-
-dialog:not([open]) {
- display: none;
-}
-
-.box,
-/* defined elsewhere */
-[role=menu],
-.sidebar-layout > header,
-[role=tabpanel],
-figure,
-details,
-dialog,
-aside {
- margin: var(--gap) 0;
- padding: var(--gap);
- overflow: clip;
-
- border-radius: var(--border-radius);
- background: var(--box-bg);
- border: 1px solid var(--faded-fg);
-}
-
-.titlebar {
- margin-inline: calc(0px - var(--gap));
- margin-block-end: calc(0px - var(--gap));
- padding-inline: var(--gap);
-
- font: inherit;
- font-family: var(--secondary-font);
- font-weight: bold;
-
- translate: 0 calc(-1px - var(--gap));
-
- background: var(--faded-fg);
- color: var(--bg);
-}
-
-.sub-title, sub-title {
- /***
- Meant for use in headings. Make sure to also use visually-hidden punctuation
- to mark the subtitle as shown below:
-
- 1 | <h1>
- 2 | Foo Bar<v-h>:</v-h>
- 3 | <sub-title>How I Learned To Stop Worrying and Love Baz</sub-title>
- 4 | </h1>
-
- 1 | <h1>
- 2 | <sub-title class="-allcaps">Breaking News</sub-title><v-h>:</v-h>
- 3 | Bad Thing Happens
- 4 | <h1>
- ***/
-
- display: block;
-
- font-weight: normal;
-
- color: var(--muted-fg);
-}
-
-.tool-bar, [role=toolbar] {
- display: flex;
- flex-flow: row wrap;
- gap: calc(var(--gap) / 2)
-}
-
-.tool-bar > *, [role=toolbar] > * { margin: 0; }
-
-.sidebar-layout header li {
- margin-block: calc(.5 * var(--gap));
- }
-
-.sidebar-layout header a {
- font-weight: bold;
- }
-
-@media (min-width: 75ch) {
-
-.sidebar-layout {
- display: grid;
- grid-template-columns: 25ch auto;
- inset: 0
-}
-
- .sidebar-layout > header {
- border-block: none;
- border-inline-start: none;
- margin: 0;
- }
-
- .sidebar-layout > :nth-child(2) {
- overflow: auto;
- --full-width: calc(100vw - 25ch);
- margin-top: var(--gap);
- }
- }
-
-.breadcrumbs[aria-label] {
- font-family: var(--secondary-font)
-}
-
-.breadcrumbs[aria-label] ul, .breadcrumbs[aria-label] ol {
- list-style: none;
- padding-inline-start: 0;
- }
-
-.breadcrumbs[aria-label] li {
- display: inline
- }
-
-:is(.breadcrumbs[aria-label] li)+li::before {
- content: ' / ' / '';
- content: ' / ';
- display: inline;
- }
-
-.breadcrumbs[aria-label] [aria-current="page"] {
- font-weight: bold;
- }
-
-.chip, chip {
- font-family: var(--secondary-font);
- border: 1px solid var(--accent);
- background: var(--box-bg);
- border-radius: calc(var(--rhythm) / 2);
- padding-inline: calc(var(--rhythm) / 2);
-}
-
-.navbar {
- padding: var(--rhythm);
-
- font-family: var(--secondary-font);
-
- background: var(--box-bg);
- border-block-end: 1px solid var(--accent);
-
- overflow-x: auto;
- scrollbar-width: thin;
-
- position: sticky;
- z-index: 5;
- top: 0;
- left: 0;
- right: 0;
-
- /* Inner layout */
- display: flex;
- flex-flow: row;
- align-items: center;
- gap: var(--gap)
-}
-
-.navbar.expanded {
- flex-flow: column;
- align-items: start;
-
- max-height: 90vh;
- overflow-y: auto
- }
-
-.navbar.expanded ul[role="list"] { flex-flow: column; }
-
-.navbar * {
- flex-shrink: 0;
- margin-block: 0;
- }
-
-.navbar:not(.expanded) > :first-child, .navbar:not(.expanded) nav > :first-child { margin-inline-start: auto; }
-
-.navbar:not(.expanded) > :last-child, .navbar:not(.expanded) nav > :last-child { margin-inline-end: auto; }
-
-.navbar hr { align-self: stretch; }
-
-.navbar nav ul[role="list"] {
- display: flex;
- flex-flow: row;
- gap: var(--rhythm)
- }
-
-.navbar nav ul[role="list"] * { flex-shrink: 0 }
-
-.navbar nav ul[role="list"] {
- padding-inline-start: 0;
- }
-
-.navbar a {
- font-weight: bold;
- text-decoration: none;
- padding-inline: .2em;
- }
-
-.navbar a:hover, .navbar a:focus {
- text-decoration: underline;
- }
-
-.navbar [aria-current=page] {
- position: relative;
- }
-
-.navbar [aria-current=page]::after {
- width: 100%;
- height: 6px;
- content: "";
- display: block;
- position: absolute;
- bottom: calc(-1 * var(--gap));
- background: currentcolor;
- }
-
-.navbar.expanded [aria-current=page]::after {
- width: 6px;
- height: 100%;
- position: absolute;
- left: calc(-1 * var(--gap));
- top: 0;
- }
-
-.permalink-anchor {
- display: none
-}
-
-*:hover > .permalink-anchor {
- display: initial
-}
-
-button.iconbutton {
- border: none;
- background: none;
- color: currentcolor;
- padding: 0;
- line-height: var(--rhythm);
- font-size: 24px;
- width: 24px;
- height: 24px;
- display: inline-block;
- text-align: center;
- border-radius: 50%;
- transition: font-weight .2s ease-in-out
-}
-
-button.iconbutton:hover, button.iconbutton:focus-visible {
- outline: 1px solid var(--accent);
- outline-offset: 6px;
- }
-
-button.iconbutton:active {
- outline-offset: 3px;
- background: none;
- }
-
-button.iconbutton[aria-pressed=true] {
- box-shadow: none;
- transform: none;
- }
-
-[role="tablist"] {
- display: flex;
- gap: .5ch;
- scrollbar-width: thin;
-}
-
-[role="tab"][role="tab"] {
- all: initial;
-
- font-family: var(--secondary-font);
-
- padding: 0 calc(var(--rhythm) / 4);
- margin: 0;
- min-height: var(--rhythm);
-
- color: var(--fg);
- border: solid var(--faded-fg);
- border-width: 1px 1px 0 1px;
- border-block-end-color: transparent;
- background: var(--interactive-bg);
-
- border-start-start-radius: .4em;
- border-start-end-radius: .4em
-}
-
-[role="tab"][role="tab"]:active, [role="tab"][role="tab"][aria-selected="true"] {
- transform: none;
- bottom: -1px;
- position: relative;
- background: var(--box-bg);
- border-block-end: 1px solid var(--box-bg);
- }
-
-[role="tab"][role="tab"]:hover {
- background-color: var(--box-bg);
- }
-
-[role="tab"][role="tab"]:focus {
- background-color: var(--box-bg);
- border-color: var(--accent);
- outline: 1px solid var(--accent);
- }
-
-[role="tabpanel"] {
- /* SEE components/box.css */
-
- margin-block-start: 0;
- border-start-start-radius: 0;
- border-start-end-radius: 0;
- z-index: 1;
-}
-
-[role="menu"] {
- /* SEE components/box.css */
- position: absolute;
-
- z-index: 10;
-
- padding: calc(var(--gap) / 2) 0;
- margin: 1px 0 0 0;
-
- display: flex;
- flex-flow: column nowrap;
-}
-
-[role=menuitem] {
- padding: 0 calc(var(--gap) / 2);
-
- display: block;
-
- text-decoration: none;
- border-radius: 0;
-
- color: var(--fg)
-}
-
-[role=menuitem]:focus, [role=menuitem]:active {
- background: var(--accent);
- color: var(--bg);
- }
-
-[role=listbox] {
- list-style: none
-}
-
-[role=listbox] [role=option] {
- margin-inline: calc(-1 * var(--gap));
- padding-inline: var(--gap);
- }
-
-[role=listbox] [role=option][aria-selected=true] {
- background: var(--interactive-bg);
- }
-
-[role=listbox] .active[role=option] {
- --temporary-bg: var(--accent);
- --temporary-fg: var(--bg);
- --temporary-accent: parent-var(--muted-accent);
- --temporary-muted-accent: parent-var(--box-bg);
-
- background: var(--temporary-bg);
- color: var(--temporary-fg)
- }
-
-[role=listbox] .active[role=option] > * {
- --bg: var(--temporary-bg);
- --fg: var(--temporary-fg);
- --accent: var(--temporary-accent);
- --muted-accent: var(--temporary-muted-accent);
- }
-
-[aria-orientation="vertical"] {
- flex-direction: column;
- width: -moz-fit-content;
- width: fit-content;
- text-align: center;
-}
-
-.plain {
- --box-bg: var(--plain-bg);
- --accent: var(--plain-fg);
- --faded-fg: var(--plain-faded-fg);
-}
-
-.info {
- --box-bg: var(--info-bg);
- --accent: var(--info-fg);
- --faded-fg: var(--info-faded-fg);
-}
-
-.ok {
- --box-bg: var(--ok-bg);
- --accent: var(--ok-fg);
- --faded-fg: var(--ok-faded-fg);
-}
-
-.warn {
- --box-bg: var(--warn-bg);
- --accent: var(--warn-fg);
- --faded-fg: var(--warn-faded-fg);
-}
-
-.bad {
- --box-bg: var(--bad-bg);
- --accent: var(--bad-fg);
- --faded-fg: var(--bad-faded-fg);
-}
-
-.color {
- color: var(--accent);
-}
-
-.bg {
- background: var(--box-bg);
-}
-
-.border {
- border-style: solid;
- border-color: var(--faded-fg);
-}
-
-:root {
- /* Colors */
- --fg: var(--gray-12); /* Text. */
- --muted-fg: var(--gray-10); /* De-emphasized or disabled elements' text. Will be
- used with a background of --c-bg and --c-bg-2 -- check contrast! */
- --faded-fg: var(--plain-faded-fg); /* De-emphasized or disabled graphical elements. Will not
- be used as a text color. */
-
- --plain-fg: var(--blue-10);
- --info-fg: var(--blue-11);
- --ok-fg: var(--green-11);
- --bad-fg: var(--red-11);
- --warn-fg: var(--yellow-11);
-
- --plain-faded-fg: var(--gray-6);
- --info-faded-fg: var(--blue-6);
- --ok-faded-fg: var(--green-6);
- --bad-faded-fg: var(--red-6);
- --warn-faded-fg: var(--yellow-6);
-
- --bg: var(--gray-0); /* Page background. */
- --box-bg: var(--plain-bg); /* Background for blocks: cards, admonitions etc. */
- --interactive-bg: var(--gray-4); /* Background for interactive elements */
-
- --plain-bg: var(--gray-1);
- --info-bg: var(--blue-1);
- --ok-bg: var(--green-1);
- --bad-bg: var(--red-1);
- --warn-bg: var(--yellow-1);
-
- --accent: var(--blue-10); /* Accent color. Will be used *as a text color* with a
- background of --c-bg and --c-bg-2 -- check contrast! */
- --muted-accent: var(--blue-7); /* Muted accent color. Will not be used for text. */
-
- /* Lengths */
- --rhythm: 1.4rem; /* Vertical rhythm, line height. */
- --line-length: 40rem; /* Maximum line length for prose. */
- --border-radius: .2rem;
-
- /* Fonts */
- --main-font: 'Source Sans 3', 'Source Sans Pro', -apple-system, system-ui, sans-serif;
- --secondary-font: var(--main-font); /* Headings etc. */
- --mono-font: 'M Plus Code Latin', monospace, monospace; /* monospace twice stops browsers from
- shrinking this */
-
- /* Density */
- --density: 1;
-
- /* Width */
- --full-width: 100vw;
-
- /* Do not set these. */
- --eff-line-length: /* Effective line length for prose. */
- min(
- calc( var(--full-width) - (2 * var(--rhythm)) ),
- var(--line-length)
- );
-
- --gutter-width: /* Width of spaces at each side of page content. */
- calc(
- (
- var(--full-width) /* Viewport width */
- - var(--eff-line-length) /* minus line width */
- ) / 2); /* Divide by 2: there are two page margins */
-}
-
-@media (prefers-color-scheme: dark) {
- :root:not(.-no-dark-theme) {
- --fg: var(--gray-0);
- --muted-fg: var(--gray-2);
- --faded-fg: var(--gray-7);
-
- --plain-bg: var(--gray-11);
- --info-bg: var(--blue-12);
- --ok-bg: var(--green-12);
- --bad-bg: var(--red-12);
- --warn-bg: var(--yellow-12);
-
- --plain-faded-fg: var(--blue-6);
- --info-faded-fg: var(--blue-6);
- --ok-faded-fg: var(--green-6);
- --bad-faded-fg: var(--red-6);
- --warn-faded-fg: var(--yellow-6);
-
- --bg: var(--gray-12);
- --box-bg: var(--gray-10);
- --interactive-bg: var(--gray-8);
-
- --plain-fg: (--blue-3);
- --info-fg: var(--blue-3);
- --ok-fg: var(--green-3);
- --bad-fg: var(--red-3);
- --warn-fg: var(--yellow-3);
-
- --accent: var(--blue-3);
- --muted-accent: var(--blue-5);
- }
-}
-
-* {
- --gap: calc(var(--rhythm) * var(--density));
- accent-color: var(--accent);
-}
-
-.textcolumns {
- --col-width: 30ch;
- column-width: var(--col-width);
- column-gap: var(--gap);
- margin-block: var(--gap)
-}
-
-.textcolumns :first-child { margin-block-start: 0 !important }
-
-.text-align\:center {
- text-align: center;
-}
-
-.center {
- display: grid;
- place-items: center;
-}
-
-/**/
-
-.container {
- max-inline-size: var(--eff-line-length);
- margin-inline: auto;
-}
-
-.fullbleed {
- position: relative;
- width: var(--full-width);
- left: 50%;
- transform: translateX(calc(-.5 * var(--full-width)));
-
- border-radius: 0;
- border-inline: none;
-}
-
-.fullscreen {
- height: 100vh;
-
- position: relative;
- width: 100vw;
- left: 50%;
- transform: translateX(-50vw);
-
- border-radius: 0;
- border-inline: none;
-}
-
-.width\:100\% { width:100%; max-width: 100% }
-
-.height\:100\% { height:100%; max-height: 100% }
-
-/**/
-
-/* margin-trim had better be implemented soon */
-
-:is(
- body,
- .box,
- [role=menu],
- .sidebar-layout > header,
- [role=tabpanel],
- figure,
- details,
- dialog,
- aside,
- fieldset,
- dd,
- td,
- th
-)>:first-child:first-child:first-child:first-child,
- :is(
- body,
- .box,
- [role=menu],
- .sidebar-layout > header,
- [role=tabpanel],
- figure,
- details,
- dialog,
- aside,
- fieldset,
- dd,
- td,
- th
-)>:first-child>:first-child:first-child:first-child,
- :is(
- body,
- .box,
- [role=menu],
- .sidebar-layout > header,
- [role=tabpanel],
- figure,
- details,
- dialog,
- aside,
- fieldset,
- dd,
- td,
- th
-)>:first-child>:first-child>:first-child:first-child,
- :is(
- body,
- .box,
- [role=menu],
- .sidebar-layout > header,
- [role=tabpanel],
- figure,
- details,
- dialog,
- aside,
- fieldset,
- dd,
- td,
- th
-)>:first-child>:first-child>:first-child>:first-child { margin-block-start: 0; }
-
-:is(
- body,
- .box,
- [role=menu],
- .sidebar-layout > header,
- [role=tabpanel],
- figure,
- details,
- dialog,
- aside,
- fieldset,
- dd,
- td,
- th
-)>:last-child:last-child:last-child:last-child,
- :is(
- body,
- .box,
- [role=menu],
- .sidebar-layout > header,
- [role=tabpanel],
- figure,
- details,
- dialog,
- aside,
- fieldset,
- dd,
- td,
- th
-)>:last-child>:last-child:last-child:last-child,
- :is(
- body,
- .box,
- [role=menu],
- .sidebar-layout > header,
- [role=tabpanel],
- figure,
- details,
- dialog,
- aside,
- fieldset,
- dd,
- td,
- th
-)>:last-child>:last-child>:last-child:last-child,
- :is(
- body,
- .box,
- [role=menu],
- .sidebar-layout > header,
- [role=tabpanel],
- figure,
- details,
- dialog,
- aside,
- fieldset,
- dd,
- td,
- th
-)>:last-child>:last-child>:last-child>:last-child { margin-block-end: 0; }
-
-/**/
-
-.padding { padding-inline: var(--gap) }
-
-.padding-block { padding-block: var(--gap) }
-
-.padding-block-start { padding-block-start: var(--gap) }
-
-.padding-block-end { padding-block-end: var(--gap) }
-
-.padding-inline { padding-inline: var(--gap) }
-
-.padding-inline-start { padding-inline-start: var(--gap) }
-
-.padding-inline-end { padding-inline-start: var(--gap) }
-
-.margin { margin: var(--gap) }
-
-.margin-block { margin-block: var(--gap) }
-
-.margin-block-start { margin-block-start: var(--gap) }
-
-.margin-block-end { margin-block-end: var(--gap) }
-
-.margin-inline { margin-inline: var(--gap) }
-
-.margin-inline-start { margin-inline-start: var(--gap) }
-
-.margin-inline-end { margin-inline-end: var(--gap) }
-
-.flow-gap > :not(:last-child) {
- margin-bottom: 1em;
- }
-
-/**/
-
-.inline { display: inline }
-
-.block { display: block }
-
-.contents { display: contents }
-
-.table {
- display: table;
- width: 100%;
- margin: 0;
-}
-
-.row, .rows > * {
- display: table-row
-}
-
-.row:not(:last-child):not([specificity-hack]) > *, .rows > *:not(:last-child):not([specificity-hack]) > * {
- margin-bottom: var(--gap);
- }
-
-.row > *:not([specificity-hack]), .rows > * > *:not([specificity-hack]) {
- display: table-cell;
- vertical-align: top;
- }
-
-.row > * + *:not([specificity-hack]), :is(.rows > *) > * + *:not([specificity-hack]) {
- margin-inline-start: var(--gap);
- display: inline-block;
- }
-
-/**/
-
-.big {
- font-size: 1.4em;
- line-height: calc(1.5 * var(--rhythm));
-}
-
-/**/
-
-.fixed { position: fixed }
-
-.sticky { position: sticky }
-
-.top { top: 0 }
-
-.right { right: 0 }
-
-.bottom { bottom: 0 }
-
-.left { left: 0 }
-
-.float\:left { float: left }
-
-.float\:right { float: right }
-
-.overflow\:auto { overflow: auto }
-
-.overflow\:scroll { overflow: scroll }
-
-.airy { --density: 3; }
-
-.spacious { --density: 2; }
-
-.dense { --density: 1; }
-
-.crowded { --density: .5; }
-
-.packed { --density: 0; }
-
-.autodensity {
- --density: 1
-}
-
-@media (min-width: 768px) {
-
-.autodensity { --density: 2
-}}
-
-@media (min-width: 1024px) {
-
-.autodensity { --density: 3
-}}
-
-.vh, v-h {
- clip: rect(0 0 0 0);
- -webkit-clip-path: inset(50%);
- clip-path: inset(50%);
- block-size: 1px;
- inline-size: 1px;
- overflow: hidden;
- white-space: nowrap;
-}
-
-.all\:initial {
- all: initial;
-}
-
-.bold { font-weight: bold }
-
-.italic {
- font-style: italic
-}
-
-.italic em, .italic cite, .italic dfn, .italic var, .italic i, .italic address {
- font-style: normal;
- }
-
-.allcaps {
- text-transform: uppercase;
- letter-spacing: .1rem;
-}
-
-.monospace {
- font-family: var(--mono-font);
-}
-
-.f-row {
- display: flex;
- flex-direction: row;
- gap: var(--gap)
-}
-
-.f-row > * { margin: 0 }
-
-.f-col {
- display: flex;
- flex-direction: column;
- gap: var(--gap)
-}
-
-.f-col > * { margin: 0 }
-
-.f-switch {
- display: flex;
- flex-wrap: wrap;
- gap: var(--gap);
- --f-switch-threshold: 55ch
-}
-
-.f-switch > * {
- margin: 0;
-
- flex-grow: 1;
- flex-basis: calc((var(--f-switch-threshold) - 100%) * 999);
- }
-
-.justify-content\:start { justify-content: start }
-
-.justify-content\:end { justify-content: end }
-
-.justify-content\:baseline { justify-content: baseline }
-
-.justify-content\:center { justify-content: center }
-
-.justify-content\:stretch { justify-content: stretch }
-
-.justify-content\:space-between { justify-content: space-between }
-
-.justify-content\:space-around { justify-content: space-around }
-
-.justify-content\:space-evenly { justify-content: space-evenly }
-
-.align-items\:start { align-items: start }
-
-.align-items\:end { align-items: end }
-
-.align-items\:baseline { align-items: baseline }
-
-.align-items\:center { align-items: center }
-
-.align-items\:stretch { align-items: stretch }
-
-.align-self\:start { align-self: start }
-
-.align-self\:end { align-self: end }
-
-.align-self\:baseline { align-self: baseline }
-
-.align-self\:center { align-self: center }
-
-.align-self\:stretch { align-self: stretch }
-
-.flex-grow\:0 { flex-grow: 0 }
-
-.flex-grow\:1 { flex-grow: 1 }
-
-.flex-grow\:2 { flex-grow: 2 }
-
-.flex-grow\:3 { flex-grow: 3 }
-
-.flex-grow\:4 { flex-grow: 4 }
-
-.flex-grow\:5 { flex-grow: 5 }
-
-.flex-grow\:6 { flex-grow: 6 }
-
-.flex-grow\:7 { flex-grow: 7 }
-
-.flex-grow\:8 { flex-grow: 8 }
-
-.flex-grow\:9 { flex-grow: 9 }
-
-.flex-grow\:10 { flex-grow: 10 }
-
-.flex-grow\:11 { flex-grow: 11 }
-
-.flex-grow\:12 { flex-grow: 12 }
-
-.flex-wrap\:wrap { flex-wrap: wrap }
-
-.flex-wrap\:nowrap { flex-wrap: nowrap }
-
-.grid {
- display: grid;
- grid-auto-columns: var(--grid-col-width, 1fr);
- grid-auto-rows: var(--grid-row-width, auto);
- gap: var(--gap)
-}
-
-.grid > * { margin: 0 }
-
-.grid-even-rows { --grid-row-width: 1fr; }
-
-.grid-variable-cols { --grid-column-width: auto; }
-
-[data-cols^="1 " ] { grid-column-start: 1 }
-
-[data-cols$=" 1" ] { grid-column-end: 2 }
-
-[data-cols="1" ] { grid-column: 1 }
-
-[data-cols^="2 " ] { grid-column-start: 2 }
-
-[data-cols$=" 2" ] { grid-column-end: 3 }
-
-[data-cols="2" ] { grid-column: 2 }
-
-[data-cols^="3 " ] { grid-column-start: 3 }
-
-[data-cols$=" 3" ] { grid-column-end: 4 }
-
-[data-cols="3" ] { grid-column: 3 }
-
-[data-cols^="4 " ] { grid-column-start: 4 }
-
-[data-cols$=" 4" ] { grid-column-end: 5 }
-
-[data-cols="4" ] { grid-column: 4 }
-
-[data-cols^="5 " ] { grid-column-start: 5 }
-
-[data-cols$=" 5" ] { grid-column-end: 6 }
-
-[data-cols="5" ] { grid-column: 5 }
-
-[data-cols^="6 " ] { grid-column-start: 6 }
-
-[data-cols$=" 6" ] { grid-column-end: 7 }
-
-[data-cols="6" ] { grid-column: 6 }
-
-[data-cols^="7 " ] { grid-column-start: 7 }
-
-[data-cols$=" 7" ] { grid-column-end: 8 }
-
-[data-cols="7" ] { grid-column: 7 }
-
-[data-cols^="8 " ] { grid-column-start: 8 }
-
-[data-cols$=" 8" ] { grid-column-end: 9 }
-
-[data-cols="8" ] { grid-column: 8 }
-
-[data-cols^="9 " ] { grid-column-start: 9 }
-
-[data-cols$=" 9" ] { grid-column-end: 10 }
-
-[data-cols="9" ] { grid-column: 9 }
-
-[data-cols^="10 "] { grid-column-start: 10 }
-
-[data-cols$=" 10"] { grid-column-end: 11 }
-
-[data-cols="10"] { grid-column: 10 }
-
-[data-cols^="11 "] { grid-column-start: 11 }
-
-[data-cols$=" 11"] { grid-column-end: 12 }
-
-[data-cols="11"] { grid-column: 11 }
-
-[data-cols^="12 "] { grid-column-start: 12 }
-
-[data-cols$=" 12"] { grid-column-end: 13 }
-
-[data-cols="12"] { grid-column: 12 }
-
-[data-rows^="1 " ] { grid-row-start: 1 }
-
-[data-rows$=" 1" ] { grid-row-end: 2 }
-
-[data-rows="1" ] { grid-row: 1 }
-
-[data-rows^="2 " ] { grid-row-start: 2 }
-
-[data-rows$=" 2" ] { grid-row-end: 3 }
-
-[data-rows="2" ] { grid-row: 2 }
-
-[data-rows^="3 " ] { grid-row-start: 3 }
-
-[data-rows$=" 3" ] { grid-row-end: 4 }
-
-[data-rows="3" ] { grid-row: 3 }
-
-[data-rows^="4 " ] { grid-row-start: 4 }
-
-[data-rows$=" 4" ] { grid-row-end: 5 }
-
-[data-rows="4" ] { grid-row: 4 }
-
-[data-rows^="5 " ] { grid-row-start: 5 }
-
-[data-rows$=" 5" ] { grid-row-end: 6 }
-
-[data-rows="5" ] { grid-row: 5 }
-
-[data-rows^="6 " ] { grid-row-start: 6 }
-
-[data-rows$=" 6" ] { grid-row-end: 7 }
-
-[data-rows="6" ] { grid-row: 6 }
-
-[data-rows^="7 " ] { grid-row-start: 7 }
-
-[data-rows$=" 7" ] { grid-row-end: 8 }
-
-[data-rows="7" ] { grid-row: 7 }
-
-[data-rows^="8 " ] { grid-row-start: 8 }
-
-[data-rows$=" 8" ] { grid-row-end: 9 }
-
-[data-rows="8" ] { grid-row: 8 }
-
-[data-rows^="9 " ] { grid-row-start: 9 }
-
-[data-rows$=" 9" ] { grid-row-end: 10 }
-
-[data-rows="9" ] { grid-row: 9 }
-
-[data-rows^="10 "] { grid-row-start: 10 }
-
-[data-rows$=" 10"] { grid-row-end: 11 }
-
-[data-rows="10"] { grid-row: 10 }
-
-[data-rows^="11 "] { grid-row-start: 11 }
-
-[data-rows$=" 11"] { grid-row-end: 12 }
-
-[data-rows="11"] { grid-row: 11 }
-
-[data-rows^="12 "] { grid-row-start: 12 }
-
-[data-rows$=" 12"] { grid-row-end: 13 }
-
-[data-rows="12"] { grid-row: 12 }
-
-@media (max-width: 768px) {
- [data-cols\@s^="1 " ] { grid-column-start: 1 } [data-cols\@s$=" 1" ] { grid-column-end: 2 } [data-cols\@s="1" ] { grid-column: 1 }
- [data-cols\@s^="2 " ] { grid-column-start: 2 } [data-cols\@s$=" 2" ] { grid-column-end: 3 } [data-cols\@s="2" ] { grid-column: 2 }
- [data-cols\@s^="3 " ] { grid-column-start: 3 } [data-cols\@s$=" 3" ] { grid-column-end: 4 } [data-cols\@s="3" ] { grid-column: 3 }
- [data-cols\@s^="4 " ] { grid-column-start: 4 } [data-cols\@s$=" 4" ] { grid-column-end: 5 } [data-cols\@s="4" ] { grid-column: 4 }
- [data-cols\@s^="5 " ] { grid-column-start: 5 } [data-cols\@s$=" 5" ] { grid-column-end: 6 } [data-cols\@s="5" ] { grid-column: 5 }
- [data-cols\@s^="6 " ] { grid-column-start: 6 } [data-cols\@s$=" 6" ] { grid-column-end: 7 } [data-cols\@s="6" ] { grid-column: 6 }
- [data-cols\@s^="7 " ] { grid-column-start: 7 } [data-cols\@s$=" 7" ] { grid-column-end: 8 } [data-cols\@s="7" ] { grid-column: 7 }
- [data-cols\@s^="8 " ] { grid-column-start: 8 } [data-cols\@s$=" 8" ] { grid-column-end: 9 } [data-cols\@s="8" ] { grid-column: 8 }
- [data-cols\@s^="9 " ] { grid-column-start: 9 } [data-cols\@s$=" 9" ] { grid-column-end: 10 } [data-cols\@s="9" ] { grid-column: 9 }
- [data-cols\@s^="10 "] { grid-column-start: 10 } [data-cols\@s$=" 10"] { grid-column-end: 11 } [data-cols\@s="10"] { grid-column: 10 }
- [data-cols\@s^="11 "] { grid-column-start: 11 } [data-cols\@s$=" 11"] { grid-column-end: 12 } [data-cols\@s="11"] { grid-column: 11 }
- [data-cols\@s^="12 "] { grid-column-start: 12 } [data-cols\@s$=" 12"] { grid-column-end: 13 } [data-cols\@s="12"] { grid-column: 12 }
-
- [data-rows\@s^="1 " ] { grid-row-start: 1 } [data-rows\@s$=" 1" ] { grid-row-end: 2 } [data-rows\@s="1" ] { grid-row: 1 }
- [data-rows\@s^="2 " ] { grid-row-start: 2 } [data-rows\@s$=" 2" ] { grid-row-end: 3 } [data-rows\@s="2" ] { grid-row: 2 }
- [data-rows\@s^="3 " ] { grid-row-start: 3 } [data-rows\@s$=" 3" ] { grid-row-end: 4 } [data-rows\@s="3" ] { grid-row: 3 }
- [data-rows\@s^="4 " ] { grid-row-start: 4 } [data-rows\@s$=" 4" ] { grid-row-end: 5 } [data-rows\@s="4" ] { grid-row: 4 }
- [data-rows\@s^="5 " ] { grid-row-start: 5 } [data-rows\@s$=" 5" ] { grid-row-end: 6 } [data-rows\@s="5" ] { grid-row: 5 }
- [data-rows\@s^="6 " ] { grid-row-start: 6 } [data-rows\@s$=" 6" ] { grid-row-end: 7 } [data-rows\@s="6" ] { grid-row: 6 }
- [data-rows\@s^="7 " ] { grid-row-start: 7 } [data-rows\@s$=" 7" ] { grid-row-end: 8 } [data-rows\@s="7" ] { grid-row: 7 }
- [data-rows\@s^="8 " ] { grid-row-start: 8 } [data-rows\@s$=" 8" ] { grid-row-end: 9 } [data-rows\@s="8" ] { grid-row: 8 }
- [data-rows\@s^="9 " ] { grid-row-start: 9 } [data-rows\@s$=" 9" ] { grid-row-end: 10 } [data-rows\@s="9" ] { grid-row: 9 }
- [data-rows\@s^="10 "] { grid-row-start: 10 } [data-rows\@s$=" 10"] { grid-row-end: 11 } [data-rows\@s="10"] { grid-row: 10 }
- [data-rows\@s^="11 "] { grid-row-start: 11 } [data-rows\@s$=" 11"] { grid-row-end: 12 } [data-rows\@s="11"] { grid-row: 11 }
- [data-rows\@s^="12 "] { grid-row-start: 12 } [data-rows\@s$=" 12"] { grid-row-end: 13 } [data-rows\@s="12"] { grid-row: 12 }
-}
-
-@media (min-width: 1024px) {
- [data-cols\@l^="1 " ] { grid-column-start: 1 } [data-cols\@l$=" 1" ] { grid-column-end: 2 } [data-cols\@l="1" ] { grid-column: 1 }
- [data-cols\@l^="2 " ] { grid-column-start: 2 } [data-cols\@l$=" 2" ] { grid-column-end: 3 } [data-cols\@l="2" ] { grid-column: 2 }
- [data-cols\@l^="3 " ] { grid-column-start: 3 } [data-cols\@l$=" 3" ] { grid-column-end: 4 } [data-cols\@l="3" ] { grid-column: 3 }
- [data-cols\@l^="4 " ] { grid-column-start: 4 } [data-cols\@l$=" 4" ] { grid-column-end: 5 } [data-cols\@l="4" ] { grid-column: 4 }
- [data-cols\@l^="5 " ] { grid-column-start: 5 } [data-cols\@l$=" 5" ] { grid-column-end: 6 } [data-cols\@l="5" ] { grid-column: 5 }
- [data-cols\@l^="6 " ] { grid-column-start: 6 } [data-cols\@l$=" 6" ] { grid-column-end: 7 } [data-cols\@l="6" ] { grid-column: 6 }
- [data-cols\@l^="7 " ] { grid-column-start: 7 } [data-cols\@l$=" 7" ] { grid-column-end: 8 } [data-cols\@l="7" ] { grid-column: 7 }
- [data-cols\@l^="8 " ] { grid-column-start: 8 } [data-cols\@l$=" 8" ] { grid-column-end: 9 } [data-cols\@l="8" ] { grid-column: 8 }
- [data-cols\@l^="9 " ] { grid-column-start: 9 } [data-cols\@l$=" 9" ] { grid-column-end: 10 } [data-cols\@l="9" ] { grid-column: 9 }
- [data-cols\@l^="10 "] { grid-column-start: 10 } [data-cols\@l$=" 10"] { grid-column-end: 11 } [data-cols\@l="10"] { grid-column: 10 }
- [data-cols\@l^="11 "] { grid-column-start: 11 } [data-cols\@l$=" 11"] { grid-column-end: 12 } [data-cols\@l="11"] { grid-column: 11 }
- [data-cols\@l^="12 "] { grid-column-start: 12 } [data-cols\@l$=" 12"] { grid-column-end: 13 } [data-cols\@l="12"] { grid-column: 12 }
-
- [data-rows\@l^="1 " ] { grid-row-start: 1 } [data-rows\@l$=" 1" ] { grid-row-end: 2 } [data-rows\@l="1" ] { grid-row: 1 }
- [data-rows\@l^="2 " ] { grid-row-start: 2 } [data-rows\@l$=" 2" ] { grid-row-end: 3 } [data-rows\@l="2" ] { grid-row: 2 }
- [data-rows\@l^="3 " ] { grid-row-start: 3 } [data-rows\@l$=" 3" ] { grid-row-end: 4 } [data-rows\@l="3" ] { grid-row: 3 }
- [data-rows\@l^="4 " ] { grid-row-start: 4 } [data-rows\@l$=" 4" ] { grid-row-end: 5 } [data-rows\@l="4" ] { grid-row: 4 }
- [data-rows\@l^="5 " ] { grid-row-start: 5 } [data-rows\@l$=" 5" ] { grid-row-end: 6 } [data-rows\@l="5" ] { grid-row: 5 }
- [data-rows\@l^="6 " ] { grid-row-start: 6 } [data-rows\@l$=" 6" ] { grid-row-end: 7 } [data-rows\@l="6" ] { grid-row: 6 }
- [data-rows\@l^="7 " ] { grid-row-start: 7 } [data-rows\@l$=" 7" ] { grid-row-end: 8 } [data-rows\@l="7" ] { grid-row: 7 }
- [data-rows\@l^="8 " ] { grid-row-start: 8 } [data-rows\@l$=" 8" ] { grid-row-end: 9 } [data-rows\@l="8" ] { grid-row: 8 }
- [data-rows\@l^="9 " ] { grid-row-start: 9 } [data-rows\@l$=" 9" ] { grid-row-end: 10 } [data-rows\@l="9" ] { grid-row: 9 }
- [data-rows\@l^="10 "] { grid-row-start: 10 } [data-rows\@l$=" 10"] { grid-row-end: 11 } [data-rows\@l="10"] { grid-row: 10 }
- [data-rows\@l^="11 "] { grid-row-start: 11 } [data-rows\@l$=" 11"] { grid-row-end: 12 } [data-rows\@l="11"] { grid-row: 11 }
- [data-rows\@l^="12 "] { grid-row-start: 12 } [data-rows\@l$=" 12"] { grid-row-end: 13 } [data-rows\@l="12"] { grid-row: 12 }
-}
diff --git a/www/releases/_artifacts/v1.0.2/missing.min.css b/www/releases/_artifacts/v1.0.2/missing.min.css
deleted file mode 100644
index a10f61a..0000000
--- a/www/releases/_artifacts/v1.0.2/missing.min.css
+++ /dev/null
@@ -1,126 +0,0 @@
-@keyframes bg{0%{background:0 0}}*,::after,::before{box-sizing:border-box;background-repeat:no-repeat}::after,::before{text-decoration:inherit;vertical-align:inherit}:root{cursor:default;overflow-wrap:break-word;-webkit-tap-highlight-color:transparent;text-size-adjust:none;-webkit-text-size-adjust:none}abbr[title]{-webkit-text-decoration:underline dotted;text-decoration:underline dotted}b,strong{font-weight:bolder}small{font-size:80%}audio,canvas,iframe,img,svg,video{vertical-align:middle}svg:not([fill]){fill:currentColor}table{border-collapse:collapse;border-color:currentColor;text-indent:0;font-variant-numeric:tabular-nums;font:inherit}body,button,input,select,textarea{margin:0}[type=button],[type=reset],[type=submit],button{-webkit-appearance:button}fieldset{border:1px solid #a0a0a0;position:relative;padding:var(--gap);margin:var(--gap) 0;width:100%;border-radius:var(--border-radius);border:1px solid var(--faded-fg)}progress{vertical-align:baseline}[type=search]{-webkit-appearance:textfield;outline-offset:-2px}::-webkit-inner-spin-button,::-webkit-outer-spin-button{block-size:auto}::-webkit-input-placeholder{color:inherit;opacity:.54}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{-webkit-appearance:button;font:inherit}[hidden],datalist{display:none!important}:focus-visible{outline:.2em solid var(--accent);z-index:32}body:focus-visible,html:focus-visible,iframe:focus-visible{outline:0}:target{outline:.2em solid var(--fg);z-index:2}details>summary:first-of-type{display:list-item}[aria-busy=true]{cursor:progress}[aria-disabled=true],[disabled]{cursor:not-allowed}:root{--gray-0: #f8fafb;--gray-1: #f2f4f6;--gray-2: #ebedef;--gray-3: #e0e4e5;--gray-4: #d1d6d8;--gray-5: #b1b6b9;--gray-6: #979b9d;--gray-7: #7e8282;--gray-8: #666968;--gray-9: #50514f;--gray-10: #3a3a37;--gray-11: #252521;--gray-12: #121210;--red-0: #fff5f5;--red-1: #ffe3e3;--red-2: #ffc9c9;--red-3: #ffa8a8;--red-4: #ff8787;--red-5: #ff6b6b;--red-6: #fa5252;--red-7: #f03e3e;--red-8: #e03131;--red-9: #c92a2a;--red-10: #b02525;--red-11: #962020;--red-12: #7d1a1a;--pink-0: #fff0f6;--pink-1: #ffdeeb;--pink-2: #fcc2d7;--pink-3: #faa2c1;--pink-4: #f783ac;--pink-5: #f06595;--pink-6: #e64980;--pink-7: #d6336c;--pink-8: #c2255c;--pink-9: #a61e4d;--pink-10: #8c1941;--pink-11: #731536;--pink-12: #59102a;--purple-0: #f8f0fc;--purple-1: #f3d9fa;--purple-2: #eebefa;--purple-3: #e599f7;--purple-4: #da77f2;--purple-5: #cc5de8;--purple-6: #be4bdb;--purple-7: #ae3ec9;--purple-8: #9c36b5;--purple-9: #862e9c;--purple-10: #702682;--purple-11: #5a1e69;--purple-12: #44174f;--violet-0: #f3f0ff;--violet-1: #e5dbff;--violet-2: #d0bfff;--violet-3: #b197fc;--violet-4: #9775fa;--violet-5: #845ef7;--violet-6: #7950f2;--violet-7: #7048e8;--violet-8: #6741d9;--violet-9: #5f3dc4;--violet-10: #5235ab;--violet-11: #462d91;--violet-12: #3a2578;--indigo-0: #edf2ff;--indigo-1: #dbe4ff;--indigo-2: #bac8ff;--indigo-3: #91a7ff;--indigo-4: #748ffc;--indigo-5: #5c7cfa;--indigo-6: #4c6ef5;--indigo-7: #4263eb;--indigo-8: #3b5bdb;--indigo-9: #364fc7;--indigo-10: #2f44ad;--indigo-11: #283a94;--indigo-12: #21307a;--blue-0: #e7f5ff;--blue-1: #d0ebff;--blue-2: #a5d8ff;--blue-3: #74c0fc;--blue-4: #4dabf7;--blue-5: #339af0;--blue-6: #228be6;--blue-7: #1c7ed6;--blue-8: #1971c2;--blue-9: #1864ab;--blue-10: #145591;--blue-11: #114678;--blue-12: #0d375e;--cyan-0: #e3fafc;--cyan-1: #c5f6fa;--cyan-2: #99e9f2;--cyan-3: #66d9e8;--cyan-4: #3bc9db;--cyan-5: #22b8cf;--cyan-6: #15aabf;--cyan-7: #1098ad;--cyan-8: #0c8599;--cyan-9: #0b7285;--cyan-10: #095c6b;--cyan-11: #074652;--cyan-12: #053038;--teal-0: #e6fcf5;--teal-1: #c3fae8;--teal-2: #96f2d7;--teal-3: #63e6be;--teal-4: #38d9a9;--teal-5: #20c997;--teal-6: #12b886;--teal-7: #0ca678;--teal-8: #099268;--teal-9: #087f5b;--teal-10: #066649;--teal-11: #054d37;--teal-12: #033325;--green-0: #ebfbee;--green-1: #d3f9d8;--green-2: #b2f2bb;--green-3: #8ce99a;--green-4: #69db7c;--green-5: #51cf66;--green-6: #40c057;--green-7: #37b24d;--green-8: #2f9e44;--green-9: #2b8a3e;--green-10: #237032;--green-11: #1b5727;--green-12: #133d1b;--lime-0: #f4fce3;--lime-1: #e9fac8;--lime-2: #d8f5a2;--lime-3: #c0eb75;--lime-4: #a9e34b;--lime-5: #94d82d;--lime-6: #82c91e;--lime-7: #74b816;--lime-8: #66a80f;--lime-9: #5c940d;--lime-10: #4c7a0b;--lime-11: #3c6109;--lime-12: #2c4706;--yellow-0: #fff9db;--yellow-1: #fff3bf;--yellow-2: #ffec99;--yellow-3: #ffe066;--yellow-4: #ffd43b;--yellow-5: #fcc419;--yellow-6: #fab005;--yellow-7: #f59f00;--yellow-8: #f08c00;--yellow-9: #e67700;--yellow-10: #b35c00;--yellow-11: #804200;--yellow-12: #663500;--orange-0: #fff4e6;--orange-1: #ffe8cc;--orange-2: #ffd8a8;--orange-3: #ffc078;--orange-4: #ffa94d;--orange-5: #ff922b;--orange-6: #fd7e14;--orange-7: #f76707;--orange-8: #e8590c;--orange-9: #d9480f;--orange-10: #bf400d;--orange-11: #99330b;--orange-12: #802b09;--choco-0: #fff8dc;--choco-1: #fce1bc;--choco-2: #f7ca9e;--choco-3: #f1b280;--choco-4: #e99b62;--choco-5: #df8545;--choco-6: #d46e25;--choco-7: #bd5f1b;--choco-8: #a45117;--choco-9: #8a4513;--choco-10: #703a13;--choco-11: #572f12;--choco-12: #3d210d;--brown-0: #faf4eb;--brown-1: #ede0d1;--brown-2: #e0cab7;--brown-3: #d3b79e;--brown-4: #c5a285;--brown-5: #b78f6d;--brown-6: #a87c56;--brown-7: #956b47;--brown-8: #825b3a;--brown-9: #6f4b2d;--brown-10:#5e3a21;--brown-11:#4e2b15;--brown-12: #422412;--sand-0: #f8fafb;--sand-1: #e6e4dc;--sand-2: #d5cfbd;--sand-3: #c2b9a0;--sand-4: #aea58c;--sand-5: #9a9178;--sand-6: #867c65;--sand-7: #736a53;--sand-8: #5f5746;--sand-9: #4b4639;--sand-10:#38352d;--sand-11:#252521;--sand-12: #121210;--camo-0: #f9fbe7;--camo-1: #e8ed9c;--camo-2: #d2df4e;--camo-3: #c2ce34;--camo-4: #b5bb2e;--camo-5: #a7a827;--camo-6: #999621;--camo-7: #8c851c;--camo-8: #7e7416;--camo-9: #6d6414;--camo-10: #5d5411;--camo-11: #4d460e;--camo-12: #36300a;--jungle-0: #ecfeb0;--jungle-1: #def39a;--jungle-2: #d0e884;--jungle-3: #c2dd6e;--jungle-4: #b5d15b;--jungle-5: #a8c648;--jungle-6: #9bbb36;--jungle-7: #8fb024;--jungle-8: #84a513;--jungle-9: #7a9908;--jungle-10: #658006;--jungle-11: #516605;--jungle-12: #3d4d04}html{font-family:var(--main-font);line-height:var(--rhythm);background:var(--bg);color:var(--fg);scroll-padding-block-start:calc(4*var(--gap))}footer,header,section+section{margin-block:calc(2*var(--gap))}aside.big,nav a{color:var(--accent)}nav a{text-decoration:none}aside h1,aside h2,aside h3,aside h4,aside h5,aside h6{font-size:1em;text-transform:none;letter-spacing:none}aside.big{background:0 0;border:0;border-inline-start:1px solid var(--muted-fg);border-radius:0;padding:0;padding-inline-start:var(--rhythm);font-style:italic}.\<h1\>,.\<h2\>,.\<h3\>,.\<h4\>,.\<h5\>,.\<h6\>,h1,h2,h3,h4,h5,h6{margin-block-end:var(--gap);font-family:var(--secondary-font);margin-block-start:calc(2*var(--gap));position:relative}.\<h1\>,.\<h2\>,h1,h2{font-size:2em;text-transform:none;line-height:calc(2*var(--rhythm));letter-spacing:0}.\<h2\>,h2{font-size:1.6em;line-height:calc(1.5*var(--rhythm))}.\<h3\>,.\<h4\>,.\<h5\>,.\<h6\>,h3,h4,h5,h6{font-size:1.17em;line-height:calc(1*var(--rhythm))}.\<h4\>,.\<h5\>,.\<h6\>,h4,h5,h6{font-size:1em;text-transform:none;letter-spacing:0;margin-block-start:var(--gap)}h1+h2,h1:first-child,h2+h3,h2:first-child,h3+h4,h3:first-child,h4+h5,h4:first-child,h5+h6,h5:first-child,h6:first-child{margin-block-start:var(--gap)}h1:target,h2:target,h3:target,h4:target,h5:target,h6:target{outline:0}h1:target::before,h2:target::before,h3:target::before,h4:target::before,h5:target::before,h6:target::before{content:"";display:block;position:absolute;left:-.5em;width:4px;height:100%;background:var(--accent)}footer,header{font-family:var(--secondary-font)}header{border-block-end:1px solid var(--faded-fg)}footer{border-block-start:1px solid var(--faded-fg)}body>footer,body>header,main+footer{padding:var(--rhythm) calc((100% - var(--eff-line-length))/2)}address{--density: 0}dl,hr,p{margin-block:var(--gap)}hr{color:inherit;margin-inline:0;flex:0 1 0px;border-inline-start:1px solid var(--accent);block-size:auto;border-block-start:1px solid var(--accent);border-block-end:none;border-inline-end:none}blockquote,pre{line-height:var(--rhythm)}pre{font-family:var(--mono-font);-o-tab-size:2;tab-size:2;margin:var(--gap) 0;overflow-x:auto;scrollbar-width:thin;scrollbar-color:var(--accent) transparent;font-size:.9em}blockquote{margin-inline:0 var(--gap);padding-inline:var(--gap) 0;margin-block:var(--gap);font-size:1.1em;font-style:italic;border-inline-start:1px solid var(--faded-fg);color:var(--muted-fg)}.italic address,.italic cite,.italic dfn,.italic em,.italic i,.italic var,blockquote address,blockquote cite,blockquote dfn,blockquote em,blockquote i,blockquote var,q address,q cite,q dfn,q em,q i,q var{font-style:normal}blockquote footer{text-align:right;text-align:end}ol,ul{padding-inline-start:var(--rhythm)}ol ol,ol ul,ul ol,ul ul{padding-inline-start:var(--gap)}ol[role=list],ol[role=listbox],ul[role=list],ul[role=listbox]{padding-inline-start:0;list-style:none}ol{list-style:decimal}.breadcrumbs[aria-label] [aria-current=page],.sidebar-layout header a,dt{font-weight:700}dd{margin-inline-start:var(--rhythm)}li::marker{font-family:var(--secondary-font)}figure{max-width:100%;margin-inline:0}figcaption{margin-block:var(--gap);font-family:var(--secondary-font);color:var(--muted-fg)}main{max-inline-size:var(--eff-line-length);inline-size:100%;margin-inline:auto}main:first-child{padding-top:var(--gap)}a{color:var(--link-fg, var(--accent));font-family:var(--secondary-font);border-radius:var(--border-radius);outline-offset:1px}.list-of-links a{text-decoration:none}a:focus,a:hover{text-decoration:none;outline:1px solid;transition:outline-offset .1s ease-in-out}a:active{outline-offset:0}span>small:only-child{display:block;float:inline-end;clear:inline-end;--sidenote-width: 20ch;max-inline-size:var(--sidenote-width);padding-inline:1.5ch 1ch;margin-inline-end:calc(1em - var(--sidenote-width));margin-block-end:var(--rhythm);font-family:var(--secondary-font);background:var(--bg);border:1px solid transparent;transition:transform .1s ease-in-out}span>small:only-child:focus-within,span>small:only-child:hover{border:1px solid var(--faded-fg);border-radius:var(--border-radius);transform:translateX(calc(0px - var(--sidenote-width) + min(var(--gutter-width),var(--sidenote-width))))}del,s{color:var(--bad-fg)}caption,q{font-style:italic}time{font-variant-numeric:tabular-nums}code,kbd,samp{font-family:var(--mono-font);font-style:normal}ins,samp{color:var(--ok-fg)}kbd kbd{display:inline-block;padding:0 .3em;font-size:.8em;line-height:1.1em;background:var(--interactive-bg);border:1px outset var(--faded-fg);border-block-end-width:3px;border-radius:var(--border-radius)}sub{vertical-align:bottom}sub,sup{line-height:1}mark{background:var(--warn-bg);color:var(--warn-fg)}ins{background:var(--ok-bg)}del{background:var(--bad-bg)}audio,embed,iframe,img,object,video{max-inline-size:100%;inline-size:max-content;block-size:auto}caption{text-align:start;font-family:var(--secondary-font)}tbody{border-block:1px solid var(--fg)}select[multiple],sup,td,th{vertical-align:top}td:not(:last-child),th:not(:last-child){padding-inline-end:var(--rhythm)}th{font-family:var(--secondary-font);text-align:start}input{display:block}label input:not([specificity-hack]){display:inline;padding-block:0}.\<button\>,button,input::file-selector-button,input[type=button],input[type=reset],input[type=submit]{display:inline-block;padding:0 calc(var(--rhythm)/4);vertical-align:middle;font-size:.8rem;line-height:1.125em;font-family:var(--secondary-font);min-height:var(--rhythm);background:var(--interactive-bg);border:1px solid var(--muted-fg);box-sizing:border-box;border-radius:var(--border-radius);color:var(--fg);text-decoration:none;display:inline-flex;place-items:center}:is(button,input[type="submit"],input[type="reset"],input[type="button"],input::file-selector-button,.\<button\>):focus-visible,:is(button,input[type="submit"],input[type="reset"],input[type="button"],input::file-selector-button,.\<button\>):hover{filter:brightness(1.1);text-decoration:none}:is(button,input[type="submit"],input[type="reset"],input[type="button"],input::file-selector-button,.\<button\>):active{filter:brightness(.8)}[aria-expanded=true]:is(button,input[type="submit"],input[type="reset"],input[type="button"],input::file-selector-button,.\<button\>),[aria-pressed=true]:is(button,input[type="submit"],input[type="reset"],input[type="button"],input::file-selector-button,.\<button\>){box-shadow:0 .05em var(--accent);transform:translateY(.05em);background:var(--pressed-interactive-bg)}[disabled]:is(button,input[type="submit"],input[type="reset"],input[type="button"],input::file-selector-button,.\<button\>){color:var(--muted-fg)}strong>:is(button,input[type="submit"],input[type="reset"],input[type="button"],input::file-selector-button,.\<button\>){background:var(--accent);color:var(--bg);border:0;font-weight:700}strong>[disabled]:is(button,input[type="submit"],input[type="reset"],input[type="button"],input::file-selector-button,.\<button\>){color:var(--muted-accent)}.big:is(button,input[type="submit"],input[type="reset"],input[type="button"],input::file-selector-button,.\<button\>){min-block-size:calc(1.5*var(--rhythm));font-size:1rem;padding-inline:calc(.5*var(--rhythm));line-height:var(--rhythm)}input:not([type]),input[type=date],input[type=datetime-local],input[type=datetime],input[type=email],input[type=month],input[type=number],input[type=password],input[type=search],input[type=tel],input[type=text],input[type=time],input[type=url],input[type=week],select,textarea{padding:calc(var(--rhythm)/4);font-size:1rem;line-height:inherit;font-family:var(--main-font);background:var(--bg);color:var(--fg);border:1px solid var(--faded-fg);border-radius:var(--border-radius);vertical-align:top}:is(input:not([type]),input[type="text"],input[type="search"],input[type="tel"],input[type="url"],input[type="email"],input[type="password"],input[type="date"],input[type="month"],input[type="week"],input[type="time"],input[type="datetime"],input[type="datetime-local"],input[type="number"],select,textarea):focus-visible{border:1px solid var(--accent)}:is(input:not([type]),input[type="text"],input[type="search"],input[type="tel"],input[type="url"],input[type="email"],input[type="password"],input[type="date"],input[type="month"],input[type="week"],input[type="time"],input[type="datetime"],input[type="datetime-local"],input[type="number"],select,textarea)::placeholder{color:var(--muted-fg);opacity:1;text-align:end}input[type=range]{width:100%;padding:calc(var(--gap)/4)}input[type=color]{padding:0;margin:0;height:calc(1.5*var(--rhythm));border:0;background:0 0}input[type=file]{padding:calc(var(--gap)/4) 0;font:inherit;line-height:calc(var(--rhythm)/2)}input[type=file]::file-selector-button{margin-block:.1em 0;margin-inline-end:1ch}optgroup::before{color:var(--muted-fg);font-style:normal}label[for]{display:block;padding-block:calc(var(--gap)/4)}fieldset>legend+*{margin-block-start:0}details:not(specificity-hack){padding-block-start:0}details:not(specificity-hack):not([open]){padding-block-end:0}summary{margin:calc(0px - var(--gap));margin-bottom:0;padding-inline:var(--gap);font-family:var(--secondary-font);font-weight:700;background:var(--accent);color:var(--bg);cursor:pointer}summary:active,summary:focus-visible{filter:brightness(.8)}details[open] summary{border-block-end:1px solid var(--accent);border-end-end-radius:0;border-end-start-radius:0}dialog{inline-inset:0;block-size:-moz-fit-content;block-size:fit-content;inline-size:-moz-fit-content;inline-size:fit-content;margin:auto!important;background-color:var(--bg);color:var(--fg)}dialog[open]::backdrop{display:block;background:#000;opacity:.4;animation:bg 2s}dialog:not([open]){display:none}.box,.sidebar-layout>header,[role=menu],[role=tabpanel],aside,details,dialog,figure{margin:var(--gap) 0;padding:var(--gap);overflow:clip;border-radius:var(--border-radius);background:var(--box-bg);border:1px solid var(--faded-fg)}.titlebar{margin-inline:calc(0px - var(--gap));margin-block-end:calc(0px - var(--gap));padding-inline:var(--gap);font:inherit;font-family:var(--secondary-font);font-weight:700;translate:0 calc(-1px - var(--gap));background:var(--faded-fg);color:var(--bg)}.sub-title,sub-title{display:block;font-weight:400;color:var(--muted-fg)}.tool-bar,[role=toolbar]{display:flex;flex-flow:row wrap;gap:calc(var(--gap)/2)}.tool-bar>*,[role=toolbar]>*{margin:0}.sidebar-layout header li{margin-block:calc(.5*var(--gap))}@media (min-width:75ch){.sidebar-layout{display:grid;grid-template-columns:25ch auto;inset:0}.sidebar-layout>header{border-block:none;border-inline-start:none;margin:0}.sidebar-layout>:nth-child(2){overflow:auto;--full-width: calc(100vw - 25ch);margin-top:var(--gap)}}.breadcrumbs[aria-label]{font-family:var(--secondary-font)}.breadcrumbs[aria-label] ol,.breadcrumbs[aria-label] ul{list-style:none;padding-inline-start:0}.breadcrumbs[aria-label] li{display:inline}:is(.breadcrumbs[aria-label] li)+li::before{content:' / ';display:inline}.chip,.navbar,chip{font-family:var(--secondary-font);background:var(--box-bg)}.chip,chip{border:1px solid var(--accent);border-radius:calc(var(--rhythm)/2);padding-inline:calc(var(--rhythm)/2)}.navbar{padding:var(--rhythm);border-block-end:1px solid var(--accent);overflow-x:auto;scrollbar-width:thin;position:sticky;z-index:5;top:0;left:0;right:0;display:flex;flex-flow:row;align-items:center;gap:var(--gap)}.navbar.expanded{flex-flow:column;align-items:start;max-height:90vh;overflow-y:auto}.navbar.expanded ul[role=list]{flex-flow:column}.navbar *{flex-shrink:0;margin-block:0}.navbar:not(.expanded) nav>:first-child,.navbar:not(.expanded)>:first-child{margin-inline-start:auto}.navbar:not(.expanded) nav>:last-child,.navbar:not(.expanded)>:last-child{margin-inline-end:auto}.navbar hr{align-self:stretch}.navbar nav ul[role=list]{display:flex;flex-flow:row;gap:var(--rhythm);padding-inline-start:0}.navbar nav ul[role=list] *{flex-shrink:0}.navbar a{font-weight:700;text-decoration:none;padding-inline:.2em}.navbar a:focus,.navbar a:hover{text-decoration:underline}.navbar [aria-current=page]{position:relative}.navbar [aria-current=page]::after{width:100%;height:6px;content:"";display:block;position:absolute;bottom:calc(-1*var(--gap));background:currentcolor}.navbar.expanded [aria-current=page]::after{width:6px;height:100%;position:absolute;left:calc(-1*var(--gap));top:0}.permalink-anchor{display:none}:hover>.permalink-anchor{display:initial}button.iconbutton{border:0;background:0 0;color:currentcolor;padding:0;line-height:var(--rhythm);font-size:24px;width:24px;height:24px;display:inline-block;text-align:center;border-radius:50%;transition:font-weight .2s ease-in-out}button.iconbutton:focus-visible,button.iconbutton:hover{outline:1px solid var(--accent);outline-offset:6px}button.iconbutton:active{outline-offset:3px;background:0 0}button.iconbutton[aria-pressed=true]{box-shadow:none;transform:none}[role=tablist]{display:flex;gap:.5ch;scrollbar-width:thin}[role=tab][role=tab]{all:initial;font-family:var(--secondary-font);padding:0 calc(var(--rhythm)/4);margin:0;min-height:var(--rhythm);color:var(--fg);border:solid var(--faded-fg);border-width:1px 1px 0;border-block-end-color:transparent;background:var(--interactive-bg);border-start-start-radius:.4em;border-start-end-radius:.4em}[role=tab][role=tab]:active,[role=tab][role=tab][aria-selected=true]{transform:none;bottom:-1px;position:relative;background:var(--box-bg);border-block-end:1px solid var(--box-bg)}[role=tab][role=tab]:hover{background-color:var(--box-bg)}[role=tab][role=tab]:focus{background-color:var(--box-bg);border-color:var(--accent);outline:1px solid var(--accent)}[role=tabpanel]{margin-block-start:0;border-start-start-radius:0;border-start-end-radius:0;z-index:1}[role=menu]{position:absolute;z-index:10;padding:calc(var(--gap)/2) 0;margin:1px 0 0;display:flex;flex-flow:column nowrap}[role=menuitem]{padding:0 calc(var(--gap)/2);display:block;text-decoration:none;border-radius:0;color:var(--fg)}[role=menuitem]:active,[role=menuitem]:focus{background:var(--accent);color:var(--bg)}[role=listbox]{list-style:none}[role=listbox] [role=option]{margin-inline:calc(-1*var(--gap));padding-inline:var(--gap)}[role=listbox] [role=option][aria-selected=true]{background:var(--interactive-bg)}[role=listbox] .active[role=option]{--temporary-bg: var(--accent);--temporary-fg: var(--bg);--temporary-accent: parent-var(--muted-accent);--temporary-muted-accent: parent-var(--box-bg);background:var(--temporary-bg);color:var(--temporary-fg)}[role=listbox] .active[role=option]>*{--bg: var(--temporary-bg);--fg: var(--temporary-fg);--accent: var(--temporary-accent);--muted-accent: var(--temporary-muted-accent)}[aria-orientation=vertical]{flex-direction:column;width:-moz-fit-content;width:fit-content;text-align:center}.plain{--box-bg: var(--plain-bg);--accent: var(--plain-fg);--faded-fg: var(--plain-faded-fg)}.info{--box-bg: var(--info-bg);--accent: var(--info-fg);--faded-fg: var(--info-faded-fg)}.ok{--box-bg: var(--ok-bg);--accent: var(--ok-fg);--faded-fg: var(--ok-faded-fg)}.warn{--box-bg: var(--warn-bg);--accent: var(--warn-fg);--faded-fg: var(--warn-faded-fg)}.bad{--box-bg: var(--bad-bg);--accent: var(--bad-fg);--faded-fg: var(--bad-faded-fg)}.color{color:var(--accent)}.bg{background:var(--box-bg)}.border{border-style:solid;border-color:var(--faded-fg)}:root{--fg: var(--gray-12);--muted-fg: var(--gray-10);--faded-fg: var(--plain-faded-fg);--plain-fg: var(--blue-10);--info-fg: var(--blue-11);--ok-fg: var(--green-11);--bad-fg: var(--red-11);--warn-fg: var(--yellow-11);--plain-faded-fg: var(--gray-6);--info-faded-fg: var(--blue-6);--ok-faded-fg: var(--green-6);--bad-faded-fg: var(--red-6);--warn-faded-fg: var(--yellow-6);--bg: var(--gray-0);--box-bg: var(--plain-bg);--interactive-bg: var(--gray-4);--plain-bg: var(--gray-1);--info-bg: var(--blue-1);--ok-bg: var(--green-1);--bad-bg: var(--red-1);--warn-bg: var(--yellow-1);--accent: var(--blue-10);--muted-accent: var(--blue-7);--rhythm: 1.4rem;--line-length: 40rem;--border-radius: .2rem;--main-font: 'Source Sans 3', 'Source Sans Pro', -apple-system, system-ui, sans-serif;--secondary-font: var(--main-font);--mono-font: 'M Plus Code Latin', monospace, monospace;--density: 1;--full-width: 100vw;--eff-line-length: /* Effective line length for prose. */
- min(
- calc( var(--full-width) - (2 * var(--rhythm)) ),
- var(--line-length)
- );--gutter-width: /* Width of spaces at each side of page content. */
- calc(
- (
- var(--full-width) /* Viewport width */
- - var(--eff-line-length) /* minus line width */
- ) / 2)}@media (prefers-color-scheme:dark){:root:not(.-no-dark-theme){--fg: var(--gray-0);--muted-fg: var(--gray-2);--faded-fg: var(--gray-7);--plain-bg: var(--gray-11);--info-bg: var(--blue-12);--ok-bg: var(--green-12);--bad-bg: var(--red-12);--warn-bg: var(--yellow-12);--plain-faded-fg: var(--blue-6);--info-faded-fg: var(--blue-6);--ok-faded-fg: var(--green-6);--bad-faded-fg: var(--red-6);--warn-faded-fg: var(--yellow-6);--bg: var(--gray-12);--box-bg: var(--gray-10);--interactive-bg: var(--gray-8);--plain-fg: (--blue-3);--info-fg: var(--blue-3);--ok-fg: var(--green-3);--bad-fg: var(--red-3);--warn-fg: var(--yellow-3);--accent: var(--blue-3);--muted-accent: var(--blue-5)}}*{--gap: calc(var(--rhythm) * var(--density));accent-color:var(--accent)}.textcolumns{--col-width: 30ch;column-width:var(--col-width);column-gap:var(--gap);margin-block:var(--gap)}.textcolumns :first-child{margin-block-start:0!important}.text-align\:center{text-align:center}.center{display:grid;place-items:center}.container{max-inline-size:var(--eff-line-length);margin-inline:auto}.fullbleed,.fullscreen{position:relative;left:50%;border-radius:0;border-inline:none}.fullbleed{width:var(--full-width);transform:translateX(calc(-.5*var(--full-width)))}.fullscreen{height:100vh;width:100vw;transform:translateX(-50vw)}.width\:100\%{width:100%;max-width:100%}.height\:100\%{height:100%;max-height:100%}:is(
- body,
- .box,
- [role=menu],
- .sidebar-layout > header,
- [role=tabpanel],
- figure,
- details,
- dialog,
- aside,
- fieldset,
- dd,
- td,
- th
-)>:first-child:first-child:first-child:first-child,:is(
- body,
- .box,
- [role=menu],
- .sidebar-layout > header,
- [role=tabpanel],
- figure,
- details,
- dialog,
- aside,
- fieldset,
- dd,
- td,
- th
-)>:first-child>:first-child:first-child:first-child,:is(
- body,
- .box,
- [role=menu],
- .sidebar-layout > header,
- [role=tabpanel],
- figure,
- details,
- dialog,
- aside,
- fieldset,
- dd,
- td,
- th
-)>:first-child>:first-child>:first-child:first-child,:is(
- body,
- .box,
- [role=menu],
- .sidebar-layout > header,
- [role=tabpanel],
- figure,
- details,
- dialog,
- aside,
- fieldset,
- dd,
- td,
- th
-)>:first-child>:first-child>:first-child>:first-child{margin-block-start:0}:is(
- body,
- .box,
- [role=menu],
- .sidebar-layout > header,
- [role=tabpanel],
- figure,
- details,
- dialog,
- aside,
- fieldset,
- dd,
- td,
- th
-)>:last-child:last-child:last-child:last-child,:is(
- body,
- .box,
- [role=menu],
- .sidebar-layout > header,
- [role=tabpanel],
- figure,
- details,
- dialog,
- aside,
- fieldset,
- dd,
- td,
- th
-)>:last-child>:last-child:last-child:last-child,:is(
- body,
- .box,
- [role=menu],
- .sidebar-layout > header,
- [role=tabpanel],
- figure,
- details,
- dialog,
- aside,
- fieldset,
- dd,
- td,
- th
-)>:last-child>:last-child>:last-child:last-child,:is(
- body,
- .box,
- [role=menu],
- .sidebar-layout > header,
- [role=tabpanel],
- figure,
- details,
- dialog,
- aside,
- fieldset,
- dd,
- td,
- th
-)>:last-child>:last-child>:last-child>:last-child{margin-block-end:0}.padding{padding-inline:var(--gap)}.padding-block{padding-block:var(--gap)}.padding-block-start{padding-block-start:var(--gap)}.padding-block-end{padding-block-end:var(--gap)}.padding-inline{padding-inline:var(--gap)}.padding-inline-end,.padding-inline-start{padding-inline-start:var(--gap)}.margin{margin:var(--gap)}.margin-block{margin-block:var(--gap)}.margin-block-start{margin-block-start:var(--gap)}.margin-block-end{margin-block-end:var(--gap)}.margin-inline{margin-inline:var(--gap)}.margin-inline-start{margin-inline-start:var(--gap)}.margin-inline-end{margin-inline-end:var(--gap)}.flow-gap>:not(:last-child){margin-bottom:1em}.inline{display:inline}.block{display:block}.contents{display:contents}.table{display:table;width:100%;margin:0}.row,.rows>*{display:table-row}.row:not(:last-child):not([specificity-hack])>*,.rows>:not(:last-child):not([specificity-hack])>*{margin-bottom:var(--gap)}.row>:not([specificity-hack]),.rows>*>:not([specificity-hack]){display:table-cell;vertical-align:top}.row>*+:not([specificity-hack]),:is(.rows > *)>*+:not([specificity-hack]){margin-inline-start:var(--gap);display:inline-block}.big{font-size:1.4em;line-height:calc(1.5*var(--rhythm))}.fixed{position:fixed}.sticky{position:sticky}.top{top:0}.right{right:0}.bottom{bottom:0}.left{left:0}.float\:left{float:left}.float\:right{float:right}.overflow\:auto{overflow:auto}.overflow\:scroll{overflow:scroll}.airy{--density: 3}.spacious{--density: 2}.dense{--density: 1}.crowded{--density: .5}.packed{--density: 0}.autodensity{--density: 1
-}@media (min-width:768px){.autodensity{--density: 2
-}}@media (min-width:1024px){.autodensity{--density: 3
-}}.vh,v-h{clip:rect(0 0 0 0);-webkit-clip-path:inset(50%);clip-path:inset(50%);block-size:1px;inline-size:1px;overflow:hidden;white-space:nowrap}.all\:initial{all:initial}.bold{font-weight:700}.italic{font-style:italic}.allcaps{text-transform:uppercase;letter-spacing:.1rem}.monospace{font-family:var(--mono-font)}.f-row{display:flex;flex-direction:row;gap:var(--gap)}.f-row>*{margin:0}.f-col{display:flex;flex-direction:column;gap:var(--gap)}.f-col>*{margin:0}.f-switch{display:flex;flex-wrap:wrap;gap:var(--gap);--f-switch-threshold: 55ch
-}.f-switch>*{margin:0;flex-grow:1;flex-basis:calc((var(--f-switch-threshold) - 100%)*999)}.justify-content\:start{justify-content:start}.justify-content\:end{justify-content:end}.justify-content\:baseline{justify-content:baseline}.justify-content\:center{justify-content:center}.justify-content\:stretch{justify-content:stretch}.justify-content\:space-between{justify-content:space-between}.justify-content\:space-around{justify-content:space-around}.justify-content\:space-evenly{justify-content:space-evenly}.align-items\:start{align-items:start}.align-items\:end{align-items:end}.align-items\:baseline{align-items:baseline}.align-items\:center{align-items:center}.align-items\:stretch{align-items:stretch}.align-self\:start{align-self:start}.align-self\:end{align-self:end}.align-self\:baseline{align-self:baseline}.align-self\:center{align-self:center}.align-self\:stretch{align-self:stretch}.flex-grow\:0{flex-grow:0}.flex-grow\:1{flex-grow:1}.flex-grow\:2{flex-grow:2}.flex-grow\:3{flex-grow:3}.flex-grow\:4{flex-grow:4}.flex-grow\:5{flex-grow:5}.flex-grow\:6{flex-grow:6}.flex-grow\:7{flex-grow:7}.flex-grow\:8{flex-grow:8}.flex-grow\:9{flex-grow:9}.flex-grow\:10{flex-grow:10}.flex-grow\:11{flex-grow:11}.flex-grow\:12{flex-grow:12}.flex-wrap\:wrap{flex-wrap:wrap}.flex-wrap\:nowrap{flex-wrap:nowrap}.grid{display:grid;grid-auto-columns:var(--grid-col-width, 1fr);grid-auto-rows:var(--grid-row-width, auto);gap:var(--gap)}.grid>*{margin:0}.grid-even-rows{--grid-row-width: 1fr}.grid-variable-cols{--grid-column-width: auto}[data-cols^="1 "]{grid-column-start:1}[data-cols$=" 1"]{grid-column-end:2}[data-cols="1"]{grid-column:1}[data-cols^="2 "]{grid-column-start:2}[data-cols$=" 2"]{grid-column-end:3}[data-cols="2"]{grid-column:2}[data-cols^="3 "]{grid-column-start:3}[data-cols$=" 3"]{grid-column-end:4}[data-cols="3"]{grid-column:3}[data-cols^="4 "]{grid-column-start:4}[data-cols$=" 4"]{grid-column-end:5}[data-cols="4"]{grid-column:4}[data-cols^="5 "]{grid-column-start:5}[data-cols$=" 5"]{grid-column-end:6}[data-cols="5"]{grid-column:5}[data-cols^="6 "]{grid-column-start:6}[data-cols$=" 6"]{grid-column-end:7}[data-cols="6"]{grid-column:6}[data-cols^="7 "]{grid-column-start:7}[data-cols$=" 7"]{grid-column-end:8}[data-cols="7"]{grid-column:7}[data-cols^="8 "]{grid-column-start:8}[data-cols$=" 8"]{grid-column-end:9}[data-cols="8"]{grid-column:8}[data-cols^="9 "]{grid-column-start:9}[data-cols$=" 9"]{grid-column-end:10}[data-cols="9"]{grid-column:9}[data-cols^="10 "]{grid-column-start:10}[data-cols$=" 10"]{grid-column-end:11}[data-cols="10"]{grid-column:10}[data-cols^="11 "]{grid-column-start:11}[data-cols$=" 11"]{grid-column-end:12}[data-cols="11"]{grid-column:11}[data-cols^="12 "]{grid-column-start:12}[data-cols$=" 12"]{grid-column-end:13}[data-cols="12"]{grid-column:12}[data-rows^="1 "]{grid-row-start:1}[data-rows$=" 1"]{grid-row-end:2}[data-rows="1"]{grid-row:1}[data-rows^="2 "]{grid-row-start:2}[data-rows$=" 2"]{grid-row-end:3}[data-rows="2"]{grid-row:2}[data-rows^="3 "]{grid-row-start:3}[data-rows$=" 3"]{grid-row-end:4}[data-rows="3"]{grid-row:3}[data-rows^="4 "]{grid-row-start:4}[data-rows$=" 4"]{grid-row-end:5}[data-rows="4"]{grid-row:4}[data-rows^="5 "]{grid-row-start:5}[data-rows$=" 5"]{grid-row-end:6}[data-rows="5"]{grid-row:5}[data-rows^="6 "]{grid-row-start:6}[data-rows$=" 6"]{grid-row-end:7}[data-rows="6"]{grid-row:6}[data-rows^="7 "]{grid-row-start:7}[data-rows$=" 7"]{grid-row-end:8}[data-rows="7"]{grid-row:7}[data-rows^="8 "]{grid-row-start:8}[data-rows$=" 8"]{grid-row-end:9}[data-rows="8"]{grid-row:8}[data-rows^="9 "]{grid-row-start:9}[data-rows$=" 9"]{grid-row-end:10}[data-rows="9"]{grid-row:9}[data-rows^="10 "]{grid-row-start:10}[data-rows$=" 10"]{grid-row-end:11}[data-rows="10"]{grid-row:10}[data-rows^="11 "]{grid-row-start:11}[data-rows$=" 11"]{grid-row-end:12}[data-rows="11"]{grid-row:11}[data-rows^="12 "]{grid-row-start:12}[data-rows$=" 12"]{grid-row-end:13}[data-rows="12"]{grid-row:12}@media (max-width:768px){[data-cols\@s^="1 "]{grid-column-start:1}[data-cols\@s$=" 1"]{grid-column-end:2}[data-cols\@s="1"]{grid-column:1}[data-cols\@s^="2 "]{grid-column-start:2}[data-cols\@s$=" 2"]{grid-column-end:3}[data-cols\@s="2"]{grid-column:2}[data-cols\@s^="3 "]{grid-column-start:3}[data-cols\@s$=" 3"]{grid-column-end:4}[data-cols\@s="3"]{grid-column:3}[data-cols\@s^="4 "]{grid-column-start:4}[data-cols\@s$=" 4"]{grid-column-end:5}[data-cols\@s="4"]{grid-column:4}[data-cols\@s^="5 "]{grid-column-start:5}[data-cols\@s$=" 5"]{grid-column-end:6}[data-cols\@s="5"]{grid-column:5}[data-cols\@s^="6 "]{grid-column-start:6}[data-cols\@s$=" 6"]{grid-column-end:7}[data-cols\@s="6"]{grid-column:6}[data-cols\@s^="7 "]{grid-column-start:7}[data-cols\@s$=" 7"]{grid-column-end:8}[data-cols\@s="7"]{grid-column:7}[data-cols\@s^="8 "]{grid-column-start:8}[data-cols\@s$=" 8"]{grid-column-end:9}[data-cols\@s="8"]{grid-column:8}[data-cols\@s^="9 "]{grid-column-start:9}[data-cols\@s$=" 9"]{grid-column-end:10}[data-cols\@s="9"]{grid-column:9}[data-cols\@s^="10 "]{grid-column-start:10}[data-cols\@s$=" 10"]{grid-column-end:11}[data-cols\@s="10"]{grid-column:10}[data-cols\@s^="11 "]{grid-column-start:11}[data-cols\@s$=" 11"]{grid-column-end:12}[data-cols\@s="11"]{grid-column:11}[data-cols\@s^="12 "]{grid-column-start:12}[data-cols\@s$=" 12"]{grid-column-end:13}[data-cols\@s="12"]{grid-column:12}[data-rows\@s^="1 "]{grid-row-start:1}[data-rows\@s$=" 1"]{grid-row-end:2}[data-rows\@s="1"]{grid-row:1}[data-rows\@s^="2 "]{grid-row-start:2}[data-rows\@s$=" 2"]{grid-row-end:3}[data-rows\@s="2"]{grid-row:2}[data-rows\@s^="3 "]{grid-row-start:3}[data-rows\@s$=" 3"]{grid-row-end:4}[data-rows\@s="3"]{grid-row:3}[data-rows\@s^="4 "]{grid-row-start:4}[data-rows\@s$=" 4"]{grid-row-end:5}[data-rows\@s="4"]{grid-row:4}[data-rows\@s^="5 "]{grid-row-start:5}[data-rows\@s$=" 5"]{grid-row-end:6}[data-rows\@s="5"]{grid-row:5}[data-rows\@s^="6 "]{grid-row-start:6}[data-rows\@s$=" 6"]{grid-row-end:7}[data-rows\@s="6"]{grid-row:6}[data-rows\@s^="7 "]{grid-row-start:7}[data-rows\@s$=" 7"]{grid-row-end:8}[data-rows\@s="7"]{grid-row:7}[data-rows\@s^="8 "]{grid-row-start:8}[data-rows\@s$=" 8"]{grid-row-end:9}[data-rows\@s="8"]{grid-row:8}[data-rows\@s^="9 "]{grid-row-start:9}[data-rows\@s$=" 9"]{grid-row-end:10}[data-rows\@s="9"]{grid-row:9}[data-rows\@s^="10 "]{grid-row-start:10}[data-rows\@s$=" 10"]{grid-row-end:11}[data-rows\@s="10"]{grid-row:10}[data-rows\@s^="11 "]{grid-row-start:11}[data-rows\@s$=" 11"]{grid-row-end:12}[data-rows\@s="11"]{grid-row:11}[data-rows\@s^="12 "]{grid-row-start:12}[data-rows\@s$=" 12"]{grid-row-end:13}[data-rows\@s="12"]{grid-row:12}}@media (min-width:1024px){[data-cols\@l^="1 "]{grid-column-start:1}[data-cols\@l$=" 1"]{grid-column-end:2}[data-cols\@l="1"]{grid-column:1}[data-cols\@l^="2 "]{grid-column-start:2}[data-cols\@l$=" 2"]{grid-column-end:3}[data-cols\@l="2"]{grid-column:2}[data-cols\@l^="3 "]{grid-column-start:3}[data-cols\@l$=" 3"]{grid-column-end:4}[data-cols\@l="3"]{grid-column:3}[data-cols\@l^="4 "]{grid-column-start:4}[data-cols\@l$=" 4"]{grid-column-end:5}[data-cols\@l="4"]{grid-column:4}[data-cols\@l^="5 "]{grid-column-start:5}[data-cols\@l$=" 5"]{grid-column-end:6}[data-cols\@l="5"]{grid-column:5}[data-cols\@l^="6 "]{grid-column-start:6}[data-cols\@l$=" 6"]{grid-column-end:7}[data-cols\@l="6"]{grid-column:6}[data-cols\@l^="7 "]{grid-column-start:7}[data-cols\@l$=" 7"]{grid-column-end:8}[data-cols\@l="7"]{grid-column:7}[data-cols\@l^="8 "]{grid-column-start:8}[data-cols\@l$=" 8"]{grid-column-end:9}[data-cols\@l="8"]{grid-column:8}[data-cols\@l^="9 "]{grid-column-start:9}[data-cols\@l$=" 9"]{grid-column-end:10}[data-cols\@l="9"]{grid-column:9}[data-cols\@l^="10 "]{grid-column-start:10}[data-cols\@l$=" 10"]{grid-column-end:11}[data-cols\@l="10"]{grid-column:10}[data-cols\@l^="11 "]{grid-column-start:11}[data-cols\@l$=" 11"]{grid-column-end:12}[data-cols\@l="11"]{grid-column:11}[data-cols\@l^="12 "]{grid-column-start:12}[data-cols\@l$=" 12"]{grid-column-end:13}[data-cols\@l="12"]{grid-column:12}[data-rows\@l^="1 "]{grid-row-start:1}[data-rows\@l$=" 1"]{grid-row-end:2}[data-rows\@l="1"]{grid-row:1}[data-rows\@l^="2 "]{grid-row-start:2}[data-rows\@l$=" 2"]{grid-row-end:3}[data-rows\@l="2"]{grid-row:2}[data-rows\@l^="3 "]{grid-row-start:3}[data-rows\@l$=" 3"]{grid-row-end:4}[data-rows\@l="3"]{grid-row:3}[data-rows\@l^="4 "]{grid-row-start:4}[data-rows\@l$=" 4"]{grid-row-end:5}[data-rows\@l="4"]{grid-row:4}[data-rows\@l^="5 "]{grid-row-start:5}[data-rows\@l$=" 5"]{grid-row-end:6}[data-rows\@l="5"]{grid-row:5}[data-rows\@l^="6 "]{grid-row-start:6}[data-rows\@l$=" 6"]{grid-row-end:7}[data-rows\@l="6"]{grid-row:6}[data-rows\@l^="7 "]{grid-row-start:7}[data-rows\@l$=" 7"]{grid-row-end:8}[data-rows\@l="7"]{grid-row:7}[data-rows\@l^="8 "]{grid-row-start:8}[data-rows\@l$=" 8"]{grid-row-end:9}[data-rows\@l="8"]{grid-row:8}[data-rows\@l^="9 "]{grid-row-start:9}[data-rows\@l$=" 9"]{grid-row-end:10}[data-rows\@l="9"]{grid-row:9}[data-rows\@l^="10 "]{grid-row-start:10}[data-rows\@l$=" 10"]{grid-row-end:11}[data-rows\@l="10"]{grid-row:10}[data-rows\@l^="11 "]{grid-row-start:11}[data-rows\@l$=" 11"]{grid-row-end:12}[data-rows\@l="11"]{grid-row:11}[data-rows\@l^="12 "]{grid-row-start:12}[data-rows\@l$=" 12"]{grid-row-end:13}[data-rows\@l="12"]{grid-row:12}} \ No newline at end of file
diff --git a/www/releases/_artifacts/v1.0.3/missing-js/19.js b/www/releases/_artifacts/v1.0.3/missing-js/19.js
deleted file mode 100644
index eebd9b7..0000000
--- a/www/releases/_artifacts/v1.0.3/missing-js/19.js
+++ /dev/null
@@ -1,3 +0,0 @@
-function T(e){return(...t)=>(console.log("%c%s","color:green",e,...t),t.at(-1))}const h=T("19.js");function E(e){return e.replace(/[A-Z]/g,t=>"-"+t.toLowerCase())}function f(e,t,n,r,i={}){const{wrap:s=!0}=i,u=e+"ElementSibling",a=e==="next"?(l,p)=>d(l,p):(l,p)=>g(l,p).at(-1);if(!r)return s?a(t,n):null;let o=r;for(;;){for(;o[u]===null;)if(o=o.parentElement,o===t)return s?a(t,n):null;o=o[u];const l=o.matches(n)?o:d(o,n);if(l)return l}}function d(e,t){return e.querySelector(t)}function g(e,t){return Array.from(e.querySelectorAll(t))}function L(e,t,n,r={}){const i=s=>(r.addedBy&&!r.addedBy.isConnected&&v({target:e,type:t,listener:i,options:r}),n(s));return e.addEventListener(t,i,r),{target:e,type:t,options:r,listener:i}}function v({target:e,type:t,listener:n,options:r}){return e.removeEventListener(t,n,r)}function y(e,t){for(const n of e.split(" "))n==="default"&&t.preventDefault(),n==="bubbling"&&t.stopPropagation(),n==="propagation"&&t.stopImmediatePropagation()}function A(e,t){return n=>{y(e,n),t(n)}}function w(e,t,n){return e.dispatchEvent(new CustomEvent(t,{detail:n}))}function N(e,t,n=void 0){if(typeof t=="object"){for(const i in t)e.setAttribute(E(i),t[i]);return null}const r=e.getAttribute(t);return n===void 0?e.getAttribute(t):n===null?(e.removeAttribute(t),r):(e.setAttribute(t,n),n)}function x(e){const t=document.createElement("div");return t.append(e),t.innerHTML}function b(e){return e==null?"":e instanceof Node?x(e):String(e).replaceAll("&","&amp;").replaceAll("<","&lt;").replaceAll(">","&gt;").replaceAll("'","&#x27;").replaceAll('"',"&quot;")}function k(e,...t){const n=document.createElement("template");return typeof e=="object"&&"raw"in e&&(e=String.raw(e,...t.map(b))),n.innerHTML=e,n.content}function O(e){return e instanceof HTMLElement?e:null}function P(e,t,n,r={}){return f("next",e,t,n,r)}function S(e,t,n,r={}){return f("previous",e,t,n,r)}function B(e){const s={},u=o=>~~(o.altKey&&1)|~~(o.ctrlKey&&2)|~~(o.metaKey&&4)|~~(o.shiftKey&&8),a=o=>{const l=o.split("+"),p=l.pop();let c=0;for(const m in l)switch(m.toLowerCase()){case"alt":c|=1;break;case"ctrl":c|=2;break;case"meta":c|=4;break;case"shift":c|=8;break}return[p,c]};for(const[o,l]of Object.entries(e)){const[p,c]=a(o);(s[p]??(s[p]=new Array(8)))[c]=l}return o=>s[o.key]?.[u(o)]?.(o)}function C(e,t,{mode:n="trailing"}={}){let r=null;return(...i)=>{r?clearTimeout(r):n==="leading"&&t(...i),r=setTimeout(()=>{n==="trailing"&&t(...i),r=null},e)}}function D(e,t){const n=new WeakSet;return(r=document,i={})=>{const s=r.getRootNode();g(r,e).forEach(u=>{n.has(u)||(n.add(u),t(u,{options:i,root:s}))})}}function K(e,t){return n=>{let r=null;const i=(...a)=>{const o=r;r=a.at(-1),r instanceof DocumentFragment&&(r=r.lastChild),o?o.after(...a):e.prepend(...a)},s=a=>{if(a)for(;a.nextSibling;)a.nextSibling.remove();else e.replaceChildren()},u=e.getRootNode();for(const a of n){const o=t.idOf(a),l=u.getElementById(o);i(l?t.update?.(l,a)??l:t.create(a,{id:o}))}s(r)}}export{d as $,g as $$,O as asHtml,N as attr,D as behavior,C as debounce,w as dispatch,y as halt,A as halts,B as hotkey,k as html,b as htmlescape,T as makelogger,P as next,v as off,L as on,S as prev,K as repeater,x as stringifyNode,f as traverse};
-
-/*# sourceMappingURL=./19.js.map */ \ No newline at end of file
diff --git a/www/releases/_artifacts/v1.0.3/missing-js/19.js.map b/www/releases/_artifacts/v1.0.3/missing-js/19.js.map
deleted file mode 100644
index c86d7e5..0000000
--- a/www/releases/_artifacts/v1.0.3/missing-js/19.js.map
+++ /dev/null
@@ -1 +0,0 @@
-{"version":3,"sources":["/missing-js/19.ts"],"sourcesContent":["/** \n * a DOM helper library.\n * \"1 US$ = 18.5842 TR₺ · Oct 16, 2022, 20:52 UTC\"\n */\n\n/// <reference lib=\"es2022\" />\n\nexport type Behavior<TOptions> = (subtree: ParentNode, options?: Partial<TOptions>) => void;\n\nexport type BehaviorInit<TOptions> = (element: Element, context: BehaviorContext<TOptions>) => void;\n\nexport type BehaviorContext<TOptions> = {\n root: Root;\n options: Partial<TOptions>\n}\n\nexport type Root = Document | ShadowRoot;\n\nexport type Logger = <T>(...args: [..._: any, last: T]) => T;\n\n/**\n * Creates a logging function.\n * The {@link scope} will be prepended to each message logged.\n * \n * We usually use `ilog` as a name for the resulting function.\n * It returns its last argument,\n * which makes it easier to log intermediate values in an expression:\n * \n * const x = a + ilog(\"b:\", b); // x = a + b\n * \n * @param scope - The name of the component/module/etc. that will use this logger.\n * @returns The `ilog` function.\n */\nexport function makelogger(scope: string): Logger {\n return (...args) => {\n console.log(\"%c%s\", \"color:green\", scope, ...args);\n return args.at(-1);\n };\n}\n\nconst ilog = makelogger(\"19.js\");\n\n/**\n * Converts camelCase to kebab-case.\n */\nfunction camelToKebab(s: string): string {\n return s.replace(/[A-Z]/g, (s) => \"-\" + s.toLowerCase());\n}\n\n/**\n * Traverse the DOM forward or backward from a starting point\n * to find an element matching some selector.\n * @param {(\"next\" | \"previous\")} direction\n * @param {ParentNode} root - The element within which to look for the next element, e.g. a menu.\n * @param {string} selector - The selector to look for, e.g. `\"[role=menuitem]\"`.\n * @param {Element | null} [current] - The element to start the search from, e.g. the currently selected menu item.\n * If missing, the first or last matching element will be returned (depending on search direction).\n * @param {object} [options]\n * @param {boolean} [options.wrap] Whether to wrap around when the end/start of {@link root} is reached.\n */\nexport function traverse(\n direction: \"next\" | \"previous\",\n root: ParentNode,\n selector: string,\n current: Element | null,\n options: { wrap?: boolean } = {},\n) {\n const { wrap = true } = options;\n\n const advance = direction + \"ElementSibling\";\n const wrapIt = direction === \"next\"\n ? (root: ParentNode, selector: string) => $(root, selector)\n : (root: ParentNode, selector: string) => $$(root, selector).at(-1);\n if (!current)\n return wrap ? wrapIt(root, selector) : null;\n let cursor = current;\n while (true) {\n while (cursor[advance] === null) {\n cursor = cursor.parentElement as Element;\n if (cursor === root)\n return wrap ? wrapIt(root, selector) : null;\n }\n cursor = cursor[advance];\n const found = cursor.matches(selector) ? cursor : $(cursor, selector);\n if (found)\n return found;\n }\n}\n\n/**\n * Wrapper for {@link scope}.querySelector({@link sel}).\n * Unlike jQuery, the scope is required to be specified.\n */\nexport function $<TElement extends Element>(scope: ParentNode, sel: string): TElement | null {\n return scope.querySelector<TElement>(sel);\n}\n\n/**\n * Wrapper for {@link scope}.querySelectorAll({@link sel}).\n * Unlike jQuery, the scope is required to be specified.\n * Returns an Array instead of a NodeList.\n */\nexport function $$<TElement extends Element>(scope: ParentNode, sel: string): TElement[] {\n return Array.from(scope.querySelectorAll<TElement>(sel));\n}\n\n/**\n * Returned by `on`, this is an object you can pass to `off` to remove an event listener,\n * saving the burden of keeping a handle on the listener function and options.\n */\ntype EventListenerToken = {\n target: EventTarget;\n type: string;\n listener: EventListener;\n options: object; \n}\n\n/** \n * @callbListener\n * @param {unknown extends HTMLElementEventMap[TEventType] ? CustomEvent : HTMLElementEventMap[TEventType]} event\n */\ntype Listener<T extends string> = (event: T extends keyof HTMLElementEventMap ? HTMLElementEventMap[T] : CustomEvent) => void;\n\n/**\n * Add an event listener.\n * @param target - The element (or other event target) to add the listener to.\n * @param type - The type of event to listen to, e.g. `\"click\"`.\n * @param listener - The listener function.\n * @param [options]\n * @param [options.addedBy] - If supplied, the listener will be removed when this element is not in the DOM.\n */\nexport function on<TEventType extends string>(\n target: EventTarget,\n type: TEventType,\n listener: Listener<TEventType>,\n options: { addedBy?: Element } = {}\n): EventListenerToken {\n const listenerWrapper: Listener<TEventType> = e => {\n if (options.addedBy && !options.addedBy.isConnected)\n off({ target, type: type, listener: listenerWrapper as EventListener, options }); // self-cleaning listener\n return listener(e);\n };\n target.addEventListener(type, listenerWrapper as EventListener, options as AddEventListenerOptions);\n return { target, type: type, options, listener: listenerWrapper as EventListener };\n}\n\n/**\n * Remove an event listener.\n * @param listenerToken - The return value of {@link on}.\n */\nexport function off({ target, type, listener, options }: EventListenerToken) {\n return target.removeEventListener(type, listener, options);\n}\n\n/**\n * \"Halt\" an event -- convenient wrapper for `preventDefault`, `stopPropagation`, and `stopImmediatePropagation`.\n * @param o - How to halt. Space-separated list of \"default\", \"bubbling\" and \"propagation\".\n * @param e - The event. \n */\nexport function halt(o: string, e: Event) {\n for (const t of o.split(\" \")) {\n if (t === \"default\")\n e.preventDefault();\n if (t === \"bubbling\")\n e.stopPropagation();\n if (t === \"propagation\")\n e.stopImmediatePropagation();\n }\n}\n\n/**\n * Decorator for any event listener to call {@link halt}.\n * \n * on(el, \"click\", halts(\"default\", e => ...))\n *\n * @param o - See {@link halt~o}.\n * @param f\n */\nexport function halts<T extends Event>(o: string, f: (e: T) => void): (e: T) => void {\n return e => { halt(o, e); f(e); };\n}\n\n/**\n * Dispatch a {@link CustomEvent}.\n * @param el - the event target\n * @param type - the event type, e.g. `\"myapp:clear-cart\"`\n * @param [detail] - Event.detail\n */\nexport function dispatch(el: EventTarget, type: string, detail?: any) {\n return el.dispatchEvent(new CustomEvent(type, { detail }));\n}\n\n/**\n * Get, remove or set an attribute.\n * \n * - attr(el, \"name\") Get the attribute \"name\"\n * - attr(el, \"name\", \"value\") Set the attribute \"name\" to \"value\"\n * - attr(el, \"name\", null) Remove the attribute \"name\"\n * - attr(el, [ nameA: \"valueA\", nameB: \"valueB\" ]) Set the attributes name-a to \"valueA\", name-b to \"valueB\"\n * \n * @param el \n * @param name - The attribute name **or** a map of names to values.\n * If an object is passed, camelCase attribute names will be converted to kebab-case.\n * @param value - The value of the attribute, when setting. Pass `null` to remove an attribute.\n */\nexport function attr(el: Element, name: string | object, value: any = undefined): string | null {\n if (typeof name === \"object\") {\n for (const at in name) el.setAttribute(camelToKebab(at), name[at]);\n return null;\n }\n const curValue = el.getAttribute(name);\n if (value === undefined)\n return el.getAttribute(name);\n else if (value === null)\n return el.removeAttribute(name), curValue;\n else\n return el.setAttribute(name, value), value;\n}\n\n/**\n * Convert a node to equivalent HTML.\n */\nexport function stringifyNode(node: Node): string {\n const tmp = document.createElement(\"div\");\n tmp.append(node);\n return tmp.innerHTML;\n}\n\n/**\n * HTML-escape a string.\n * If given a DOM node, it will return **unescaped** HTML for it.\n * Returns empty string when given null or undefined.\n */\nexport function htmlescape(s: any): string {\n if (s === null || s === undefined)\n return \"\";\n if (s instanceof Node)\n return stringifyNode(s);\n return String(s)\n .replaceAll(\"&\", \"&amp;\")\n .replaceAll(\"<\", \"&lt;\")\n .replaceAll(\">\", \"&gt;\")\n .replaceAll(\"'\", \"&#x27;\")\n .replaceAll(\"\\\"\", \"&quot;\");\n}\n\n\n/**\n * Template literal that escapes HTML in interpolated values and returns a DocumentFragment.\n * Can also be called with a string to parse it as HTML.\n * To let trusted HTML through escaping, parse it first:\n * \n * html`<p>My trusted markup: ${html(trustedMarkup)}</p>`\n */\nexport function html(str: TemplateStringsArray | string, ...values: any[]): DocumentFragment {\n const tmpl = document.createElement(\"template\");\n if (typeof str === \"object\" && \"raw\" in str)\n str = String.raw(str, ...values.map(htmlescape));\n tmpl.innerHTML = str;\n return tmpl.content;\n}\n\n/**\n * 'Type \"Element\" cannot be assigned to type \"HTMLElement\"' SHUT UP\n * @param {*} [el] \n * @returns {HTMLElement | null}\n */\nexport function asHtml(el: any): HTMLElement | null {\n return el instanceof HTMLElement ? el : null;\n}\n\n/**\n * Find the next element matching a given selector, searching deeply throughout the DOM.\n * @see traverse\n * @param root - The element within which to look for the next element, e.g. a menu.\n * @param selector - The selector to look for, e.g. `\"[role=menuitem]\"`.\n * @param [current] - The element to start the search from, e.g. the currently selected menu item.\n * If missing, the first or last matching element will be returned (depending on search direction).\n * @param [options]\n * @param [options.wrap] Whether to wrap around when the end/start of {@link root} is reached.\n */\nexport function next(\n root: ParentNode,\n selector: string, \n current: Element | null, \n options: { wrap?: boolean } = {}\n) {\n return traverse(\"next\", root, selector, current, options);\n}\n\n/**\n * Find the previous element matching a given selector, searching deeply throughout the DOM.\n * @see traverse\n * @param root - The element within which to look for the next element, e.g. a menu.\n * @param selector - The selector to look for, e.g. `\"[role=menuitem]\"`.\n * @param [current] - The element to start the search from, e.g. the currently selected menu item.\n * If missing, the first or last matching element will be returned (depending on search direction).\n * @param [options]\n * @param [options.wrap] Whether to wrap around when the end/start of {@link root} is reached.\n */\n export function prev(\n root: ParentNode,\n selector: string,\n current: Element | null,\n options: { wrap?: boolean } = {}\n) {\n return traverse(\"previous\", root, selector, current, options);\n}\n\ntype KeyboardEventListener = (e: KeyboardEvent) => void;\n\n/**\n * Create a handler for keyboard events using a keyboard shortcut DSL.\n * \n * - \"ArrowLeft\"\n * - \"Ctrl+Alt+3\"\n */\nexport function hotkey(hotkeys: Record<string, KeyboardEventListener>): KeyboardEventListener {\n const alt = 0b1, ctrl = 0b10, meta = 0b100, shift = 0b1000;\n const handlers = {}; // handlers[key][modifiers as bitfields]\n const modifiersOf = (e: KeyboardEvent) => ~~(e.altKey && alt) | ~~(e.ctrlKey && ctrl) | ~~(e.metaKey && meta) | ~~(e.shiftKey && shift);\n const parse = (hotkeySpec: string) => {\n const\n tokens = hotkeySpec.split(\"+\"), key = tokens.pop()!;\n let modifiers = 0 | 0;\n for (const token in tokens)\n switch (token.toLowerCase()) {\n case \"alt\": modifiers |= alt; break;\n case \"ctrl\": modifiers |= ctrl; break;\n case \"meta\": modifiers |= meta; break;\n case \"shift\": modifiers |= shift; break;\n }\n return [key, modifiers];\n };\n\n for (const [hotkeySpec, handler] of Object.entries(hotkeys)) {\n const [key, modifiers] = parse(hotkeySpec);\n (handlers[key] ??= new Array(8))[modifiers] = handler;\n }\n\n return e => handlers[e.key]?.[modifiersOf(e)]?.(e);\n}\n\n/**\n * Debounce a function.\n * \n * @param t - The debounce time.\n * @param f - The function.\n * @param [options.mode] - Leading or trailing debounce.\n */\nexport function debounce<TArgs extends any[]>(t: number, f: (...args: TArgs) => void, { mode = \"trailing\" } = {}): typeof f {\n let timeout: number | null = null;\n return (...args: TArgs) => {\n if (timeout)\n clearTimeout(timeout);\n else if (mode === \"leading\")\n f(...args);\n timeout = setTimeout(() => {\n if (mode === \"trailing\")\n f(...args);\n timeout = null;\n }, t);\n };\n}\n\n/**\n * Create a behavior that applies to elements matching the given selector.\n * @returns A function that can be called to apply the behavior to new elements within a subtree.\n */\nexport function behavior<TOptions>(selector: string, init: BehaviorInit<TOptions>): Behavior<TOptions> {\n const initialized = new WeakSet;\n return (subtree = document, options = {}) => {\n const root = subtree.getRootNode() as Root;\n $$(subtree, selector).forEach(el => {\n if (initialized.has(el))\n return;\n initialized.add(el);\n init(el, { options, root });\n });\n };\n}\n\ntype Repeater<TData> = {\n /**\n * Returns the HTML id for a given data value.\n * @param datum The data value.\n */\n idOf(datum: TData): string;\n\n /**\n * Createsa an element for a data value.\n * @param data The data value\n * @param ctx.id The id the returned element should have.\n */\n create(data: TData, ctx: { id: string }): Node;\n\n /**\n * \n * @param el The current element.\n * @param data The new data value.\n */\n update?(el: Element, data: TData): void;\n}\n\n/**\n * Repeat an element such that the list can be updated when data changes.\n * \n * @param {object} context\n * @param {(data: TData) => string} context.idOf\n * @param {(data: TData, ctx: { id: string }) => Node} context.create\n * @param {(el: Element, data: TData) => void} [context.update]\n * @returns \n */\nexport function repeater<TData>(container: ParentNode, rep: Repeater<TData>) {\n return (dataset: any) => {\n let cursor: ChildNode | null = null;\n\n const append = (...nodes: any[]) => {\n const oldcursor = cursor;\n cursor = nodes.at(-1);\n if (cursor instanceof DocumentFragment)\n cursor = cursor.lastChild;\n if (oldcursor)\n oldcursor.after(...nodes);\n else\n container.prepend(...nodes);\n };\n const clearAfter = (cursor: Node | null) => {\n if (cursor)\n while (cursor.nextSibling)\n cursor.nextSibling.remove();\n else\n container.replaceChildren();\n };\n\n const root = container.getRootNode() as Root;\n\n // TODO: use an actual morphing algo\n for (const datum of dataset) {\n const\n id = rep.idOf(datum), existing = root.getElementById(id);\n if (existing)\n append(rep.update?.(existing, datum) ?? existing);\n else\n append(rep.create(datum, { id }));\n }\n clearAfter(cursor);\n };\n}\n"],"mappings":"AAiCO,SAASA,EAAWC,EAAuB,CAChD,MAAO,IAAIC,KACT,QAAQ,IAAI,OAAQ,cAAeD,EAAO,GAAGC,CAAI,EAC1CA,EAAK,GAAG,EAAE,EAErB,CAEA,MAAMC,EAAOH,EAAW,OAAO,EAK/B,SAASI,EAAaC,EAAmB,CACvC,OAAOA,EAAE,QAAQ,SAAWA,GAAM,IAAMA,EAAE,YAAY,CAAC,CACzD,CAaO,SAASC,EACdC,EACAC,EACAC,EACAC,EACAC,EAA8B,CAAC,EAC/B,CACA,KAAM,CAAE,KAAAC,EAAO,EAAK,EAAID,EAElBE,EAAUN,EAAY,iBACtBO,EAASP,IAAc,OACzB,CAACC,EAAkBC,IAAqBM,EAAEP,EAAMC,CAAQ,EACxD,CAACD,EAAkBC,IAAqBO,EAAGR,EAAMC,CAAQ,EAAE,GAAG,EAAE,EACpE,GAAI,CAACC,EACH,OAAOE,EAAOE,EAAON,EAAMC,CAAQ,EAAI,KACzC,IAAIQ,EAASP,EACb,OAAa,CACX,KAAOO,EAAOJ,KAAa,MAEzB,GADAI,EAASA,EAAO,cACZA,IAAWT,EACb,OAAOI,EAAOE,EAAON,EAAMC,CAAQ,EAAI,KAE3CQ,EAASA,EAAOJ,GAChB,MAAMK,EAAQD,EAAO,QAAQR,CAAQ,EAAIQ,EAASF,EAAEE,EAAQR,CAAQ,EACpE,GAAIS,EACF,OAAOA,CACX,CACF,CAMO,SAASH,EAA4Bd,EAAmBkB,EAA8B,CAC3F,OAAOlB,EAAM,cAAwBkB,CAAG,CAC1C,CAOO,SAASH,EAA6Bf,EAAmBkB,EAAyB,CACvF,OAAO,MAAM,KAAKlB,EAAM,iBAA2BkB,CAAG,CAAC,CACzD,CA2BO,SAASC,EACdC,EACAC,EACAC,EACAZ,EAAiC,CAAC,EACd,CACpB,MAAMa,EAAwCC,IACxCd,EAAQ,SAAW,CAACA,EAAQ,QAAQ,aACtCe,EAAI,CAAE,OAAAL,EAAQ,KAAMC,EAAM,SAAUE,EAAkC,QAAAb,CAAQ,CAAC,EAC1EY,EAASE,CAAC,GAEnB,OAAAJ,EAAO,iBAAiBC,EAAME,EAAkCb,CAAkC,EAC3F,CAAE,OAAAU,EAAQ,KAAMC,EAAM,QAAAX,EAAS,SAAUa,CAAiC,CACnF,CAMO,SAASE,EAAI,CAAE,OAAAL,EAAQ,KAAAC,EAAM,SAAAC,EAAU,QAAAZ,CAAQ,EAAuB,CAC3E,OAAOU,EAAO,oBAAoBC,EAAMC,EAAUZ,CAAO,CAC3D,CAOO,SAASgB,EAAKC,EAAWH,EAAU,CACxC,UAAWI,KAAKD,EAAE,MAAM,GAAG,EACrBC,IAAM,WACRJ,EAAE,eAAe,EACfI,IAAM,YACRJ,EAAE,gBAAgB,EAChBI,IAAM,eACRJ,EAAE,yBAAyB,CAEjC,CAUO,SAASK,EAAuBF,EAAWG,EAAmC,CACnF,OAAON,GAAK,CAAEE,EAAKC,EAAGH,CAAC,EAAGM,EAAEN,CAAC,CAAG,CAClC,CAQO,SAASO,EAASC,EAAiBX,EAAcY,EAAc,CACpE,OAAOD,EAAG,cAAc,IAAI,YAAYX,EAAM,CAAE,OAAAY,CAAO,CAAC,CAAC,CAC3D,CAeO,SAASC,EAAKF,EAAaG,EAAuBC,EAAa,OAA0B,CAC9F,GAAI,OAAOD,GAAS,SAAU,CAC5B,UAAWE,KAAMF,EAAMH,EAAG,aAAa7B,EAAakC,CAAE,EAAGF,EAAKE,EAAG,EACjE,OAAO,IACT,CACA,MAAMC,EAAWN,EAAG,aAAaG,CAAI,EACrC,OAAIC,IAAU,OACLJ,EAAG,aAAaG,CAAI,EACpBC,IAAU,MACVJ,EAAG,gBAAgBG,CAAI,EAAGG,IAE1BN,EAAG,aAAaG,EAAMC,CAAK,EAAGA,EACzC,CAKO,SAASG,EAAcC,EAAoB,CAChD,MAAMC,EAAM,SAAS,cAAc,KAAK,EACxC,OAAAA,EAAI,OAAOD,CAAI,EACRC,EAAI,SACb,CAOO,SAASC,EAAWtC,EAAgB,CACzC,OAAIA,GAAM,KACD,GACLA,aAAa,KACRmC,EAAcnC,CAAC,EACjB,OAAOA,CAAC,EACZ,WAAW,IAAK,OAAO,EACvB,WAAW,IAAK,MAAM,EACtB,WAAW,IAAK,MAAM,EACtB,WAAW,IAAK,QAAQ,EACxB,WAAW,IAAM,QAAQ,CAC9B,CAUO,SAASuC,EAAKC,KAAuCC,EAAiC,CAC3F,MAAMC,EAAO,SAAS,cAAc,UAAU,EAC9C,OAAI,OAAOF,GAAQ,UAAY,QAASA,IACtCA,EAAM,OAAO,IAAIA,EAAK,GAAGC,EAAO,IAAIH,CAAU,CAAC,GACjDI,EAAK,UAAYF,EACVE,EAAK,OACd,CAOO,SAASC,EAAOf,EAA6B,CAClD,OAAOA,aAAc,YAAcA,EAAK,IAC1C,CAYO,SAASgB,EACdzC,EACAC,EACAC,EACAC,EAA8B,CAAC,EAC/B,CACA,OAAOL,EAAS,OAAQE,EAAMC,EAAUC,EAASC,CAAO,CAC1D,CAYQ,SAASuC,EACf1C,EACAC,EACAC,EACAC,EAA8B,CAAC,EAC/B,CACA,OAAOL,EAAS,WAAYE,EAAMC,EAAUC,EAASC,CAAO,CAC9D,CAUO,SAASwC,EAAOC,EAAuE,CAE5F,MAAMC,EAAW,CAAC,EACZC,EAAe7B,GAAqB,CAAC,EAAEA,EAAE,QAAU,GAAO,CAAC,EAAEA,EAAE,SAAW,GAAQ,CAAC,EAAEA,EAAE,SAAW,GAAQ,CAAC,EAAEA,EAAE,UAAY,GAC3H8B,EAASC,GAAuB,CAClC,MACEC,EAASD,EAAW,MAAM,GAAG,EAAGE,EAAMD,EAAO,IAAI,EACnD,IAAIE,EAAY,EAChB,UAAWC,KAASH,EAClB,OAAQG,EAAM,YAAY,EAAG,CAC3B,IAAK,MAAOD,GAAa,EAAK,MAC9B,IAAK,OAAQA,GAAa,EAAM,MAChC,IAAK,OAAQA,GAAa,EAAM,MAChC,IAAK,QAASA,GAAa,EAAO,KACpC,CACF,MAAO,CAACD,EAAKC,CAAS,CACxB,EAEF,SAAW,CAACH,EAAYK,CAAO,IAAK,OAAO,QAAQT,CAAO,EAAG,CAC3D,KAAM,CAACM,EAAKC,CAAS,EAAIJ,EAAMC,CAAU,GACxCH,EAAAK,KAAAL,EAAAK,GAAkB,IAAI,MAAM,CAAC,IAAGC,GAAaE,CAChD,CAEA,OAAOpC,GAAK4B,EAAS5B,EAAE,OAAO6B,EAAY7B,CAAC,KAAKA,CAAC,CACnD,CASO,SAASqC,EAA8BjC,EAAWE,EAA6B,CAAE,KAAAgC,EAAO,UAAW,EAAI,CAAC,EAAa,CAC1H,IAAIC,EAAyB,KAC7B,MAAO,IAAI9D,IAAgB,CACrB8D,EACF,aAAaA,CAAO,EACbD,IAAS,WAChBhC,EAAE,GAAG7B,CAAI,EACX8D,EAAU,WAAW,IAAM,CACrBD,IAAS,YACXhC,EAAE,GAAG7B,CAAI,EACX8D,EAAU,IACZ,EAAGnC,CAAC,CACN,CACF,CAMO,SAASoC,EAAmBxD,EAAkByD,EAAkD,CACrG,MAAMC,EAAc,IAAI,QACxB,MAAO,CAACC,EAAU,SAAUzD,EAAU,CAAC,IAAM,CAC3C,MAAMH,EAAO4D,EAAQ,YAAY,EACjCpD,EAAGoD,EAAS3D,CAAQ,EAAE,QAAQwB,GAAM,CAC9BkC,EAAY,IAAIlC,CAAE,IAEtBkC,EAAY,IAAIlC,CAAE,EAClBiC,EAAKjC,EAAI,CAAE,QAAAtB,EAAS,KAAAH,CAAK,CAAC,EAC5B,CAAC,CACH,CACF,CAiCO,SAAS6D,EAAgBC,EAAuBC,EAAsB,CAC3E,OAAQC,GAAiB,CACvB,IAAIvD,EAA2B,KAE/B,MAAMwD,EAAS,IAAIC,IAAiB,CAClC,MAAMC,EAAY1D,EAClBA,EAASyD,EAAM,GAAG,EAAE,EAChBzD,aAAkB,mBACpBA,EAASA,EAAO,WACd0D,EACFA,EAAU,MAAM,GAAGD,CAAK,EAExBJ,EAAU,QAAQ,GAAGI,CAAK,CAC9B,EACME,EAAc3D,GAAwB,CAC1C,GAAIA,EACF,KAAOA,EAAO,aACZA,EAAO,YAAY,OAAO,OAE5BqD,EAAU,gBAAgB,CAC9B,EAEM9D,EAAO8D,EAAU,YAAY,EAGnC,UAAWO,KAASL,EAAS,CAC3B,MACEM,EAAKP,EAAI,KAAKM,CAAK,EAAGE,EAAWvE,EAAK,eAAesE,CAAE,EAEvDL,EADEM,EACKR,EAAI,SAASQ,EAAUF,CAAK,GAAKE,EAEjCR,EAAI,OAAOM,EAAO,CAAE,GAAAC,CAAG,CAAC,CAFiB,CAGpD,CACAF,EAAW3D,CAAM,CACnB,CACF","names":["makelogger","scope","args","ilog","camelToKebab","s","traverse","direction","root","selector","current","options","wrap","advance","wrapIt","$","$$","cursor","found","sel","on","target","type","listener","listenerWrapper","e","off","halt","o","t","halts","f","dispatch","el","detail","attr","name","value","at","curValue","stringifyNode","node","tmp","htmlescape","html","str","values","tmpl","asHtml","next","prev","hotkey","hotkeys","handlers","modifiersOf","parse","hotkeySpec","tokens","key","modifiers","token","handler","debounce","mode","timeout","behavior","init","initialized","subtree","repeater","container","rep","dataset","append","nodes","oldcursor","clearAfter","datum","id","existing"],"sourceRoot":"file:///home/dz4k/Documents/Projects/bigsky.software/missing.css","file":"/missing-js/19.js.map"} \ No newline at end of file
diff --git a/www/releases/_artifacts/v1.0.3/missing-js/menu.js b/www/releases/_artifacts/v1.0.3/missing-js/menu.js
deleted file mode 100644
index 688434b..0000000
--- a/www/releases/_artifacts/v1.0.3/missing-js/menu.js
+++ /dev/null
@@ -1,3 +0,0 @@
-import{$ as m,$$ as h,on as o,dispatch as c,halts as g,attr as i,next as E,prev as _,asHtml as a,hotkey as w,behavior as f,makelogger as k}from"./19.js";const l=k("menu"),x="[role=menu]",s="[role=menuitem]",p=e=>h(e,s),y=(e,{root:r})=>{const t=i(e,"aria-controls");return t===null?null:r.getElementById(t)},u=e=>m(e,s),v=e=>p(e).at(-1)??null,d=e=>!e.hidden,B=f(x,(e,{root:r})=>{if(!(e instanceof HTMLElement))return;let t;p(e).forEach(n=>n.setAttribute("tabindex","-1")),o(e,"menu:open",n=>{t=n.detail?.opener,t||l("Warning: Menu",e,"opened without passing an `opener` element"),e.hidden=!1,u(e)?.focus()}),o(e,"menu:close",n=>{l("menu:close",e.hidden=!0),t?.focus()}),o(e,"focusout",n=>{!d(e)||e.contains(n.relatedTarget)||t!==n.relatedTarget&&c(e,"menu:close")}),o(e,"keydown",g("default",w({ArrowUp:n=>a(_(e,s,r.activeElement,{}))?.focus(),ArrowDown:n=>a(E(e,s,r.activeElement,{}))?.focus(),Space:n=>a(r.activeElement?.closest(s))?.click(),Home:n=>u(e)?.focus(),End:n=>v(e)?.focus(),Escape:n=>c(e,"menu:close")}))),o(window,"click",n=>{!d(e)||t!==n.target&&c(e,"menu:close")},{addedBy:e})}),M=f("[aria-haspopup=menu]",(e,{root:r})=>{const t=y(e,{root:r});if(t===null)return l("Error: Menu button",e,"has no menu.");o(t,"menu:close",n=>i(e,"aria-expanded","false"),{addedBy:e}),o(t,"menu:open",n=>i(e,"aria-expanded","true"),{addedBy:e}),o(e,"click",()=>c(t,d(t)?"menu:close":"menu:open",{opener:e}))});B(document);M(document);export{B as menu,M as menuButton};
-
-/*# sourceMappingURL=./menu.js.map */ \ No newline at end of file
diff --git a/www/releases/_artifacts/v1.0.3/missing-js/menu.js.map b/www/releases/_artifacts/v1.0.3/missing-js/menu.js.map
deleted file mode 100644
index 850b804..0000000
--- a/www/releases/_artifacts/v1.0.3/missing-js/menu.js.map
+++ /dev/null
@@ -1 +0,0 @@
-{"version":3,"sources":["/missing-js/menu.js"],"sourcesContent":["/// <reference lib=\"es2022\" />\n\nimport { $, $$, on, dispatch, halts, attr, next, prev, asHtml, hotkey, behavior, makelogger } from \"./19.js\"\n\nconst ilog = makelogger(\"menu\");\nconst sMenu = \"[role=menu]\";\nconst sMenuitem = \"[role=menuitem]\";\n\n/**\n * @param {HTMLElement} menu\n * @returns {HTMLElement[]}\n */\nconst menuItems = menu => $$(menu, sMenuitem);\n\n/**\n * @param {Element} button \n * @param {object} options \n * @param {import(\"./19.js\").Root} options.root \n * @returns {HTMLElement | null}\n */\nconst menuOf = (button, { root }) => {\n const id = attr(button, \"aria-controls\");\n if (id === null) return null;\n return root.getElementById(id);\n}\n\n/**\n * @param {HTMLElement} menu\n * @returns {HTMLElement | null}\n */\nconst firstItem = menu => $(menu, sMenuitem)\n\n/**\n * @param {HTMLElement} menu\n * @returns {HTMLElement | null}\n */\nconst lastItem = menu => menuItems(menu).at(-1) ?? null;\n\n\n/**\n * @param {HTMLElement} menu \n * @returns {boolean}\n */\nconst isOpen = menu => !menu.hidden;\n\nexport const menu = behavior(sMenu, (menu, { root }) => {\n if (!(menu instanceof HTMLElement)) return;\n\n let opener;\n\n menuItems(menu).forEach(item => item.setAttribute(\"tabindex\", \"-1\"));\n\n on(menu, \"menu:open\", e => {\n opener = e.detail?.opener;\n if (!opener) ilog(\"Warning: Menu\", menu, \"opened without passing an `opener` element\");\n menu.hidden = false;\n firstItem(menu)?.focus();\n });\n\n on(menu, \"menu:close\", _ => {\n ilog(\"menu:close\", menu.hidden = true);\n opener?.focus();\n });\n\n on(menu, \"focusout\", e => {\n if (!isOpen(menu)) return;\n if (menu.contains(/** @type {Node} */(e.relatedTarget))) return;\n if (opener === e.relatedTarget) return;\n dispatch(menu, \"menu:close\");\n });\n\n on(menu, \"keydown\", halts(\"default\", hotkey({\n \"ArrowUp\": _ => asHtml(prev(menu, sMenuitem, root.activeElement, {}))?.focus(),\n \"ArrowDown\": _ => asHtml(next(menu, sMenuitem, root.activeElement, {}))?.focus(),\n \"Space\": _ => asHtml(root.activeElement?.closest(sMenuitem))?.click(),\n \"Home\": _ => firstItem(menu)?.focus(),\n \"End\": _ => lastItem(menu)?.focus(),\n \"Escape\": _ => dispatch(menu, \"menu:close\"),\n })));\n\n on(window, \"click\", e => {\n if (!isOpen(menu)) return;\n if (opener === e.target) return;\n dispatch(menu, \"menu:close\");\n }, { addedBy: menu });\n});\n\nexport const menuButton = behavior(\"[aria-haspopup=menu]\", (button, { root }) => {\n const menu = menuOf(button, { root });\n\n if (menu === null) return ilog(\"Error: Menu button\", button, \"has no menu.\");\n\n on(menu, \"menu:close\", _ => attr(button, \"aria-expanded\", \"false\"), { addedBy: button })\n on(menu, \"menu:open\", _ => attr(button, \"aria-expanded\", \"true\"), { addedBy: button })\n on(button, \"click\", () => dispatch(menu, isOpen(menu) ? \"menu:close\" : \"menu:open\", { opener: button }));\n});\n\nmenu(document);\nmenuButton(document);\n"],"mappings":"AAEA,OAAS,KAAAA,EAAG,MAAAC,EAAI,MAAAC,EAAI,YAAAC,EAAU,SAAAC,EAAO,QAAAC,EAAM,QAAAC,EAAM,QAAAC,EAAM,UAAAC,EAAQ,UAAAC,EAAQ,YAAAC,EAAU,cAAAC,MAAkB,UAEnG,MAAMC,EAAOD,EAAW,MAAM,EACxBE,EAAQ,cACRC,EAAY,kBAMZC,EAAYC,GAAQf,EAAGe,EAAMF,CAAS,EAQtCG,EAAS,CAACC,EAAQ,CAAE,KAAAC,CAAK,IAAM,CACjC,MAAMC,EAAKf,EAAKa,EAAQ,eAAe,EACvC,OAAIE,IAAO,KAAa,KACjBD,EAAK,eAAeC,CAAE,CACjC,EAMMC,EAAYL,GAAQhB,EAAEgB,EAAMF,CAAS,EAMrCQ,EAAWN,GAAQD,EAAUC,CAAI,EAAE,GAAG,EAAE,GAAK,KAO7CO,EAASP,GAAQ,CAACA,EAAK,OAEhBA,EAAON,EAASG,EAAO,CAACG,EAAM,CAAE,KAAAG,CAAK,IAAM,CACpD,GAAI,EAAEH,aAAgB,aAAc,OAEpC,IAAIQ,EAEJT,EAAUC,CAAI,EAAE,QAAQS,GAAQA,EAAK,aAAa,WAAY,IAAI,CAAC,EAEnEvB,EAAGc,EAAM,YAAaU,GAAK,CACvBF,EAASE,EAAE,QAAQ,OACdF,GAAQZ,EAAK,gBAAiBI,EAAM,4CAA4C,EACrFA,EAAK,OAAS,GACdK,EAAUL,CAAI,GAAG,MAAM,CAC3B,CAAC,EAEDd,EAAGc,EAAM,aAAcW,GAAK,CACxBf,EAAK,aAAcI,EAAK,OAAS,EAAI,EACrCQ,GAAQ,MAAM,CAClB,CAAC,EAEDtB,EAAGc,EAAM,WAAYU,GAAK,CAClB,CAACH,EAAOP,CAAI,GACZA,EAAK,SAA6BU,EAAE,aAAc,GAClDF,IAAWE,EAAE,eACjBvB,EAASa,EAAM,YAAY,CAC/B,CAAC,EAEDd,EAAGc,EAAM,UAAWZ,EAAM,UAAWK,EAAO,CACxC,QAAWkB,GAAKnB,EAAOD,EAAKS,EAAMF,EAAWK,EAAK,cAAe,CAAC,CAAC,CAAC,GAAG,MAAM,EAC7E,UAAaQ,GAAKnB,EAAOF,EAAKU,EAAMF,EAAWK,EAAK,cAAe,CAAC,CAAC,CAAC,GAAG,MAAM,EAC/E,MAASQ,GAAKnB,EAAOW,EAAK,eAAe,QAAQL,CAAS,CAAC,GAAG,MAAM,EACpE,KAAQa,GAAKN,EAAUL,CAAI,GAAG,MAAM,EACpC,IAAOW,GAAKL,EAASN,CAAI,GAAG,MAAM,EAClC,OAAUW,GAAKxB,EAASa,EAAM,YAAY,CAC9C,CAAC,CAAC,CAAC,EAEHd,EAAG,OAAQ,QAASwB,GAAK,CACjB,CAACH,EAAOP,CAAI,GACZQ,IAAWE,EAAE,QACjBvB,EAASa,EAAM,YAAY,CAC/B,EAAG,CAAE,QAASA,CAAK,CAAC,CACxB,CAAC,EAEYY,EAAalB,EAAS,uBAAwB,CAACQ,EAAQ,CAAE,KAAAC,CAAK,IAAM,CAC7E,MAAMH,EAAOC,EAAOC,EAAQ,CAAE,KAAAC,CAAK,CAAC,EAEpC,GAAIH,IAAS,KAAM,OAAOJ,EAAK,qBAAsBM,EAAQ,cAAc,EAE3EhB,EAAGc,EAAM,aAAcW,GAAKtB,EAAKa,EAAQ,gBAAiB,OAAO,EAAG,CAAE,QAASA,CAAO,CAAC,EACvFhB,EAAGc,EAAM,YAAaW,GAAKtB,EAAKa,EAAQ,gBAAiB,MAAM,EAAG,CAAE,QAASA,CAAO,CAAC,EACrFhB,EAAGgB,EAAQ,QAAS,IAAMf,EAASa,EAAMO,EAAOP,CAAI,EAAI,aAAe,YAAa,CAAE,OAAQE,CAAO,CAAC,CAAC,CAC3G,CAAC,EAEDF,EAAK,QAAQ,EACbY,EAAW,QAAQ","names":["$","$$","on","dispatch","halts","attr","next","prev","asHtml","hotkey","behavior","makelogger","ilog","sMenu","sMenuitem","menuItems","menu","menuOf","button","root","id","firstItem","lastItem","isOpen","opener","item","e","_","menuButton"],"sourceRoot":"file:///home/dz4k/Documents/Projects/bigsky.software/missing.css","file":"/missing-js/menu.js.map"} \ No newline at end of file
diff --git a/www/releases/_artifacts/v1.0.3/missing-js/overflow-nav.js b/www/releases/_artifacts/v1.0.3/missing-js/overflow-nav.js
deleted file mode 100644
index 8ede3f4..0000000
--- a/www/releases/_artifacts/v1.0.3/missing-js/overflow-nav.js
+++ /dev/null
@@ -1,3 +0,0 @@
-import{$ as f,asHtml as g,attr as d,behavior as p,makelogger as m,on as l}from"./19.js";const w=m("overflow-nav"),a=p("[data-overflow-nav]",(t,{options:{expandedClass:o="expanded"}})=>{const e=g(f(t,"[data-nav-expander]"));if(e===null)return w("Expand toggle missing from navbar ",t);const c=()=>t.scrollWidth>t.clientWidth,r=()=>t.classList.contains(o),n=(s=!r())=>{s?(t.classList.add(o),d(e,"aria-pressed",!0),e.textContent="\xD7"):(t.classList.remove(o),d(e,"aria-pressed",!1),e.textContent="\u2630")},i=()=>{const s=e.hidden;e.hidden=!c(),s!=e.hidden&&n(!1)};l(e,"click",()=>n()),i(),l(window,"resize",()=>i(),{addedBy:t})});var h=a;a(document);export{h as default};
-
-/*# sourceMappingURL=./overflow-nav.js.map */ \ No newline at end of file
diff --git a/www/releases/_artifacts/v1.0.3/missing-js/overflow-nav.js.map b/www/releases/_artifacts/v1.0.3/missing-js/overflow-nav.js.map
deleted file mode 100644
index 428da89..0000000
--- a/www/releases/_artifacts/v1.0.3/missing-js/overflow-nav.js.map
+++ /dev/null
@@ -1 +0,0 @@
-{"version":3,"sources":["/missing-js/overflow-nav.js"],"sourcesContent":["import { $, asHtml, attr, behavior, makelogger, on } from \"./19.js\";\n\nconst ilog = makelogger(\"overflow-nav\");\n\n/**\n * @type {import(\"./19.js\").Behavior<{ expandedClass: string }>}\n */\nconst overflowNav = behavior(\"[data-overflow-nav]\", (navbar, {\n options: { expandedClass = \"expanded\" }\n}) => {\n const expandToggle = asHtml($(navbar, \"[data-nav-expander]\"));\n\n if (expandToggle === null) return ilog(\"Expand toggle missing from navbar \", navbar);\n\n /*\n \"The scrollWidth value is equal to the minimum width the element would\n require in order to fit all the content in the viewport without using a\n horizontal scrollbar. The width is measured in the same way as\n clientWidth: it includes the element's padding, but not its border,\n margin or vertical scrollbar (if present). It can also include the\n width of pseudo-elements such as ::before or ::after. If the element's\n content can fit without a need for horizontal scrollbar, its\n scrollWidth is equal to clientWidth\"\n -- MDN, \"Element.scrollWidth\", https://developer.mozilla.org/en-US/docs/Web/API/Element/scrollHeight\n */\n const overflows = () => navbar.scrollWidth > navbar.clientWidth;\n\n const isExpanded = () => navbar.classList.contains(expandedClass);\n\n const toggleExpansion = (expand = !isExpanded()) => {\n if (expand) {\n navbar.classList.add(expandedClass);\n attr(expandToggle, \"aria-pressed\", true);\n expandToggle.textContent = \"×\";\n } else {\n navbar.classList.remove(expandedClass);\n attr(expandToggle, \"aria-pressed\", false);\n expandToggle.textContent = \"☰\";\n }\n };\n\n const update = () => {\n const wasHidden = expandToggle.hidden\n expandToggle.hidden = !overflows();\n if (wasHidden != expandToggle.hidden) toggleExpansion(false);\n };\n\n on(expandToggle, \"click\", () => toggleExpansion());\n\n update();\n\n on(window, \"resize\", () => update(), { addedBy: navbar });\n})\n\nexport default overflowNav;\noverflowNav(document);\n"],"mappings":"AAAA,OAAS,KAAAA,EAAG,UAAAC,EAAQ,QAAAC,EAAM,YAAAC,EAAU,cAAAC,EAAY,MAAAC,MAAU,UAE1D,MAAMC,EAAOF,EAAW,cAAc,EAKhCG,EAAcJ,EAAS,sBAAuB,CAACK,EAAQ,CACzD,QAAS,CAAE,cAAAC,EAAgB,UAAW,CAC1C,IAAM,CACF,MAAMC,EAAeT,EAAOD,EAAEQ,EAAQ,qBAAqB,CAAC,EAE5D,GAAIE,IAAiB,KAAM,OAAOJ,EAAK,qCAAsCE,CAAM,EAanF,MAAMG,EAAY,IAAMH,EAAO,YAAcA,EAAO,YAE9CI,EAAa,IAAMJ,EAAO,UAAU,SAASC,CAAa,EAE1DI,EAAkB,CAACC,EAAS,CAACF,EAAW,IAAM,CAC5CE,GACAN,EAAO,UAAU,IAAIC,CAAa,EAClCP,EAAKQ,EAAc,eAAgB,EAAI,EACvCA,EAAa,YAAc,SAE3BF,EAAO,UAAU,OAAOC,CAAa,EACrCP,EAAKQ,EAAc,eAAgB,EAAK,EACxCA,EAAa,YAAc,SAEnC,EAEMK,EAAS,IAAM,CACjB,MAAMC,EAAYN,EAAa,OAC/BA,EAAa,OAAS,CAACC,EAAU,EAC7BK,GAAaN,EAAa,QAAQG,EAAgB,EAAK,CAC/D,EAEAR,EAAGK,EAAc,QAAS,IAAMG,EAAgB,CAAC,EAEjDE,EAAO,EAEPV,EAAG,OAAQ,SAAU,IAAMU,EAAO,EAAG,CAAE,QAASP,CAAO,CAAC,CAC5D,CAAC,EAED,IAAOS,EAAQV,EACfA,EAAY,QAAQ","names":["$","asHtml","attr","behavior","makelogger","on","ilog","overflowNav","navbar","expandedClass","expandToggle","overflows","isExpanded","toggleExpansion","expand","update","wasHidden","overflow_nav_default"],"sourceRoot":"file:///home/dz4k/Documents/Projects/bigsky.software/missing.css","file":"/missing-js/overflow-nav.js.map"} \ No newline at end of file
diff --git a/www/releases/_artifacts/v1.0.3/missing-js/tabs.js b/www/releases/_artifacts/v1.0.3/missing-js/tabs.js
deleted file mode 100644
index a5fc714..0000000
--- a/www/releases/_artifacts/v1.0.3/missing-js/tabs.js
+++ /dev/null
@@ -1,3 +0,0 @@
-import{$ as h,$$ as m,on as t,attr as s,next as p,prev as x,asHtml as r,hotkey as b,behavior as k,makelogger as w}from"./19.js";const E=w("tabs"),c=e=>m(e,"[role=tab]"),u=e=>h(e,"[role=tab][aria-selected=true]"),i=(e,n)=>{const o=s(e,"aria-controls");return o===null?(E("Tab",e,"has no associated tabpanel"),null):n.getElementById(o)},f=(e,n,o)=>{if(!o)return;const a=u(n);if(a){s(a,{ariaSelected:!1,tabindex:-1});const l=i(a,e);l&&(l.hidden=!0)}s(o,{ariaSelected:!0,tabindex:0});const d=i(o,e);d&&(d.hidden=!1),o.focus()},g=k("[role=tablist]",(e,{root:n})=>{e instanceof HTMLElement&&(e.tabIndex=0,c(e).forEach(o=>o.tabIndex=-1),f(n,e,u(e)),t(e,"focus",o=>u(e)?.focus()),t(e,"click",o=>f(n,e,r(r(o.target)?.closest("[role=tab]")))),t(e,"focusin",o=>f(n,e,r(r(o.target)?.closest("[role=tab]")))),t(e,"keydown",b({ArrowRight:o=>r(p(e,"[role=tab]",r(o.target)))?.focus(),ArrowLeft:o=>r(x(e,"[role=tab]",r(o.target)))?.focus(),Home:o=>c(e).at(0)?.focus(),End:o=>c(e).at(-1)?.focus()})))});g(document);var y=g;export{y as default,g as tablist};
-
-/*# sourceMappingURL=./tabs.js.map */ \ No newline at end of file
diff --git a/www/releases/_artifacts/v1.0.3/missing-js/tabs.js.map b/www/releases/_artifacts/v1.0.3/missing-js/tabs.js.map
deleted file mode 100644
index 598aa31..0000000
--- a/www/releases/_artifacts/v1.0.3/missing-js/tabs.js.map
+++ /dev/null
@@ -1 +0,0 @@
-{"version":3,"sources":["/missing-js/tabs.js"],"sourcesContent":["/// a tabs library.\n\nimport { $, $$, on, attr, next, prev, asHtml, hotkey, behavior, makelogger } from \"./19.js\";\n\nconst ilog = makelogger(\"tabs\");\n\n/** \n * @param {Element} tablist\n * @returns {HTMLElement[]}\n */\nconst tabsOf = tablist => $$(tablist, \"[role=tab]\");\n\n/** \n * @param {Element} tablist\n * @returns {HTMLElement | null}\n */\nconst currentTab = tablist => $(tablist, \"[role=tab][aria-selected=true]\");\n\n/** \n * @param {Element} tab\n * @param {import(\"./19.js\").Root} root\n * @returns {HTMLElement | null}\n */\nconst tabPanelOf = (tab, root) => {\n const id = attr(tab, \"aria-controls\");\n if (id === null) return ilog(\"Tab\", tab, \"has no associated tabpanel\"), null;\n return root.getElementById(id);\n}\n\n/** \n * @param {import(\"./19.js\").Root} root\n * @param {Element} tablist\n * @param {HTMLElement | null} tab\n * @returns {void}\n */\nconst switchTab = (root, tablist, tab) => {\n if (!tab) return;\n const curtab = currentTab(tablist);\n\n if (curtab) {\n attr(curtab, { ariaSelected: false, tabindex: -1 });\n const tabpanel = tabPanelOf(curtab, root);\n if (tabpanel) tabpanel.hidden = true;\n }\n attr(tab, { ariaSelected: true, tabindex: 0 });\n \n const tabpanel = tabPanelOf(tab, root);\n if (tabpanel) tabpanel.hidden = false;\n\n tab.focus();\n};\n\n/**\n * https://www.w3.org/WAI/ARIA/apg/patterns/tabpanel/\n */\nexport const tablist = behavior(\"[role=tablist]\", (tablist, { root }) => {\n if (!(tablist instanceof HTMLElement)) return;\n tablist.tabIndex = 0;\n tabsOf(tablist).forEach(tab => tab.tabIndex = -1);\n switchTab(root, tablist, currentTab(tablist));\n\n on(tablist, \"focus\", _ => currentTab(tablist)?.focus());\n\n on(tablist, \"click\", e => switchTab(root, tablist, asHtml(asHtml(e.target)?.closest(\"[role=tab]\"))));\n on(tablist, \"focusin\", e => switchTab(root, tablist, asHtml(asHtml(e.target)?.closest(\"[role=tab]\"))));\n\n on(tablist, \"keydown\", hotkey({\n \"ArrowRight\": e => asHtml(next(tablist, \"[role=tab]\", asHtml(e.target)))?.focus(),\n \"ArrowLeft\": e => asHtml(prev(tablist, \"[role=tab]\", asHtml(e.target)))?.focus(),\n \"Home\": _ => tabsOf(tablist).at(0)?.focus(),\n \"End\": _ => tabsOf(tablist).at(-1)?.focus(),\n }));\n})\n\ntablist(document);\nexport default tablist;\n\n"],"mappings":"AAEA,OAAS,KAAAA,EAAG,MAAAC,EAAI,MAAAC,EAAI,QAAAC,EAAM,QAAAC,EAAM,QAAAC,EAAM,UAAAC,EAAQ,UAAAC,EAAQ,YAAAC,EAAU,cAAAC,MAAkB,UAElF,MAAMC,EAAOD,EAAW,MAAM,EAMxBE,EAASC,GAAWX,EAAGW,EAAS,YAAY,EAM5CC,EAAaD,GAAWZ,EAAEY,EAAS,gCAAgC,EAOnEE,EAAa,CAACC,EAAKC,IAAS,CAChC,MAAMC,EAAKd,EAAKY,EAAK,eAAe,EACpC,OAAIE,IAAO,MAAaP,EAAK,MAAOK,EAAK,4BAA4B,EAAG,MACjEC,EAAK,eAAeC,CAAE,CAC/B,EAQMC,EAAY,CAACF,EAAMJ,EAASG,IAAQ,CACxC,GAAI,CAACA,EAAK,OACV,MAAMI,EAASN,EAAWD,CAAO,EAEjC,GAAIO,EAAQ,CACVhB,EAAKgB,EAAQ,CAAE,aAAc,GAAO,SAAU,EAAG,CAAC,EAClD,MAAMC,EAAWN,EAAWK,EAAQH,CAAI,EACpCI,IAAUA,EAAS,OAAS,GAClC,CACAjB,EAAKY,EAAK,CAAE,aAAc,GAAM,SAAU,CAAE,CAAC,EAE7C,MAAMK,EAAWN,EAAWC,EAAKC,CAAI,EACjCI,IAAUA,EAAS,OAAS,IAEhCL,EAAI,MAAM,CACZ,EAKaH,EAAUJ,EAAS,iBAAkB,CAACI,EAAS,CAAE,KAAAI,CAAK,IAAM,CACjEJ,aAAmB,cACzBA,EAAQ,SAAW,EACnBD,EAAOC,CAAO,EAAE,QAAQG,GAAOA,EAAI,SAAW,EAAE,EAChDG,EAAUF,EAAMJ,EAASC,EAAWD,CAAO,CAAC,EAE5CV,EAAGU,EAAS,QAASS,GAAKR,EAAWD,CAAO,GAAG,MAAM,CAAC,EAEtDV,EAAGU,EAAS,QAAWU,GAAKJ,EAAUF,EAAMJ,EAASN,EAAOA,EAAOgB,EAAE,MAAM,GAAG,QAAQ,YAAY,CAAC,CAAC,CAAC,EACrGpB,EAAGU,EAAS,UAAWU,GAAKJ,EAAUF,EAAMJ,EAASN,EAAOA,EAAOgB,EAAE,MAAM,GAAG,QAAQ,YAAY,CAAC,CAAC,CAAC,EAErGpB,EAAGU,EAAS,UAAWL,EAAO,CAC5B,WAAce,GAAKhB,EAAOF,EAAKQ,EAAS,aAAcN,EAAOgB,EAAE,MAAM,CAAC,CAAC,GAAG,MAAM,EAChF,UAAcA,GAAKhB,EAAOD,EAAKO,EAAS,aAAcN,EAAOgB,EAAE,MAAM,CAAC,CAAC,GAAG,MAAM,EAChF,KAAQD,GAAKV,EAAOC,CAAO,EAAE,GAAG,CAAC,GAAG,MAAM,EAC1C,IAAOS,GAAKV,EAAOC,CAAO,EAAE,GAAG,EAAE,GAAG,MAAM,CAC5C,CAAC,CAAC,EACJ,CAAC,EAEDA,EAAQ,QAAQ,EAChB,IAAOW,EAAQX","names":["$","$$","on","attr","next","prev","asHtml","hotkey","behavior","makelogger","ilog","tabsOf","tablist","currentTab","tabPanelOf","tab","root","id","switchTab","curtab","tabpanel","_","e","tabs_default"],"sourceRoot":"file:///home/dz4k/Documents/Projects/bigsky.software/missing.css","file":"/missing-js/tabs.js.map"} \ No newline at end of file
diff --git a/www/releases/_artifacts/v1.0.3/missing-prism.css b/www/releases/_artifacts/v1.0.3/missing-prism.css
deleted file mode 100644
index 23e48b5..0000000
--- a/www/releases/_artifacts/v1.0.3/missing-prism.css
+++ /dev/null
@@ -1,62 +0,0 @@
-
-.token.comment,
-.token.prolog,
-.token.doctype,
-.token.cdata,
-.token.punctuation {
- color: var(--muted-fg);
-}
-
-.token.property,
-.token.tag,
-.token.boolean,
-.token.number,
-.token.constant,
-.token.symbol,
-.token.deleted {
- color: var(--bad-fg);
-}
-
-.token.selector,
-.token.attr-name,
-.token.string,
-.token.char,
-.token.builtin,
-.token.inserted {
- color: var(--ok-fg);
-}
-
-.token.operator,
-.token.entity,
-.token.url,
-.language-css .token.string,
-.style .token.string,
-.token.regex,
-.token.important,
-.token.variable {
- color: var(--warn-fg)
-}
-
-.token.atrule,
-.token.attr-value,
-.token.keyword {
- color: var(--info-fg);
-}
-
-.token.function {
- color: var(--bad-fg);
- font-style: italic;
-}
-
-.token.important,
-.token.bold {
- font-weight: bold;
-}
-
-.token.italic {
- font-style: italic;
-}
-
-.token.entity {
- cursor: help;
-}
diff --git a/www/releases/_artifacts/v1.0.3/missing-prism.min.css b/www/releases/_artifacts/v1.0.3/missing-prism.min.css
deleted file mode 100644
index 41c91b1..0000000
--- a/www/releases/_artifacts/v1.0.3/missing-prism.min.css
+++ /dev/null
@@ -1 +0,0 @@
-.token.cdata,.token.comment,.token.doctype,.token.prolog,.token.punctuation{color:var(--muted-fg)}.token.boolean,.token.constant,.token.deleted,.token.number,.token.property,.token.symbol,.token.tag{color:var(--bad-fg)}.token.attr-name,.token.builtin,.token.char,.token.inserted,.token.selector,.token.string{color:var(--ok-fg)}.language-css .token.string,.style .token.string,.token.entity,.token.important,.token.operator,.token.regex,.token.url,.token.variable{color:var(--warn-fg)}.token.atrule,.token.attr-value,.token.keyword{color:var(--info-fg)}.token.function{color:var(--bad-fg);font-style:italic}.token.bold,.token.important{font-weight:700}.token.italic{font-style:italic}.token.entity{cursor:help} \ No newline at end of file
diff --git a/www/releases/_artifacts/v1.0.3/missing.css b/www/releases/_artifacts/v1.0.3/missing.css
deleted file mode 100644
index 0151947..0000000
--- a/www/releases/_artifacts/v1.0.3/missing.css
+++ /dev/null
@@ -1,2367 +0,0 @@
-/* Document
- * ========================================================================== */
-
-/**
- * 1. Add border box sizing in all browsers (opinionated).
- * 2. Backgrounds do not repeat by default (opinionated).
- */
-
-*,
-::before,
-::after {
- box-sizing: border-box; /* 1 */
- background-repeat: no-repeat; /* 2 */
-}
-
-/**
- * 1. Add text decoration inheritance in all browsers (opinionated).
- * 2. Add vertical alignment inheritance in all browsers (opinionated).
- */
-
-::before,
-::after {
- text-decoration: inherit; /* 1 */
- vertical-align: inherit; /* 2 */
-}
-
-/**
- * 1. Use the default cursor in all browsers (opinionated).
- * 3. Breaks words to prevent overflow in all browsers (opinionated).
- * 5. Remove the grey highlight on links in iOS (opinionated).
- * 6. Prevent adjustments of font size after orientation changes in iOS.
- */
-
-:root {
- cursor: default; /* 1 */
- overflow-wrap: break-word; /* 3 */
- -webkit-tap-highlight-color: transparent; /* 5 */
- text-size-adjust: none;
- -webkit-text-size-adjust: none;
-}
-
-/* Text-level semantics
- * ========================================================================== */
-
-/**
- * Add the correct text decoration in Safari.
- */
-
-abbr[title] {
- text-decoration: underline;
- -webkit-text-decoration: underline dotted;
- text-decoration: underline dotted;
-}
-
-/**
- * Add the correct font weight in Chrome, Edge, and Safari.
- */
-
-strong, b {
- font-weight: bolder;
-}
-
-/**
- * Add the correct font size in all browsers.
- */
-
-small {
- font-size: 80%;
-}
-
-/* Embedded content
- * ========================================================================== */
-
-/*
- * Change the alignment on media elements in all browsers (opinionated).
- */
-
-audio, canvas, iframe, img, svg, video {
- vertical-align: middle;
-}
-
-/**
- * Change the fill color to match the text color in all browsers (opinionated).
- */
-
-svg:not([fill]) {
- fill: currentColor;
-}
-
-/* Tabular data
- * ========================================================================== */
-
-/**
- * 1. Collapse border spacing in all browsers (opinionated).
- * 2. Correct table border color in Chrome, Edge, and Safari.
- * 3. Remove text indentation from table contents in Chrome, Edge, and Safari.
- */
-
-table {
- border-collapse: collapse; /* 1 */
- border-color: currentColor; /* 2 */
- text-indent: 0; /* 3 */
-}
-
-/* Forms
- * ========================================================================== */
-
-/**
- * Remove the margin on controls in Safari.
- */
-
-button, input, select {
- margin: 0;
-}
-
-/**
- * Correct the inability to style buttons in iOS and Safari.
- */
-
-button, [type="button"], [type="reset"], [type="submit"] {
- -webkit-appearance: button;
-}
-
-/**
- * Change the inconsistent appearance in all browsers (opinionated).
- */
-
-fieldset {
- border: 1px solid #a0a0a0;
-}
-
-/**
- * Add the correct vertical alignment in Chrome, Edge, and Firefox.
- */
-
-progress {
- vertical-align: baseline;
-}
-
-/**
- * 1. Remove the margin in Firefox and Safari.
- */
-
-textarea {
- margin: 0; /* 1 */
-}
-
-/**
- * 1. Correct the odd appearance in Chrome, Edge, and Safari.
- * 2. Correct the outline style in Safari.
- */
-
-[type="search"] {
- -webkit-appearance: textfield; /* 1 */
- outline-offset: -2px; /* 2 */
-}
-
-/**
- * Correct the cursor style of increment and decrement buttons in Safari.
- */
-
-::-webkit-inner-spin-button,
-::-webkit-outer-spin-button {
- block-size: auto;
-}
-
-/**
- * Correct the text style of placeholders in Chrome, Edge, and Safari.
- */
-
-::-webkit-input-placeholder {
- color: inherit;
- opacity: 0.54;
-}
-
-/**
- * Remove the inner padding in Chrome, Edge, and Safari on macOS.
- */
-
-::-webkit-search-decoration {
- -webkit-appearance: none;
-}
-
-/**
- * 1. Correct the inability to style upload buttons in iOS and Safari.
- * 2. Change font properties to `inherit` in Safari.
- */
-
-::-webkit-file-upload-button {
- -webkit-appearance: button; /* 1 */
- font: inherit; /* 2 */
-}
-
-/* Interactive
- * ========================================================================== */
-
-[hidden] {
- display: none !important;
-}
-
-:focus-visible {
- outline: .2em solid var(--accent);
- z-index: 32;
-}
-
-iframe:focus-visible,
- html:focus-visible,
- body:focus-visible {
- outline: none;
- }
-
-:target {
- outline: .2em solid var(--fg);
- z-index: 2;
-}
-
-/*
- * Add the correct display in Safari.
- */
-
-details > summary:first-of-type {
- display: list-item;
-}
-
-/* Accessibility
- * ========================================================================== */
-
-/**
- * Change the cursor on busy elements in all browsers (opinionated).
- */
-
-[aria-busy="true"] {
- cursor: progress;
-}
-
-/*
- * Change the cursor on disabled, not-editable, or otherwise
- * inoperable elements in all browsers (opinionated).
- */
-
-[aria-disabled="true"], [disabled] {
- cursor: not-allowed;
-}
-
-datalist {
- display: none !important;
-}
-
-/* https://github.com/fchristant/colar/ */
-
-:root {
- --gray-0: #f8fafb;
- --gray-1: #f2f4f6;
- --gray-2: #ebedef;
- --gray-3: #e0e4e5;
- --gray-4: #d1d6d8;
- --gray-5: #b1b6b9;
- --gray-6: #979b9d;
- --gray-7: #7e8282;
- --gray-8: #666968;
- --gray-9: #50514f;
- --gray-10: #3a3a37;
- --gray-11: #252521;
- --gray-12: #121210;
-
- --red-0: #fff5f5;
- --red-1: #ffe3e3;
- --red-2: #ffc9c9;
- --red-3: #ffa8a8;
- --red-4: #ff8787;
- --red-5: #ff6b6b;
- --red-6: #fa5252;
- --red-7: #f03e3e;
- --red-8: #e03131;
- --red-9: #c92a2a;
- --red-10: #b02525;
- --red-11: #962020;
- --red-12: #7d1a1a;
-
- --pink-0: #fff0f6;
- --pink-1: #ffdeeb;
- --pink-2: #fcc2d7;
- --pink-3: #faa2c1;
- --pink-4: #f783ac;
- --pink-5: #f06595;
- --pink-6: #e64980;
- --pink-7: #d6336c;
- --pink-8: #c2255c;
- --pink-9: #a61e4d;
- --pink-10: #8c1941;
- --pink-11: #731536;
- --pink-12: #59102a;
-
- --purple-0: #f8f0fc;
- --purple-1: #f3d9fa;
- --purple-2: #eebefa;
- --purple-3: #e599f7;
- --purple-4: #da77f2;
- --purple-5: #cc5de8;
- --purple-6: #be4bdb;
- --purple-7: #ae3ec9;
- --purple-8: #9c36b5;
- --purple-9: #862e9c;
- --purple-10: #702682;
- --purple-11: #5a1e69;
- --purple-12: #44174f;
-
- --violet-0: #f3f0ff;
- --violet-1: #e5dbff;
- --violet-2: #d0bfff;
- --violet-3: #b197fc;
- --violet-4: #9775fa;
- --violet-5: #845ef7;
- --violet-6: #7950f2;
- --violet-7: #7048e8;
- --violet-8: #6741d9;
- --violet-9: #5f3dc4;
- --violet-10: #5235ab;
- --violet-11: #462d91;
- --violet-12: #3a2578;
-
- --indigo-0: #edf2ff;
- --indigo-1: #dbe4ff;
- --indigo-2: #bac8ff;
- --indigo-3: #91a7ff;
- --indigo-4: #748ffc;
- --indigo-5: #5c7cfa;
- --indigo-6: #4c6ef5;
- --indigo-7: #4263eb;
- --indigo-8: #3b5bdb;
- --indigo-9: #364fc7;
- --indigo-10: #2f44ad;
- --indigo-11: #283a94;
- --indigo-12: #21307a;
-
- --blue-0: #e7f5ff;
- --blue-1: #d0ebff;
- --blue-2: #a5d8ff;
- --blue-3: #74c0fc;
- --blue-4: #4dabf7;
- --blue-5: #339af0;
- --blue-6: #228be6;
- --blue-7: #1c7ed6;
- --blue-8: #1971c2;
- --blue-9: #1864ab;
- --blue-10: #145591;
- --blue-11: #114678;
- --blue-12: #0d375e;
-
- --cyan-0: #e3fafc;
- --cyan-1: #c5f6fa;
- --cyan-2: #99e9f2;
- --cyan-3: #66d9e8;
- --cyan-4: #3bc9db;
- --cyan-5: #22b8cf;
- --cyan-6: #15aabf;
- --cyan-7: #1098ad;
- --cyan-8: #0c8599;
- --cyan-9: #0b7285;
- --cyan-10: #095c6b;
- --cyan-11: #074652;
- --cyan-12: #053038;
-
- --teal-0: #e6fcf5;
- --teal-1: #c3fae8;
- --teal-2: #96f2d7;
- --teal-3: #63e6be;
- --teal-4: #38d9a9;
- --teal-5: #20c997;
- --teal-6: #12b886;
- --teal-7: #0ca678;
- --teal-8: #099268;
- --teal-9: #087f5b;
- --teal-10: #066649;
- --teal-11: #054d37;
- --teal-12: #033325;
-
- --green-0: #ebfbee;
- --green-1: #d3f9d8;
- --green-2: #b2f2bb;
- --green-3: #8ce99a;
- --green-4: #69db7c;
- --green-5: #51cf66;
- --green-6: #40c057;
- --green-7: #37b24d;
- --green-8: #2f9e44;
- --green-9: #2b8a3e;
- --green-10: #237032;
- --green-11: #1b5727;
- --green-12: #133d1b;
-
- --lime-0: #f4fce3;
- --lime-1: #e9fac8;
- --lime-2: #d8f5a2;
- --lime-3: #c0eb75;
- --lime-4: #a9e34b;
- --lime-5: #94d82d;
- --lime-6: #82c91e;
- --lime-7: #74b816;
- --lime-8: #66a80f;
- --lime-9: #5c940d;
- --lime-10: #4c7a0b;
- --lime-11: #3c6109;
- --lime-12: #2c4706;
-
- --yellow-0: #fff9db;
- --yellow-1: #fff3bf;
- --yellow-2: #ffec99;
- --yellow-3: #ffe066;
- --yellow-4: #ffd43b;
- --yellow-5: #fcc419;
- --yellow-6: #fab005;
- --yellow-7: #f59f00;
- --yellow-8: #f08c00;
- --yellow-9: #e67700;
- --yellow-10: #b35c00;
- --yellow-11: #804200;
- --yellow-12: #663500;
-
- --orange-0: #fff4e6;
- --orange-1: #ffe8cc;
- --orange-2: #ffd8a8;
- --orange-3: #ffc078;
- --orange-4: #ffa94d;
- --orange-5: #ff922b;
- --orange-6: #fd7e14;
- --orange-7: #f76707;
- --orange-8: #e8590c;
- --orange-9: #d9480f;
- --orange-10: #bf400d;
- --orange-11: #99330b;
- --orange-12: #802b09;
-
- --choco-0: #fff8dc;
- --choco-1: #fce1bc;
- --choco-2: #f7ca9e;
- --choco-3: #f1b280;
- --choco-4: #e99b62;
- --choco-5: #df8545;
- --choco-6: #d46e25;
- --choco-7: #bd5f1b;
- --choco-8: #a45117;
- --choco-9: #8a4513;
- --choco-10: #703a13;
- --choco-11: #572f12;
- --choco-12: #3d210d;
-
- --brown-0: #faf4eb;
- --brown-1: #ede0d1;
- --brown-2: #e0cab7;
- --brown-3: #d3b79e;
- --brown-4: #c5a285;
- --brown-5: #b78f6d;
- --brown-6: #a87c56;
- --brown-7: #956b47;
- --brown-8: #825b3a;
- --brown-9: #6f4b2d;
- --brown-10:#5e3a21;
- --brown-11:#4e2b15;
- --brown-12: #422412;
-
- --sand-0: #f8fafb;
- --sand-1: #e6e4dc;
- --sand-2: #d5cfbd;
- --sand-3: #c2b9a0;
- --sand-4: #aea58c;
- --sand-5: #9a9178;
- --sand-6: #867c65;
- --sand-7: #736a53;
- --sand-8: #5f5746;
- --sand-9: #4b4639;
- --sand-10:#38352d;
- --sand-11:#252521;
- --sand-12: #121210;
-
- --camo-0: #f9fbe7;
- --camo-1: #e8ed9c;
- --camo-2: #d2df4e;
- --camo-3: #c2ce34;
- --camo-4: #b5bb2e;
- --camo-5: #a7a827;
- --camo-6: #999621;
- --camo-7: #8c851c;
- --camo-8: #7e7416;
- --camo-9: #6d6414;
- --camo-10: #5d5411;
- --camo-11: #4d460e;
- --camo-12: #36300a;
-
- --jungle-0: #ecfeb0;
- --jungle-1: #def39a;
- --jungle-2: #d0e884;
- --jungle-3: #c2dd6e;
- --jungle-4: #b5d15b;
- --jungle-5: #a8c648;
- --jungle-6: #9bbb36;
- --jungle-7: #8fb024;
- --jungle-8: #84a513;
- --jungle-9: #7a9908;
- --jungle-10: #658006;
- --jungle-11: #516605;
- --jungle-12: #3d4d04;
-}
-
-/***
- 4.1 The document element
- https://html.spec.whatwg.org/multipage/semantics.html#the-root-element
-
- 4.3 Sections
- https://html.spec.whatwg.org/multipage/sections.html
- ***/
-
-html {
- font-family: var(--main-font);
- line-height: var(--rhythm);
-
- background: var(--bg);
- color: var(--fg);
- scroll-padding-block-start: calc(4 * var(--gap));
-}
-
-body {
- margin: 0;
-}
-
-header, footer, section + section {
- margin-block: calc(2 * var(--gap));
-}
-
-nav a {
- text-decoration: none;
- color: var(--accent);
- }
-
-/* SEE components/box.css */
-
-aside h1,
- aside h2,
- aside h3,
- aside h4,
- aside h5,
- aside h6 {
- font-size: 1em;
- text-transform: none;
- letter-spacing: none;
- }
-
-aside.big {
- /* Pull quote */
- background: none;
- border: none;
- border-inline-start: 1px solid var(--muted-fg);
- border-radius: 0;
- padding: 0;
- padding-inline-start: var(--rhythm);
- font-style: italic;
- color: var(--accent);
- }
-
-h1, h2, h3, h4, h5, h6,
-.\<h1\>, .\<h2\>, .\<h3\>, .\<h4\>, .\<h5\>, .\<h6\> {
- margin-block-end: var(--gap);
- font-family: var(--secondary-font);
- font-size: 1em;
- margin-block-start: calc(2 * var(--gap));
- position: relative;
-}
-
-h1, .\<h1\> {
- font-size: 2em;
- text-transform: none;
- line-height: calc(2 * var(--rhythm));
- letter-spacing: 0;
-}
-
-h2, .\<h2\> {
- font-size: 1.6em;
- text-transform: none;
- line-height: calc(1.5 * var(--rhythm));
- letter-spacing: 0;
-}
-
-h3, .\<h3\> {
- font-size: 1.17em;
- line-height: calc(1 * var(--rhythm));
-}
-
-h4, .\<h4\>, h5, .\<h5\>, h6, .\<h6\> {
- font-size: 1em;
- text-transform: none;
- line-height: calc(1 * var(--rhythm));
- letter-spacing: 0;
- margin-block-start: var(--gap);
-}
-
-h1 + h2,
-h2 + h3,
-h3 + h4,
-h4 + h5,
-h5 + h6,
-h1:first-child,
-h2:first-child,
-h3:first-child,
-h4:first-child,
-h5:first-child,
-h6:first-child {
- margin-block-start: var(--gap);
-}
-
-h1:target,
-h2:target,
-h3:target,
-h4:target,
-h5:target,
-h6:target {
- outline: none
-}
-
-h1:target::before, h2:target::before, h3:target::before, h4:target::before, h5:target::before, h6:target::before {
- content: "";
- display: block;
- position: absolute;
- left: -.5em;
- width: 4px;
- height: 100%;
- background: var(--accent);
- }
-
-header {
- font-family: var(--secondary-font);
- border-block-end: 1px solid var(--graphical-fg);
-}
-
-footer {
- font-family: var(--secondary-font);
- border-block-start: 1px solid var(--graphical-fg);
-}
-
-body > header,
-body > footer,
-main + footer {
- padding: var(--rhythm) calc((100% - var(--eff-line-length)) / 2)
-}
-
-address {
- --density: 0;
-}
-
-/***
- 4.4 Grouping content
- https://html.spec.whatwg.org/multipage/grouping-content.html
- ***/
-
-p {
- margin-block: var(--gap);
-}
-
-hr {
- color: inherit;
- margin-inline: 0;
- margin-block: var(--gap);
-
- flex: 0 1 0px;
- border-inline-start: 1px solid var(--accent);
- block-size: auto;
- border-block-start: 1px solid var(--accent);
- border-block-end: none;
- border-inline-end: none;
-}
-
-pre {
- font-family: var(--mono-font);
- font-size: .9em;
- line-height: var(--rhythm);
- -o-tab-size: 2;
- tab-size: 2;
-
- margin: var(--gap) 0;
-
- overflow-x: auto;
- scrollbar-width: thin;
- scrollbar-color: var(--accent) transparent;
-}
-
-blockquote {
- margin-inline: 0 var(--gap);
- padding-inline: var(--gap) 0;
- margin-block: var(--gap);
-
- font-size: 1.1em;
- line-height: var(--rhythm);
- font-style: italic;
-
- border-inline-start: 1px solid var(--graphical-fg);
- color: var(--muted-fg)
-}
-
-blockquote em, blockquote cite, blockquote dfn, blockquote var, blockquote i, blockquote address {
- font-style: normal;
- }
-
-blockquote footer {
- text-align: right;
- text-align: end;
- }
-
-ul, ol {
- padding-inline-start: var(--rhythm)
-}
-
-ul ul, ul ol, ol ul, ol ol {
- padding-inline-start: var(--gap);
- }
-
-ul[role="list"], ol[role="list"], ul[role="listbox"], ol[role="listbox"] {
- padding-inline-start: 0;
- list-style: none;
- }
-
-ul {
-}
-
-ol {
- list-style: decimal;
-}
-
-dl {
- margin-block: var(--gap);
-}
-
-dt {
- font-weight: bold;
- }
-
-dd {
- margin-inline-start: var(--rhythm);
- }
-
-li::marker {
- font-family: var(--secondary-font);
-}
-
-figure {
- max-width: 100%;
- margin-inline: 0;
-
- /* SEE components/box.css */
-}
-
-figcaption {
- margin-block: var(--gap);
-
- font-family: var(--secondary-font);
-
- color: var(--muted-fg);
-}
-
-main {
- max-inline-size: var(--eff-line-length);
- inline-size: 100%;
- margin-inline: auto
-}
-
-main:first-child { padding-top: var(--gap); }
-
-/***
- 4.5 Text-level semantics
- https://html.spec.whatwg.org/multipage/text-level-semantics.html
-
- 4.7 Edits
- https://html.spec.whatwg.org/multipage/edits.html
- ***/
-
-/* Text-level semantics */
-
-a {
- color: var(--link-fg, var(--accent));
- font-family: var(--secondary-font);
- border-radius: var(--border-radius);
- outline-offset: 1px
-}
-
-.list-of-links a {
- text-decoration: none
-}
-
-a:hover, a:focus {
- text-decoration: none;
- outline: 1px solid;
- transition: outline-offset .1s ease-in-out;
- }
-
-a:active {
- outline-offset: 0;
- }
-
-span > small:only-child {
- /***
- Sidenote
- ***/
- display: block;
- float: inline-end;
- clear: inline-end;
-
- --sidenote-width: 20ch;
-
- max-inline-size: var(--sidenote-width);
- padding-inline: 1.5ch 1ch;
-
- margin-inline-end: calc(1em - var(--sidenote-width));
- margin-block-end: var(--rhythm);
-
- font-family: var(--secondary-font);
-
- background: var(--bg);
- border: 1px solid transparent;
-
- transition: transform .1s ease-in-out
-}
-
-span > small:only-child:hover, span > small:only-child:focus-within {
- border: 1px solid var(--graphical-fg);
- border-radius: var(--border-radius);
- transform: translateX(calc(
- 0px - var(--sidenote-width)
- + min(var(--gutter-width), var(--sidenote-width))
- ))
- }
-
-s {
- color: var(--bad-fg);
-}
-
-q {
- font-style: italic
-}
-
-q em, q cite, q dfn, q var, q i, q address {
- font-style: normal;
- }
-
-time {
- font-variant-numeric: tabular-nums;
-}
-
-code, samp, kbd {
- font-family: var(--mono-font);
- font-style: normal;
-}
-
-samp {
- color: var(--ok-fg);
-}
-
-kbd kbd /*
- We apply the key-like styling to a nested kbd element, a pattern shown in
- WHATWG HTML for marking up keyboard input:
-
- > Here the kbd element is used to indicate keys to press:
- > ~~~ html
- > <p>To make George eat an apple, press <kbd><kbd>Shift</kbd> + <kbd>F3</kbd></kbd></p>
- > ~~~
-
- The plain kbd element can also be used for clicking menus (<kbd>File |
- New...</kbd>) or voice input (<kbd>Hey Siri, </kbd>)
-*/ {
- display: inline-block;
-
- padding: 0 .3em;
- font-size: .8em;
- line-height: 1.1em;
-
- background: var(--interactive-bg);
- border: 1px outset var(--graphical-fg);
- border-block-end-width: 3px;
- border-radius: var(--border-radius);
-}
-
-sub {
- vertical-align: bottom;
- line-height: 1;
-}
-
-sup {
- vertical-align: top;
- line-height: 1;
-}
-
-mark {
- background: var(--warn-bg);
- color: var(--warn-fg);
-}
-
-/* Edits */
-
-ins {
- background: var(--ok-bg);
- color: var(--ok-fg);
-}
-
-del {
- background: var(--bad-bg);
- color: var(--bad-fg);
-}
-
-/***
- 4.8 Embedded content
- https://html.spec.whatwg.org/multipage/embedded-content.html
- ***/
-
-img, video, audio, iframe, object, embed {
- max-inline-size: 100%;
- inline-size: max-content;
- block-size: auto;
-}
-
-/***
- 4.9 Tabular data
- https://html.spec.whatwg.org/multipage/tables.html
- ***/
-
-table {
- font-variant-numeric: tabular-nums;
- font: inherit;
-}
-
-caption {
- text-align: start;
- font-family: var(--secondary-font);
- font-style: italic;
-}
-
-tbody {
- border-block: 1px solid var(--fg);
-}
-
-thead {
-}
-
-tfoot {
-}
-
-tr {
-
-}
-
-td, th {
- vertical-align: top
-}
-
-td:not(:last-child), th:not(:last-child) {
- padding-inline-end: var(--rhythm);
- }
-
-td {
- }
-
-th {
- font-family: var(--secondary-font);
- text-align: start;
- }
-
-/***
- 4.10 Forms
- https://html.spec.whatwg.org/multipage/forms.html
- ***/
-
-input { display: block; }
-
-label input:not([specificity-hack]) { display: inline; padding-block: 0; }
-
-button,
-input[type="submit"],
-input[type="reset"],
-input[type="button"],
-input::file-selector-button,
-.\<button\> {
- display: inline-block;
- padding: 0 calc(var(--rhythm) / 4);
- vertical-align: middle;
-
- font-size: .8rem;
- line-height: 1.125em;
- font-family: var(--secondary-font);
- min-height: var(--rhythm);
-
- background: var(--interactive-bg);
- color: var(--fg);
- border: 1px solid var(--muted-fg);
- box-sizing: border-box;
- border-radius: var(--border-radius);
-
- /* a-specific resets */
- color: var(--fg);
- text-decoration: none;
- display: inline-flex;
- place-items: center
-}
-
-:is(button,input[type="submit"],input[type="reset"],input[type="button"],input::file-selector-button,.\<button\>):hover, :is(button,input[type="submit"],input[type="reset"],input[type="button"],input::file-selector-button,.\<button\>):focus-visible {
- filter: brightness(1.1);
-
- /* a-specific resets */
- text-decoration: none;
- }
-
-:is(button,input[type="submit"],input[type="reset"],input[type="button"],input::file-selector-button,.\<button\>):active {
- filter: brightness(.8);
- }
-
-[aria-pressed="true"]:is(button,input[type="submit"],input[type="reset"],input[type="button"],input::file-selector-button,.\<button\>), [aria-expanded="true"]:is(button,input[type="submit"],input[type="reset"],input[type="button"],input::file-selector-button,.\<button\>) {
- box-shadow: 0 .05em var(--accent);
- transform: translateY(.05em);
- background: var(--pressed-interactive-bg);
- }
-
-[disabled]:is(button,input[type="submit"],input[type="reset"],input[type="button"],input::file-selector-button,.\<button\>) {
- color: var(--muted-fg);
- }
-
-strong > :is(button,input[type="submit"],input[type="reset"],input[type="button"],input::file-selector-button,.\<button\>) {
- background: var(--accent);
- color: var(--bg);
- border: none;
- font-weight: bold
-}
-
-strong > [disabled]:is(button,input[type="submit"],input[type="reset"],input[type="button"],input::file-selector-button,.\<button\>) {
- color: var(--muted-accent);
- }
-
-.big:is(button,input[type="submit"],input[type="reset"],input[type="button"],input::file-selector-button,.\<button\>) {
- min-block-size: calc(1.5 * var(--rhythm));
- font-size: 1rem;
- padding-inline: calc(.5 * var(--rhythm));
- line-height: var(--rhythm)
-}
-
-input:not([type]),
-input[type="text"],
-input[type="search"],
-input[type="tel"],
-input[type="url"],
-input[type="email"],
-input[type="password"],
-input[type="date"],
-input[type="month"],
-input[type="week"],
-input[type="time"],
-input[type="datetime"],
-input[type="datetime-local"],
-input[type="number"],
-select,
-textarea {
- padding: calc(var(--rhythm) / 4);
- vertical-align: top;
-
- font-size: 1rem;
- line-height: inherit;
- font-family: var(--main-font);
-
- background: var(--bg);
- color: var(--fg);
- border: 1px solid var(--graphical-fg);
- border-radius: var(--border-radius);
-
- vertical-align: top
-}
-
-:is(input:not([type]),input[type="text"],input[type="search"],input[type="tel"],input[type="url"],input[type="email"],input[type="password"],input[type="date"],input[type="month"],input[type="week"],input[type="time"],input[type="datetime"],input[type="datetime-local"],input[type="number"],select,textarea):focus-visible {
- border: 1px solid var(--accent);
- }
-
-:is(input:not([type]),input[type="text"],input[type="search"],input[type="tel"],input[type="url"],input[type="email"],input[type="password"],input[type="date"],input[type="month"],input[type="week"],input[type="time"],input[type="datetime"],input[type="datetime-local"],input[type="number"],select,textarea)::placeholder {
- color: var(--muted-fg);
- opacity: 1;
- text-align: end;
- }
-
-input[type="range"] {
- width: 100%;
- padding: calc(var(--gap) / 4);
-}
-
-input[type="color"] {
- padding: 0;
- margin: 0;
- height: calc(1.5 * var(--rhythm));
-
- border: none;
- background: none;
-}
-
-input[type="file"] {
- padding: calc(var(--gap) / 4) 0;
- font: inherit;
- line-height: calc(var(--rhythm) / 2)
-}
-
-input[type="file"]::file-selector-button {
- margin-block: .1em 0;
- margin-inline-end: 1ch;
- }
-
-select[multiple] {
- vertical-align: top;
-}
-
-optgroup::before {
- color: var(--muted-fg);
- font-style: normal;
-}
-
-progress {
- /* TODO */
-}
-
-meter {
- /* TODO */
-}
-
-label[for] {
- display: block;
- padding-block: calc(var(--gap) / 4);
-}
-
-fieldset {
- position: relative;
-
- padding: var(--gap);
- margin: var(--gap) 0;
- width: 100%;
- border-radius: var(--border-radius);
-}
-
-fieldset > legend + * { margin-block-start: 0 }
-
-fieldset {
-
- border: 1px solid var(--graphical-fg);
-}
-
-/***
- 4.11 Interactive elements
- https://html.spec.whatwg.org/multipage/interactive-elements.html#interactive-elements
- ***/
-
-details:not(specificity-hack) {
- /* SEE components/box.css */
-
- padding-block-start: 0
-}
-
-details:not(specificity-hack):not([open]) { padding-block-end: 0; }
-
-summary {
- margin: calc(0px - var(--gap));
- margin-top: calc(0px - var(--gap));
- margin-bottom: 0;
- padding-inline: var(--gap);
-
- font-family: var(--secondary-font);
- font-weight: bold;
-
- background: var(--accent);
- color: var(--bg);
-
- cursor: pointer
-}
-
-summary:focus-visible, summary:active {
- filter: brightness(.8);
- }
-
-details[open] summary {
- border-block-end: 1px solid var(--accent);
- border-end-end-radius: 0;
- border-end-start-radius: 0
-}
-
-dialog {
- /* SEE components/box.css */
-
- inline-inset: 0;
-
- block-size: -moz-fit-content;
-
- block-size: fit-content;
- inline-size: -moz-fit-content;
- inline-size: fit-content;
-
- margin: auto !important;
-
- background-color: var(--bg);
- color: var(--fg);
- border-color: var(--accent);
-}
-
-dialog[open]::backdrop {
- display: block;
- background: black;
- opacity: .4;
- animation: bg 2s;
-}
-
-@keyframes bg {
- from { background: transparent; }
-}
-
-dialog:not([open]) {
- display: none;
-}
-
-.box,
-/* defined elsewhere */
-[role=menu],
-.sidebar-layout > header,
-[role=tabpanel],
-figure,
-details,
-dialog,
-aside {
- margin: var(--gap) 0;
- padding: var(--gap);
- overflow: clip;
-
- border-radius: var(--border-radius);
- background: var(--box-bg);
- border: 1px solid var(--graphical-fg);
-}
-
-.titlebar {
- margin-inline: calc(0px - var(--gap));
- margin-block-end: calc(0px - var(--gap));
- padding-inline: var(--gap);
-
- font: inherit;
- font-family: var(--secondary-font);
- font-weight: bold;
-
- translate: 0 calc(-1px - var(--gap));
-
- background: var(--graphical-fg);
- color: var(--bg);
-}
-
-.sub-title, sub-title {
- /***
- Meant for use in headings. Make sure to also use visually-hidden punctuation
- to mark the subtitle as shown below:
-
- 1 | <h1>
- 2 | Foo Bar<v-h>:</v-h>
- 3 | <sub-title>How I Learned To Stop Worrying and Love Baz</sub-title>
- 4 | </h1>
-
- 1 | <h1>
- 2 | <sub-title class="-allcaps">Breaking News</sub-title><v-h>:</v-h>
- 3 | Bad Thing Happens
- 4 | <h1>
- ***/
-
- display: block;
-
- font-weight: normal;
-
- color: var(--muted-fg);
-}
-
-.tool-bar, [role=toolbar] {
- display: flex;
- flex-flow: row wrap;
- gap: calc(var(--gap) / 2)
-}
-
-.tool-bar > *, [role=toolbar] > * { margin: 0; }
-
-.sidebar-layout header li {
- margin-block: calc(.5 * var(--gap));
- }
-
-.sidebar-layout header a {
- font-weight: bold;
- }
-
-@media (min-width: 75ch) {
-
-.sidebar-layout {
- display: grid;
- grid-template-columns: 25ch auto;
- inset: 0
-}
-
- .sidebar-layout > header {
- border-block: none;
- border-inline-start: none;
- margin: 0;
- }
-
- .sidebar-layout > :nth-child(2) {
- overflow: auto;
- --full-width: calc(100vw - 25ch);
- margin-top: var(--gap);
- }
- }
-
-.breadcrumbs[aria-label] {
- font-family: var(--secondary-font)
-}
-
-.breadcrumbs[aria-label] ul, .breadcrumbs[aria-label] ol {
- list-style: none;
- padding-inline-start: 0;
- }
-
-.breadcrumbs[aria-label] li {
- display: inline
- }
-
-:is(.breadcrumbs[aria-label] li)+li::before {
- content: ' / ' / '';
- content: ' / ';
- display: inline;
- }
-
-.breadcrumbs[aria-label] [aria-current="page"] {
- font-weight: bold;
- }
-
-.chip, chip {
- font-family: var(--secondary-font);
- border: 1px solid var(--accent);
- background: var(--box-bg);
- border-radius: calc(var(--rhythm) / 2);
- padding-inline: calc(var(--rhythm) / 2);
-}
-
-.navbar {
- padding: var(--rhythm);
-
- font-family: var(--secondary-font);
-
- background: var(--box-bg);
- border-block-end: 1px solid var(--accent);
-
- overflow-x: auto;
- scrollbar-width: thin;
-
- position: sticky;
- z-index: 5;
- top: 0;
- left: 0;
- right: 0;
-
- /* Inner layout */
- display: flex;
- flex-flow: row;
- align-items: center;
- gap: var(--gap)
-}
-
-.navbar.expanded {
- flex-flow: column;
- align-items: start;
-
- max-height: 90vh;
- overflow-y: auto
- }
-
-.navbar.expanded ul[role="list"] { flex-flow: column; }
-
-.navbar * {
- flex-shrink: 0;
- margin-block: 0;
- }
-
-.navbar:not(.expanded) > :first-child, .navbar:not(.expanded) nav > :first-child { margin-inline-start: auto; }
-
-.navbar:not(.expanded) > :last-child, .navbar:not(.expanded) nav > :last-child { margin-inline-end: auto; }
-
-.navbar hr { align-self: stretch; }
-
-.navbar nav ul[role="list"] {
- display: flex;
- flex-flow: row;
- gap: var(--rhythm)
- }
-
-.navbar nav ul[role="list"] * { flex-shrink: 0 }
-
-.navbar nav ul[role="list"] {
- padding-inline-start: 0;
- }
-
-.navbar a {
- font-weight: bold;
- text-decoration: none;
- padding-inline: .2em;
- }
-
-.navbar a:hover, .navbar a:focus {
- text-decoration: underline;
- }
-
-.navbar [aria-current=page] {
- position: relative;
- }
-
-.navbar [aria-current=page]::after {
- width: 100%;
- height: 6px;
- content: "";
- display: block;
- position: absolute;
- bottom: calc(-1 * var(--gap));
- background: currentcolor;
- }
-
-.navbar.expanded [aria-current=page]::after {
- width: 6px;
- height: 100%;
- position: absolute;
- left: calc(-1 * var(--gap));
- top: 0;
- }
-
-.permalink-anchor {
- display: none
-}
-
-*:hover > .permalink-anchor {
- display: initial
-}
-
-button.iconbutton {
- border: none;
- background: none;
- color: currentcolor;
- padding: 0;
- line-height: var(--rhythm);
- font-size: 24px;
- width: 24px;
- height: 24px;
- display: inline-block;
- text-align: center;
- border-radius: 50%;
- transition: font-weight .2s ease-in-out
-}
-
-button.iconbutton:hover, button.iconbutton:focus-visible {
- outline: 1px solid var(--accent);
- outline-offset: 6px;
- }
-
-button.iconbutton:active {
- outline-offset: 3px;
- background: none;
- }
-
-button.iconbutton[aria-pressed=true] {
- box-shadow: none;
- transform: none;
- }
-
-[role="tablist"] {
- display: flex;
- gap: .5ch;
- scrollbar-width: thin;
-}
-
-[role="tab"][role="tab"] {
- all: initial;
-
- font-family: var(--secondary-font);
-
- padding: 0 calc(var(--rhythm) / 4);
- margin: 0;
- min-height: var(--rhythm);
-
- color: var(--fg);
- border: solid var(--graphical-fg);
- border-width: 1px 1px 0 1px;
- border-block-end-color: transparent;
- background: var(--interactive-bg);
-
- border-start-start-radius: .4em;
- border-start-end-radius: .4em
-}
-
-[role="tab"][role="tab"]:active, [role="tab"][role="tab"][aria-selected="true"] {
- transform: none;
- bottom: -1px;
- position: relative;
- background: var(--box-bg);
- border-block-end: 1px solid var(--box-bg);
- }
-
-[role="tab"][role="tab"]:hover {
- background-color: var(--box-bg);
- }
-
-[role="tab"][role="tab"]:focus {
- background-color: var(--box-bg);
- border-color: var(--accent);
- outline: 1px solid var(--accent);
- }
-
-[role="tabpanel"] {
- /* SEE components/box.css */
-
- margin-block-start: 0;
- border-start-start-radius: 0;
- border-start-end-radius: 0;
- z-index: 1;
-}
-
-[role="menu"] {
- /* SEE components/box.css */
- position: absolute;
-
- z-index: 10;
-
- padding: calc(var(--gap) / 2) 0;
- margin: 1px 0 0 0;
-
- display: flex;
- flex-flow: column nowrap;
-}
-
-[role=menuitem] {
- padding: 0 calc(var(--gap) / 2);
-
- display: block;
-
- text-decoration: none;
- border-radius: 0;
-
- color: var(--fg)
-}
-
-[role=menuitem]:focus, [role=menuitem]:active {
- background: var(--accent);
- color: var(--bg);
- }
-
-[role=listbox] {
- list-style: none
-}
-
-[role=listbox] [role=option] {
- margin-inline: calc(-1 * var(--gap));
- padding-inline: var(--gap);
- }
-
-[role=listbox] [role=option][aria-selected=true] {
- background: var(--interactive-bg);
- }
-
-[role=listbox] .active[role=option] {
- --temporary-bg: var(--accent);
- --temporary-fg: var(--bg);
- --temporary-accent: parent-var(--muted-accent);
- --temporary-muted-accent: parent-var(--box-bg);
-
- background: var(--temporary-bg);
- color: var(--temporary-fg)
- }
-
-[role=listbox] .active[role=option] > * {
- --bg: var(--temporary-bg);
- --fg: var(--temporary-fg);
- --accent: var(--temporary-accent);
- --muted-accent: var(--temporary-muted-accent);
- }
-
-[aria-orientation="vertical"] {
- flex-direction: column;
- width: -moz-fit-content;
- width: fit-content;
- text-align: center;
-}
-
-.plain {
- --box-bg: var(--plain-bg);
- --accent: var(--plain-fg);
- --graphical-fg: var(--plain-graphical-fg);
-}
-
-.info {
- --box-bg: var(--info-bg);
- --accent: var(--info-fg);
- --graphical-fg: var(--info-graphical-fg);
-}
-
-.ok {
- --box-bg: var(--ok-bg);
- --accent: var(--ok-fg);
- --graphical-fg: var(--ok-graphical-fg);
-}
-
-.warn {
- --box-bg: var(--warn-bg);
- --accent: var(--warn-fg);
- --graphical-fg: var(--warn-graphical-fg);
-}
-
-.bad {
- --box-bg: var(--bad-bg);
- --accent: var(--bad-fg);
- --graphical-fg: var(--bad-graphical-fg);
-}
-
-.color {
- color: var(--accent);
-}
-
-.bg {
- background: var(--box-bg);
-}
-
-.border {
- border-style: solid;
- border-color: var(--graphical-fg);
-}
-
-:root {
- /* Colors */
- --fg: var(--gray-12); /* Text. */
- --muted-fg: var(--gray-10); /* Secondary text color. Will be
- used with a background of --c-bg and --c-bg-2 -- check contrast! */
- --faded-fg: var(--gray-6); /* Disabled text color. */
- --graphical-fg: var(--plain-graphical-fg); /* Graphical elements. Will not
- be used as a text color. */
-
- --plain-fg: var(--blue-10);
- --info-fg: var(--blue-11);
- --ok-fg: var(--green-11);
- --bad-fg: var(--red-11);
- --warn-fg: var(--yellow-11);
-
- --plain-graphical-fg: var(--gray-6);
- --info-graphical-fg: var(--blue-6);
- --ok-graphical-fg: var(--green-6);
- --bad-graphical-fg: var(--red-6);
- --warn-graphical-fg: var(--yellow-6);
-
- --bg: var(--gray-0); /* Page background. */
- --box-bg: var(--plain-bg); /* Background for blocks: cards, admonitions etc. */
- --interactive-bg: var(--gray-4); /* Background for interactive elements */
-
- --plain-bg: var(--gray-1);
- --info-bg: var(--blue-1);
- --ok-bg: var(--green-1);
- --bad-bg: var(--red-1);
- --warn-bg: var(--yellow-1);
-
- --accent: var(--blue-10); /* Accent color. Will be used *as a text color* with a
- background of --c-bg and --c-bg-2 -- check contrast! */
- --muted-accent: var(--blue-7); /* Muted accent color. Will not be used for text. */
-
- /* Lengths */
- --rhythm: 1.4rem; /* Vertical rhythm, line height. */
- --line-length: 40rem; /* Maximum line length for prose. */
- --border-radius: .2rem;
-
- /* Fonts */
- --main-font: 'Source Sans 3', 'Source Sans Pro', -apple-system, system-ui, sans-serif;
- --secondary-font: var(--main-font); /* Headings etc. */
- --mono-font: 'M Plus Code Latin', monospace, monospace; /* monospace twice stops browsers from
- shrinking this */
-
- /* Density */
- --density: 1;
-
- /* Width */
- --full-width: 100vw;
-
- /* Do not set these. */
- --eff-line-length: /* Effective line length for prose. */
- min(
- calc( var(--full-width) - (2 * var(--rhythm)) ),
- var(--line-length)
- );
-
- --gutter-width: /* Width of spaces at each side of page content. */
- calc(
- (
- var(--full-width) /* Viewport width */
- - var(--eff-line-length) /* minus line width */
- ) / 2); /* Divide by 2: there are two page margins */
-}
-
-@media (prefers-color-scheme: dark) {
- :root:not(.-no-dark-theme) {
- --fg: var(--gray-0);
- --muted-fg: var(--gray-2);
- --faded-fg: var(--gray-7);
-
- --plain-bg: var(--gray-11);
- --info-bg: var(--blue-12);
- --ok-bg: var(--green-12);
- --bad-bg: var(--red-12);
- --warn-bg: var(--yellow-12);
-
- --plain-faded-fg: var(--blue-6);
- --info-faded-fg: var(--blue-6);
- --ok-faded-fg: var(--green-6);
- --bad-faded-fg: var(--red-6);
- --warn-faded-fg: var(--yellow-6);
-
- --bg: var(--gray-12);
- --box-bg: var(--gray-10);
- --interactive-bg: var(--gray-8);
-
- --plain-fg: (--blue-3);
- --info-fg: var(--blue-3);
- --ok-fg: var(--green-3);
- --bad-fg: var(--red-3);
- --warn-fg: var(--yellow-3);
-
- --accent: var(--blue-3);
- --muted-accent: var(--blue-5);
- }
-}
-
-* {
- --gap: calc(var(--rhythm) * var(--density));
- accent-color: var(--accent);
-}
-
-.textcolumns {
- --col-width: 30ch;
- column-width: var(--col-width);
- column-gap: var(--gap);
- margin-block: var(--gap)
-}
-
-.textcolumns :first-child { margin-block-start: 0 !important }
-
-.text-align\:center {
- text-align: center;
-}
-
-.center {
- display: grid;
- place-items: center;
-}
-
-/**/
-
-.container {
- max-inline-size: var(--eff-line-length);
- margin-inline: auto;
-}
-
-.fullbleed {
- position: relative;
- width: var(--full-width);
- left: 50%;
- transform: translateX(calc(-.5 * var(--full-width)));
-
- border-radius: 0;
- border-inline: none;
-}
-
-.fullscreen {
- height: 100vh;
-
- position: relative;
- width: 100vw;
- left: 50%;
- transform: translateX(-50vw);
-
- border-radius: 0;
- border-inline: none;
-}
-
-.width\:100\% { width:100%; max-width: 100% }
-
-.height\:100\% { height:100%; max-height: 100% }
-
-/**/
-
-/* margin-trim had better be implemented soon */
-
-:is(
- body,
- .box,
- [role=menu],
- .sidebar-layout > header,
- [role=tabpanel],
- figure,
- details,
- dialog,
- aside,
- fieldset,
- dd,
- td,
- th
-)>:first-child:first-child:first-child:first-child,
- :is(
- body,
- .box,
- [role=menu],
- .sidebar-layout > header,
- [role=tabpanel],
- figure,
- details,
- dialog,
- aside,
- fieldset,
- dd,
- td,
- th
-)>:first-child>:first-child:first-child:first-child,
- :is(
- body,
- .box,
- [role=menu],
- .sidebar-layout > header,
- [role=tabpanel],
- figure,
- details,
- dialog,
- aside,
- fieldset,
- dd,
- td,
- th
-)>:first-child>:first-child>:first-child:first-child,
- :is(
- body,
- .box,
- [role=menu],
- .sidebar-layout > header,
- [role=tabpanel],
- figure,
- details,
- dialog,
- aside,
- fieldset,
- dd,
- td,
- th
-)>:first-child>:first-child>:first-child>:first-child { margin-block-start: 0; }
-
-:is(
- body,
- .box,
- [role=menu],
- .sidebar-layout > header,
- [role=tabpanel],
- figure,
- details,
- dialog,
- aside,
- fieldset,
- dd,
- td,
- th
-)>:last-child:last-child:last-child:last-child,
- :is(
- body,
- .box,
- [role=menu],
- .sidebar-layout > header,
- [role=tabpanel],
- figure,
- details,
- dialog,
- aside,
- fieldset,
- dd,
- td,
- th
-)>:last-child>:last-child:last-child:last-child,
- :is(
- body,
- .box,
- [role=menu],
- .sidebar-layout > header,
- [role=tabpanel],
- figure,
- details,
- dialog,
- aside,
- fieldset,
- dd,
- td,
- th
-)>:last-child>:last-child>:last-child:last-child,
- :is(
- body,
- .box,
- [role=menu],
- .sidebar-layout > header,
- [role=tabpanel],
- figure,
- details,
- dialog,
- aside,
- fieldset,
- dd,
- td,
- th
-)>:last-child>:last-child>:last-child>:last-child { margin-block-end: 0; }
-
-/**/
-
-.padding { padding-inline: var(--gap) }
-
-.padding-block { padding-block: var(--gap) }
-
-.padding-block-start { padding-block-start: var(--gap) }
-
-.padding-block-end { padding-block-end: var(--gap) }
-
-.padding-inline { padding-inline: var(--gap) }
-
-.padding-inline-start { padding-inline-start: var(--gap) }
-
-.padding-inline-end { padding-inline-start: var(--gap) }
-
-.margin { margin: var(--gap) }
-
-.margin-block { margin-block: var(--gap) }
-
-.margin-block-start { margin-block-start: var(--gap) }
-
-.margin-block-end { margin-block-end: var(--gap) }
-
-.margin-inline { margin-inline: var(--gap) }
-
-.margin-inline-start { margin-inline-start: var(--gap) }
-
-.margin-inline-end { margin-inline-end: var(--gap) }
-
-.flow-gap > :not(:last-child) {
- margin-bottom: 1em;
- }
-
-/**/
-
-.inline { display: inline }
-
-.block { display: block }
-
-.contents { display: contents }
-
-.table {
- display: table;
- width: 100%;
- margin: 0;
-}
-
-.row, .rows > * {
- display: table-row
-}
-
-.row:not(:last-child):not([specificity-hack]) > *, .rows > *:not(:last-child):not([specificity-hack]) > * {
- margin-bottom: var(--gap);
- }
-
-.row > *:not([specificity-hack]), .rows > * > *:not([specificity-hack]) {
- display: table-cell;
- vertical-align: top;
- }
-
-.row > * + *:not([specificity-hack]), :is(.rows > *) > * + *:not([specificity-hack]) {
- margin-inline-start: var(--gap);
- display: inline-block;
- }
-
-/**/
-
-.big {
- font-size: 1.4em;
- line-height: calc(1.5 * var(--rhythm));
-}
-
-/**/
-
-.fixed { position: fixed }
-
-.sticky { position: sticky }
-
-.top { top: 0 }
-
-.right { right: 0 }
-
-.bottom { bottom: 0 }
-
-.left { left: 0 }
-
-.float\:left { float: left }
-
-.float\:right { float: right }
-
-.overflow\:auto { overflow: auto }
-
-.overflow\:scroll { overflow: scroll }
-
-.airy { --density: 3; }
-
-.spacious { --density: 2; }
-
-.dense { --density: 1; }
-
-.crowded { --density: .5; }
-
-.packed { --density: 0; }
-
-.autodensity {
- --density: 1
-}
-
-@media (min-width: 768px) {
-
-.autodensity { --density: 2
-}}
-
-@media (min-width: 1024px) {
-
-.autodensity { --density: 3
-}}
-
-.vh, v-h {
- clip: rect(0 0 0 0);
- -webkit-clip-path: inset(50%);
- clip-path: inset(50%);
- block-size: 1px;
- inline-size: 1px;
- overflow: hidden;
- white-space: nowrap;
-}
-
-.all\:initial {
- all: initial;
-}
-
-.bold { font-weight: bold }
-
-.italic {
- font-style: italic
-}
-
-.italic em, .italic cite, .italic dfn, .italic var, .italic i, .italic address {
- font-style: normal;
- }
-
-.allcaps {
- text-transform: uppercase;
- letter-spacing: .1rem;
-}
-
-.monospace {
- font-family: var(--mono-font);
-}
-
-.f-row {
- display: flex;
- flex-direction: row;
- gap: var(--gap)
-}
-
-.f-row > * { margin: 0 }
-
-.f-col {
- display: flex;
- flex-direction: column;
- gap: var(--gap)
-}
-
-.f-col > * { margin: 0 }
-
-.f-switch {
- display: flex;
- flex-wrap: wrap;
- gap: var(--gap);
- --f-switch-threshold: 55ch
-}
-
-.f-switch > * {
- margin: 0;
-
- flex-grow: 1;
- flex-basis: calc((var(--f-switch-threshold) - 100%) * 999);
- }
-
-.justify-content\:start { justify-content: start }
-
-.justify-content\:end { justify-content: end }
-
-.justify-content\:baseline { justify-content: baseline }
-
-.justify-content\:center { justify-content: center }
-
-.justify-content\:stretch { justify-content: stretch }
-
-.justify-content\:space-between { justify-content: space-between }
-
-.justify-content\:space-around { justify-content: space-around }
-
-.justify-content\:space-evenly { justify-content: space-evenly }
-
-.align-items\:start { align-items: start }
-
-.align-items\:end { align-items: end }
-
-.align-items\:baseline { align-items: baseline }
-
-.align-items\:center { align-items: center }
-
-.align-items\:stretch { align-items: stretch }
-
-.align-self\:start { align-self: start }
-
-.align-self\:end { align-self: end }
-
-.align-self\:baseline { align-self: baseline }
-
-.align-self\:center { align-self: center }
-
-.align-self\:stretch { align-self: stretch }
-
-.flex-grow\:0 { flex-grow: 0 }
-
-.flex-grow\:1 { flex-grow: 1 }
-
-.flex-grow\:2 { flex-grow: 2 }
-
-.flex-grow\:3 { flex-grow: 3 }
-
-.flex-grow\:4 { flex-grow: 4 }
-
-.flex-grow\:5 { flex-grow: 5 }
-
-.flex-grow\:6 { flex-grow: 6 }
-
-.flex-grow\:7 { flex-grow: 7 }
-
-.flex-grow\:8 { flex-grow: 8 }
-
-.flex-grow\:9 { flex-grow: 9 }
-
-.flex-grow\:10 { flex-grow: 10 }
-
-.flex-grow\:11 { flex-grow: 11 }
-
-.flex-grow\:12 { flex-grow: 12 }
-
-.flex-wrap\:wrap { flex-wrap: wrap }
-
-.flex-wrap\:nowrap { flex-wrap: nowrap }
-
-.grid {
- display: grid;
- grid-auto-columns: var(--grid-col-width, 1fr);
- grid-auto-rows: var(--grid-row-width, auto);
- gap: var(--gap)
-}
-
-.grid > * { margin: 0 }
-
-.grid-even-rows { --grid-row-width: 1fr; }
-
-.grid-variable-cols { --grid-column-width: auto; }
-
-[data-cols^="1 " ] { grid-column-start: 1 }
-
-[data-cols$=" 1" ] { grid-column-end: 2 }
-
-[data-cols="1" ] { grid-column: 1 }
-
-[data-cols^="2 " ] { grid-column-start: 2 }
-
-[data-cols$=" 2" ] { grid-column-end: 3 }
-
-[data-cols="2" ] { grid-column: 2 }
-
-[data-cols^="3 " ] { grid-column-start: 3 }
-
-[data-cols$=" 3" ] { grid-column-end: 4 }
-
-[data-cols="3" ] { grid-column: 3 }
-
-[data-cols^="4 " ] { grid-column-start: 4 }
-
-[data-cols$=" 4" ] { grid-column-end: 5 }
-
-[data-cols="4" ] { grid-column: 4 }
-
-[data-cols^="5 " ] { grid-column-start: 5 }
-
-[data-cols$=" 5" ] { grid-column-end: 6 }
-
-[data-cols="5" ] { grid-column: 5 }
-
-[data-cols^="6 " ] { grid-column-start: 6 }
-
-[data-cols$=" 6" ] { grid-column-end: 7 }
-
-[data-cols="6" ] { grid-column: 6 }
-
-[data-cols^="7 " ] { grid-column-start: 7 }
-
-[data-cols$=" 7" ] { grid-column-end: 8 }
-
-[data-cols="7" ] { grid-column: 7 }
-
-[data-cols^="8 " ] { grid-column-start: 8 }
-
-[data-cols$=" 8" ] { grid-column-end: 9 }
-
-[data-cols="8" ] { grid-column: 8 }
-
-[data-cols^="9 " ] { grid-column-start: 9 }
-
-[data-cols$=" 9" ] { grid-column-end: 10 }
-
-[data-cols="9" ] { grid-column: 9 }
-
-[data-cols^="10 "] { grid-column-start: 10 }
-
-[data-cols$=" 10"] { grid-column-end: 11 }
-
-[data-cols="10"] { grid-column: 10 }
-
-[data-cols^="11 "] { grid-column-start: 11 }
-
-[data-cols$=" 11"] { grid-column-end: 12 }
-
-[data-cols="11"] { grid-column: 11 }
-
-[data-cols^="12 "] { grid-column-start: 12 }
-
-[data-cols$=" 12"] { grid-column-end: 13 }
-
-[data-cols="12"] { grid-column: 12 }
-
-[data-rows^="1 " ] { grid-row-start: 1 }
-
-[data-rows$=" 1" ] { grid-row-end: 2 }
-
-[data-rows="1" ] { grid-row: 1 }
-
-[data-rows^="2 " ] { grid-row-start: 2 }
-
-[data-rows$=" 2" ] { grid-row-end: 3 }
-
-[data-rows="2" ] { grid-row: 2 }
-
-[data-rows^="3 " ] { grid-row-start: 3 }
-
-[data-rows$=" 3" ] { grid-row-end: 4 }
-
-[data-rows="3" ] { grid-row: 3 }
-
-[data-rows^="4 " ] { grid-row-start: 4 }
-
-[data-rows$=" 4" ] { grid-row-end: 5 }
-
-[data-rows="4" ] { grid-row: 4 }
-
-[data-rows^="5 " ] { grid-row-start: 5 }
-
-[data-rows$=" 5" ] { grid-row-end: 6 }
-
-[data-rows="5" ] { grid-row: 5 }
-
-[data-rows^="6 " ] { grid-row-start: 6 }
-
-[data-rows$=" 6" ] { grid-row-end: 7 }
-
-[data-rows="6" ] { grid-row: 6 }
-
-[data-rows^="7 " ] { grid-row-start: 7 }
-
-[data-rows$=" 7" ] { grid-row-end: 8 }
-
-[data-rows="7" ] { grid-row: 7 }
-
-[data-rows^="8 " ] { grid-row-start: 8 }
-
-[data-rows$=" 8" ] { grid-row-end: 9 }
-
-[data-rows="8" ] { grid-row: 8 }
-
-[data-rows^="9 " ] { grid-row-start: 9 }
-
-[data-rows$=" 9" ] { grid-row-end: 10 }
-
-[data-rows="9" ] { grid-row: 9 }
-
-[data-rows^="10 "] { grid-row-start: 10 }
-
-[data-rows$=" 10"] { grid-row-end: 11 }
-
-[data-rows="10"] { grid-row: 10 }
-
-[data-rows^="11 "] { grid-row-start: 11 }
-
-[data-rows$=" 11"] { grid-row-end: 12 }
-
-[data-rows="11"] { grid-row: 11 }
-
-[data-rows^="12 "] { grid-row-start: 12 }
-
-[data-rows$=" 12"] { grid-row-end: 13 }
-
-[data-rows="12"] { grid-row: 12 }
-
-@media (max-width: 768px) {
- [data-cols\@s^="1 " ] { grid-column-start: 1 } [data-cols\@s$=" 1" ] { grid-column-end: 2 } [data-cols\@s="1" ] { grid-column: 1 }
- [data-cols\@s^="2 " ] { grid-column-start: 2 } [data-cols\@s$=" 2" ] { grid-column-end: 3 } [data-cols\@s="2" ] { grid-column: 2 }
- [data-cols\@s^="3 " ] { grid-column-start: 3 } [data-cols\@s$=" 3" ] { grid-column-end: 4 } [data-cols\@s="3" ] { grid-column: 3 }
- [data-cols\@s^="4 " ] { grid-column-start: 4 } [data-cols\@s$=" 4" ] { grid-column-end: 5 } [data-cols\@s="4" ] { grid-column: 4 }
- [data-cols\@s^="5 " ] { grid-column-start: 5 } [data-cols\@s$=" 5" ] { grid-column-end: 6 } [data-cols\@s="5" ] { grid-column: 5 }
- [data-cols\@s^="6 " ] { grid-column-start: 6 } [data-cols\@s$=" 6" ] { grid-column-end: 7 } [data-cols\@s="6" ] { grid-column: 6 }
- [data-cols\@s^="7 " ] { grid-column-start: 7 } [data-cols\@s$=" 7" ] { grid-column-end: 8 } [data-cols\@s="7" ] { grid-column: 7 }
- [data-cols\@s^="8 " ] { grid-column-start: 8 } [data-cols\@s$=" 8" ] { grid-column-end: 9 } [data-cols\@s="8" ] { grid-column: 8 }
- [data-cols\@s^="9 " ] { grid-column-start: 9 } [data-cols\@s$=" 9" ] { grid-column-end: 10 } [data-cols\@s="9" ] { grid-column: 9 }
- [data-cols\@s^="10 "] { grid-column-start: 10 } [data-cols\@s$=" 10"] { grid-column-end: 11 } [data-cols\@s="10"] { grid-column: 10 }
- [data-cols\@s^="11 "] { grid-column-start: 11 } [data-cols\@s$=" 11"] { grid-column-end: 12 } [data-cols\@s="11"] { grid-column: 11 }
- [data-cols\@s^="12 "] { grid-column-start: 12 } [data-cols\@s$=" 12"] { grid-column-end: 13 } [data-cols\@s="12"] { grid-column: 12 }
-
- [data-rows\@s^="1 " ] { grid-row-start: 1 } [data-rows\@s$=" 1" ] { grid-row-end: 2 } [data-rows\@s="1" ] { grid-row: 1 }
- [data-rows\@s^="2 " ] { grid-row-start: 2 } [data-rows\@s$=" 2" ] { grid-row-end: 3 } [data-rows\@s="2" ] { grid-row: 2 }
- [data-rows\@s^="3 " ] { grid-row-start: 3 } [data-rows\@s$=" 3" ] { grid-row-end: 4 } [data-rows\@s="3" ] { grid-row: 3 }
- [data-rows\@s^="4 " ] { grid-row-start: 4 } [data-rows\@s$=" 4" ] { grid-row-end: 5 } [data-rows\@s="4" ] { grid-row: 4 }
- [data-rows\@s^="5 " ] { grid-row-start: 5 } [data-rows\@s$=" 5" ] { grid-row-end: 6 } [data-rows\@s="5" ] { grid-row: 5 }
- [data-rows\@s^="6 " ] { grid-row-start: 6 } [data-rows\@s$=" 6" ] { grid-row-end: 7 } [data-rows\@s="6" ] { grid-row: 6 }
- [data-rows\@s^="7 " ] { grid-row-start: 7 } [data-rows\@s$=" 7" ] { grid-row-end: 8 } [data-rows\@s="7" ] { grid-row: 7 }
- [data-rows\@s^="8 " ] { grid-row-start: 8 } [data-rows\@s$=" 8" ] { grid-row-end: 9 } [data-rows\@s="8" ] { grid-row: 8 }
- [data-rows\@s^="9 " ] { grid-row-start: 9 } [data-rows\@s$=" 9" ] { grid-row-end: 10 } [data-rows\@s="9" ] { grid-row: 9 }
- [data-rows\@s^="10 "] { grid-row-start: 10 } [data-rows\@s$=" 10"] { grid-row-end: 11 } [data-rows\@s="10"] { grid-row: 10 }
- [data-rows\@s^="11 "] { grid-row-start: 11 } [data-rows\@s$=" 11"] { grid-row-end: 12 } [data-rows\@s="11"] { grid-row: 11 }
- [data-rows\@s^="12 "] { grid-row-start: 12 } [data-rows\@s$=" 12"] { grid-row-end: 13 } [data-rows\@s="12"] { grid-row: 12 }
-}
-
-@media (min-width: 1024px) {
- [data-cols\@l^="1 " ] { grid-column-start: 1 } [data-cols\@l$=" 1" ] { grid-column-end: 2 } [data-cols\@l="1" ] { grid-column: 1 }
- [data-cols\@l^="2 " ] { grid-column-start: 2 } [data-cols\@l$=" 2" ] { grid-column-end: 3 } [data-cols\@l="2" ] { grid-column: 2 }
- [data-cols\@l^="3 " ] { grid-column-start: 3 } [data-cols\@l$=" 3" ] { grid-column-end: 4 } [data-cols\@l="3" ] { grid-column: 3 }
- [data-cols\@l^="4 " ] { grid-column-start: 4 } [data-cols\@l$=" 4" ] { grid-column-end: 5 } [data-cols\@l="4" ] { grid-column: 4 }
- [data-cols\@l^="5 " ] { grid-column-start: 5 } [data-cols\@l$=" 5" ] { grid-column-end: 6 } [data-cols\@l="5" ] { grid-column: 5 }
- [data-cols\@l^="6 " ] { grid-column-start: 6 } [data-cols\@l$=" 6" ] { grid-column-end: 7 } [data-cols\@l="6" ] { grid-column: 6 }
- [data-cols\@l^="7 " ] { grid-column-start: 7 } [data-cols\@l$=" 7" ] { grid-column-end: 8 } [data-cols\@l="7" ] { grid-column: 7 }
- [data-cols\@l^="8 " ] { grid-column-start: 8 } [data-cols\@l$=" 8" ] { grid-column-end: 9 } [data-cols\@l="8" ] { grid-column: 8 }
- [data-cols\@l^="9 " ] { grid-column-start: 9 } [data-cols\@l$=" 9" ] { grid-column-end: 10 } [data-cols\@l="9" ] { grid-column: 9 }
- [data-cols\@l^="10 "] { grid-column-start: 10 } [data-cols\@l$=" 10"] { grid-column-end: 11 } [data-cols\@l="10"] { grid-column: 10 }
- [data-cols\@l^="11 "] { grid-column-start: 11 } [data-cols\@l$=" 11"] { grid-column-end: 12 } [data-cols\@l="11"] { grid-column: 11 }
- [data-cols\@l^="12 "] { grid-column-start: 12 } [data-cols\@l$=" 12"] { grid-column-end: 13 } [data-cols\@l="12"] { grid-column: 12 }
-
- [data-rows\@l^="1 " ] { grid-row-start: 1 } [data-rows\@l$=" 1" ] { grid-row-end: 2 } [data-rows\@l="1" ] { grid-row: 1 }
- [data-rows\@l^="2 " ] { grid-row-start: 2 } [data-rows\@l$=" 2" ] { grid-row-end: 3 } [data-rows\@l="2" ] { grid-row: 2 }
- [data-rows\@l^="3 " ] { grid-row-start: 3 } [data-rows\@l$=" 3" ] { grid-row-end: 4 } [data-rows\@l="3" ] { grid-row: 3 }
- [data-rows\@l^="4 " ] { grid-row-start: 4 } [data-rows\@l$=" 4" ] { grid-row-end: 5 } [data-rows\@l="4" ] { grid-row: 4 }
- [data-rows\@l^="5 " ] { grid-row-start: 5 } [data-rows\@l$=" 5" ] { grid-row-end: 6 } [data-rows\@l="5" ] { grid-row: 5 }
- [data-rows\@l^="6 " ] { grid-row-start: 6 } [data-rows\@l$=" 6" ] { grid-row-end: 7 } [data-rows\@l="6" ] { grid-row: 6 }
- [data-rows\@l^="7 " ] { grid-row-start: 7 } [data-rows\@l$=" 7" ] { grid-row-end: 8 } [data-rows\@l="7" ] { grid-row: 7 }
- [data-rows\@l^="8 " ] { grid-row-start: 8 } [data-rows\@l$=" 8" ] { grid-row-end: 9 } [data-rows\@l="8" ] { grid-row: 8 }
- [data-rows\@l^="9 " ] { grid-row-start: 9 } [data-rows\@l$=" 9" ] { grid-row-end: 10 } [data-rows\@l="9" ] { grid-row: 9 }
- [data-rows\@l^="10 "] { grid-row-start: 10 } [data-rows\@l$=" 10"] { grid-row-end: 11 } [data-rows\@l="10"] { grid-row: 10 }
- [data-rows\@l^="11 "] { grid-row-start: 11 } [data-rows\@l$=" 11"] { grid-row-end: 12 } [data-rows\@l="11"] { grid-row: 11 }
- [data-rows\@l^="12 "] { grid-row-start: 12 } [data-rows\@l$=" 12"] { grid-row-end: 13 } [data-rows\@l="12"] { grid-row: 12 }
-}
diff --git a/www/releases/_artifacts/v1.0.3/missing.min.css b/www/releases/_artifacts/v1.0.3/missing.min.css
deleted file mode 100644
index 2520353..0000000
--- a/www/releases/_artifacts/v1.0.3/missing.min.css
+++ /dev/null
@@ -1,126 +0,0 @@
-@keyframes bg{0%{background:0 0}}*,::after,::before{box-sizing:border-box;background-repeat:no-repeat}::after,::before{text-decoration:inherit;vertical-align:inherit}:root{cursor:default;overflow-wrap:break-word;-webkit-tap-highlight-color:transparent;text-size-adjust:none;-webkit-text-size-adjust:none}abbr[title]{-webkit-text-decoration:underline dotted;text-decoration:underline dotted}b,strong{font-weight:bolder}small{font-size:80%}audio,canvas,iframe,img,svg,video{vertical-align:middle}svg:not([fill]){fill:currentColor}table{border-collapse:collapse;border-color:currentColor;text-indent:0;font-variant-numeric:tabular-nums;font:inherit}body,button,input,select,textarea{margin:0}[type=button],[type=reset],[type=submit],button{-webkit-appearance:button}fieldset{border:1px solid #a0a0a0;position:relative;padding:var(--gap);margin:var(--gap) 0;width:100%;border-radius:var(--border-radius);border:1px solid var(--graphical-fg)}progress{vertical-align:baseline}[type=search]{-webkit-appearance:textfield;outline-offset:-2px}::-webkit-inner-spin-button,::-webkit-outer-spin-button{block-size:auto}::-webkit-input-placeholder{color:inherit;opacity:.54}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{-webkit-appearance:button;font:inherit}[hidden],datalist{display:none!important}:focus-visible{outline:.2em solid var(--accent);z-index:32}body:focus-visible,html:focus-visible,iframe:focus-visible{outline:0}:target{outline:.2em solid var(--fg);z-index:2}details>summary:first-of-type{display:list-item}[aria-busy=true]{cursor:progress}[aria-disabled=true],[disabled]{cursor:not-allowed}:root{--gray-0: #f8fafb;--gray-1: #f2f4f6;--gray-2: #ebedef;--gray-3: #e0e4e5;--gray-4: #d1d6d8;--gray-5: #b1b6b9;--gray-6: #979b9d;--gray-7: #7e8282;--gray-8: #666968;--gray-9: #50514f;--gray-10: #3a3a37;--gray-11: #252521;--gray-12: #121210;--red-0: #fff5f5;--red-1: #ffe3e3;--red-2: #ffc9c9;--red-3: #ffa8a8;--red-4: #ff8787;--red-5: #ff6b6b;--red-6: #fa5252;--red-7: #f03e3e;--red-8: #e03131;--red-9: #c92a2a;--red-10: #b02525;--red-11: #962020;--red-12: #7d1a1a;--pink-0: #fff0f6;--pink-1: #ffdeeb;--pink-2: #fcc2d7;--pink-3: #faa2c1;--pink-4: #f783ac;--pink-5: #f06595;--pink-6: #e64980;--pink-7: #d6336c;--pink-8: #c2255c;--pink-9: #a61e4d;--pink-10: #8c1941;--pink-11: #731536;--pink-12: #59102a;--purple-0: #f8f0fc;--purple-1: #f3d9fa;--purple-2: #eebefa;--purple-3: #e599f7;--purple-4: #da77f2;--purple-5: #cc5de8;--purple-6: #be4bdb;--purple-7: #ae3ec9;--purple-8: #9c36b5;--purple-9: #862e9c;--purple-10: #702682;--purple-11: #5a1e69;--purple-12: #44174f;--violet-0: #f3f0ff;--violet-1: #e5dbff;--violet-2: #d0bfff;--violet-3: #b197fc;--violet-4: #9775fa;--violet-5: #845ef7;--violet-6: #7950f2;--violet-7: #7048e8;--violet-8: #6741d9;--violet-9: #5f3dc4;--violet-10: #5235ab;--violet-11: #462d91;--violet-12: #3a2578;--indigo-0: #edf2ff;--indigo-1: #dbe4ff;--indigo-2: #bac8ff;--indigo-3: #91a7ff;--indigo-4: #748ffc;--indigo-5: #5c7cfa;--indigo-6: #4c6ef5;--indigo-7: #4263eb;--indigo-8: #3b5bdb;--indigo-9: #364fc7;--indigo-10: #2f44ad;--indigo-11: #283a94;--indigo-12: #21307a;--blue-0: #e7f5ff;--blue-1: #d0ebff;--blue-2: #a5d8ff;--blue-3: #74c0fc;--blue-4: #4dabf7;--blue-5: #339af0;--blue-6: #228be6;--blue-7: #1c7ed6;--blue-8: #1971c2;--blue-9: #1864ab;--blue-10: #145591;--blue-11: #114678;--blue-12: #0d375e;--cyan-0: #e3fafc;--cyan-1: #c5f6fa;--cyan-2: #99e9f2;--cyan-3: #66d9e8;--cyan-4: #3bc9db;--cyan-5: #22b8cf;--cyan-6: #15aabf;--cyan-7: #1098ad;--cyan-8: #0c8599;--cyan-9: #0b7285;--cyan-10: #095c6b;--cyan-11: #074652;--cyan-12: #053038;--teal-0: #e6fcf5;--teal-1: #c3fae8;--teal-2: #96f2d7;--teal-3: #63e6be;--teal-4: #38d9a9;--teal-5: #20c997;--teal-6: #12b886;--teal-7: #0ca678;--teal-8: #099268;--teal-9: #087f5b;--teal-10: #066649;--teal-11: #054d37;--teal-12: #033325;--green-0: #ebfbee;--green-1: #d3f9d8;--green-2: #b2f2bb;--green-3: #8ce99a;--green-4: #69db7c;--green-5: #51cf66;--green-6: #40c057;--green-7: #37b24d;--green-8: #2f9e44;--green-9: #2b8a3e;--green-10: #237032;--green-11: #1b5727;--green-12: #133d1b;--lime-0: #f4fce3;--lime-1: #e9fac8;--lime-2: #d8f5a2;--lime-3: #c0eb75;--lime-4: #a9e34b;--lime-5: #94d82d;--lime-6: #82c91e;--lime-7: #74b816;--lime-8: #66a80f;--lime-9: #5c940d;--lime-10: #4c7a0b;--lime-11: #3c6109;--lime-12: #2c4706;--yellow-0: #fff9db;--yellow-1: #fff3bf;--yellow-2: #ffec99;--yellow-3: #ffe066;--yellow-4: #ffd43b;--yellow-5: #fcc419;--yellow-6: #fab005;--yellow-7: #f59f00;--yellow-8: #f08c00;--yellow-9: #e67700;--yellow-10: #b35c00;--yellow-11: #804200;--yellow-12: #663500;--orange-0: #fff4e6;--orange-1: #ffe8cc;--orange-2: #ffd8a8;--orange-3: #ffc078;--orange-4: #ffa94d;--orange-5: #ff922b;--orange-6: #fd7e14;--orange-7: #f76707;--orange-8: #e8590c;--orange-9: #d9480f;--orange-10: #bf400d;--orange-11: #99330b;--orange-12: #802b09;--choco-0: #fff8dc;--choco-1: #fce1bc;--choco-2: #f7ca9e;--choco-3: #f1b280;--choco-4: #e99b62;--choco-5: #df8545;--choco-6: #d46e25;--choco-7: #bd5f1b;--choco-8: #a45117;--choco-9: #8a4513;--choco-10: #703a13;--choco-11: #572f12;--choco-12: #3d210d;--brown-0: #faf4eb;--brown-1: #ede0d1;--brown-2: #e0cab7;--brown-3: #d3b79e;--brown-4: #c5a285;--brown-5: #b78f6d;--brown-6: #a87c56;--brown-7: #956b47;--brown-8: #825b3a;--brown-9: #6f4b2d;--brown-10:#5e3a21;--brown-11:#4e2b15;--brown-12: #422412;--sand-0: #f8fafb;--sand-1: #e6e4dc;--sand-2: #d5cfbd;--sand-3: #c2b9a0;--sand-4: #aea58c;--sand-5: #9a9178;--sand-6: #867c65;--sand-7: #736a53;--sand-8: #5f5746;--sand-9: #4b4639;--sand-10:#38352d;--sand-11:#252521;--sand-12: #121210;--camo-0: #f9fbe7;--camo-1: #e8ed9c;--camo-2: #d2df4e;--camo-3: #c2ce34;--camo-4: #b5bb2e;--camo-5: #a7a827;--camo-6: #999621;--camo-7: #8c851c;--camo-8: #7e7416;--camo-9: #6d6414;--camo-10: #5d5411;--camo-11: #4d460e;--camo-12: #36300a;--jungle-0: #ecfeb0;--jungle-1: #def39a;--jungle-2: #d0e884;--jungle-3: #c2dd6e;--jungle-4: #b5d15b;--jungle-5: #a8c648;--jungle-6: #9bbb36;--jungle-7: #8fb024;--jungle-8: #84a513;--jungle-9: #7a9908;--jungle-10: #658006;--jungle-11: #516605;--jungle-12: #3d4d04}html{font-family:var(--main-font);line-height:var(--rhythm);background:var(--bg);color:var(--fg);scroll-padding-block-start:calc(4*var(--gap))}footer,header,section+section{margin-block:calc(2*var(--gap))}aside.big,nav a{color:var(--accent)}nav a{text-decoration:none}aside h1,aside h2,aside h3,aside h4,aside h5,aside h6{font-size:1em;text-transform:none;letter-spacing:none}aside.big{background:0 0;border:0;border-inline-start:1px solid var(--muted-fg);border-radius:0;padding:0;padding-inline-start:var(--rhythm);font-style:italic}.\<h1\>,.\<h2\>,.\<h3\>,.\<h4\>,.\<h5\>,.\<h6\>,h1,h2,h3,h4,h5,h6{margin-block-end:var(--gap);font-family:var(--secondary-font);margin-block-start:calc(2*var(--gap));position:relative}.\<h1\>,.\<h2\>,h1,h2{font-size:2em;text-transform:none;line-height:calc(2*var(--rhythm));letter-spacing:0}.\<h2\>,h2{font-size:1.6em;line-height:calc(1.5*var(--rhythm))}.\<h3\>,.\<h4\>,.\<h5\>,.\<h6\>,h3,h4,h5,h6{font-size:1.17em;line-height:calc(1*var(--rhythm))}.\<h4\>,.\<h5\>,.\<h6\>,h4,h5,h6{font-size:1em;text-transform:none;letter-spacing:0;margin-block-start:var(--gap)}h1+h2,h1:first-child,h2+h3,h2:first-child,h3+h4,h3:first-child,h4+h5,h4:first-child,h5+h6,h5:first-child,h6:first-child{margin-block-start:var(--gap)}h1:target,h2:target,h3:target,h4:target,h5:target,h6:target{outline:0}h1:target::before,h2:target::before,h3:target::before,h4:target::before,h5:target::before,h6:target::before{content:"";display:block;position:absolute;left:-.5em;width:4px;height:100%;background:var(--accent)}footer,header{font-family:var(--secondary-font)}header{border-block-end:1px solid var(--graphical-fg)}footer{border-block-start:1px solid var(--graphical-fg)}body>footer,body>header,main+footer{padding:var(--rhythm) calc((100% - var(--eff-line-length))/2)}address{--density: 0}dl,hr,p{margin-block:var(--gap)}hr{color:inherit;margin-inline:0;flex:0 1 0px;border-inline-start:1px solid var(--accent);block-size:auto;border-block-start:1px solid var(--accent);border-block-end:none;border-inline-end:none}blockquote,pre{line-height:var(--rhythm)}pre{font-family:var(--mono-font);-o-tab-size:2;tab-size:2;margin:var(--gap) 0;overflow-x:auto;scrollbar-width:thin;scrollbar-color:var(--accent) transparent;font-size:.9em}blockquote{margin-inline:0 var(--gap);padding-inline:var(--gap) 0;margin-block:var(--gap);font-size:1.1em;font-style:italic;border-inline-start:1px solid var(--graphical-fg);color:var(--muted-fg)}.italic address,.italic cite,.italic dfn,.italic em,.italic i,.italic var,blockquote address,blockquote cite,blockquote dfn,blockquote em,blockquote i,blockquote var,q address,q cite,q dfn,q em,q i,q var{font-style:normal}blockquote footer{text-align:right;text-align:end}ol,ul{padding-inline-start:var(--rhythm)}ol ol,ol ul,ul ol,ul ul{padding-inline-start:var(--gap)}ol[role=list],ol[role=listbox],ul[role=list],ul[role=listbox]{padding-inline-start:0;list-style:none}ol{list-style:decimal}.breadcrumbs[aria-label] [aria-current=page],.sidebar-layout header a,dt{font-weight:700}dd{margin-inline-start:var(--rhythm)}li::marker{font-family:var(--secondary-font)}figure{max-width:100%;margin-inline:0}figcaption{margin-block:var(--gap);font-family:var(--secondary-font);color:var(--muted-fg)}main{max-inline-size:var(--eff-line-length);inline-size:100%;margin-inline:auto}main:first-child{padding-top:var(--gap)}a{color:var(--link-fg, var(--accent));font-family:var(--secondary-font);border-radius:var(--border-radius);outline-offset:1px}.list-of-links a{text-decoration:none}a:focus,a:hover{text-decoration:none;outline:1px solid;transition:outline-offset .1s ease-in-out}a:active{outline-offset:0}span>small:only-child{display:block;float:inline-end;clear:inline-end;--sidenote-width: 20ch;max-inline-size:var(--sidenote-width);padding-inline:1.5ch 1ch;margin-inline-end:calc(1em - var(--sidenote-width));margin-block-end:var(--rhythm);font-family:var(--secondary-font);background:var(--bg);border:1px solid transparent;transition:transform .1s ease-in-out}span>small:only-child:focus-within,span>small:only-child:hover{border:1px solid var(--graphical-fg);border-radius:var(--border-radius);transform:translateX(calc(0px - var(--sidenote-width) + min(var(--gutter-width),var(--sidenote-width))))}del,s{color:var(--bad-fg)}caption,q{font-style:italic}time{font-variant-numeric:tabular-nums}code,kbd,samp{font-family:var(--mono-font);font-style:normal}ins,samp{color:var(--ok-fg)}kbd kbd{display:inline-block;padding:0 .3em;font-size:.8em;line-height:1.1em;background:var(--interactive-bg);border:1px outset var(--graphical-fg);border-block-end-width:3px;border-radius:var(--border-radius)}sub{vertical-align:bottom}sub,sup{line-height:1}mark{background:var(--warn-bg);color:var(--warn-fg)}ins{background:var(--ok-bg)}del{background:var(--bad-bg)}audio,embed,iframe,img,object,video{max-inline-size:100%;inline-size:max-content;block-size:auto}caption{text-align:start;font-family:var(--secondary-font)}tbody{border-block:1px solid var(--fg)}select[multiple],sup,td,th{vertical-align:top}td:not(:last-child),th:not(:last-child){padding-inline-end:var(--rhythm)}th{font-family:var(--secondary-font);text-align:start}input{display:block}label input:not([specificity-hack]){display:inline;padding-block:0}.\<button\>,button,input::file-selector-button,input[type=button],input[type=reset],input[type=submit]{display:inline-block;padding:0 calc(var(--rhythm)/4);vertical-align:middle;font-size:.8rem;line-height:1.125em;font-family:var(--secondary-font);min-height:var(--rhythm);background:var(--interactive-bg);border:1px solid var(--muted-fg);box-sizing:border-box;border-radius:var(--border-radius);color:var(--fg);text-decoration:none;display:inline-flex;place-items:center}:is(button,input[type="submit"],input[type="reset"],input[type="button"],input::file-selector-button,.\<button\>):focus-visible,:is(button,input[type="submit"],input[type="reset"],input[type="button"],input::file-selector-button,.\<button\>):hover{filter:brightness(1.1);text-decoration:none}:is(button,input[type="submit"],input[type="reset"],input[type="button"],input::file-selector-button,.\<button\>):active{filter:brightness(.8)}[aria-expanded=true]:is(button,input[type="submit"],input[type="reset"],input[type="button"],input::file-selector-button,.\<button\>),[aria-pressed=true]:is(button,input[type="submit"],input[type="reset"],input[type="button"],input::file-selector-button,.\<button\>){box-shadow:0 .05em var(--accent);transform:translateY(.05em);background:var(--pressed-interactive-bg)}[disabled]:is(button,input[type="submit"],input[type="reset"],input[type="button"],input::file-selector-button,.\<button\>){color:var(--muted-fg)}strong>:is(button,input[type="submit"],input[type="reset"],input[type="button"],input::file-selector-button,.\<button\>){background:var(--accent);color:var(--bg);border:0;font-weight:700}strong>[disabled]:is(button,input[type="submit"],input[type="reset"],input[type="button"],input::file-selector-button,.\<button\>){color:var(--muted-accent)}.big:is(button,input[type="submit"],input[type="reset"],input[type="button"],input::file-selector-button,.\<button\>){min-block-size:calc(1.5*var(--rhythm));font-size:1rem;padding-inline:calc(.5*var(--rhythm));line-height:var(--rhythm)}input:not([type]),input[type=date],input[type=datetime-local],input[type=datetime],input[type=email],input[type=month],input[type=number],input[type=password],input[type=search],input[type=tel],input[type=text],input[type=time],input[type=url],input[type=week],select,textarea{padding:calc(var(--rhythm)/4);font-size:1rem;line-height:inherit;font-family:var(--main-font);background:var(--bg);color:var(--fg);border:1px solid var(--graphical-fg);border-radius:var(--border-radius);vertical-align:top}:is(input:not([type]),input[type="text"],input[type="search"],input[type="tel"],input[type="url"],input[type="email"],input[type="password"],input[type="date"],input[type="month"],input[type="week"],input[type="time"],input[type="datetime"],input[type="datetime-local"],input[type="number"],select,textarea):focus-visible{border:1px solid var(--accent)}:is(input:not([type]),input[type="text"],input[type="search"],input[type="tel"],input[type="url"],input[type="email"],input[type="password"],input[type="date"],input[type="month"],input[type="week"],input[type="time"],input[type="datetime"],input[type="datetime-local"],input[type="number"],select,textarea)::placeholder{color:var(--muted-fg);opacity:1;text-align:end}input[type=range]{width:100%;padding:calc(var(--gap)/4)}input[type=color]{padding:0;margin:0;height:calc(1.5*var(--rhythm));border:0;background:0 0}input[type=file]{padding:calc(var(--gap)/4) 0;font:inherit;line-height:calc(var(--rhythm)/2)}input[type=file]::file-selector-button{margin-block:.1em 0;margin-inline-end:1ch}optgroup::before{color:var(--muted-fg);font-style:normal}label[for]{display:block;padding-block:calc(var(--gap)/4)}fieldset>legend+*{margin-block-start:0}details:not(specificity-hack){padding-block-start:0}details:not(specificity-hack):not([open]){padding-block-end:0}summary{margin:calc(0px - var(--gap));margin-bottom:0;padding-inline:var(--gap);font-family:var(--secondary-font);font-weight:700;background:var(--accent);color:var(--bg);cursor:pointer}summary:active,summary:focus-visible{filter:brightness(.8)}details[open] summary{border-block-end:1px solid var(--accent);border-end-end-radius:0;border-end-start-radius:0}dialog{inline-inset:0;block-size:-moz-fit-content;block-size:fit-content;inline-size:-moz-fit-content;inline-size:fit-content;margin:auto!important;background-color:var(--bg);color:var(--fg)}dialog[open]::backdrop{display:block;background:#000;opacity:.4;animation:bg 2s}dialog:not([open]){display:none}.box,.sidebar-layout>header,[role=menu],[role=tabpanel],aside,details,dialog,figure{margin:var(--gap) 0;padding:var(--gap);overflow:clip;border-radius:var(--border-radius);background:var(--box-bg);border:1px solid var(--graphical-fg)}.titlebar{margin-inline:calc(0px - var(--gap));margin-block-end:calc(0px - var(--gap));padding-inline:var(--gap);font:inherit;font-family:var(--secondary-font);font-weight:700;translate:0 calc(-1px - var(--gap));background:var(--graphical-fg);color:var(--bg)}.sub-title,sub-title{display:block;font-weight:400;color:var(--muted-fg)}.tool-bar,[role=toolbar]{display:flex;flex-flow:row wrap;gap:calc(var(--gap)/2)}.tool-bar>*,[role=toolbar]>*{margin:0}.sidebar-layout header li{margin-block:calc(.5*var(--gap))}@media (min-width:75ch){.sidebar-layout{display:grid;grid-template-columns:25ch auto;inset:0}.sidebar-layout>header{border-block:none;border-inline-start:none;margin:0}.sidebar-layout>:nth-child(2){overflow:auto;--full-width: calc(100vw - 25ch);margin-top:var(--gap)}}.breadcrumbs[aria-label]{font-family:var(--secondary-font)}.breadcrumbs[aria-label] ol,.breadcrumbs[aria-label] ul{list-style:none;padding-inline-start:0}.breadcrumbs[aria-label] li{display:inline}:is(.breadcrumbs[aria-label] li)+li::before{content:' / ';display:inline}.chip,.navbar,chip{font-family:var(--secondary-font);background:var(--box-bg)}.chip,chip{border:1px solid var(--accent);border-radius:calc(var(--rhythm)/2);padding-inline:calc(var(--rhythm)/2)}.navbar{padding:var(--rhythm);border-block-end:1px solid var(--accent);overflow-x:auto;scrollbar-width:thin;position:sticky;z-index:5;top:0;left:0;right:0;display:flex;flex-flow:row;align-items:center;gap:var(--gap)}.navbar.expanded{flex-flow:column;align-items:start;max-height:90vh;overflow-y:auto}.navbar.expanded ul[role=list]{flex-flow:column}.navbar *{flex-shrink:0;margin-block:0}.navbar:not(.expanded) nav>:first-child,.navbar:not(.expanded)>:first-child{margin-inline-start:auto}.navbar:not(.expanded) nav>:last-child,.navbar:not(.expanded)>:last-child{margin-inline-end:auto}.navbar hr{align-self:stretch}.navbar nav ul[role=list]{display:flex;flex-flow:row;gap:var(--rhythm);padding-inline-start:0}.navbar nav ul[role=list] *{flex-shrink:0}.navbar a{font-weight:700;text-decoration:none;padding-inline:.2em}.navbar a:focus,.navbar a:hover{text-decoration:underline}.navbar [aria-current=page]{position:relative}.navbar [aria-current=page]::after{width:100%;height:6px;content:"";display:block;position:absolute;bottom:calc(-1*var(--gap));background:currentcolor}.navbar.expanded [aria-current=page]::after{width:6px;height:100%;position:absolute;left:calc(-1*var(--gap));top:0}.permalink-anchor{display:none}:hover>.permalink-anchor{display:initial}button.iconbutton{border:0;background:0 0;color:currentcolor;padding:0;line-height:var(--rhythm);font-size:24px;width:24px;height:24px;display:inline-block;text-align:center;border-radius:50%;transition:font-weight .2s ease-in-out}button.iconbutton:focus-visible,button.iconbutton:hover{outline:1px solid var(--accent);outline-offset:6px}button.iconbutton:active{outline-offset:3px;background:0 0}button.iconbutton[aria-pressed=true]{box-shadow:none;transform:none}[role=tablist]{display:flex;gap:.5ch;scrollbar-width:thin}[role=tab][role=tab]{all:initial;font-family:var(--secondary-font);padding:0 calc(var(--rhythm)/4);margin:0;min-height:var(--rhythm);color:var(--fg);border:solid var(--graphical-fg);border-width:1px 1px 0;border-block-end-color:transparent;background:var(--interactive-bg);border-start-start-radius:.4em;border-start-end-radius:.4em}[role=tab][role=tab]:active,[role=tab][role=tab][aria-selected=true]{transform:none;bottom:-1px;position:relative;background:var(--box-bg);border-block-end:1px solid var(--box-bg)}[role=tab][role=tab]:hover{background-color:var(--box-bg)}[role=tab][role=tab]:focus{background-color:var(--box-bg);border-color:var(--accent);outline:1px solid var(--accent)}[role=tabpanel]{margin-block-start:0;border-start-start-radius:0;border-start-end-radius:0;z-index:1}[role=menu]{position:absolute;z-index:10;padding:calc(var(--gap)/2) 0;margin:1px 0 0;display:flex;flex-flow:column nowrap}[role=menuitem]{padding:0 calc(var(--gap)/2);display:block;text-decoration:none;border-radius:0;color:var(--fg)}[role=menuitem]:active,[role=menuitem]:focus{background:var(--accent);color:var(--bg)}[role=listbox]{list-style:none}[role=listbox] [role=option]{margin-inline:calc(-1*var(--gap));padding-inline:var(--gap)}[role=listbox] [role=option][aria-selected=true]{background:var(--interactive-bg)}[role=listbox] .active[role=option]{--temporary-bg: var(--accent);--temporary-fg: var(--bg);--temporary-accent: parent-var(--muted-accent);--temporary-muted-accent: parent-var(--box-bg);background:var(--temporary-bg);color:var(--temporary-fg)}[role=listbox] .active[role=option]>*{--bg: var(--temporary-bg);--fg: var(--temporary-fg);--accent: var(--temporary-accent);--muted-accent: var(--temporary-muted-accent)}[aria-orientation=vertical]{flex-direction:column;width:-moz-fit-content;width:fit-content;text-align:center}.plain{--box-bg: var(--plain-bg);--accent: var(--plain-fg);--graphical-fg: var(--plain-graphical-fg)}.info{--box-bg: var(--info-bg);--accent: var(--info-fg);--graphical-fg: var(--info-graphical-fg)}.ok{--box-bg: var(--ok-bg);--accent: var(--ok-fg);--graphical-fg: var(--ok-graphical-fg)}.warn{--box-bg: var(--warn-bg);--accent: var(--warn-fg);--graphical-fg: var(--warn-graphical-fg)}.bad{--box-bg: var(--bad-bg);--accent: var(--bad-fg);--graphical-fg: var(--bad-graphical-fg)}.color{color:var(--accent)}.bg{background:var(--box-bg)}.border{border-style:solid;border-color:var(--graphical-fg)}:root{--fg: var(--gray-12);--muted-fg: var(--gray-10);--faded-fg: var(--gray-6);--graphical-fg: var(--plain-graphical-fg);--plain-fg: var(--blue-10);--info-fg: var(--blue-11);--ok-fg: var(--green-11);--bad-fg: var(--red-11);--warn-fg: var(--yellow-11);--plain-graphical-fg: var(--gray-6);--info-graphical-fg: var(--blue-6);--ok-graphical-fg: var(--green-6);--bad-graphical-fg: var(--red-6);--warn-graphical-fg: var(--yellow-6);--bg: var(--gray-0);--box-bg: var(--plain-bg);--interactive-bg: var(--gray-4);--plain-bg: var(--gray-1);--info-bg: var(--blue-1);--ok-bg: var(--green-1);--bad-bg: var(--red-1);--warn-bg: var(--yellow-1);--accent: var(--blue-10);--muted-accent: var(--blue-7);--rhythm: 1.4rem;--line-length: 40rem;--border-radius: .2rem;--main-font: 'Source Sans 3', 'Source Sans Pro', -apple-system, system-ui, sans-serif;--secondary-font: var(--main-font);--mono-font: 'M Plus Code Latin', monospace, monospace;--density: 1;--full-width: 100vw;--eff-line-length: /* Effective line length for prose. */
- min(
- calc( var(--full-width) - (2 * var(--rhythm)) ),
- var(--line-length)
- );--gutter-width: /* Width of spaces at each side of page content. */
- calc(
- (
- var(--full-width) /* Viewport width */
- - var(--eff-line-length) /* minus line width */
- ) / 2)}@media (prefers-color-scheme:dark){:root:not(.-no-dark-theme){--fg: var(--gray-0);--muted-fg: var(--gray-2);--faded-fg: var(--gray-7);--plain-bg: var(--gray-11);--info-bg: var(--blue-12);--ok-bg: var(--green-12);--bad-bg: var(--red-12);--warn-bg: var(--yellow-12);--plain-faded-fg: var(--blue-6);--info-faded-fg: var(--blue-6);--ok-faded-fg: var(--green-6);--bad-faded-fg: var(--red-6);--warn-faded-fg: var(--yellow-6);--bg: var(--gray-12);--box-bg: var(--gray-10);--interactive-bg: var(--gray-8);--plain-fg: (--blue-3);--info-fg: var(--blue-3);--ok-fg: var(--green-3);--bad-fg: var(--red-3);--warn-fg: var(--yellow-3);--accent: var(--blue-3);--muted-accent: var(--blue-5)}}*{--gap: calc(var(--rhythm) * var(--density));accent-color:var(--accent)}.textcolumns{--col-width: 30ch;column-width:var(--col-width);column-gap:var(--gap);margin-block:var(--gap)}.textcolumns :first-child{margin-block-start:0!important}.text-align\:center{text-align:center}.center{display:grid;place-items:center}.container{max-inline-size:var(--eff-line-length);margin-inline:auto}.fullbleed,.fullscreen{position:relative;left:50%;border-radius:0;border-inline:none}.fullbleed{width:var(--full-width);transform:translateX(calc(-.5*var(--full-width)))}.fullscreen{height:100vh;width:100vw;transform:translateX(-50vw)}.width\:100\%{width:100%;max-width:100%}.height\:100\%{height:100%;max-height:100%}:is(
- body,
- .box,
- [role=menu],
- .sidebar-layout > header,
- [role=tabpanel],
- figure,
- details,
- dialog,
- aside,
- fieldset,
- dd,
- td,
- th
-)>:first-child:first-child:first-child:first-child,:is(
- body,
- .box,
- [role=menu],
- .sidebar-layout > header,
- [role=tabpanel],
- figure,
- details,
- dialog,
- aside,
- fieldset,
- dd,
- td,
- th
-)>:first-child>:first-child:first-child:first-child,:is(
- body,
- .box,
- [role=menu],
- .sidebar-layout > header,
- [role=tabpanel],
- figure,
- details,
- dialog,
- aside,
- fieldset,
- dd,
- td,
- th
-)>:first-child>:first-child>:first-child:first-child,:is(
- body,
- .box,
- [role=menu],
- .sidebar-layout > header,
- [role=tabpanel],
- figure,
- details,
- dialog,
- aside,
- fieldset,
- dd,
- td,
- th
-)>:first-child>:first-child>:first-child>:first-child{margin-block-start:0}:is(
- body,
- .box,
- [role=menu],
- .sidebar-layout > header,
- [role=tabpanel],
- figure,
- details,
- dialog,
- aside,
- fieldset,
- dd,
- td,
- th
-)>:last-child:last-child:last-child:last-child,:is(
- body,
- .box,
- [role=menu],
- .sidebar-layout > header,
- [role=tabpanel],
- figure,
- details,
- dialog,
- aside,
- fieldset,
- dd,
- td,
- th
-)>:last-child>:last-child:last-child:last-child,:is(
- body,
- .box,
- [role=menu],
- .sidebar-layout > header,
- [role=tabpanel],
- figure,
- details,
- dialog,
- aside,
- fieldset,
- dd,
- td,
- th
-)>:last-child>:last-child>:last-child:last-child,:is(
- body,
- .box,
- [role=menu],
- .sidebar-layout > header,
- [role=tabpanel],
- figure,
- details,
- dialog,
- aside,
- fieldset,
- dd,
- td,
- th
-)>:last-child>:last-child>:last-child>:last-child{margin-block-end:0}.padding{padding-inline:var(--gap)}.padding-block{padding-block:var(--gap)}.padding-block-start{padding-block-start:var(--gap)}.padding-block-end{padding-block-end:var(--gap)}.padding-inline{padding-inline:var(--gap)}.padding-inline-end,.padding-inline-start{padding-inline-start:var(--gap)}.margin{margin:var(--gap)}.margin-block{margin-block:var(--gap)}.margin-block-start{margin-block-start:var(--gap)}.margin-block-end{margin-block-end:var(--gap)}.margin-inline{margin-inline:var(--gap)}.margin-inline-start{margin-inline-start:var(--gap)}.margin-inline-end{margin-inline-end:var(--gap)}.flow-gap>:not(:last-child){margin-bottom:1em}.inline{display:inline}.block{display:block}.contents{display:contents}.table{display:table;width:100%;margin:0}.row,.rows>*{display:table-row}.row:not(:last-child):not([specificity-hack])>*,.rows>:not(:last-child):not([specificity-hack])>*{margin-bottom:var(--gap)}.row>:not([specificity-hack]),.rows>*>:not([specificity-hack]){display:table-cell;vertical-align:top}.row>*+:not([specificity-hack]),:is(.rows > *)>*+:not([specificity-hack]){margin-inline-start:var(--gap);display:inline-block}.big{font-size:1.4em;line-height:calc(1.5*var(--rhythm))}.fixed{position:fixed}.sticky{position:sticky}.top{top:0}.right{right:0}.bottom{bottom:0}.left{left:0}.float\:left{float:left}.float\:right{float:right}.overflow\:auto{overflow:auto}.overflow\:scroll{overflow:scroll}.airy{--density: 3}.spacious{--density: 2}.dense{--density: 1}.crowded{--density: .5}.packed{--density: 0}.autodensity{--density: 1
-}@media (min-width:768px){.autodensity{--density: 2
-}}@media (min-width:1024px){.autodensity{--density: 3
-}}.vh,v-h{clip:rect(0 0 0 0);-webkit-clip-path:inset(50%);clip-path:inset(50%);block-size:1px;inline-size:1px;overflow:hidden;white-space:nowrap}.all\:initial{all:initial}.bold{font-weight:700}.italic{font-style:italic}.allcaps{text-transform:uppercase;letter-spacing:.1rem}.monospace{font-family:var(--mono-font)}.f-row{display:flex;flex-direction:row;gap:var(--gap)}.f-row>*{margin:0}.f-col{display:flex;flex-direction:column;gap:var(--gap)}.f-col>*{margin:0}.f-switch{display:flex;flex-wrap:wrap;gap:var(--gap);--f-switch-threshold: 55ch
-}.f-switch>*{margin:0;flex-grow:1;flex-basis:calc((var(--f-switch-threshold) - 100%)*999)}.justify-content\:start{justify-content:start}.justify-content\:end{justify-content:end}.justify-content\:baseline{justify-content:baseline}.justify-content\:center{justify-content:center}.justify-content\:stretch{justify-content:stretch}.justify-content\:space-between{justify-content:space-between}.justify-content\:space-around{justify-content:space-around}.justify-content\:space-evenly{justify-content:space-evenly}.align-items\:start{align-items:start}.align-items\:end{align-items:end}.align-items\:baseline{align-items:baseline}.align-items\:center{align-items:center}.align-items\:stretch{align-items:stretch}.align-self\:start{align-self:start}.align-self\:end{align-self:end}.align-self\:baseline{align-self:baseline}.align-self\:center{align-self:center}.align-self\:stretch{align-self:stretch}.flex-grow\:0{flex-grow:0}.flex-grow\:1{flex-grow:1}.flex-grow\:2{flex-grow:2}.flex-grow\:3{flex-grow:3}.flex-grow\:4{flex-grow:4}.flex-grow\:5{flex-grow:5}.flex-grow\:6{flex-grow:6}.flex-grow\:7{flex-grow:7}.flex-grow\:8{flex-grow:8}.flex-grow\:9{flex-grow:9}.flex-grow\:10{flex-grow:10}.flex-grow\:11{flex-grow:11}.flex-grow\:12{flex-grow:12}.flex-wrap\:wrap{flex-wrap:wrap}.flex-wrap\:nowrap{flex-wrap:nowrap}.grid{display:grid;grid-auto-columns:var(--grid-col-width, 1fr);grid-auto-rows:var(--grid-row-width, auto);gap:var(--gap)}.grid>*{margin:0}.grid-even-rows{--grid-row-width: 1fr}.grid-variable-cols{--grid-column-width: auto}[data-cols^="1 "]{grid-column-start:1}[data-cols$=" 1"]{grid-column-end:2}[data-cols="1"]{grid-column:1}[data-cols^="2 "]{grid-column-start:2}[data-cols$=" 2"]{grid-column-end:3}[data-cols="2"]{grid-column:2}[data-cols^="3 "]{grid-column-start:3}[data-cols$=" 3"]{grid-column-end:4}[data-cols="3"]{grid-column:3}[data-cols^="4 "]{grid-column-start:4}[data-cols$=" 4"]{grid-column-end:5}[data-cols="4"]{grid-column:4}[data-cols^="5 "]{grid-column-start:5}[data-cols$=" 5"]{grid-column-end:6}[data-cols="5"]{grid-column:5}[data-cols^="6 "]{grid-column-start:6}[data-cols$=" 6"]{grid-column-end:7}[data-cols="6"]{grid-column:6}[data-cols^="7 "]{grid-column-start:7}[data-cols$=" 7"]{grid-column-end:8}[data-cols="7"]{grid-column:7}[data-cols^="8 "]{grid-column-start:8}[data-cols$=" 8"]{grid-column-end:9}[data-cols="8"]{grid-column:8}[data-cols^="9 "]{grid-column-start:9}[data-cols$=" 9"]{grid-column-end:10}[data-cols="9"]{grid-column:9}[data-cols^="10 "]{grid-column-start:10}[data-cols$=" 10"]{grid-column-end:11}[data-cols="10"]{grid-column:10}[data-cols^="11 "]{grid-column-start:11}[data-cols$=" 11"]{grid-column-end:12}[data-cols="11"]{grid-column:11}[data-cols^="12 "]{grid-column-start:12}[data-cols$=" 12"]{grid-column-end:13}[data-cols="12"]{grid-column:12}[data-rows^="1 "]{grid-row-start:1}[data-rows$=" 1"]{grid-row-end:2}[data-rows="1"]{grid-row:1}[data-rows^="2 "]{grid-row-start:2}[data-rows$=" 2"]{grid-row-end:3}[data-rows="2"]{grid-row:2}[data-rows^="3 "]{grid-row-start:3}[data-rows$=" 3"]{grid-row-end:4}[data-rows="3"]{grid-row:3}[data-rows^="4 "]{grid-row-start:4}[data-rows$=" 4"]{grid-row-end:5}[data-rows="4"]{grid-row:4}[data-rows^="5 "]{grid-row-start:5}[data-rows$=" 5"]{grid-row-end:6}[data-rows="5"]{grid-row:5}[data-rows^="6 "]{grid-row-start:6}[data-rows$=" 6"]{grid-row-end:7}[data-rows="6"]{grid-row:6}[data-rows^="7 "]{grid-row-start:7}[data-rows$=" 7"]{grid-row-end:8}[data-rows="7"]{grid-row:7}[data-rows^="8 "]{grid-row-start:8}[data-rows$=" 8"]{grid-row-end:9}[data-rows="8"]{grid-row:8}[data-rows^="9 "]{grid-row-start:9}[data-rows$=" 9"]{grid-row-end:10}[data-rows="9"]{grid-row:9}[data-rows^="10 "]{grid-row-start:10}[data-rows$=" 10"]{grid-row-end:11}[data-rows="10"]{grid-row:10}[data-rows^="11 "]{grid-row-start:11}[data-rows$=" 11"]{grid-row-end:12}[data-rows="11"]{grid-row:11}[data-rows^="12 "]{grid-row-start:12}[data-rows$=" 12"]{grid-row-end:13}[data-rows="12"]{grid-row:12}@media (max-width:768px){[data-cols\@s^="1 "]{grid-column-start:1}[data-cols\@s$=" 1"]{grid-column-end:2}[data-cols\@s="1"]{grid-column:1}[data-cols\@s^="2 "]{grid-column-start:2}[data-cols\@s$=" 2"]{grid-column-end:3}[data-cols\@s="2"]{grid-column:2}[data-cols\@s^="3 "]{grid-column-start:3}[data-cols\@s$=" 3"]{grid-column-end:4}[data-cols\@s="3"]{grid-column:3}[data-cols\@s^="4 "]{grid-column-start:4}[data-cols\@s$=" 4"]{grid-column-end:5}[data-cols\@s="4"]{grid-column:4}[data-cols\@s^="5 "]{grid-column-start:5}[data-cols\@s$=" 5"]{grid-column-end:6}[data-cols\@s="5"]{grid-column:5}[data-cols\@s^="6 "]{grid-column-start:6}[data-cols\@s$=" 6"]{grid-column-end:7}[data-cols\@s="6"]{grid-column:6}[data-cols\@s^="7 "]{grid-column-start:7}[data-cols\@s$=" 7"]{grid-column-end:8}[data-cols\@s="7"]{grid-column:7}[data-cols\@s^="8 "]{grid-column-start:8}[data-cols\@s$=" 8"]{grid-column-end:9}[data-cols\@s="8"]{grid-column:8}[data-cols\@s^="9 "]{grid-column-start:9}[data-cols\@s$=" 9"]{grid-column-end:10}[data-cols\@s="9"]{grid-column:9}[data-cols\@s^="10 "]{grid-column-start:10}[data-cols\@s$=" 10"]{grid-column-end:11}[data-cols\@s="10"]{grid-column:10}[data-cols\@s^="11 "]{grid-column-start:11}[data-cols\@s$=" 11"]{grid-column-end:12}[data-cols\@s="11"]{grid-column:11}[data-cols\@s^="12 "]{grid-column-start:12}[data-cols\@s$=" 12"]{grid-column-end:13}[data-cols\@s="12"]{grid-column:12}[data-rows\@s^="1 "]{grid-row-start:1}[data-rows\@s$=" 1"]{grid-row-end:2}[data-rows\@s="1"]{grid-row:1}[data-rows\@s^="2 "]{grid-row-start:2}[data-rows\@s$=" 2"]{grid-row-end:3}[data-rows\@s="2"]{grid-row:2}[data-rows\@s^="3 "]{grid-row-start:3}[data-rows\@s$=" 3"]{grid-row-end:4}[data-rows\@s="3"]{grid-row:3}[data-rows\@s^="4 "]{grid-row-start:4}[data-rows\@s$=" 4"]{grid-row-end:5}[data-rows\@s="4"]{grid-row:4}[data-rows\@s^="5 "]{grid-row-start:5}[data-rows\@s$=" 5"]{grid-row-end:6}[data-rows\@s="5"]{grid-row:5}[data-rows\@s^="6 "]{grid-row-start:6}[data-rows\@s$=" 6"]{grid-row-end:7}[data-rows\@s="6"]{grid-row:6}[data-rows\@s^="7 "]{grid-row-start:7}[data-rows\@s$=" 7"]{grid-row-end:8}[data-rows\@s="7"]{grid-row:7}[data-rows\@s^="8 "]{grid-row-start:8}[data-rows\@s$=" 8"]{grid-row-end:9}[data-rows\@s="8"]{grid-row:8}[data-rows\@s^="9 "]{grid-row-start:9}[data-rows\@s$=" 9"]{grid-row-end:10}[data-rows\@s="9"]{grid-row:9}[data-rows\@s^="10 "]{grid-row-start:10}[data-rows\@s$=" 10"]{grid-row-end:11}[data-rows\@s="10"]{grid-row:10}[data-rows\@s^="11 "]{grid-row-start:11}[data-rows\@s$=" 11"]{grid-row-end:12}[data-rows\@s="11"]{grid-row:11}[data-rows\@s^="12 "]{grid-row-start:12}[data-rows\@s$=" 12"]{grid-row-end:13}[data-rows\@s="12"]{grid-row:12}}@media (min-width:1024px){[data-cols\@l^="1 "]{grid-column-start:1}[data-cols\@l$=" 1"]{grid-column-end:2}[data-cols\@l="1"]{grid-column:1}[data-cols\@l^="2 "]{grid-column-start:2}[data-cols\@l$=" 2"]{grid-column-end:3}[data-cols\@l="2"]{grid-column:2}[data-cols\@l^="3 "]{grid-column-start:3}[data-cols\@l$=" 3"]{grid-column-end:4}[data-cols\@l="3"]{grid-column:3}[data-cols\@l^="4 "]{grid-column-start:4}[data-cols\@l$=" 4"]{grid-column-end:5}[data-cols\@l="4"]{grid-column:4}[data-cols\@l^="5 "]{grid-column-start:5}[data-cols\@l$=" 5"]{grid-column-end:6}[data-cols\@l="5"]{grid-column:5}[data-cols\@l^="6 "]{grid-column-start:6}[data-cols\@l$=" 6"]{grid-column-end:7}[data-cols\@l="6"]{grid-column:6}[data-cols\@l^="7 "]{grid-column-start:7}[data-cols\@l$=" 7"]{grid-column-end:8}[data-cols\@l="7"]{grid-column:7}[data-cols\@l^="8 "]{grid-column-start:8}[data-cols\@l$=" 8"]{grid-column-end:9}[data-cols\@l="8"]{grid-column:8}[data-cols\@l^="9 "]{grid-column-start:9}[data-cols\@l$=" 9"]{grid-column-end:10}[data-cols\@l="9"]{grid-column:9}[data-cols\@l^="10 "]{grid-column-start:10}[data-cols\@l$=" 10"]{grid-column-end:11}[data-cols\@l="10"]{grid-column:10}[data-cols\@l^="11 "]{grid-column-start:11}[data-cols\@l$=" 11"]{grid-column-end:12}[data-cols\@l="11"]{grid-column:11}[data-cols\@l^="12 "]{grid-column-start:12}[data-cols\@l$=" 12"]{grid-column-end:13}[data-cols\@l="12"]{grid-column:12}[data-rows\@l^="1 "]{grid-row-start:1}[data-rows\@l$=" 1"]{grid-row-end:2}[data-rows\@l="1"]{grid-row:1}[data-rows\@l^="2 "]{grid-row-start:2}[data-rows\@l$=" 2"]{grid-row-end:3}[data-rows\@l="2"]{grid-row:2}[data-rows\@l^="3 "]{grid-row-start:3}[data-rows\@l$=" 3"]{grid-row-end:4}[data-rows\@l="3"]{grid-row:3}[data-rows\@l^="4 "]{grid-row-start:4}[data-rows\@l$=" 4"]{grid-row-end:5}[data-rows\@l="4"]{grid-row:4}[data-rows\@l^="5 "]{grid-row-start:5}[data-rows\@l$=" 5"]{grid-row-end:6}[data-rows\@l="5"]{grid-row:5}[data-rows\@l^="6 "]{grid-row-start:6}[data-rows\@l$=" 6"]{grid-row-end:7}[data-rows\@l="6"]{grid-row:6}[data-rows\@l^="7 "]{grid-row-start:7}[data-rows\@l$=" 7"]{grid-row-end:8}[data-rows\@l="7"]{grid-row:7}[data-rows\@l^="8 "]{grid-row-start:8}[data-rows\@l$=" 8"]{grid-row-end:9}[data-rows\@l="8"]{grid-row:8}[data-rows\@l^="9 "]{grid-row-start:9}[data-rows\@l$=" 9"]{grid-row-end:10}[data-rows\@l="9"]{grid-row:9}[data-rows\@l^="10 "]{grid-row-start:10}[data-rows\@l$=" 10"]{grid-row-end:11}[data-rows\@l="10"]{grid-row:10}[data-rows\@l^="11 "]{grid-row-start:11}[data-rows\@l$=" 11"]{grid-row-end:12}[data-rows\@l="11"]{grid-row:11}[data-rows\@l^="12 "]{grid-row-start:12}[data-rows\@l$=" 12"]{grid-row-end:13}[data-rows\@l="12"]{grid-row:12}} \ No newline at end of file
diff --git a/www/releases/_artifacts/v1.0.4/missing-js/19.js b/www/releases/_artifacts/v1.0.4/missing-js/19.js
deleted file mode 100644
index eebd9b7..0000000
--- a/www/releases/_artifacts/v1.0.4/missing-js/19.js
+++ /dev/null
@@ -1,3 +0,0 @@
-function T(e){return(...t)=>(console.log("%c%s","color:green",e,...t),t.at(-1))}const h=T("19.js");function E(e){return e.replace(/[A-Z]/g,t=>"-"+t.toLowerCase())}function f(e,t,n,r,i={}){const{wrap:s=!0}=i,u=e+"ElementSibling",a=e==="next"?(l,p)=>d(l,p):(l,p)=>g(l,p).at(-1);if(!r)return s?a(t,n):null;let o=r;for(;;){for(;o[u]===null;)if(o=o.parentElement,o===t)return s?a(t,n):null;o=o[u];const l=o.matches(n)?o:d(o,n);if(l)return l}}function d(e,t){return e.querySelector(t)}function g(e,t){return Array.from(e.querySelectorAll(t))}function L(e,t,n,r={}){const i=s=>(r.addedBy&&!r.addedBy.isConnected&&v({target:e,type:t,listener:i,options:r}),n(s));return e.addEventListener(t,i,r),{target:e,type:t,options:r,listener:i}}function v({target:e,type:t,listener:n,options:r}){return e.removeEventListener(t,n,r)}function y(e,t){for(const n of e.split(" "))n==="default"&&t.preventDefault(),n==="bubbling"&&t.stopPropagation(),n==="propagation"&&t.stopImmediatePropagation()}function A(e,t){return n=>{y(e,n),t(n)}}function w(e,t,n){return e.dispatchEvent(new CustomEvent(t,{detail:n}))}function N(e,t,n=void 0){if(typeof t=="object"){for(const i in t)e.setAttribute(E(i),t[i]);return null}const r=e.getAttribute(t);return n===void 0?e.getAttribute(t):n===null?(e.removeAttribute(t),r):(e.setAttribute(t,n),n)}function x(e){const t=document.createElement("div");return t.append(e),t.innerHTML}function b(e){return e==null?"":e instanceof Node?x(e):String(e).replaceAll("&","&amp;").replaceAll("<","&lt;").replaceAll(">","&gt;").replaceAll("'","&#x27;").replaceAll('"',"&quot;")}function k(e,...t){const n=document.createElement("template");return typeof e=="object"&&"raw"in e&&(e=String.raw(e,...t.map(b))),n.innerHTML=e,n.content}function O(e){return e instanceof HTMLElement?e:null}function P(e,t,n,r={}){return f("next",e,t,n,r)}function S(e,t,n,r={}){return f("previous",e,t,n,r)}function B(e){const s={},u=o=>~~(o.altKey&&1)|~~(o.ctrlKey&&2)|~~(o.metaKey&&4)|~~(o.shiftKey&&8),a=o=>{const l=o.split("+"),p=l.pop();let c=0;for(const m in l)switch(m.toLowerCase()){case"alt":c|=1;break;case"ctrl":c|=2;break;case"meta":c|=4;break;case"shift":c|=8;break}return[p,c]};for(const[o,l]of Object.entries(e)){const[p,c]=a(o);(s[p]??(s[p]=new Array(8)))[c]=l}return o=>s[o.key]?.[u(o)]?.(o)}function C(e,t,{mode:n="trailing"}={}){let r=null;return(...i)=>{r?clearTimeout(r):n==="leading"&&t(...i),r=setTimeout(()=>{n==="trailing"&&t(...i),r=null},e)}}function D(e,t){const n=new WeakSet;return(r=document,i={})=>{const s=r.getRootNode();g(r,e).forEach(u=>{n.has(u)||(n.add(u),t(u,{options:i,root:s}))})}}function K(e,t){return n=>{let r=null;const i=(...a)=>{const o=r;r=a.at(-1),r instanceof DocumentFragment&&(r=r.lastChild),o?o.after(...a):e.prepend(...a)},s=a=>{if(a)for(;a.nextSibling;)a.nextSibling.remove();else e.replaceChildren()},u=e.getRootNode();for(const a of n){const o=t.idOf(a),l=u.getElementById(o);i(l?t.update?.(l,a)??l:t.create(a,{id:o}))}s(r)}}export{d as $,g as $$,O as asHtml,N as attr,D as behavior,C as debounce,w as dispatch,y as halt,A as halts,B as hotkey,k as html,b as htmlescape,T as makelogger,P as next,v as off,L as on,S as prev,K as repeater,x as stringifyNode,f as traverse};
-
-/*# sourceMappingURL=./19.js.map */ \ No newline at end of file
diff --git a/www/releases/_artifacts/v1.0.4/missing-js/19.js.map b/www/releases/_artifacts/v1.0.4/missing-js/19.js.map
deleted file mode 100644
index c86d7e5..0000000
--- a/www/releases/_artifacts/v1.0.4/missing-js/19.js.map
+++ /dev/null
@@ -1 +0,0 @@
-{"version":3,"sources":["/missing-js/19.ts"],"sourcesContent":["/** \n * a DOM helper library.\n * \"1 US$ = 18.5842 TR₺ · Oct 16, 2022, 20:52 UTC\"\n */\n\n/// <reference lib=\"es2022\" />\n\nexport type Behavior<TOptions> = (subtree: ParentNode, options?: Partial<TOptions>) => void;\n\nexport type BehaviorInit<TOptions> = (element: Element, context: BehaviorContext<TOptions>) => void;\n\nexport type BehaviorContext<TOptions> = {\n root: Root;\n options: Partial<TOptions>\n}\n\nexport type Root = Document | ShadowRoot;\n\nexport type Logger = <T>(...args: [..._: any, last: T]) => T;\n\n/**\n * Creates a logging function.\n * The {@link scope} will be prepended to each message logged.\n * \n * We usually use `ilog` as a name for the resulting function.\n * It returns its last argument,\n * which makes it easier to log intermediate values in an expression:\n * \n * const x = a + ilog(\"b:\", b); // x = a + b\n * \n * @param scope - The name of the component/module/etc. that will use this logger.\n * @returns The `ilog` function.\n */\nexport function makelogger(scope: string): Logger {\n return (...args) => {\n console.log(\"%c%s\", \"color:green\", scope, ...args);\n return args.at(-1);\n };\n}\n\nconst ilog = makelogger(\"19.js\");\n\n/**\n * Converts camelCase to kebab-case.\n */\nfunction camelToKebab(s: string): string {\n return s.replace(/[A-Z]/g, (s) => \"-\" + s.toLowerCase());\n}\n\n/**\n * Traverse the DOM forward or backward from a starting point\n * to find an element matching some selector.\n * @param {(\"next\" | \"previous\")} direction\n * @param {ParentNode} root - The element within which to look for the next element, e.g. a menu.\n * @param {string} selector - The selector to look for, e.g. `\"[role=menuitem]\"`.\n * @param {Element | null} [current] - The element to start the search from, e.g. the currently selected menu item.\n * If missing, the first or last matching element will be returned (depending on search direction).\n * @param {object} [options]\n * @param {boolean} [options.wrap] Whether to wrap around when the end/start of {@link root} is reached.\n */\nexport function traverse(\n direction: \"next\" | \"previous\",\n root: ParentNode,\n selector: string,\n current: Element | null,\n options: { wrap?: boolean } = {},\n) {\n const { wrap = true } = options;\n\n const advance = direction + \"ElementSibling\";\n const wrapIt = direction === \"next\"\n ? (root: ParentNode, selector: string) => $(root, selector)\n : (root: ParentNode, selector: string) => $$(root, selector).at(-1);\n if (!current)\n return wrap ? wrapIt(root, selector) : null;\n let cursor = current;\n while (true) {\n while (cursor[advance] === null) {\n cursor = cursor.parentElement as Element;\n if (cursor === root)\n return wrap ? wrapIt(root, selector) : null;\n }\n cursor = cursor[advance];\n const found = cursor.matches(selector) ? cursor : $(cursor, selector);\n if (found)\n return found;\n }\n}\n\n/**\n * Wrapper for {@link scope}.querySelector({@link sel}).\n * Unlike jQuery, the scope is required to be specified.\n */\nexport function $<TElement extends Element>(scope: ParentNode, sel: string): TElement | null {\n return scope.querySelector<TElement>(sel);\n}\n\n/**\n * Wrapper for {@link scope}.querySelectorAll({@link sel}).\n * Unlike jQuery, the scope is required to be specified.\n * Returns an Array instead of a NodeList.\n */\nexport function $$<TElement extends Element>(scope: ParentNode, sel: string): TElement[] {\n return Array.from(scope.querySelectorAll<TElement>(sel));\n}\n\n/**\n * Returned by `on`, this is an object you can pass to `off` to remove an event listener,\n * saving the burden of keeping a handle on the listener function and options.\n */\ntype EventListenerToken = {\n target: EventTarget;\n type: string;\n listener: EventListener;\n options: object; \n}\n\n/** \n * @callbListener\n * @param {unknown extends HTMLElementEventMap[TEventType] ? CustomEvent : HTMLElementEventMap[TEventType]} event\n */\ntype Listener<T extends string> = (event: T extends keyof HTMLElementEventMap ? HTMLElementEventMap[T] : CustomEvent) => void;\n\n/**\n * Add an event listener.\n * @param target - The element (or other event target) to add the listener to.\n * @param type - The type of event to listen to, e.g. `\"click\"`.\n * @param listener - The listener function.\n * @param [options]\n * @param [options.addedBy] - If supplied, the listener will be removed when this element is not in the DOM.\n */\nexport function on<TEventType extends string>(\n target: EventTarget,\n type: TEventType,\n listener: Listener<TEventType>,\n options: { addedBy?: Element } = {}\n): EventListenerToken {\n const listenerWrapper: Listener<TEventType> = e => {\n if (options.addedBy && !options.addedBy.isConnected)\n off({ target, type: type, listener: listenerWrapper as EventListener, options }); // self-cleaning listener\n return listener(e);\n };\n target.addEventListener(type, listenerWrapper as EventListener, options as AddEventListenerOptions);\n return { target, type: type, options, listener: listenerWrapper as EventListener };\n}\n\n/**\n * Remove an event listener.\n * @param listenerToken - The return value of {@link on}.\n */\nexport function off({ target, type, listener, options }: EventListenerToken) {\n return target.removeEventListener(type, listener, options);\n}\n\n/**\n * \"Halt\" an event -- convenient wrapper for `preventDefault`, `stopPropagation`, and `stopImmediatePropagation`.\n * @param o - How to halt. Space-separated list of \"default\", \"bubbling\" and \"propagation\".\n * @param e - The event. \n */\nexport function halt(o: string, e: Event) {\n for (const t of o.split(\" \")) {\n if (t === \"default\")\n e.preventDefault();\n if (t === \"bubbling\")\n e.stopPropagation();\n if (t === \"propagation\")\n e.stopImmediatePropagation();\n }\n}\n\n/**\n * Decorator for any event listener to call {@link halt}.\n * \n * on(el, \"click\", halts(\"default\", e => ...))\n *\n * @param o - See {@link halt~o}.\n * @param f\n */\nexport function halts<T extends Event>(o: string, f: (e: T) => void): (e: T) => void {\n return e => { halt(o, e); f(e); };\n}\n\n/**\n * Dispatch a {@link CustomEvent}.\n * @param el - the event target\n * @param type - the event type, e.g. `\"myapp:clear-cart\"`\n * @param [detail] - Event.detail\n */\nexport function dispatch(el: EventTarget, type: string, detail?: any) {\n return el.dispatchEvent(new CustomEvent(type, { detail }));\n}\n\n/**\n * Get, remove or set an attribute.\n * \n * - attr(el, \"name\") Get the attribute \"name\"\n * - attr(el, \"name\", \"value\") Set the attribute \"name\" to \"value\"\n * - attr(el, \"name\", null) Remove the attribute \"name\"\n * - attr(el, [ nameA: \"valueA\", nameB: \"valueB\" ]) Set the attributes name-a to \"valueA\", name-b to \"valueB\"\n * \n * @param el \n * @param name - The attribute name **or** a map of names to values.\n * If an object is passed, camelCase attribute names will be converted to kebab-case.\n * @param value - The value of the attribute, when setting. Pass `null` to remove an attribute.\n */\nexport function attr(el: Element, name: string | object, value: any = undefined): string | null {\n if (typeof name === \"object\") {\n for (const at in name) el.setAttribute(camelToKebab(at), name[at]);\n return null;\n }\n const curValue = el.getAttribute(name);\n if (value === undefined)\n return el.getAttribute(name);\n else if (value === null)\n return el.removeAttribute(name), curValue;\n else\n return el.setAttribute(name, value), value;\n}\n\n/**\n * Convert a node to equivalent HTML.\n */\nexport function stringifyNode(node: Node): string {\n const tmp = document.createElement(\"div\");\n tmp.append(node);\n return tmp.innerHTML;\n}\n\n/**\n * HTML-escape a string.\n * If given a DOM node, it will return **unescaped** HTML for it.\n * Returns empty string when given null or undefined.\n */\nexport function htmlescape(s: any): string {\n if (s === null || s === undefined)\n return \"\";\n if (s instanceof Node)\n return stringifyNode(s);\n return String(s)\n .replaceAll(\"&\", \"&amp;\")\n .replaceAll(\"<\", \"&lt;\")\n .replaceAll(\">\", \"&gt;\")\n .replaceAll(\"'\", \"&#x27;\")\n .replaceAll(\"\\\"\", \"&quot;\");\n}\n\n\n/**\n * Template literal that escapes HTML in interpolated values and returns a DocumentFragment.\n * Can also be called with a string to parse it as HTML.\n * To let trusted HTML through escaping, parse it first:\n * \n * html`<p>My trusted markup: ${html(trustedMarkup)}</p>`\n */\nexport function html(str: TemplateStringsArray | string, ...values: any[]): DocumentFragment {\n const tmpl = document.createElement(\"template\");\n if (typeof str === \"object\" && \"raw\" in str)\n str = String.raw(str, ...values.map(htmlescape));\n tmpl.innerHTML = str;\n return tmpl.content;\n}\n\n/**\n * 'Type \"Element\" cannot be assigned to type \"HTMLElement\"' SHUT UP\n * @param {*} [el] \n * @returns {HTMLElement | null}\n */\nexport function asHtml(el: any): HTMLElement | null {\n return el instanceof HTMLElement ? el : null;\n}\n\n/**\n * Find the next element matching a given selector, searching deeply throughout the DOM.\n * @see traverse\n * @param root - The element within which to look for the next element, e.g. a menu.\n * @param selector - The selector to look for, e.g. `\"[role=menuitem]\"`.\n * @param [current] - The element to start the search from, e.g. the currently selected menu item.\n * If missing, the first or last matching element will be returned (depending on search direction).\n * @param [options]\n * @param [options.wrap] Whether to wrap around when the end/start of {@link root} is reached.\n */\nexport function next(\n root: ParentNode,\n selector: string, \n current: Element | null, \n options: { wrap?: boolean } = {}\n) {\n return traverse(\"next\", root, selector, current, options);\n}\n\n/**\n * Find the previous element matching a given selector, searching deeply throughout the DOM.\n * @see traverse\n * @param root - The element within which to look for the next element, e.g. a menu.\n * @param selector - The selector to look for, e.g. `\"[role=menuitem]\"`.\n * @param [current] - The element to start the search from, e.g. the currently selected menu item.\n * If missing, the first or last matching element will be returned (depending on search direction).\n * @param [options]\n * @param [options.wrap] Whether to wrap around when the end/start of {@link root} is reached.\n */\n export function prev(\n root: ParentNode,\n selector: string,\n current: Element | null,\n options: { wrap?: boolean } = {}\n) {\n return traverse(\"previous\", root, selector, current, options);\n}\n\ntype KeyboardEventListener = (e: KeyboardEvent) => void;\n\n/**\n * Create a handler for keyboard events using a keyboard shortcut DSL.\n * \n * - \"ArrowLeft\"\n * - \"Ctrl+Alt+3\"\n */\nexport function hotkey(hotkeys: Record<string, KeyboardEventListener>): KeyboardEventListener {\n const alt = 0b1, ctrl = 0b10, meta = 0b100, shift = 0b1000;\n const handlers = {}; // handlers[key][modifiers as bitfields]\n const modifiersOf = (e: KeyboardEvent) => ~~(e.altKey && alt) | ~~(e.ctrlKey && ctrl) | ~~(e.metaKey && meta) | ~~(e.shiftKey && shift);\n const parse = (hotkeySpec: string) => {\n const\n tokens = hotkeySpec.split(\"+\"), key = tokens.pop()!;\n let modifiers = 0 | 0;\n for (const token in tokens)\n switch (token.toLowerCase()) {\n case \"alt\": modifiers |= alt; break;\n case \"ctrl\": modifiers |= ctrl; break;\n case \"meta\": modifiers |= meta; break;\n case \"shift\": modifiers |= shift; break;\n }\n return [key, modifiers];\n };\n\n for (const [hotkeySpec, handler] of Object.entries(hotkeys)) {\n const [key, modifiers] = parse(hotkeySpec);\n (handlers[key] ??= new Array(8))[modifiers] = handler;\n }\n\n return e => handlers[e.key]?.[modifiersOf(e)]?.(e);\n}\n\n/**\n * Debounce a function.\n * \n * @param t - The debounce time.\n * @param f - The function.\n * @param [options.mode] - Leading or trailing debounce.\n */\nexport function debounce<TArgs extends any[]>(t: number, f: (...args: TArgs) => void, { mode = \"trailing\" } = {}): typeof f {\n let timeout: number | null = null;\n return (...args: TArgs) => {\n if (timeout)\n clearTimeout(timeout);\n else if (mode === \"leading\")\n f(...args);\n timeout = setTimeout(() => {\n if (mode === \"trailing\")\n f(...args);\n timeout = null;\n }, t);\n };\n}\n\n/**\n * Create a behavior that applies to elements matching the given selector.\n * @returns A function that can be called to apply the behavior to new elements within a subtree.\n */\nexport function behavior<TOptions>(selector: string, init: BehaviorInit<TOptions>): Behavior<TOptions> {\n const initialized = new WeakSet;\n return (subtree = document, options = {}) => {\n const root = subtree.getRootNode() as Root;\n $$(subtree, selector).forEach(el => {\n if (initialized.has(el))\n return;\n initialized.add(el);\n init(el, { options, root });\n });\n };\n}\n\ntype Repeater<TData> = {\n /**\n * Returns the HTML id for a given data value.\n * @param datum The data value.\n */\n idOf(datum: TData): string;\n\n /**\n * Createsa an element for a data value.\n * @param data The data value\n * @param ctx.id The id the returned element should have.\n */\n create(data: TData, ctx: { id: string }): Node;\n\n /**\n * \n * @param el The current element.\n * @param data The new data value.\n */\n update?(el: Element, data: TData): void;\n}\n\n/**\n * Repeat an element such that the list can be updated when data changes.\n * \n * @param {object} context\n * @param {(data: TData) => string} context.idOf\n * @param {(data: TData, ctx: { id: string }) => Node} context.create\n * @param {(el: Element, data: TData) => void} [context.update]\n * @returns \n */\nexport function repeater<TData>(container: ParentNode, rep: Repeater<TData>) {\n return (dataset: any) => {\n let cursor: ChildNode | null = null;\n\n const append = (...nodes: any[]) => {\n const oldcursor = cursor;\n cursor = nodes.at(-1);\n if (cursor instanceof DocumentFragment)\n cursor = cursor.lastChild;\n if (oldcursor)\n oldcursor.after(...nodes);\n else\n container.prepend(...nodes);\n };\n const clearAfter = (cursor: Node | null) => {\n if (cursor)\n while (cursor.nextSibling)\n cursor.nextSibling.remove();\n else\n container.replaceChildren();\n };\n\n const root = container.getRootNode() as Root;\n\n // TODO: use an actual morphing algo\n for (const datum of dataset) {\n const\n id = rep.idOf(datum), existing = root.getElementById(id);\n if (existing)\n append(rep.update?.(existing, datum) ?? existing);\n else\n append(rep.create(datum, { id }));\n }\n clearAfter(cursor);\n };\n}\n"],"mappings":"AAiCO,SAASA,EAAWC,EAAuB,CAChD,MAAO,IAAIC,KACT,QAAQ,IAAI,OAAQ,cAAeD,EAAO,GAAGC,CAAI,EAC1CA,EAAK,GAAG,EAAE,EAErB,CAEA,MAAMC,EAAOH,EAAW,OAAO,EAK/B,SAASI,EAAaC,EAAmB,CACvC,OAAOA,EAAE,QAAQ,SAAWA,GAAM,IAAMA,EAAE,YAAY,CAAC,CACzD,CAaO,SAASC,EACdC,EACAC,EACAC,EACAC,EACAC,EAA8B,CAAC,EAC/B,CACA,KAAM,CAAE,KAAAC,EAAO,EAAK,EAAID,EAElBE,EAAUN,EAAY,iBACtBO,EAASP,IAAc,OACzB,CAACC,EAAkBC,IAAqBM,EAAEP,EAAMC,CAAQ,EACxD,CAACD,EAAkBC,IAAqBO,EAAGR,EAAMC,CAAQ,EAAE,GAAG,EAAE,EACpE,GAAI,CAACC,EACH,OAAOE,EAAOE,EAAON,EAAMC,CAAQ,EAAI,KACzC,IAAIQ,EAASP,EACb,OAAa,CACX,KAAOO,EAAOJ,KAAa,MAEzB,GADAI,EAASA,EAAO,cACZA,IAAWT,EACb,OAAOI,EAAOE,EAAON,EAAMC,CAAQ,EAAI,KAE3CQ,EAASA,EAAOJ,GAChB,MAAMK,EAAQD,EAAO,QAAQR,CAAQ,EAAIQ,EAASF,EAAEE,EAAQR,CAAQ,EACpE,GAAIS,EACF,OAAOA,CACX,CACF,CAMO,SAASH,EAA4Bd,EAAmBkB,EAA8B,CAC3F,OAAOlB,EAAM,cAAwBkB,CAAG,CAC1C,CAOO,SAASH,EAA6Bf,EAAmBkB,EAAyB,CACvF,OAAO,MAAM,KAAKlB,EAAM,iBAA2BkB,CAAG,CAAC,CACzD,CA2BO,SAASC,EACdC,EACAC,EACAC,EACAZ,EAAiC,CAAC,EACd,CACpB,MAAMa,EAAwCC,IACxCd,EAAQ,SAAW,CAACA,EAAQ,QAAQ,aACtCe,EAAI,CAAE,OAAAL,EAAQ,KAAMC,EAAM,SAAUE,EAAkC,QAAAb,CAAQ,CAAC,EAC1EY,EAASE,CAAC,GAEnB,OAAAJ,EAAO,iBAAiBC,EAAME,EAAkCb,CAAkC,EAC3F,CAAE,OAAAU,EAAQ,KAAMC,EAAM,QAAAX,EAAS,SAAUa,CAAiC,CACnF,CAMO,SAASE,EAAI,CAAE,OAAAL,EAAQ,KAAAC,EAAM,SAAAC,EAAU,QAAAZ,CAAQ,EAAuB,CAC3E,OAAOU,EAAO,oBAAoBC,EAAMC,EAAUZ,CAAO,CAC3D,CAOO,SAASgB,EAAKC,EAAWH,EAAU,CACxC,UAAWI,KAAKD,EAAE,MAAM,GAAG,EACrBC,IAAM,WACRJ,EAAE,eAAe,EACfI,IAAM,YACRJ,EAAE,gBAAgB,EAChBI,IAAM,eACRJ,EAAE,yBAAyB,CAEjC,CAUO,SAASK,EAAuBF,EAAWG,EAAmC,CACnF,OAAON,GAAK,CAAEE,EAAKC,EAAGH,CAAC,EAAGM,EAAEN,CAAC,CAAG,CAClC,CAQO,SAASO,EAASC,EAAiBX,EAAcY,EAAc,CACpE,OAAOD,EAAG,cAAc,IAAI,YAAYX,EAAM,CAAE,OAAAY,CAAO,CAAC,CAAC,CAC3D,CAeO,SAASC,EAAKF,EAAaG,EAAuBC,EAAa,OAA0B,CAC9F,GAAI,OAAOD,GAAS,SAAU,CAC5B,UAAWE,KAAMF,EAAMH,EAAG,aAAa7B,EAAakC,CAAE,EAAGF,EAAKE,EAAG,EACjE,OAAO,IACT,CACA,MAAMC,EAAWN,EAAG,aAAaG,CAAI,EACrC,OAAIC,IAAU,OACLJ,EAAG,aAAaG,CAAI,EACpBC,IAAU,MACVJ,EAAG,gBAAgBG,CAAI,EAAGG,IAE1BN,EAAG,aAAaG,EAAMC,CAAK,EAAGA,EACzC,CAKO,SAASG,EAAcC,EAAoB,CAChD,MAAMC,EAAM,SAAS,cAAc,KAAK,EACxC,OAAAA,EAAI,OAAOD,CAAI,EACRC,EAAI,SACb,CAOO,SAASC,EAAWtC,EAAgB,CACzC,OAAIA,GAAM,KACD,GACLA,aAAa,KACRmC,EAAcnC,CAAC,EACjB,OAAOA,CAAC,EACZ,WAAW,IAAK,OAAO,EACvB,WAAW,IAAK,MAAM,EACtB,WAAW,IAAK,MAAM,EACtB,WAAW,IAAK,QAAQ,EACxB,WAAW,IAAM,QAAQ,CAC9B,CAUO,SAASuC,EAAKC,KAAuCC,EAAiC,CAC3F,MAAMC,EAAO,SAAS,cAAc,UAAU,EAC9C,OAAI,OAAOF,GAAQ,UAAY,QAASA,IACtCA,EAAM,OAAO,IAAIA,EAAK,GAAGC,EAAO,IAAIH,CAAU,CAAC,GACjDI,EAAK,UAAYF,EACVE,EAAK,OACd,CAOO,SAASC,EAAOf,EAA6B,CAClD,OAAOA,aAAc,YAAcA,EAAK,IAC1C,CAYO,SAASgB,EACdzC,EACAC,EACAC,EACAC,EAA8B,CAAC,EAC/B,CACA,OAAOL,EAAS,OAAQE,EAAMC,EAAUC,EAASC,CAAO,CAC1D,CAYQ,SAASuC,EACf1C,EACAC,EACAC,EACAC,EAA8B,CAAC,EAC/B,CACA,OAAOL,EAAS,WAAYE,EAAMC,EAAUC,EAASC,CAAO,CAC9D,CAUO,SAASwC,EAAOC,EAAuE,CAE5F,MAAMC,EAAW,CAAC,EACZC,EAAe7B,GAAqB,CAAC,EAAEA,EAAE,QAAU,GAAO,CAAC,EAAEA,EAAE,SAAW,GAAQ,CAAC,EAAEA,EAAE,SAAW,GAAQ,CAAC,EAAEA,EAAE,UAAY,GAC3H8B,EAASC,GAAuB,CAClC,MACEC,EAASD,EAAW,MAAM,GAAG,EAAGE,EAAMD,EAAO,IAAI,EACnD,IAAIE,EAAY,EAChB,UAAWC,KAASH,EAClB,OAAQG,EAAM,YAAY,EAAG,CAC3B,IAAK,MAAOD,GAAa,EAAK,MAC9B,IAAK,OAAQA,GAAa,EAAM,MAChC,IAAK,OAAQA,GAAa,EAAM,MAChC,IAAK,QAASA,GAAa,EAAO,KACpC,CACF,MAAO,CAACD,EAAKC,CAAS,CACxB,EAEF,SAAW,CAACH,EAAYK,CAAO,IAAK,OAAO,QAAQT,CAAO,EAAG,CAC3D,KAAM,CAACM,EAAKC,CAAS,EAAIJ,EAAMC,CAAU,GACxCH,EAAAK,KAAAL,EAAAK,GAAkB,IAAI,MAAM,CAAC,IAAGC,GAAaE,CAChD,CAEA,OAAOpC,GAAK4B,EAAS5B,EAAE,OAAO6B,EAAY7B,CAAC,KAAKA,CAAC,CACnD,CASO,SAASqC,EAA8BjC,EAAWE,EAA6B,CAAE,KAAAgC,EAAO,UAAW,EAAI,CAAC,EAAa,CAC1H,IAAIC,EAAyB,KAC7B,MAAO,IAAI9D,IAAgB,CACrB8D,EACF,aAAaA,CAAO,EACbD,IAAS,WAChBhC,EAAE,GAAG7B,CAAI,EACX8D,EAAU,WAAW,IAAM,CACrBD,IAAS,YACXhC,EAAE,GAAG7B,CAAI,EACX8D,EAAU,IACZ,EAAGnC,CAAC,CACN,CACF,CAMO,SAASoC,EAAmBxD,EAAkByD,EAAkD,CACrG,MAAMC,EAAc,IAAI,QACxB,MAAO,CAACC,EAAU,SAAUzD,EAAU,CAAC,IAAM,CAC3C,MAAMH,EAAO4D,EAAQ,YAAY,EACjCpD,EAAGoD,EAAS3D,CAAQ,EAAE,QAAQwB,GAAM,CAC9BkC,EAAY,IAAIlC,CAAE,IAEtBkC,EAAY,IAAIlC,CAAE,EAClBiC,EAAKjC,EAAI,CAAE,QAAAtB,EAAS,KAAAH,CAAK,CAAC,EAC5B,CAAC,CACH,CACF,CAiCO,SAAS6D,EAAgBC,EAAuBC,EAAsB,CAC3E,OAAQC,GAAiB,CACvB,IAAIvD,EAA2B,KAE/B,MAAMwD,EAAS,IAAIC,IAAiB,CAClC,MAAMC,EAAY1D,EAClBA,EAASyD,EAAM,GAAG,EAAE,EAChBzD,aAAkB,mBACpBA,EAASA,EAAO,WACd0D,EACFA,EAAU,MAAM,GAAGD,CAAK,EAExBJ,EAAU,QAAQ,GAAGI,CAAK,CAC9B,EACME,EAAc3D,GAAwB,CAC1C,GAAIA,EACF,KAAOA,EAAO,aACZA,EAAO,YAAY,OAAO,OAE5BqD,EAAU,gBAAgB,CAC9B,EAEM9D,EAAO8D,EAAU,YAAY,EAGnC,UAAWO,KAASL,EAAS,CAC3B,MACEM,EAAKP,EAAI,KAAKM,CAAK,EAAGE,EAAWvE,EAAK,eAAesE,CAAE,EAEvDL,EADEM,EACKR,EAAI,SAASQ,EAAUF,CAAK,GAAKE,EAEjCR,EAAI,OAAOM,EAAO,CAAE,GAAAC,CAAG,CAAC,CAFiB,CAGpD,CACAF,EAAW3D,CAAM,CACnB,CACF","names":["makelogger","scope","args","ilog","camelToKebab","s","traverse","direction","root","selector","current","options","wrap","advance","wrapIt","$","$$","cursor","found","sel","on","target","type","listener","listenerWrapper","e","off","halt","o","t","halts","f","dispatch","el","detail","attr","name","value","at","curValue","stringifyNode","node","tmp","htmlescape","html","str","values","tmpl","asHtml","next","prev","hotkey","hotkeys","handlers","modifiersOf","parse","hotkeySpec","tokens","key","modifiers","token","handler","debounce","mode","timeout","behavior","init","initialized","subtree","repeater","container","rep","dataset","append","nodes","oldcursor","clearAfter","datum","id","existing"],"sourceRoot":"file:///home/dz4k/Documents/Projects/bigsky.software/missing.css","file":"/missing-js/19.js.map"} \ No newline at end of file
diff --git a/www/releases/_artifacts/v1.0.4/missing-js/menu.js b/www/releases/_artifacts/v1.0.4/missing-js/menu.js
deleted file mode 100644
index 688434b..0000000
--- a/www/releases/_artifacts/v1.0.4/missing-js/menu.js
+++ /dev/null
@@ -1,3 +0,0 @@
-import{$ as m,$$ as h,on as o,dispatch as c,halts as g,attr as i,next as E,prev as _,asHtml as a,hotkey as w,behavior as f,makelogger as k}from"./19.js";const l=k("menu"),x="[role=menu]",s="[role=menuitem]",p=e=>h(e,s),y=(e,{root:r})=>{const t=i(e,"aria-controls");return t===null?null:r.getElementById(t)},u=e=>m(e,s),v=e=>p(e).at(-1)??null,d=e=>!e.hidden,B=f(x,(e,{root:r})=>{if(!(e instanceof HTMLElement))return;let t;p(e).forEach(n=>n.setAttribute("tabindex","-1")),o(e,"menu:open",n=>{t=n.detail?.opener,t||l("Warning: Menu",e,"opened without passing an `opener` element"),e.hidden=!1,u(e)?.focus()}),o(e,"menu:close",n=>{l("menu:close",e.hidden=!0),t?.focus()}),o(e,"focusout",n=>{!d(e)||e.contains(n.relatedTarget)||t!==n.relatedTarget&&c(e,"menu:close")}),o(e,"keydown",g("default",w({ArrowUp:n=>a(_(e,s,r.activeElement,{}))?.focus(),ArrowDown:n=>a(E(e,s,r.activeElement,{}))?.focus(),Space:n=>a(r.activeElement?.closest(s))?.click(),Home:n=>u(e)?.focus(),End:n=>v(e)?.focus(),Escape:n=>c(e,"menu:close")}))),o(window,"click",n=>{!d(e)||t!==n.target&&c(e,"menu:close")},{addedBy:e})}),M=f("[aria-haspopup=menu]",(e,{root:r})=>{const t=y(e,{root:r});if(t===null)return l("Error: Menu button",e,"has no menu.");o(t,"menu:close",n=>i(e,"aria-expanded","false"),{addedBy:e}),o(t,"menu:open",n=>i(e,"aria-expanded","true"),{addedBy:e}),o(e,"click",()=>c(t,d(t)?"menu:close":"menu:open",{opener:e}))});B(document);M(document);export{B as menu,M as menuButton};
-
-/*# sourceMappingURL=./menu.js.map */ \ No newline at end of file
diff --git a/www/releases/_artifacts/v1.0.4/missing-js/menu.js.map b/www/releases/_artifacts/v1.0.4/missing-js/menu.js.map
deleted file mode 100644
index 850b804..0000000
--- a/www/releases/_artifacts/v1.0.4/missing-js/menu.js.map
+++ /dev/null
@@ -1 +0,0 @@
-{"version":3,"sources":["/missing-js/menu.js"],"sourcesContent":["/// <reference lib=\"es2022\" />\n\nimport { $, $$, on, dispatch, halts, attr, next, prev, asHtml, hotkey, behavior, makelogger } from \"./19.js\"\n\nconst ilog = makelogger(\"menu\");\nconst sMenu = \"[role=menu]\";\nconst sMenuitem = \"[role=menuitem]\";\n\n/**\n * @param {HTMLElement} menu\n * @returns {HTMLElement[]}\n */\nconst menuItems = menu => $$(menu, sMenuitem);\n\n/**\n * @param {Element} button \n * @param {object} options \n * @param {import(\"./19.js\").Root} options.root \n * @returns {HTMLElement | null}\n */\nconst menuOf = (button, { root }) => {\n const id = attr(button, \"aria-controls\");\n if (id === null) return null;\n return root.getElementById(id);\n}\n\n/**\n * @param {HTMLElement} menu\n * @returns {HTMLElement | null}\n */\nconst firstItem = menu => $(menu, sMenuitem)\n\n/**\n * @param {HTMLElement} menu\n * @returns {HTMLElement | null}\n */\nconst lastItem = menu => menuItems(menu).at(-1) ?? null;\n\n\n/**\n * @param {HTMLElement} menu \n * @returns {boolean}\n */\nconst isOpen = menu => !menu.hidden;\n\nexport const menu = behavior(sMenu, (menu, { root }) => {\n if (!(menu instanceof HTMLElement)) return;\n\n let opener;\n\n menuItems(menu).forEach(item => item.setAttribute(\"tabindex\", \"-1\"));\n\n on(menu, \"menu:open\", e => {\n opener = e.detail?.opener;\n if (!opener) ilog(\"Warning: Menu\", menu, \"opened without passing an `opener` element\");\n menu.hidden = false;\n firstItem(menu)?.focus();\n });\n\n on(menu, \"menu:close\", _ => {\n ilog(\"menu:close\", menu.hidden = true);\n opener?.focus();\n });\n\n on(menu, \"focusout\", e => {\n if (!isOpen(menu)) return;\n if (menu.contains(/** @type {Node} */(e.relatedTarget))) return;\n if (opener === e.relatedTarget) return;\n dispatch(menu, \"menu:close\");\n });\n\n on(menu, \"keydown\", halts(\"default\", hotkey({\n \"ArrowUp\": _ => asHtml(prev(menu, sMenuitem, root.activeElement, {}))?.focus(),\n \"ArrowDown\": _ => asHtml(next(menu, sMenuitem, root.activeElement, {}))?.focus(),\n \"Space\": _ => asHtml(root.activeElement?.closest(sMenuitem))?.click(),\n \"Home\": _ => firstItem(menu)?.focus(),\n \"End\": _ => lastItem(menu)?.focus(),\n \"Escape\": _ => dispatch(menu, \"menu:close\"),\n })));\n\n on(window, \"click\", e => {\n if (!isOpen(menu)) return;\n if (opener === e.target) return;\n dispatch(menu, \"menu:close\");\n }, { addedBy: menu });\n});\n\nexport const menuButton = behavior(\"[aria-haspopup=menu]\", (button, { root }) => {\n const menu = menuOf(button, { root });\n\n if (menu === null) return ilog(\"Error: Menu button\", button, \"has no menu.\");\n\n on(menu, \"menu:close\", _ => attr(button, \"aria-expanded\", \"false\"), { addedBy: button })\n on(menu, \"menu:open\", _ => attr(button, \"aria-expanded\", \"true\"), { addedBy: button })\n on(button, \"click\", () => dispatch(menu, isOpen(menu) ? \"menu:close\" : \"menu:open\", { opener: button }));\n});\n\nmenu(document);\nmenuButton(document);\n"],"mappings":"AAEA,OAAS,KAAAA,EAAG,MAAAC,EAAI,MAAAC,EAAI,YAAAC,EAAU,SAAAC,EAAO,QAAAC,EAAM,QAAAC,EAAM,QAAAC,EAAM,UAAAC,EAAQ,UAAAC,EAAQ,YAAAC,EAAU,cAAAC,MAAkB,UAEnG,MAAMC,EAAOD,EAAW,MAAM,EACxBE,EAAQ,cACRC,EAAY,kBAMZC,EAAYC,GAAQf,EAAGe,EAAMF,CAAS,EAQtCG,EAAS,CAACC,EAAQ,CAAE,KAAAC,CAAK,IAAM,CACjC,MAAMC,EAAKf,EAAKa,EAAQ,eAAe,EACvC,OAAIE,IAAO,KAAa,KACjBD,EAAK,eAAeC,CAAE,CACjC,EAMMC,EAAYL,GAAQhB,EAAEgB,EAAMF,CAAS,EAMrCQ,EAAWN,GAAQD,EAAUC,CAAI,EAAE,GAAG,EAAE,GAAK,KAO7CO,EAASP,GAAQ,CAACA,EAAK,OAEhBA,EAAON,EAASG,EAAO,CAACG,EAAM,CAAE,KAAAG,CAAK,IAAM,CACpD,GAAI,EAAEH,aAAgB,aAAc,OAEpC,IAAIQ,EAEJT,EAAUC,CAAI,EAAE,QAAQS,GAAQA,EAAK,aAAa,WAAY,IAAI,CAAC,EAEnEvB,EAAGc,EAAM,YAAaU,GAAK,CACvBF,EAASE,EAAE,QAAQ,OACdF,GAAQZ,EAAK,gBAAiBI,EAAM,4CAA4C,EACrFA,EAAK,OAAS,GACdK,EAAUL,CAAI,GAAG,MAAM,CAC3B,CAAC,EAEDd,EAAGc,EAAM,aAAcW,GAAK,CACxBf,EAAK,aAAcI,EAAK,OAAS,EAAI,EACrCQ,GAAQ,MAAM,CAClB,CAAC,EAEDtB,EAAGc,EAAM,WAAYU,GAAK,CAClB,CAACH,EAAOP,CAAI,GACZA,EAAK,SAA6BU,EAAE,aAAc,GAClDF,IAAWE,EAAE,eACjBvB,EAASa,EAAM,YAAY,CAC/B,CAAC,EAEDd,EAAGc,EAAM,UAAWZ,EAAM,UAAWK,EAAO,CACxC,QAAWkB,GAAKnB,EAAOD,EAAKS,EAAMF,EAAWK,EAAK,cAAe,CAAC,CAAC,CAAC,GAAG,MAAM,EAC7E,UAAaQ,GAAKnB,EAAOF,EAAKU,EAAMF,EAAWK,EAAK,cAAe,CAAC,CAAC,CAAC,GAAG,MAAM,EAC/E,MAASQ,GAAKnB,EAAOW,EAAK,eAAe,QAAQL,CAAS,CAAC,GAAG,MAAM,EACpE,KAAQa,GAAKN,EAAUL,CAAI,GAAG,MAAM,EACpC,IAAOW,GAAKL,EAASN,CAAI,GAAG,MAAM,EAClC,OAAUW,GAAKxB,EAASa,EAAM,YAAY,CAC9C,CAAC,CAAC,CAAC,EAEHd,EAAG,OAAQ,QAASwB,GAAK,CACjB,CAACH,EAAOP,CAAI,GACZQ,IAAWE,EAAE,QACjBvB,EAASa,EAAM,YAAY,CAC/B,EAAG,CAAE,QAASA,CAAK,CAAC,CACxB,CAAC,EAEYY,EAAalB,EAAS,uBAAwB,CAACQ,EAAQ,CAAE,KAAAC,CAAK,IAAM,CAC7E,MAAMH,EAAOC,EAAOC,EAAQ,CAAE,KAAAC,CAAK,CAAC,EAEpC,GAAIH,IAAS,KAAM,OAAOJ,EAAK,qBAAsBM,EAAQ,cAAc,EAE3EhB,EAAGc,EAAM,aAAcW,GAAKtB,EAAKa,EAAQ,gBAAiB,OAAO,EAAG,CAAE,QAASA,CAAO,CAAC,EACvFhB,EAAGc,EAAM,YAAaW,GAAKtB,EAAKa,EAAQ,gBAAiB,MAAM,EAAG,CAAE,QAASA,CAAO,CAAC,EACrFhB,EAAGgB,EAAQ,QAAS,IAAMf,EAASa,EAAMO,EAAOP,CAAI,EAAI,aAAe,YAAa,CAAE,OAAQE,CAAO,CAAC,CAAC,CAC3G,CAAC,EAEDF,EAAK,QAAQ,EACbY,EAAW,QAAQ","names":["$","$$","on","dispatch","halts","attr","next","prev","asHtml","hotkey","behavior","makelogger","ilog","sMenu","sMenuitem","menuItems","menu","menuOf","button","root","id","firstItem","lastItem","isOpen","opener","item","e","_","menuButton"],"sourceRoot":"file:///home/dz4k/Documents/Projects/bigsky.software/missing.css","file":"/missing-js/menu.js.map"} \ No newline at end of file
diff --git a/www/releases/_artifacts/v1.0.4/missing-js/overflow-nav.js b/www/releases/_artifacts/v1.0.4/missing-js/overflow-nav.js
deleted file mode 100644
index 8ede3f4..0000000
--- a/www/releases/_artifacts/v1.0.4/missing-js/overflow-nav.js
+++ /dev/null
@@ -1,3 +0,0 @@
-import{$ as f,asHtml as g,attr as d,behavior as p,makelogger as m,on as l}from"./19.js";const w=m("overflow-nav"),a=p("[data-overflow-nav]",(t,{options:{expandedClass:o="expanded"}})=>{const e=g(f(t,"[data-nav-expander]"));if(e===null)return w("Expand toggle missing from navbar ",t);const c=()=>t.scrollWidth>t.clientWidth,r=()=>t.classList.contains(o),n=(s=!r())=>{s?(t.classList.add(o),d(e,"aria-pressed",!0),e.textContent="\xD7"):(t.classList.remove(o),d(e,"aria-pressed",!1),e.textContent="\u2630")},i=()=>{const s=e.hidden;e.hidden=!c(),s!=e.hidden&&n(!1)};l(e,"click",()=>n()),i(),l(window,"resize",()=>i(),{addedBy:t})});var h=a;a(document);export{h as default};
-
-/*# sourceMappingURL=./overflow-nav.js.map */ \ No newline at end of file
diff --git a/www/releases/_artifacts/v1.0.4/missing-js/overflow-nav.js.map b/www/releases/_artifacts/v1.0.4/missing-js/overflow-nav.js.map
deleted file mode 100644
index 428da89..0000000
--- a/www/releases/_artifacts/v1.0.4/missing-js/overflow-nav.js.map
+++ /dev/null
@@ -1 +0,0 @@
-{"version":3,"sources":["/missing-js/overflow-nav.js"],"sourcesContent":["import { $, asHtml, attr, behavior, makelogger, on } from \"./19.js\";\n\nconst ilog = makelogger(\"overflow-nav\");\n\n/**\n * @type {import(\"./19.js\").Behavior<{ expandedClass: string }>}\n */\nconst overflowNav = behavior(\"[data-overflow-nav]\", (navbar, {\n options: { expandedClass = \"expanded\" }\n}) => {\n const expandToggle = asHtml($(navbar, \"[data-nav-expander]\"));\n\n if (expandToggle === null) return ilog(\"Expand toggle missing from navbar \", navbar);\n\n /*\n \"The scrollWidth value is equal to the minimum width the element would\n require in order to fit all the content in the viewport without using a\n horizontal scrollbar. The width is measured in the same way as\n clientWidth: it includes the element's padding, but not its border,\n margin or vertical scrollbar (if present). It can also include the\n width of pseudo-elements such as ::before or ::after. If the element's\n content can fit without a need for horizontal scrollbar, its\n scrollWidth is equal to clientWidth\"\n -- MDN, \"Element.scrollWidth\", https://developer.mozilla.org/en-US/docs/Web/API/Element/scrollHeight\n */\n const overflows = () => navbar.scrollWidth > navbar.clientWidth;\n\n const isExpanded = () => navbar.classList.contains(expandedClass);\n\n const toggleExpansion = (expand = !isExpanded()) => {\n if (expand) {\n navbar.classList.add(expandedClass);\n attr(expandToggle, \"aria-pressed\", true);\n expandToggle.textContent = \"×\";\n } else {\n navbar.classList.remove(expandedClass);\n attr(expandToggle, \"aria-pressed\", false);\n expandToggle.textContent = \"☰\";\n }\n };\n\n const update = () => {\n const wasHidden = expandToggle.hidden\n expandToggle.hidden = !overflows();\n if (wasHidden != expandToggle.hidden) toggleExpansion(false);\n };\n\n on(expandToggle, \"click\", () => toggleExpansion());\n\n update();\n\n on(window, \"resize\", () => update(), { addedBy: navbar });\n})\n\nexport default overflowNav;\noverflowNav(document);\n"],"mappings":"AAAA,OAAS,KAAAA,EAAG,UAAAC,EAAQ,QAAAC,EAAM,YAAAC,EAAU,cAAAC,EAAY,MAAAC,MAAU,UAE1D,MAAMC,EAAOF,EAAW,cAAc,EAKhCG,EAAcJ,EAAS,sBAAuB,CAACK,EAAQ,CACzD,QAAS,CAAE,cAAAC,EAAgB,UAAW,CAC1C,IAAM,CACF,MAAMC,EAAeT,EAAOD,EAAEQ,EAAQ,qBAAqB,CAAC,EAE5D,GAAIE,IAAiB,KAAM,OAAOJ,EAAK,qCAAsCE,CAAM,EAanF,MAAMG,EAAY,IAAMH,EAAO,YAAcA,EAAO,YAE9CI,EAAa,IAAMJ,EAAO,UAAU,SAASC,CAAa,EAE1DI,EAAkB,CAACC,EAAS,CAACF,EAAW,IAAM,CAC5CE,GACAN,EAAO,UAAU,IAAIC,CAAa,EAClCP,EAAKQ,EAAc,eAAgB,EAAI,EACvCA,EAAa,YAAc,SAE3BF,EAAO,UAAU,OAAOC,CAAa,EACrCP,EAAKQ,EAAc,eAAgB,EAAK,EACxCA,EAAa,YAAc,SAEnC,EAEMK,EAAS,IAAM,CACjB,MAAMC,EAAYN,EAAa,OAC/BA,EAAa,OAAS,CAACC,EAAU,EAC7BK,GAAaN,EAAa,QAAQG,EAAgB,EAAK,CAC/D,EAEAR,EAAGK,EAAc,QAAS,IAAMG,EAAgB,CAAC,EAEjDE,EAAO,EAEPV,EAAG,OAAQ,SAAU,IAAMU,EAAO,EAAG,CAAE,QAASP,CAAO,CAAC,CAC5D,CAAC,EAED,IAAOS,EAAQV,EACfA,EAAY,QAAQ","names":["$","asHtml","attr","behavior","makelogger","on","ilog","overflowNav","navbar","expandedClass","expandToggle","overflows","isExpanded","toggleExpansion","expand","update","wasHidden","overflow_nav_default"],"sourceRoot":"file:///home/dz4k/Documents/Projects/bigsky.software/missing.css","file":"/missing-js/overflow-nav.js.map"} \ No newline at end of file
diff --git a/www/releases/_artifacts/v1.0.4/missing-js/tabs.js b/www/releases/_artifacts/v1.0.4/missing-js/tabs.js
deleted file mode 100644
index a5fc714..0000000
--- a/www/releases/_artifacts/v1.0.4/missing-js/tabs.js
+++ /dev/null
@@ -1,3 +0,0 @@
-import{$ as h,$$ as m,on as t,attr as s,next as p,prev as x,asHtml as r,hotkey as b,behavior as k,makelogger as w}from"./19.js";const E=w("tabs"),c=e=>m(e,"[role=tab]"),u=e=>h(e,"[role=tab][aria-selected=true]"),i=(e,n)=>{const o=s(e,"aria-controls");return o===null?(E("Tab",e,"has no associated tabpanel"),null):n.getElementById(o)},f=(e,n,o)=>{if(!o)return;const a=u(n);if(a){s(a,{ariaSelected:!1,tabindex:-1});const l=i(a,e);l&&(l.hidden=!0)}s(o,{ariaSelected:!0,tabindex:0});const d=i(o,e);d&&(d.hidden=!1),o.focus()},g=k("[role=tablist]",(e,{root:n})=>{e instanceof HTMLElement&&(e.tabIndex=0,c(e).forEach(o=>o.tabIndex=-1),f(n,e,u(e)),t(e,"focus",o=>u(e)?.focus()),t(e,"click",o=>f(n,e,r(r(o.target)?.closest("[role=tab]")))),t(e,"focusin",o=>f(n,e,r(r(o.target)?.closest("[role=tab]")))),t(e,"keydown",b({ArrowRight:o=>r(p(e,"[role=tab]",r(o.target)))?.focus(),ArrowLeft:o=>r(x(e,"[role=tab]",r(o.target)))?.focus(),Home:o=>c(e).at(0)?.focus(),End:o=>c(e).at(-1)?.focus()})))});g(document);var y=g;export{y as default,g as tablist};
-
-/*# sourceMappingURL=./tabs.js.map */ \ No newline at end of file
diff --git a/www/releases/_artifacts/v1.0.4/missing-js/tabs.js.map b/www/releases/_artifacts/v1.0.4/missing-js/tabs.js.map
deleted file mode 100644
index 598aa31..0000000
--- a/www/releases/_artifacts/v1.0.4/missing-js/tabs.js.map
+++ /dev/null
@@ -1 +0,0 @@
-{"version":3,"sources":["/missing-js/tabs.js"],"sourcesContent":["/// a tabs library.\n\nimport { $, $$, on, attr, next, prev, asHtml, hotkey, behavior, makelogger } from \"./19.js\";\n\nconst ilog = makelogger(\"tabs\");\n\n/** \n * @param {Element} tablist\n * @returns {HTMLElement[]}\n */\nconst tabsOf = tablist => $$(tablist, \"[role=tab]\");\n\n/** \n * @param {Element} tablist\n * @returns {HTMLElement | null}\n */\nconst currentTab = tablist => $(tablist, \"[role=tab][aria-selected=true]\");\n\n/** \n * @param {Element} tab\n * @param {import(\"./19.js\").Root} root\n * @returns {HTMLElement | null}\n */\nconst tabPanelOf = (tab, root) => {\n const id = attr(tab, \"aria-controls\");\n if (id === null) return ilog(\"Tab\", tab, \"has no associated tabpanel\"), null;\n return root.getElementById(id);\n}\n\n/** \n * @param {import(\"./19.js\").Root} root\n * @param {Element} tablist\n * @param {HTMLElement | null} tab\n * @returns {void}\n */\nconst switchTab = (root, tablist, tab) => {\n if (!tab) return;\n const curtab = currentTab(tablist);\n\n if (curtab) {\n attr(curtab, { ariaSelected: false, tabindex: -1 });\n const tabpanel = tabPanelOf(curtab, root);\n if (tabpanel) tabpanel.hidden = true;\n }\n attr(tab, { ariaSelected: true, tabindex: 0 });\n \n const tabpanel = tabPanelOf(tab, root);\n if (tabpanel) tabpanel.hidden = false;\n\n tab.focus();\n};\n\n/**\n * https://www.w3.org/WAI/ARIA/apg/patterns/tabpanel/\n */\nexport const tablist = behavior(\"[role=tablist]\", (tablist, { root }) => {\n if (!(tablist instanceof HTMLElement)) return;\n tablist.tabIndex = 0;\n tabsOf(tablist).forEach(tab => tab.tabIndex = -1);\n switchTab(root, tablist, currentTab(tablist));\n\n on(tablist, \"focus\", _ => currentTab(tablist)?.focus());\n\n on(tablist, \"click\", e => switchTab(root, tablist, asHtml(asHtml(e.target)?.closest(\"[role=tab]\"))));\n on(tablist, \"focusin\", e => switchTab(root, tablist, asHtml(asHtml(e.target)?.closest(\"[role=tab]\"))));\n\n on(tablist, \"keydown\", hotkey({\n \"ArrowRight\": e => asHtml(next(tablist, \"[role=tab]\", asHtml(e.target)))?.focus(),\n \"ArrowLeft\": e => asHtml(prev(tablist, \"[role=tab]\", asHtml(e.target)))?.focus(),\n \"Home\": _ => tabsOf(tablist).at(0)?.focus(),\n \"End\": _ => tabsOf(tablist).at(-1)?.focus(),\n }));\n})\n\ntablist(document);\nexport default tablist;\n\n"],"mappings":"AAEA,OAAS,KAAAA,EAAG,MAAAC,EAAI,MAAAC,EAAI,QAAAC,EAAM,QAAAC,EAAM,QAAAC,EAAM,UAAAC,EAAQ,UAAAC,EAAQ,YAAAC,EAAU,cAAAC,MAAkB,UAElF,MAAMC,EAAOD,EAAW,MAAM,EAMxBE,EAASC,GAAWX,EAAGW,EAAS,YAAY,EAM5CC,EAAaD,GAAWZ,EAAEY,EAAS,gCAAgC,EAOnEE,EAAa,CAACC,EAAKC,IAAS,CAChC,MAAMC,EAAKd,EAAKY,EAAK,eAAe,EACpC,OAAIE,IAAO,MAAaP,EAAK,MAAOK,EAAK,4BAA4B,EAAG,MACjEC,EAAK,eAAeC,CAAE,CAC/B,EAQMC,EAAY,CAACF,EAAMJ,EAASG,IAAQ,CACxC,GAAI,CAACA,EAAK,OACV,MAAMI,EAASN,EAAWD,CAAO,EAEjC,GAAIO,EAAQ,CACVhB,EAAKgB,EAAQ,CAAE,aAAc,GAAO,SAAU,EAAG,CAAC,EAClD,MAAMC,EAAWN,EAAWK,EAAQH,CAAI,EACpCI,IAAUA,EAAS,OAAS,GAClC,CACAjB,EAAKY,EAAK,CAAE,aAAc,GAAM,SAAU,CAAE,CAAC,EAE7C,MAAMK,EAAWN,EAAWC,EAAKC,CAAI,EACjCI,IAAUA,EAAS,OAAS,IAEhCL,EAAI,MAAM,CACZ,EAKaH,EAAUJ,EAAS,iBAAkB,CAACI,EAAS,CAAE,KAAAI,CAAK,IAAM,CACjEJ,aAAmB,cACzBA,EAAQ,SAAW,EACnBD,EAAOC,CAAO,EAAE,QAAQG,GAAOA,EAAI,SAAW,EAAE,EAChDG,EAAUF,EAAMJ,EAASC,EAAWD,CAAO,CAAC,EAE5CV,EAAGU,EAAS,QAASS,GAAKR,EAAWD,CAAO,GAAG,MAAM,CAAC,EAEtDV,EAAGU,EAAS,QAAWU,GAAKJ,EAAUF,EAAMJ,EAASN,EAAOA,EAAOgB,EAAE,MAAM,GAAG,QAAQ,YAAY,CAAC,CAAC,CAAC,EACrGpB,EAAGU,EAAS,UAAWU,GAAKJ,EAAUF,EAAMJ,EAASN,EAAOA,EAAOgB,EAAE,MAAM,GAAG,QAAQ,YAAY,CAAC,CAAC,CAAC,EAErGpB,EAAGU,EAAS,UAAWL,EAAO,CAC5B,WAAce,GAAKhB,EAAOF,EAAKQ,EAAS,aAAcN,EAAOgB,EAAE,MAAM,CAAC,CAAC,GAAG,MAAM,EAChF,UAAcA,GAAKhB,EAAOD,EAAKO,EAAS,aAAcN,EAAOgB,EAAE,MAAM,CAAC,CAAC,GAAG,MAAM,EAChF,KAAQD,GAAKV,EAAOC,CAAO,EAAE,GAAG,CAAC,GAAG,MAAM,EAC1C,IAAOS,GAAKV,EAAOC,CAAO,EAAE,GAAG,EAAE,GAAG,MAAM,CAC5C,CAAC,CAAC,EACJ,CAAC,EAEDA,EAAQ,QAAQ,EAChB,IAAOW,EAAQX","names":["$","$$","on","attr","next","prev","asHtml","hotkey","behavior","makelogger","ilog","tabsOf","tablist","currentTab","tabPanelOf","tab","root","id","switchTab","curtab","tabpanel","_","e","tabs_default"],"sourceRoot":"file:///home/dz4k/Documents/Projects/bigsky.software/missing.css","file":"/missing-js/tabs.js.map"} \ No newline at end of file
diff --git a/www/releases/_artifacts/v1.0.4/missing-prism.css b/www/releases/_artifacts/v1.0.4/missing-prism.css
deleted file mode 100644
index 23e48b5..0000000
--- a/www/releases/_artifacts/v1.0.4/missing-prism.css
+++ /dev/null
@@ -1,62 +0,0 @@
-
-.token.comment,
-.token.prolog,
-.token.doctype,
-.token.cdata,
-.token.punctuation {
- color: var(--muted-fg);
-}
-
-.token.property,
-.token.tag,
-.token.boolean,
-.token.number,
-.token.constant,
-.token.symbol,
-.token.deleted {
- color: var(--bad-fg);
-}
-
-.token.selector,
-.token.attr-name,
-.token.string,
-.token.char,
-.token.builtin,
-.token.inserted {
- color: var(--ok-fg);
-}
-
-.token.operator,
-.token.entity,
-.token.url,
-.language-css .token.string,
-.style .token.string,
-.token.regex,
-.token.important,
-.token.variable {
- color: var(--warn-fg)
-}
-
-.token.atrule,
-.token.attr-value,
-.token.keyword {
- color: var(--info-fg);
-}
-
-.token.function {
- color: var(--bad-fg);
- font-style: italic;
-}
-
-.token.important,
-.token.bold {
- font-weight: bold;
-}
-
-.token.italic {
- font-style: italic;
-}
-
-.token.entity {
- cursor: help;
-}
diff --git a/www/releases/_artifacts/v1.0.4/missing-prism.min.css b/www/releases/_artifacts/v1.0.4/missing-prism.min.css
deleted file mode 100644
index 41c91b1..0000000
--- a/www/releases/_artifacts/v1.0.4/missing-prism.min.css
+++ /dev/null
@@ -1 +0,0 @@
-.token.cdata,.token.comment,.token.doctype,.token.prolog,.token.punctuation{color:var(--muted-fg)}.token.boolean,.token.constant,.token.deleted,.token.number,.token.property,.token.symbol,.token.tag{color:var(--bad-fg)}.token.attr-name,.token.builtin,.token.char,.token.inserted,.token.selector,.token.string{color:var(--ok-fg)}.language-css .token.string,.style .token.string,.token.entity,.token.important,.token.operator,.token.regex,.token.url,.token.variable{color:var(--warn-fg)}.token.atrule,.token.attr-value,.token.keyword{color:var(--info-fg)}.token.function{color:var(--bad-fg);font-style:italic}.token.bold,.token.important{font-weight:700}.token.italic{font-style:italic}.token.entity{cursor:help} \ No newline at end of file
diff --git a/www/releases/_artifacts/v1.0.4/missing.css b/www/releases/_artifacts/v1.0.4/missing.css
deleted file mode 100644
index de6a497..0000000
--- a/www/releases/_artifacts/v1.0.4/missing.css
+++ /dev/null
@@ -1,2390 +0,0 @@
-/* Document
- * ========================================================================== */
-
-/**
- * 1. Add border box sizing in all browsers (opinionated).
- * 2. Backgrounds do not repeat by default (opinionated).
- */
-
-*,
-::before,
-::after {
- box-sizing: border-box; /* 1 */
- background-repeat: no-repeat; /* 2 */
-}
-
-/**
- * 1. Add text decoration inheritance in all browsers (opinionated).
- * 2. Add vertical alignment inheritance in all browsers (opinionated).
- */
-
-::before,
-::after {
- text-decoration: inherit; /* 1 */
- vertical-align: inherit; /* 2 */
-}
-
-/**
- * 1. Use the default cursor in all browsers (opinionated).
- * 3. Breaks words to prevent overflow in all browsers (opinionated).
- * 5. Remove the grey highlight on links in iOS (opinionated).
- * 6. Prevent adjustments of font size after orientation changes in iOS.
- */
-
-:root {
- cursor: default; /* 1 */
- overflow-wrap: break-word; /* 3 */
- -webkit-tap-highlight-color: transparent; /* 5 */
- text-size-adjust: none;
- -webkit-text-size-adjust: none;
-}
-
-/* Text-level semantics
- * ========================================================================== */
-
-/**
- * Add the correct text decoration in Safari.
- */
-
-abbr[title] {
- text-decoration: underline;
- -webkit-text-decoration: underline dotted;
- text-decoration: underline dotted;
-}
-
-/**
- * Add the correct font weight in Chrome, Edge, and Safari.
- */
-
-strong, b {
- font-weight: bolder;
-}
-
-/**
- * Add the correct font size in all browsers.
- */
-
-small {
- font-size: 80%;
-}
-
-/* Embedded content
- * ========================================================================== */
-
-/*
- * Change the alignment on media elements in all browsers (opinionated).
- */
-
-audio, canvas, iframe, img, svg, video {
- vertical-align: middle;
-}
-
-/**
- * Change the fill color to match the text color in all browsers (opinionated).
- */
-
-svg:not([fill]) {
- fill: currentColor;
-}
-
-/* Tabular data
- * ========================================================================== */
-
-/**
- * 1. Collapse border spacing in all browsers (opinionated).
- * 2. Correct table border color in Chrome, Edge, and Safari.
- * 3. Remove text indentation from table contents in Chrome, Edge, and Safari.
- */
-
-table {
- border-collapse: collapse; /* 1 */
- border-color: currentColor; /* 2 */
- text-indent: 0; /* 3 */
-}
-
-/* Forms
- * ========================================================================== */
-
-/**
- * Remove the margin on controls in Safari.
- */
-
-button, input, select {
- margin: 0;
-}
-
-/**
- * Correct the inability to style buttons in iOS and Safari.
- */
-
-button, [type="button"], [type="reset"], [type="submit"] {
- -webkit-appearance: button;
-}
-
-/**
- * Change the inconsistent appearance in all browsers (opinionated).
- */
-
-fieldset {
- border: 1px solid #a0a0a0;
-}
-
-/**
- * Add the correct vertical alignment in Chrome, Edge, and Firefox.
- */
-
-progress {
- vertical-align: baseline;
-}
-
-/**
- * 1. Remove the margin in Firefox and Safari.
- */
-
-textarea {
- margin: 0; /* 1 */
-}
-
-/**
- * 1. Correct the odd appearance in Chrome, Edge, and Safari.
- * 2. Correct the outline style in Safari.
- */
-
-[type="search"] {
- -webkit-appearance: textfield; /* 1 */
- outline-offset: -2px; /* 2 */
-}
-
-/**
- * Correct the cursor style of increment and decrement buttons in Safari.
- */
-
-::-webkit-inner-spin-button,
-::-webkit-outer-spin-button {
- block-size: auto;
-}
-
-/**
- * Correct the text style of placeholders in Chrome, Edge, and Safari.
- */
-
-::-webkit-input-placeholder {
- color: inherit;
- opacity: 0.54;
-}
-
-/**
- * Remove the inner padding in Chrome, Edge, and Safari on macOS.
- */
-
-::-webkit-search-decoration {
- -webkit-appearance: none;
-}
-
-/**
- * 1. Correct the inability to style upload buttons in iOS and Safari.
- * 2. Change font properties to `inherit` in Safari.
- */
-
-::-webkit-file-upload-button {
- -webkit-appearance: button; /* 1 */
- font: inherit; /* 2 */
-}
-
-/* Interactive
- * ========================================================================== */
-
-[hidden] {
- display: none !important;
-}
-
-:focus-visible {
- outline: .2em solid var(--accent);
- z-index: 32;
-}
-
-iframe:focus-visible,
- html:focus-visible,
- body:focus-visible {
- outline: none;
- }
-
-:target {
- outline: .2em solid var(--fg);
- z-index: 2;
-}
-
-/*
- * Add the correct display in Safari.
- */
-
-details > summary:first-of-type {
- display: list-item;
-}
-
-/* Accessibility
- * ========================================================================== */
-
-/**
- * Change the cursor on busy elements in all browsers (opinionated).
- */
-
-[aria-busy="true"] {
- cursor: progress;
-}
-
-/*
- * Change the cursor on disabled, not-editable, or otherwise
- * inoperable elements in all browsers (opinionated).
- */
-
-[aria-disabled="true"], [disabled] {
- cursor: not-allowed;
-}
-
-datalist {
- display: none !important;
-}
-
-/* https://github.com/fchristant/colar/ */
-
-:root {
- --gray-0: #f8fafb;
- --gray-1: #f2f4f6;
- --gray-2: #ebedef;
- --gray-3: #e0e4e5;
- --gray-4: #d1d6d8;
- --gray-5: #b1b6b9;
- --gray-6: #979b9d;
- --gray-7: #7e8282;
- --gray-8: #666968;
- --gray-9: #50514f;
- --gray-10: #3a3a37;
- --gray-11: #252521;
- --gray-12: #121210;
-
- --red-0: #fff5f5;
- --red-1: #ffe3e3;
- --red-2: #ffc9c9;
- --red-3: #ffa8a8;
- --red-4: #ff8787;
- --red-5: #ff6b6b;
- --red-6: #fa5252;
- --red-7: #f03e3e;
- --red-8: #e03131;
- --red-9: #c92a2a;
- --red-10: #b02525;
- --red-11: #962020;
- --red-12: #7d1a1a;
-
- --pink-0: #fff0f6;
- --pink-1: #ffdeeb;
- --pink-2: #fcc2d7;
- --pink-3: #faa2c1;
- --pink-4: #f783ac;
- --pink-5: #f06595;
- --pink-6: #e64980;
- --pink-7: #d6336c;
- --pink-8: #c2255c;
- --pink-9: #a61e4d;
- --pink-10: #8c1941;
- --pink-11: #731536;
- --pink-12: #59102a;
-
- --purple-0: #f8f0fc;
- --purple-1: #f3d9fa;
- --purple-2: #eebefa;
- --purple-3: #e599f7;
- --purple-4: #da77f2;
- --purple-5: #cc5de8;
- --purple-6: #be4bdb;
- --purple-7: #ae3ec9;
- --purple-8: #9c36b5;
- --purple-9: #862e9c;
- --purple-10: #702682;
- --purple-11: #5a1e69;
- --purple-12: #44174f;
-
- --violet-0: #f3f0ff;
- --violet-1: #e5dbff;
- --violet-2: #d0bfff;
- --violet-3: #b197fc;
- --violet-4: #9775fa;
- --violet-5: #845ef7;
- --violet-6: #7950f2;
- --violet-7: #7048e8;
- --violet-8: #6741d9;
- --violet-9: #5f3dc4;
- --violet-10: #5235ab;
- --violet-11: #462d91;
- --violet-12: #3a2578;
-
- --indigo-0: #edf2ff;
- --indigo-1: #dbe4ff;
- --indigo-2: #bac8ff;
- --indigo-3: #91a7ff;
- --indigo-4: #748ffc;
- --indigo-5: #5c7cfa;
- --indigo-6: #4c6ef5;
- --indigo-7: #4263eb;
- --indigo-8: #3b5bdb;
- --indigo-9: #364fc7;
- --indigo-10: #2f44ad;
- --indigo-11: #283a94;
- --indigo-12: #21307a;
-
- --blue-0: #e7f5ff;
- --blue-1: #d0ebff;
- --blue-2: #a5d8ff;
- --blue-3: #74c0fc;
- --blue-4: #4dabf7;
- --blue-5: #339af0;
- --blue-6: #228be6;
- --blue-7: #1c7ed6;
- --blue-8: #1971c2;
- --blue-9: #1864ab;
- --blue-10: #145591;
- --blue-11: #114678;
- --blue-12: #0d375e;
-
- --cyan-0: #e3fafc;
- --cyan-1: #c5f6fa;
- --cyan-2: #99e9f2;
- --cyan-3: #66d9e8;
- --cyan-4: #3bc9db;
- --cyan-5: #22b8cf;
- --cyan-6: #15aabf;
- --cyan-7: #1098ad;
- --cyan-8: #0c8599;
- --cyan-9: #0b7285;
- --cyan-10: #095c6b;
- --cyan-11: #074652;
- --cyan-12: #053038;
-
- --teal-0: #e6fcf5;
- --teal-1: #c3fae8;
- --teal-2: #96f2d7;
- --teal-3: #63e6be;
- --teal-4: #38d9a9;
- --teal-5: #20c997;
- --teal-6: #12b886;
- --teal-7: #0ca678;
- --teal-8: #099268;
- --teal-9: #087f5b;
- --teal-10: #066649;
- --teal-11: #054d37;
- --teal-12: #033325;
-
- --green-0: #ebfbee;
- --green-1: #d3f9d8;
- --green-2: #b2f2bb;
- --green-3: #8ce99a;
- --green-4: #69db7c;
- --green-5: #51cf66;
- --green-6: #40c057;
- --green-7: #37b24d;
- --green-8: #2f9e44;
- --green-9: #2b8a3e;
- --green-10: #237032;
- --green-11: #1b5727;
- --green-12: #133d1b;
-
- --lime-0: #f4fce3;
- --lime-1: #e9fac8;
- --lime-2: #d8f5a2;
- --lime-3: #c0eb75;
- --lime-4: #a9e34b;
- --lime-5: #94d82d;
- --lime-6: #82c91e;
- --lime-7: #74b816;
- --lime-8: #66a80f;
- --lime-9: #5c940d;
- --lime-10: #4c7a0b;
- --lime-11: #3c6109;
- --lime-12: #2c4706;
-
- --yellow-0: #fff9db;
- --yellow-1: #fff3bf;
- --yellow-2: #ffec99;
- --yellow-3: #ffe066;
- --yellow-4: #ffd43b;
- --yellow-5: #fcc419;
- --yellow-6: #fab005;
- --yellow-7: #f59f00;
- --yellow-8: #f08c00;
- --yellow-9: #e67700;
- --yellow-10: #b35c00;
- --yellow-11: #804200;
- --yellow-12: #663500;
-
- --orange-0: #fff4e6;
- --orange-1: #ffe8cc;
- --orange-2: #ffd8a8;
- --orange-3: #ffc078;
- --orange-4: #ffa94d;
- --orange-5: #ff922b;
- --orange-6: #fd7e14;
- --orange-7: #f76707;
- --orange-8: #e8590c;
- --orange-9: #d9480f;
- --orange-10: #bf400d;
- --orange-11: #99330b;
- --orange-12: #802b09;
-
- --choco-0: #fff8dc;
- --choco-1: #fce1bc;
- --choco-2: #f7ca9e;
- --choco-3: #f1b280;
- --choco-4: #e99b62;
- --choco-5: #df8545;
- --choco-6: #d46e25;
- --choco-7: #bd5f1b;
- --choco-8: #a45117;
- --choco-9: #8a4513;
- --choco-10: #703a13;
- --choco-11: #572f12;
- --choco-12: #3d210d;
-
- --brown-0: #faf4eb;
- --brown-1: #ede0d1;
- --brown-2: #e0cab7;
- --brown-3: #d3b79e;
- --brown-4: #c5a285;
- --brown-5: #b78f6d;
- --brown-6: #a87c56;
- --brown-7: #956b47;
- --brown-8: #825b3a;
- --brown-9: #6f4b2d;
- --brown-10:#5e3a21;
- --brown-11:#4e2b15;
- --brown-12: #422412;
-
- --sand-0: #f8fafb;
- --sand-1: #e6e4dc;
- --sand-2: #d5cfbd;
- --sand-3: #c2b9a0;
- --sand-4: #aea58c;
- --sand-5: #9a9178;
- --sand-6: #867c65;
- --sand-7: #736a53;
- --sand-8: #5f5746;
- --sand-9: #4b4639;
- --sand-10:#38352d;
- --sand-11:#252521;
- --sand-12: #121210;
-
- --camo-0: #f9fbe7;
- --camo-1: #e8ed9c;
- --camo-2: #d2df4e;
- --camo-3: #c2ce34;
- --camo-4: #b5bb2e;
- --camo-5: #a7a827;
- --camo-6: #999621;
- --camo-7: #8c851c;
- --camo-8: #7e7416;
- --camo-9: #6d6414;
- --camo-10: #5d5411;
- --camo-11: #4d460e;
- --camo-12: #36300a;
-
- --jungle-0: #ecfeb0;
- --jungle-1: #def39a;
- --jungle-2: #d0e884;
- --jungle-3: #c2dd6e;
- --jungle-4: #b5d15b;
- --jungle-5: #a8c648;
- --jungle-6: #9bbb36;
- --jungle-7: #8fb024;
- --jungle-8: #84a513;
- --jungle-9: #7a9908;
- --jungle-10: #658006;
- --jungle-11: #516605;
- --jungle-12: #3d4d04;
-}
-
-/***
- 4.1 The document element
- https://html.spec.whatwg.org/multipage/semantics.html#the-root-element
-
- 4.3 Sections
- https://html.spec.whatwg.org/multipage/sections.html
- ***/
-
-html {
- font-family: var(--main-font);
- line-height: var(--rhythm);
-
- background: var(--bg);
- color: var(--fg);
- scroll-padding-block-start: calc(4 * var(--gap));
-}
-
-body {
- margin: 0;
-}
-
-header, footer, section + section {
- margin-block: calc(2 * var(--gap));
-}
-
-nav a {
- text-decoration: none;
- color: var(--accent);
- }
-
-/* SEE components/box.css */
-
-aside h1,
- aside h2,
- aside h3,
- aside h4,
- aside h5,
- aside h6 {
- font-size: 1em;
- text-transform: none;
- letter-spacing: none;
- }
-
-aside.big {
- /* Pull quote */
- background: none;
- border: none;
- border-inline-start: 1px solid var(--muted-fg);
- border-radius: 0;
- padding: 0;
- padding-inline-start: var(--rhythm);
- font-style: italic;
- color: var(--accent);
- }
-
-h1, h2, h3, h4, h5, h6,
-.\<h1\>, .\<h2\>, .\<h3\>, .\<h4\>, .\<h5\>, .\<h6\> {
- margin-block-end: var(--gap);
- font-family: var(--secondary-font);
- font-size: 1em;
- margin-block-start: calc(2 * var(--gap));
- position: relative;
-}
-
-h1, .\<h1\> {
- font-size: 2em;
- text-transform: none;
- line-height: calc(2 * var(--rhythm));
- letter-spacing: 0;
-}
-
-h2, .\<h2\> {
- font-size: 1.6em;
- text-transform: none;
- line-height: calc(1.5 * var(--rhythm));
- letter-spacing: 0;
-}
-
-h3, .\<h3\> {
- font-size: 1.17em;
- line-height: calc(1 * var(--rhythm));
-}
-
-h4, .\<h4\>, h5, .\<h5\>, h6, .\<h6\> {
- font-size: 1em;
- text-transform: none;
- line-height: calc(1 * var(--rhythm));
- letter-spacing: 0;
- margin-block-start: var(--gap);
-}
-
-h1 + h2,
-h2 + h3,
-h3 + h4,
-h4 + h5,
-h5 + h6,
-h1:first-child,
-h2:first-child,
-h3:first-child,
-h4:first-child,
-h5:first-child,
-h6:first-child {
- margin-block-start: var(--gap);
-}
-
-h1:target,
-h2:target,
-h3:target,
-h4:target,
-h5:target,
-h6:target {
- outline: none
-}
-
-h1:target::before, h2:target::before, h3:target::before, h4:target::before, h5:target::before, h6:target::before {
- content: "";
- display: block;
- position: absolute;
- left: -.5em;
- width: 4px;
- height: 100%;
- background: var(--accent);
- }
-
-header {
- font-family: var(--secondary-font);
- border-block-end: 1px solid var(--graphical-fg);
-}
-
-footer {
- font-family: var(--secondary-font);
- border-block-start: 1px solid var(--graphical-fg);
-}
-
-body > header,
-body > footer,
-main + footer {
- padding: var(--rhythm) calc((100% - var(--eff-line-length)) / 2)
-}
-
-address {
- --density: 0;
-}
-
-/***
- 4.4 Grouping content
- https://html.spec.whatwg.org/multipage/grouping-content.html
- ***/
-
-p {
- margin-block: var(--gap);
-}
-
-hr {
- color: inherit;
- margin-inline: 0;
- margin-block: var(--gap);
-
- flex: 0 1 0px;
- border-inline-start: 1px solid var(--accent);
- block-size: auto;
- border-block-start: 1px solid var(--accent);
- border-block-end: none;
- border-inline-end: none;
-}
-
-pre {
- font-family: var(--mono-font);
- font-size: .9em;
- line-height: var(--rhythm);
- -o-tab-size: 2;
- tab-size: 2;
-
- margin: var(--gap) 0;
-
- overflow-x: auto;
- scrollbar-width: thin;
- scrollbar-color: var(--accent) transparent;
-}
-
-blockquote {
- margin-inline: 0 var(--gap);
- padding-inline: var(--gap) 0;
- margin-block: var(--gap);
-
- font-size: 1.1em;
- line-height: var(--rhythm);
- font-style: italic;
-
- border-inline-start: 1px solid var(--graphical-fg);
- color: var(--muted-fg)
-}
-
-blockquote em, blockquote cite, blockquote dfn, blockquote var, blockquote i, blockquote address {
- font-style: normal;
- }
-
-blockquote footer {
- text-align: right;
- text-align: end;
- }
-
-ul, ol {
- padding-inline-start: var(--rhythm)
-}
-
-ul ul, ul ol, ol ul, ol ol {
- padding-inline-start: var(--gap);
- }
-
-ul[role="list"], ol[role="list"], ul[role="listbox"], ol[role="listbox"] {
- padding-inline-start: 0;
- list-style: none;
- }
-
-ul {
-}
-
-ol {
- list-style: decimal;
-}
-
-dl {
- margin-block: var(--gap);
-}
-
-dt {
- font-weight: bold;
- }
-
-dd {
- margin-inline-start: var(--rhythm);
- }
-
-li::marker {
- font-family: var(--secondary-font);
-}
-
-figure {
- max-width: 100%;
- margin-inline: 0;
-
- /* SEE components/box.css */
-}
-
-figcaption {
- margin-block: var(--gap);
-
- font-family: var(--secondary-font);
-
- color: var(--muted-fg);
-}
-
-main {
- max-inline-size: var(--eff-line-length);
- inline-size: 100%;
- margin-inline: auto
-}
-
-main:first-child { padding-top: var(--gap); }
-
-/***
- 4.5 Text-level semantics
- https://html.spec.whatwg.org/multipage/text-level-semantics.html
-
- 4.7 Edits
- https://html.spec.whatwg.org/multipage/edits.html
- ***/
-
-/* Text-level semantics */
-
-a, .\<a\> {
- color: var(--link-fg, var(--accent));
- font-family: var(--secondary-font);
- border-radius: var(--border-radius);
- outline-offset: 1px;
- background: none;
- border: none;
- font-size: 1em
-}
-
-.list-of-links :is(a,.\<a\>) {
- text-decoration: none
-}
-
-:is(a,.\<a\>):hover, :is(a,.\<a\>):focus {
- text-decoration: none;
- outline: 1px solid;
- transition: outline-offset .1s ease-in-out;
- }
-
-:is(a,.\<a\>):active {
- outline-offset: 0;
- }
-
-small[role="note"] {
- /***
- Sidenote
- ***/
- display: block;
- float: inline-end;
- clear: inline-end;
-
- --sidenote-width: 20ch;
-
- max-inline-size: var(--sidenote-width);
- padding-inline: 1.5ch 1ch;
-
- margin-inline-end: calc(1em - var(--sidenote-width));
- margin-block-end: var(--rhythm);
-
- font-family: var(--secondary-font);
-
- background: var(--bg);
- border: 1px solid transparent;
-
- transition: transform .1s ease-in-out
- }
-
-small[role="note"]:hover, small[role="note"]:focus-within {
- border: 1px solid var(--graphical-fg);
- border-radius: var(--border-radius);
- transform: translateX(calc(
- 0px - var(--sidenote-width)
- + min(var(--gutter-width), var(--sidenote-width))
- ))
- }
-
-small, .\<small\> {
- font-size: .8em;
-}
-
-s {
- color: var(--bad-fg);
-}
-
-q {
- font-style: italic
-}
-
-q em, q cite, q dfn, q var, q i, q address {
- font-style: normal;
- }
-
-time {
- font-variant-numeric: tabular-nums;
-}
-
-code, samp, kbd {
- font-family: var(--mono-font);
- font-style: normal;
-}
-
-samp {
- color: var(--ok-fg);
-}
-
-kbd kbd /*
- We apply the key-like styling to a nested kbd element, a pattern shown in
- WHATWG HTML for marking up keyboard input:
-
- > Here the kbd element is used to indicate keys to press:
- > ~~~ html
- > <p>To make George eat an apple, press <kbd><kbd>Shift</kbd> + <kbd>F3</kbd></kbd></p>
- > ~~~
-
- The plain kbd element can also be used for clicking menus (<kbd>File |
- New...</kbd>) or voice input (<kbd>Hey Siri, </kbd>)
-*/ {
- display: inline-block;
-
- padding: 0 .3em;
- font-size: .8em;
- line-height: 1.1em;
-
- background: var(--interactive-bg);
- border: 1px outset var(--graphical-fg);
- border-block-end-width: 3px;
- border-radius: var(--border-radius);
-}
-
-sub {
- vertical-align: bottom;
- line-height: 1;
-}
-
-sup {
- vertical-align: top;
- line-height: 1;
-}
-
-mark {
- background: var(--warn-bg);
- color: var(--warn-fg);
-}
-
-/* Edits */
-
-ins {
- background: var(--ok-bg);
- color: var(--ok-fg);
-}
-
-del {
- background: var(--bad-bg);
- color: var(--bad-fg);
-}
-
-/***
- 4.8 Embedded content
- https://html.spec.whatwg.org/multipage/embedded-content.html
- ***/
-
-img, video, audio, iframe, object, embed {
- max-inline-size: 100%;
- inline-size: max-content;
- block-size: auto;
-}
-
-/***
- 4.9 Tabular data
- https://html.spec.whatwg.org/multipage/tables.html
- ***/
-
-table {
- font-variant-numeric: tabular-nums;
- font: inherit;
-}
-
-caption {
- text-align: start;
- font-family: var(--secondary-font);
- font-style: italic;
-}
-
-tbody {
- border-block: 1px solid var(--faded-fg);
-}
-
-thead {
-}
-
-tfoot {
-}
-
-tr {
-
-}
-
-td, th {
- vertical-align: top
-}
-
-td:not(:last-child), th:not(:last-child) {
- padding-inline-end: var(--rhythm);
- }
-
-td {
- }
-
-th {
- font-family: var(--secondary-font);
- text-align: start;
- }
-
-/***
- 4.10 Forms
- https://html.spec.whatwg.org/multipage/forms.html
- ***/
-
-input { display: block; }
-
-label input:not([specificity-hack]) { display: inline; padding-block: 0; }
-
-button,
-input[type="submit"],
-input[type="reset"],
-input[type="button"],
-input::file-selector-button,
-.\<button\> {
- display: inline-block;
- padding: 0 calc(var(--rhythm) / 4);
- vertical-align: middle;
-
- font-size: .8rem;
- line-height: 1.125em;
- font-family: var(--secondary-font);
- min-height: var(--rhythm);
-
- background: var(--interactive-bg);
- color: var(--fg);
- border: 1px solid var(--muted-fg);
- box-sizing: border-box;
- border-radius: var(--border-radius);
-
- /* a-specific resets */
- color: var(--fg);
- text-decoration: none;
- display: inline-flex;
- place-items: center
-}
-
-:is(button,input[type="submit"],input[type="reset"],input[type="button"],input::file-selector-button,.\<button\>):hover, :is(button,input[type="submit"],input[type="reset"],input[type="button"],input::file-selector-button,.\<button\>):focus-visible {
- filter: brightness(1.1);
-
- /* a-specific resets */
- text-decoration: none;
- }
-
-:is(button,input[type="submit"],input[type="reset"],input[type="button"],input::file-selector-button,.\<button\>):active {
- filter: brightness(.8);
- }
-
-[aria-pressed="true"]:is(button,input[type="submit"],input[type="reset"],input[type="button"],input::file-selector-button,.\<button\>), [aria-expanded="true"]:is(button,input[type="submit"],input[type="reset"],input[type="button"],input::file-selector-button,.\<button\>) {
- box-shadow: 0 .05em var(--accent) inset;
- background: var(--pressed-interactive-bg);
- }
-
-[disabled]:is(button,input[type="submit"],input[type="reset"],input[type="button"],input::file-selector-button,.\<button\>) {
- color: var(--muted-fg);
- }
-
-strong > :is(button,input[type="submit"],input[type="reset"],input[type="button"],input::file-selector-button,.\<button\>) {
- background: var(--accent);
- color: var(--bg);
- border: none;
- font-weight: bold
-}
-
-strong > [disabled]:is(button,input[type="submit"],input[type="reset"],input[type="button"],input::file-selector-button,.\<button\>) {
- color: var(--muted-accent);
- }
-
-.big:is(button,input[type="submit"],input[type="reset"],input[type="button"],input::file-selector-button,.\<button\>) {
- min-block-size: calc(1.5 * var(--rhythm));
- font-size: 1rem;
- padding-inline: calc(.5 * var(--rhythm));
- line-height: var(--rhythm)
-}
-
-input:not([type]),
-input[type="text"],
-input[type="search"],
-input[type="tel"],
-input[type="url"],
-input[type="email"],
-input[type="password"],
-input[type="date"],
-input[type="month"],
-input[type="week"],
-input[type="time"],
-input[type="datetime"],
-input[type="datetime-local"],
-input[type="number"],
-select,
-textarea {
- padding: calc(var(--rhythm) / 4);
- vertical-align: top;
-
- font-size: 1rem;
- line-height: inherit;
- font-family: var(--main-font);
-
- background: var(--bg);
- color: var(--fg);
- border: 1px solid var(--graphical-fg);
- border-radius: var(--border-radius);
-
- vertical-align: top
-}
-
-:is(input:not([type]),input[type="text"],input[type="search"],input[type="tel"],input[type="url"],input[type="email"],input[type="password"],input[type="date"],input[type="month"],input[type="week"],input[type="time"],input[type="datetime"],input[type="datetime-local"],input[type="number"],select,textarea):focus-visible {
- border: 1px solid var(--accent);
- }
-
-:is(input:not([type]),input[type="text"],input[type="search"],input[type="tel"],input[type="url"],input[type="email"],input[type="password"],input[type="date"],input[type="month"],input[type="week"],input[type="time"],input[type="datetime"],input[type="datetime-local"],input[type="number"],select,textarea)::placeholder {
- color: var(--muted-fg);
- opacity: 1;
- text-align: end;
- }
-
-input[type="range"] {
- width: 100%;
- padding: calc(var(--gap) / 4);
-}
-
-input[type="color"] {
- padding: 0;
- margin: 0;
- height: calc(1.5 * var(--rhythm));
-
- border: none;
- background: none;
-}
-
-input[type="file"] {
- padding: calc(var(--gap) / 4) 0;
- font: inherit;
- line-height: calc(var(--rhythm) / 2)
-}
-
-input[type="file"]::file-selector-button {
- margin-block: .1em 0;
- margin-inline-end: 1ch;
- }
-
-select[multiple] {
- vertical-align: top;
-}
-
-optgroup::before {
- color: var(--muted-fg);
- font-style: normal;
-}
-
-progress {
- /* TODO */
-}
-
-meter {
- /* TODO */
-}
-
-label[for] {
- display: block;
- padding-block: calc(var(--gap) / 4);
-}
-
-fieldset {
- position: relative;
-
- padding: var(--gap);
- margin: var(--gap) 0;
- width: 100%;
- border-radius: var(--border-radius);
-}
-
-fieldset > legend + * { margin-block-start: 0 }
-
-fieldset {
-
- border: 1px solid var(--graphical-fg);
-}
-
-/***
- 4.11 Interactive elements
- https://html.spec.whatwg.org/multipage/interactive-elements.html#interactive-elements
- ***/
-
-details:not(specificity-hack) {
- /* SEE components/box.css */
-
- padding-block-start: 0
-}
-
-details:not(specificity-hack):not([open]) { padding-block-end: 0; }
-
-summary {
- margin: calc(0px - var(--gap));
- margin-top: calc(0px - var(--gap));
- margin-bottom: 0;
- padding-inline: var(--gap);
-
- font-family: var(--secondary-font);
- font-weight: bold;
-
- background: var(--accent);
- color: var(--bg);
-
- cursor: pointer
-}
-
-summary:focus-visible, summary:active {
- filter: brightness(.8);
- }
-
-details[open] summary {
- border-block-end: 1px solid var(--accent);
- border-end-end-radius: 0;
- border-end-start-radius: 0
-}
-
-dialog {
- /* SEE components/box.css */
-
- inline-inset: 0;
-
- block-size: -moz-fit-content;
-
- block-size: fit-content;
- inline-size: -moz-fit-content;
- inline-size: fit-content;
-
- margin: auto !important;
-
- background-color: var(--bg);
- color: var(--fg);
- border-color: var(--accent);
-}
-
-dialog[open]::backdrop {
- display: block;
- background: black;
- opacity: .4;
- animation: bg 2s;
-}
-
-@keyframes bg {
- from { background: transparent; }
-}
-
-dialog:not([open]) {
- display: none;
-}
-
-.box,
-/* defined elsewhere */
-[role=menu],
-.sidebar-layout > header,
-[role=tabpanel],
-figure,
-details,
-dialog,
-aside {
- margin: var(--gap) 0;
- padding: var(--gap);
- overflow: clip;
-
- border-radius: var(--border-radius);
- background: var(--box-bg);
- border: 1px solid var(--graphical-fg);
-}
-
-.titlebar {
- margin-inline: calc(0px - var(--gap));
- margin-block-end: calc(0px - var(--gap));
- padding-inline: var(--gap);
-
- font: inherit;
- font-family: var(--secondary-font);
- font-weight: bold;
-
- translate: 0 calc(-1px - var(--gap));
-
- background: var(--graphical-fg);
- color: var(--bg);
-}
-
-.sub-title, sub-title {
- /***
- Meant for use in headings. Make sure to also use visually-hidden punctuation
- to mark the subtitle as shown below:
-
- 1 | <h1>
- 2 | Foo Bar<v-h>:</v-h>
- 3 | <sub-title>How I Learned To Stop Worrying and Love Baz</sub-title>
- 4 | </h1>
-
- 1 | <h1>
- 2 | <sub-title class="-allcaps">Breaking News</sub-title><v-h>:</v-h>
- 3 | Bad Thing Happens
- 4 | <h1>
- ***/
-
- display: block;
-
- font-weight: normal;
-
- color: var(--muted-fg);
-}
-
-.tool-bar, [role=toolbar] {
- display: flex;
- flex-flow: row wrap;
- gap: calc(var(--gap) / 2)
-}
-
-.tool-bar > *, [role=toolbar] > * { margin: 0; }
-
-.sidebar-layout header li {
- margin-block: calc(.5 * var(--gap));
- }
-
-.sidebar-layout header a {
- font-weight: bold;
- }
-
-@media (min-width: 75ch) {
-
-.sidebar-layout {
- display: grid;
- grid-template-columns: 25ch auto;
- inset: 0
-}
-
- .sidebar-layout > header {
- border-block: none;
- border-inline-start: none;
- margin: 0;
- }
-
- .sidebar-layout > :nth-child(2) {
- overflow: auto;
- --full-width: calc(100vw - 25ch);
- margin-top: var(--gap);
- }
- }
-
-.breadcrumbs[aria-label] {
- font-family: var(--secondary-font)
-}
-
-.breadcrumbs[aria-label] ul, .breadcrumbs[aria-label] ol {
- list-style: none;
- padding-inline-start: 0;
- }
-
-.breadcrumbs[aria-label] li {
- display: inline
- }
-
-:is(.breadcrumbs[aria-label] li)+li::before {
- content: ' / ' / '';
- content: ' / ';
- display: inline;
- }
-
-.breadcrumbs[aria-label] [aria-current="page"] {
- font-weight: bold;
- }
-
-.chip, chip {
- font-family: var(--secondary-font);
- border: 1px solid var(--accent);
- background: var(--box-bg);
- border-radius: calc(var(--rhythm) / 2);
- padding-inline: calc(var(--rhythm) / 2);
-}
-
-.navbar {
- padding: var(--rhythm);
-
- font-family: var(--secondary-font);
-
- background: var(--box-bg);
- border-block-end: 1px solid var(--accent);
-
- overflow-x: auto;
- scrollbar-width: thin;
-
- position: sticky;
- z-index: 5;
- top: 0;
- left: 0;
- right: 0;
-
- /* Inner layout */
- display: flex;
- flex-flow: row;
- align-items: center;
- gap: var(--gap)
-}
-
-.navbar.expanded {
- flex-flow: column;
- align-items: start;
-
- max-height: 90vh;
- overflow-y: auto
- }
-
-.navbar.expanded ul[role="list"] { flex-flow: column; }
-
-.navbar * {
- flex-shrink: 0;
- margin-block: 0;
- }
-
-.navbar:not(.expanded) > :first-child, .navbar:not(.expanded) nav > :first-child { margin-inline-start: auto; }
-
-.navbar:not(.expanded) > :last-child, .navbar:not(.expanded) nav > :last-child { margin-inline-end: auto; }
-
-.navbar hr { align-self: stretch; }
-
-.navbar nav ul[role="list"] {
- display: flex;
- flex-flow: row;
- gap: var(--rhythm)
- }
-
-.navbar nav ul[role="list"] * { flex-shrink: 0 }
-
-.navbar nav ul[role="list"] {
- padding-inline-start: 0;
- }
-
-.navbar a {
- font-weight: bold;
- text-decoration: none;
- padding-inline: .2em;
- }
-
-.navbar a:hover, .navbar a:focus {
- text-decoration: underline;
- }
-
-.navbar [aria-current=page] {
- position: relative;
- }
-
-.navbar [aria-current=page]::after {
- width: 100%;
- height: 6px;
- content: "";
- display: block;
- position: absolute;
- bottom: calc(-1 * var(--gap));
- background: currentcolor;
- }
-
-.navbar.expanded [aria-current=page]::after {
- width: 6px;
- height: 100%;
- position: absolute;
- left: calc(-1 * var(--gap));
- top: 0;
- }
-
-.permalink-anchor {
- display: none
-}
-
-*:hover > .permalink-anchor {
- display: initial
-}
-
-button.iconbutton {
- border: none;
- background: none;
- color: currentcolor;
- padding: 0;
- line-height: var(--rhythm);
- font-size: 24px;
- width: 24px;
- height: 24px;
- display: inline-block;
- text-align: center;
- border-radius: 50%;
- transition: font-weight .2s ease-in-out
-}
-
-button.iconbutton:hover, button.iconbutton:focus-visible {
- outline: 1px solid var(--accent);
- outline-offset: 6px;
- }
-
-button.iconbutton:active {
- outline-offset: 3px;
- background: none;
- }
-
-button.iconbutton[aria-pressed=true] {
- box-shadow: none;
- transform: none;
- }
-
-[role="tablist"] {
- display: flex;
- gap: .5ch;
- scrollbar-width: thin;
-}
-
-[role="tab"][role="tab"] {
- all: initial;
-
- font-family: var(--secondary-font);
-
- padding: 0 calc(var(--rhythm) / 4);
- margin: 0;
- min-height: var(--rhythm);
-
- color: var(--fg);
- border: solid var(--graphical-fg);
- border-width: 1px 1px 0 1px;
- border-block-end-color: transparent;
- background: var(--interactive-bg);
-
- border-start-start-radius: .4em;
- border-start-end-radius: .4em
-}
-
-[role="tab"][role="tab"]:active, [role="tab"][role="tab"][aria-selected="true"] {
- transform: none;
- bottom: -1px;
- position: relative;
- background: var(--box-bg);
- border-block-end: 1px solid var(--box-bg);
- }
-
-[role="tab"][role="tab"]:hover {
- background-color: var(--box-bg);
- }
-
-[role="tab"][role="tab"]:focus {
- background-color: var(--box-bg);
- border-color: var(--accent);
- outline: 1px solid var(--accent);
- }
-
-[role="tabpanel"] {
- /* SEE components/box.css */
-
- margin-block-start: 0;
- border-start-start-radius: 0;
- border-start-end-radius: 0;
- z-index: 1;
-}
-
-[role="menu"] {
- /* SEE components/box.css */
- position: absolute;
-
- z-index: 10;
-
- padding: calc(var(--gap) / 2) 0;
- margin: 1px 0 0 0;
-
- display: flex;
- flex-flow: column nowrap;
-}
-
-[role=menuitem] {
- padding: 0 calc(var(--gap) / 2);
-
- display: block;
-
- text-decoration: none;
- border-radius: 0;
-
- color: var(--fg)
-}
-
-[role=menuitem]:focus, [role=menuitem]:active {
- background: var(--accent);
- color: var(--bg);
- }
-
-[role=listbox] {
- list-style: none
-}
-
-[role=listbox] [role=option] {
- margin-inline: calc(-1 * var(--gap));
- padding-inline: var(--gap);
- }
-
-[role=listbox] [role=option][aria-selected=true] {
- background: var(--interactive-bg);
- }
-
-[role=listbox] .active[role=option] {
- --temporary-bg: var(--accent);
- --temporary-fg: var(--bg);
- --temporary-accent: parent-var(--muted-accent);
- --temporary-muted-accent: parent-var(--box-bg);
-
- background: var(--temporary-bg);
- color: var(--temporary-fg)
- }
-
-[role=listbox] .active[role=option] > * {
- --bg: var(--temporary-bg);
- --fg: var(--temporary-fg);
- --accent: var(--temporary-accent);
- --muted-accent: var(--temporary-muted-accent);
- }
-
-[aria-orientation="vertical"] {
- flex-direction: column;
- width: -moz-fit-content;
- width: fit-content;
- text-align: center;
-}
-
-.plain {
- --box-bg: var(--plain-bg);
- --accent: var(--plain-fg);
- --graphical-fg: var(--plain-graphical-fg);
-}
-
-.info {
- --box-bg: var(--info-bg);
- --accent: var(--info-fg);
- --graphical-fg: var(--info-graphical-fg);
-}
-
-.ok {
- --box-bg: var(--ok-bg);
- --accent: var(--ok-fg);
- --graphical-fg: var(--ok-graphical-fg);
-}
-
-.warn {
- --box-bg: var(--warn-bg);
- --accent: var(--warn-fg);
- --graphical-fg: var(--warn-graphical-fg);
-}
-
-.bad {
- --box-bg: var(--bad-bg);
- --accent: var(--bad-fg);
- --graphical-fg: var(--bad-graphical-fg);
-}
-
-.color {
- color: var(--accent);
-}
-
-.bg {
- background: var(--box-bg);
-}
-
-.border {
- border-style: solid;
- border-color: var(--graphical-fg);
-}
-
-:root {
- /* Colors */
- --fg: var(--gray-12); /* Text. */
- --muted-fg: var(--gray-10); /* Secondary text color. Will be
- used with a background of --c-bg and --c-bg-2 -- check contrast! */
- --faded-fg: var(--gray-6); /* Disabled text color. */
- --graphical-fg: var(--plain-graphical-fg); /* Graphical elements. Will not
- be used as a text color. */
-
- --plain-fg: var(--blue-10);
- --info-fg: var(--blue-11);
- --ok-fg: var(--green-11);
- --bad-fg: var(--red-11);
- --warn-fg: var(--yellow-11);
-
- --plain-graphical-fg: var(--gray-6);
- --info-graphical-fg: var(--blue-6);
- --ok-graphical-fg: var(--green-6);
- --bad-graphical-fg: var(--red-6);
- --warn-graphical-fg: var(--yellow-6);
-
- --bg: var(--gray-0); /* Page background. */
- --box-bg: var(--plain-bg); /* Background for blocks: cards, admonitions etc. */
- --interactive-bg: var(--gray-4); /* Background for interactive elements */
-
- --plain-bg: var(--gray-1);
- --info-bg: var(--blue-1);
- --ok-bg: var(--green-1);
- --bad-bg: var(--red-1);
- --warn-bg: var(--yellow-1);
-
- --accent: var(--blue-10); /* Accent color. Will be used *as a text color* with a
- background of --c-bg and --c-bg-2 -- check contrast! */
- --muted-accent: var(--blue-7); /* Muted accent color. Will not be used for text. */
-
- /* Lengths */
- --rhythm: 1.4rem; /* Vertical rhythm, line height. */
- --line-length: 40rem; /* Maximum line length for prose. */
- --border-radius: .2rem;
-
- /* Fonts */
- --main-font: 'Source Sans 3', 'Source Sans Pro', -apple-system, system-ui, sans-serif;
- --secondary-font: var(--main-font); /* Headings etc. */
- --mono-font: 'M Plus Code Latin', monospace, monospace; /* monospace twice stops browsers from
- shrinking this */
-
- /* Density */
- --density: 1;
-
- /* Width */
- --full-width: 100vw;
-
- /* Do not set these. */
- --eff-line-length: /* Effective line length for prose. */
- min(
- calc( var(--full-width) - (2 * var(--rhythm)) ),
- var(--line-length)
- );
-
- --gutter-width: /* Width of spaces at each side of page content. */
- calc(
- (
- var(--full-width) /* Viewport width */
- - var(--eff-line-length) /* minus line width */
- ) / 2); /* Divide by 2: there are two page margins */
-}
-
-@media (prefers-color-scheme: dark) {
- :root:not(.-no-dark-theme) {
- --fg: var(--gray-0);
- --muted-fg: var(--gray-2);
- --faded-fg: var(--gray-7);
-
- --plain-bg: var(--gray-11);
- --info-bg: var(--blue-12);
- --ok-bg: var(--green-12);
- --bad-bg: var(--red-12);
- --warn-bg: var(--yellow-12);
-
- --plain-faded-fg: var(--blue-6);
- --info-faded-fg: var(--blue-6);
- --ok-faded-fg: var(--green-6);
- --bad-faded-fg: var(--red-6);
- --warn-faded-fg: var(--yellow-6);
-
- --bg: var(--gray-12);
- --box-bg: var(--gray-10);
- --interactive-bg: var(--gray-8);
-
- --plain-fg: (--blue-3);
- --info-fg: var(--blue-3);
- --ok-fg: var(--green-3);
- --bad-fg: var(--red-3);
- --warn-fg: var(--yellow-3);
-
- --accent: var(--blue-3);
- --muted-accent: var(--blue-5);
- }
-}
-
-* {
- --gap: calc(var(--rhythm) * var(--density));
- accent-color: var(--accent);
-}
-
-.textcolumns {
- --col-width: 30ch;
- column-width: var(--col-width);
- column-gap: var(--gap);
- margin-block: var(--gap)
-}
-
-.textcolumns :first-child { margin-block-start: 0 !important }
-
-.text-align\:center {
- text-align: center;
-}
-
-.center {
- display: grid;
- place-items: center;
-}
-
-/**/
-
-.container {
- max-inline-size: var(--eff-line-length);
- margin-inline: auto;
-}
-
-.fullbleed {
- position: relative;
- width: var(--full-width);
- left: 50%;
- transform: translateX(calc(-.5 * var(--full-width)));
-
- border-radius: 0;
- border-inline: none;
-}
-
-.fullscreen {
- height: 100vh;
-
- position: relative;
- width: 100vw;
- left: 50%;
- transform: translateX(-50vw);
-
- border-radius: 0;
- border-inline: none;
-}
-
-.width\:100\% { width:100%; max-width: 100% }
-
-.height\:100\% { height:100%; max-height: 100% }
-
-/**/
-
-/* margin-trim had better be implemented soon */
-
-:is(
- body,
- .box,
- [role=menu],
- .sidebar-layout > header,
- [role=tabpanel],
- figure,
- details,
- dialog,
- aside,
- fieldset,
- dd,
- td,
- th
-)>:first-child:first-child:first-child:first-child,
- :is(
- body,
- .box,
- [role=menu],
- .sidebar-layout > header,
- [role=tabpanel],
- figure,
- details,
- dialog,
- aside,
- fieldset,
- dd,
- td,
- th
-)>:first-child>:first-child:first-child:first-child,
- :is(
- body,
- .box,
- [role=menu],
- .sidebar-layout > header,
- [role=tabpanel],
- figure,
- details,
- dialog,
- aside,
- fieldset,
- dd,
- td,
- th
-)>:first-child>:first-child>:first-child:first-child,
- :is(
- body,
- .box,
- [role=menu],
- .sidebar-layout > header,
- [role=tabpanel],
- figure,
- details,
- dialog,
- aside,
- fieldset,
- dd,
- td,
- th
-)>:first-child>:first-child>:first-child>:first-child { margin-block-start: 0; }
-
-:is(
- body,
- .box,
- [role=menu],
- .sidebar-layout > header,
- [role=tabpanel],
- figure,
- details,
- dialog,
- aside,
- fieldset,
- dd,
- td,
- th
-)>:last-child:last-child:last-child:last-child,
- :is(
- body,
- .box,
- [role=menu],
- .sidebar-layout > header,
- [role=tabpanel],
- figure,
- details,
- dialog,
- aside,
- fieldset,
- dd,
- td,
- th
-)>:last-child>:last-child:last-child:last-child,
- :is(
- body,
- .box,
- [role=menu],
- .sidebar-layout > header,
- [role=tabpanel],
- figure,
- details,
- dialog,
- aside,
- fieldset,
- dd,
- td,
- th
-)>:last-child>:last-child>:last-child:last-child,
- :is(
- body,
- .box,
- [role=menu],
- .sidebar-layout > header,
- [role=tabpanel],
- figure,
- details,
- dialog,
- aside,
- fieldset,
- dd,
- td,
- th
-)>:last-child>:last-child>:last-child>:last-child { margin-block-end: 0; }
-
-/**/
-
-.padding { padding-inline: var(--gap) }
-
-.padding-block { padding-block: var(--gap) }
-
-.padding-block-start { padding-block-start: var(--gap) }
-
-.padding-block-end { padding-block-end: var(--gap) }
-
-.padding-inline { padding-inline: var(--gap) }
-
-.padding-inline-start { padding-inline-start: var(--gap) }
-
-.padding-inline-end { padding-inline-start: var(--gap) }
-
-.margin { margin: var(--gap) }
-
-.margin-block { margin-block: var(--gap) }
-
-.margin-block-start { margin-block-start: var(--gap) }
-
-.margin-block-end { margin-block-end: var(--gap) }
-
-.margin-inline { margin-inline: var(--gap) }
-
-.margin-inline-start { margin-inline-start: var(--gap) }
-
-.margin-inline-end { margin-inline-end: var(--gap) }
-
-.flow-gap > :not(:last-child) {
- margin-bottom: 1em;
- }
-
-/**/
-
-.inline { display: inline }
-
-.block { display: block }
-
-.contents { display: contents }
-
-.table {
- display: table;
- width: 100%;
- margin: 0;
-}
-
-.row, .rows > * {
- display: table-row
-}
-
-.row:not(:last-child):not([specificity-hack]) > *, .rows > *:not(:last-child):not([specificity-hack]) > * {
- margin-bottom: var(--gap);
- }
-
-.row > *:not([specificity-hack]), .rows > * > *:not([specificity-hack]) {
- display: table-cell;
- vertical-align: top;
- }
-
-.row > * + *:not([specificity-hack]), :is(.rows > *) > * + *:not([specificity-hack]) {
- margin-inline-start: var(--gap);
- display: inline-block;
- }
-
-/**/
-
-.big {
- font-size: 1.4em;
- line-height: calc(1.5 * var(--rhythm));
-}
-
-/**/
-
-.fixed { position: fixed }
-
-.sticky { position: sticky }
-
-.top { top: 0 }
-
-.right { right: 0 }
-
-.bottom { bottom: 0 }
-
-.left { left: 0 }
-
-.float\:left { float: left }
-
-.float\:right { float: right }
-
-.overflow\:auto { overflow: auto }
-
-.overflow\:scroll { overflow: scroll }
-
-.airy { --density: 3; }
-
-.spacious { --density: 2; }
-
-.dense { --density: 1; }
-
-.crowded { --density: .5; }
-
-.packed { --density: 0; }
-
-.autodensity {
- --density: 1
-}
-
-@media (min-width: 768px) {
-
-.autodensity { --density: 2
-}}
-
-@media (min-width: 1024px) {
-
-.autodensity { --density: 3
-}}
-
-.vh, v-h {
- clip: rect(0 0 0 0);
- -webkit-clip-path: inset(50%);
- clip-path: inset(50%);
- block-size: 1px;
- inline-size: 1px;
- overflow: hidden;
- white-space: nowrap;
-}
-
-.all\:initial {
- all: initial;
-}
-
-.bold { font-weight: bold }
-
-.italic {
- font-style: italic
-}
-
-.italic em, .italic cite, .italic dfn, .italic var, .italic i, .italic address {
- font-style: normal;
- }
-
-.allcaps {
- text-transform: uppercase;
- letter-spacing: .1rem;
-}
-
-.primary-font { font-family: var(--primary-font) }
-
-.secondary-font { font-family: var(--secondary-font) }
-
-.display-font { font-family: var(--display-font) }
-
-.mono-font, .monospace { font-family: var(--mono-font) }
-
-.massivetext {
- font-size: calc(.13 * var(--eff-line-length));
- line-height: 1em;
- letter-spacing: 0;
-}
-
-.aestheticbreak {
- display: block;
- margin: 0;
- padding: 0;
- height: calc(.5 * var(--gap));
-}
-
-.f-row {
- display: flex;
- flex-direction: row;
- gap: var(--gap)
-}
-
-.f-row > * { margin: 0 }
-
-.f-col {
- display: flex;
- flex-direction: column;
- gap: var(--gap)
-}
-
-.f-col > * { margin: 0 }
-
-.f-switch {
- display: flex;
- flex-wrap: wrap;
- gap: var(--gap);
- --f-switch-threshold: 55ch
-}
-
-.f-switch > * {
- margin: 0;
-
- flex-grow: 1;
- flex-basis: calc((var(--f-switch-threshold) - 100%) * 999);
- }
-
-.justify-content\:start { justify-content: start }
-
-.justify-content\:end { justify-content: end }
-
-.justify-content\:baseline { justify-content: baseline }
-
-.justify-content\:center { justify-content: center }
-
-.justify-content\:stretch { justify-content: stretch }
-
-.justify-content\:space-between { justify-content: space-between }
-
-.justify-content\:space-around { justify-content: space-around }
-
-.justify-content\:space-evenly { justify-content: space-evenly }
-
-.align-items\:start { align-items: start }
-
-.align-items\:end { align-items: end }
-
-.align-items\:baseline { align-items: baseline }
-
-.align-items\:center { align-items: center }
-
-.align-items\:stretch { align-items: stretch }
-
-.align-self\:start { align-self: start }
-
-.align-self\:end { align-self: end }
-
-.align-self\:baseline { align-self: baseline }
-
-.align-self\:center { align-self: center }
-
-.align-self\:stretch { align-self: stretch }
-
-.flex-grow\:0 { flex-grow: 0 }
-
-.flex-grow\:1 { flex-grow: 1 }
-
-.flex-grow\:2 { flex-grow: 2 }
-
-.flex-grow\:3 { flex-grow: 3 }
-
-.flex-grow\:4 { flex-grow: 4 }
-
-.flex-grow\:5 { flex-grow: 5 }
-
-.flex-grow\:6 { flex-grow: 6 }
-
-.flex-grow\:7 { flex-grow: 7 }
-
-.flex-grow\:8 { flex-grow: 8 }
-
-.flex-grow\:9 { flex-grow: 9 }
-
-.flex-grow\:10 { flex-grow: 10 }
-
-.flex-grow\:11 { flex-grow: 11 }
-
-.flex-grow\:12 { flex-grow: 12 }
-
-.flex-wrap\:wrap { flex-wrap: wrap }
-
-.flex-wrap\:nowrap { flex-wrap: nowrap }
-
-.grid {
- display: grid;
- grid-auto-columns: var(--grid-col-width, 1fr);
- grid-auto-rows: var(--grid-row-width, auto);
- gap: var(--gap)
-}
-
-.grid > * { margin: 0 }
-
-.grid-even-rows { --grid-row-width: 1fr; }
-
-.grid-variable-cols { --grid-column-width: auto; }
-
-[data-cols^="1 " ] { grid-column-start: 1 }
-
-[data-cols$=" 1" ] { grid-column-end: 2 }
-
-[data-cols="1" ] { grid-column: 1 }
-
-[data-cols^="2 " ] { grid-column-start: 2 }
-
-[data-cols$=" 2" ] { grid-column-end: 3 }
-
-[data-cols="2" ] { grid-column: 2 }
-
-[data-cols^="3 " ] { grid-column-start: 3 }
-
-[data-cols$=" 3" ] { grid-column-end: 4 }
-
-[data-cols="3" ] { grid-column: 3 }
-
-[data-cols^="4 " ] { grid-column-start: 4 }
-
-[data-cols$=" 4" ] { grid-column-end: 5 }
-
-[data-cols="4" ] { grid-column: 4 }
-
-[data-cols^="5 " ] { grid-column-start: 5 }
-
-[data-cols$=" 5" ] { grid-column-end: 6 }
-
-[data-cols="5" ] { grid-column: 5 }
-
-[data-cols^="6 " ] { grid-column-start: 6 }
-
-[data-cols$=" 6" ] { grid-column-end: 7 }
-
-[data-cols="6" ] { grid-column: 6 }
-
-[data-cols^="7 " ] { grid-column-start: 7 }
-
-[data-cols$=" 7" ] { grid-column-end: 8 }
-
-[data-cols="7" ] { grid-column: 7 }
-
-[data-cols^="8 " ] { grid-column-start: 8 }
-
-[data-cols$=" 8" ] { grid-column-end: 9 }
-
-[data-cols="8" ] { grid-column: 8 }
-
-[data-cols^="9 " ] { grid-column-start: 9 }
-
-[data-cols$=" 9" ] { grid-column-end: 10 }
-
-[data-cols="9" ] { grid-column: 9 }
-
-[data-cols^="10 "] { grid-column-start: 10 }
-
-[data-cols$=" 10"] { grid-column-end: 11 }
-
-[data-cols="10"] { grid-column: 10 }
-
-[data-cols^="11 "] { grid-column-start: 11 }
-
-[data-cols$=" 11"] { grid-column-end: 12 }
-
-[data-cols="11"] { grid-column: 11 }
-
-[data-cols^="12 "] { grid-column-start: 12 }
-
-[data-cols$=" 12"] { grid-column-end: 13 }
-
-[data-cols="12"] { grid-column: 12 }
-
-[data-rows^="1 " ] { grid-row-start: 1 }
-
-[data-rows$=" 1" ] { grid-row-end: 2 }
-
-[data-rows="1" ] { grid-row: 1 }
-
-[data-rows^="2 " ] { grid-row-start: 2 }
-
-[data-rows$=" 2" ] { grid-row-end: 3 }
-
-[data-rows="2" ] { grid-row: 2 }
-
-[data-rows^="3 " ] { grid-row-start: 3 }
-
-[data-rows$=" 3" ] { grid-row-end: 4 }
-
-[data-rows="3" ] { grid-row: 3 }
-
-[data-rows^="4 " ] { grid-row-start: 4 }
-
-[data-rows$=" 4" ] { grid-row-end: 5 }
-
-[data-rows="4" ] { grid-row: 4 }
-
-[data-rows^="5 " ] { grid-row-start: 5 }
-
-[data-rows$=" 5" ] { grid-row-end: 6 }
-
-[data-rows="5" ] { grid-row: 5 }
-
-[data-rows^="6 " ] { grid-row-start: 6 }
-
-[data-rows$=" 6" ] { grid-row-end: 7 }
-
-[data-rows="6" ] { grid-row: 6 }
-
-[data-rows^="7 " ] { grid-row-start: 7 }
-
-[data-rows$=" 7" ] { grid-row-end: 8 }
-
-[data-rows="7" ] { grid-row: 7 }
-
-[data-rows^="8 " ] { grid-row-start: 8 }
-
-[data-rows$=" 8" ] { grid-row-end: 9 }
-
-[data-rows="8" ] { grid-row: 8 }
-
-[data-rows^="9 " ] { grid-row-start: 9 }
-
-[data-rows$=" 9" ] { grid-row-end: 10 }
-
-[data-rows="9" ] { grid-row: 9 }
-
-[data-rows^="10 "] { grid-row-start: 10 }
-
-[data-rows$=" 10"] { grid-row-end: 11 }
-
-[data-rows="10"] { grid-row: 10 }
-
-[data-rows^="11 "] { grid-row-start: 11 }
-
-[data-rows$=" 11"] { grid-row-end: 12 }
-
-[data-rows="11"] { grid-row: 11 }
-
-[data-rows^="12 "] { grid-row-start: 12 }
-
-[data-rows$=" 12"] { grid-row-end: 13 }
-
-[data-rows="12"] { grid-row: 12 }
-
-@media (max-width: 768px) {
- [data-cols\@s^="1 " ] { grid-column-start: 1 } [data-cols\@s$=" 1" ] { grid-column-end: 2 } [data-cols\@s="1" ] { grid-column: 1 }
- [data-cols\@s^="2 " ] { grid-column-start: 2 } [data-cols\@s$=" 2" ] { grid-column-end: 3 } [data-cols\@s="2" ] { grid-column: 2 }
- [data-cols\@s^="3 " ] { grid-column-start: 3 } [data-cols\@s$=" 3" ] { grid-column-end: 4 } [data-cols\@s="3" ] { grid-column: 3 }
- [data-cols\@s^="4 " ] { grid-column-start: 4 } [data-cols\@s$=" 4" ] { grid-column-end: 5 } [data-cols\@s="4" ] { grid-column: 4 }
- [data-cols\@s^="5 " ] { grid-column-start: 5 } [data-cols\@s$=" 5" ] { grid-column-end: 6 } [data-cols\@s="5" ] { grid-column: 5 }
- [data-cols\@s^="6 " ] { grid-column-start: 6 } [data-cols\@s$=" 6" ] { grid-column-end: 7 } [data-cols\@s="6" ] { grid-column: 6 }
- [data-cols\@s^="7 " ] { grid-column-start: 7 } [data-cols\@s$=" 7" ] { grid-column-end: 8 } [data-cols\@s="7" ] { grid-column: 7 }
- [data-cols\@s^="8 " ] { grid-column-start: 8 } [data-cols\@s$=" 8" ] { grid-column-end: 9 } [data-cols\@s="8" ] { grid-column: 8 }
- [data-cols\@s^="9 " ] { grid-column-start: 9 } [data-cols\@s$=" 9" ] { grid-column-end: 10 } [data-cols\@s="9" ] { grid-column: 9 }
- [data-cols\@s^="10 "] { grid-column-start: 10 } [data-cols\@s$=" 10"] { grid-column-end: 11 } [data-cols\@s="10"] { grid-column: 10 }
- [data-cols\@s^="11 "] { grid-column-start: 11 } [data-cols\@s$=" 11"] { grid-column-end: 12 } [data-cols\@s="11"] { grid-column: 11 }
- [data-cols\@s^="12 "] { grid-column-start: 12 } [data-cols\@s$=" 12"] { grid-column-end: 13 } [data-cols\@s="12"] { grid-column: 12 }
-
- [data-rows\@s^="1 " ] { grid-row-start: 1 } [data-rows\@s$=" 1" ] { grid-row-end: 2 } [data-rows\@s="1" ] { grid-row: 1 }
- [data-rows\@s^="2 " ] { grid-row-start: 2 } [data-rows\@s$=" 2" ] { grid-row-end: 3 } [data-rows\@s="2" ] { grid-row: 2 }
- [data-rows\@s^="3 " ] { grid-row-start: 3 } [data-rows\@s$=" 3" ] { grid-row-end: 4 } [data-rows\@s="3" ] { grid-row: 3 }
- [data-rows\@s^="4 " ] { grid-row-start: 4 } [data-rows\@s$=" 4" ] { grid-row-end: 5 } [data-rows\@s="4" ] { grid-row: 4 }
- [data-rows\@s^="5 " ] { grid-row-start: 5 } [data-rows\@s$=" 5" ] { grid-row-end: 6 } [data-rows\@s="5" ] { grid-row: 5 }
- [data-rows\@s^="6 " ] { grid-row-start: 6 } [data-rows\@s$=" 6" ] { grid-row-end: 7 } [data-rows\@s="6" ] { grid-row: 6 }
- [data-rows\@s^="7 " ] { grid-row-start: 7 } [data-rows\@s$=" 7" ] { grid-row-end: 8 } [data-rows\@s="7" ] { grid-row: 7 }
- [data-rows\@s^="8 " ] { grid-row-start: 8 } [data-rows\@s$=" 8" ] { grid-row-end: 9 } [data-rows\@s="8" ] { grid-row: 8 }
- [data-rows\@s^="9 " ] { grid-row-start: 9 } [data-rows\@s$=" 9" ] { grid-row-end: 10 } [data-rows\@s="9" ] { grid-row: 9 }
- [data-rows\@s^="10 "] { grid-row-start: 10 } [data-rows\@s$=" 10"] { grid-row-end: 11 } [data-rows\@s="10"] { grid-row: 10 }
- [data-rows\@s^="11 "] { grid-row-start: 11 } [data-rows\@s$=" 11"] { grid-row-end: 12 } [data-rows\@s="11"] { grid-row: 11 }
- [data-rows\@s^="12 "] { grid-row-start: 12 } [data-rows\@s$=" 12"] { grid-row-end: 13 } [data-rows\@s="12"] { grid-row: 12 }
-}
-
-@media (min-width: 1024px) {
- [data-cols\@l^="1 " ] { grid-column-start: 1 } [data-cols\@l$=" 1" ] { grid-column-end: 2 } [data-cols\@l="1" ] { grid-column: 1 }
- [data-cols\@l^="2 " ] { grid-column-start: 2 } [data-cols\@l$=" 2" ] { grid-column-end: 3 } [data-cols\@l="2" ] { grid-column: 2 }
- [data-cols\@l^="3 " ] { grid-column-start: 3 } [data-cols\@l$=" 3" ] { grid-column-end: 4 } [data-cols\@l="3" ] { grid-column: 3 }
- [data-cols\@l^="4 " ] { grid-column-start: 4 } [data-cols\@l$=" 4" ] { grid-column-end: 5 } [data-cols\@l="4" ] { grid-column: 4 }
- [data-cols\@l^="5 " ] { grid-column-start: 5 } [data-cols\@l$=" 5" ] { grid-column-end: 6 } [data-cols\@l="5" ] { grid-column: 5 }
- [data-cols\@l^="6 " ] { grid-column-start: 6 } [data-cols\@l$=" 6" ] { grid-column-end: 7 } [data-cols\@l="6" ] { grid-column: 6 }
- [data-cols\@l^="7 " ] { grid-column-start: 7 } [data-cols\@l$=" 7" ] { grid-column-end: 8 } [data-cols\@l="7" ] { grid-column: 7 }
- [data-cols\@l^="8 " ] { grid-column-start: 8 } [data-cols\@l$=" 8" ] { grid-column-end: 9 } [data-cols\@l="8" ] { grid-column: 8 }
- [data-cols\@l^="9 " ] { grid-column-start: 9 } [data-cols\@l$=" 9" ] { grid-column-end: 10 } [data-cols\@l="9" ] { grid-column: 9 }
- [data-cols\@l^="10 "] { grid-column-start: 10 } [data-cols\@l$=" 10"] { grid-column-end: 11 } [data-cols\@l="10"] { grid-column: 10 }
- [data-cols\@l^="11 "] { grid-column-start: 11 } [data-cols\@l$=" 11"] { grid-column-end: 12 } [data-cols\@l="11"] { grid-column: 11 }
- [data-cols\@l^="12 "] { grid-column-start: 12 } [data-cols\@l$=" 12"] { grid-column-end: 13 } [data-cols\@l="12"] { grid-column: 12 }
-
- [data-rows\@l^="1 " ] { grid-row-start: 1 } [data-rows\@l$=" 1" ] { grid-row-end: 2 } [data-rows\@l="1" ] { grid-row: 1 }
- [data-rows\@l^="2 " ] { grid-row-start: 2 } [data-rows\@l$=" 2" ] { grid-row-end: 3 } [data-rows\@l="2" ] { grid-row: 2 }
- [data-rows\@l^="3 " ] { grid-row-start: 3 } [data-rows\@l$=" 3" ] { grid-row-end: 4 } [data-rows\@l="3" ] { grid-row: 3 }
- [data-rows\@l^="4 " ] { grid-row-start: 4 } [data-rows\@l$=" 4" ] { grid-row-end: 5 } [data-rows\@l="4" ] { grid-row: 4 }
- [data-rows\@l^="5 " ] { grid-row-start: 5 } [data-rows\@l$=" 5" ] { grid-row-end: 6 } [data-rows\@l="5" ] { grid-row: 5 }
- [data-rows\@l^="6 " ] { grid-row-start: 6 } [data-rows\@l$=" 6" ] { grid-row-end: 7 } [data-rows\@l="6" ] { grid-row: 6 }
- [data-rows\@l^="7 " ] { grid-row-start: 7 } [data-rows\@l$=" 7" ] { grid-row-end: 8 } [data-rows\@l="7" ] { grid-row: 7 }
- [data-rows\@l^="8 " ] { grid-row-start: 8 } [data-rows\@l$=" 8" ] { grid-row-end: 9 } [data-rows\@l="8" ] { grid-row: 8 }
- [data-rows\@l^="9 " ] { grid-row-start: 9 } [data-rows\@l$=" 9" ] { grid-row-end: 10 } [data-rows\@l="9" ] { grid-row: 9 }
- [data-rows\@l^="10 "] { grid-row-start: 10 } [data-rows\@l$=" 10"] { grid-row-end: 11 } [data-rows\@l="10"] { grid-row: 10 }
- [data-rows\@l^="11 "] { grid-row-start: 11 } [data-rows\@l$=" 11"] { grid-row-end: 12 } [data-rows\@l="11"] { grid-row: 11 }
- [data-rows\@l^="12 "] { grid-row-start: 12 } [data-rows\@l$=" 12"] { grid-row-end: 13 } [data-rows\@l="12"] { grid-row: 12 }
-}
diff --git a/www/releases/_artifacts/v1.0.4/missing.min.css b/www/releases/_artifacts/v1.0.4/missing.min.css
deleted file mode 100644
index 4d17046..0000000
--- a/www/releases/_artifacts/v1.0.4/missing.min.css
+++ /dev/null
@@ -1,126 +0,0 @@
-@keyframes bg{0%{background:0 0}}*,::after,::before{box-sizing:border-box;background-repeat:no-repeat}::after,::before{text-decoration:inherit;vertical-align:inherit}:root{cursor:default;overflow-wrap:break-word;-webkit-tap-highlight-color:transparent;text-size-adjust:none;-webkit-text-size-adjust:none}abbr[title]{-webkit-text-decoration:underline dotted;text-decoration:underline dotted}b,strong{font-weight:bolder}audio,canvas,iframe,img,svg,video{vertical-align:middle}svg:not([fill]){fill:currentColor}table{border-collapse:collapse;border-color:currentColor;text-indent:0;font-variant-numeric:tabular-nums;font:inherit}body,button,input,select,textarea{margin:0}[type=button],[type=reset],[type=submit],button{-webkit-appearance:button}fieldset{border:1px solid #a0a0a0;position:relative;padding:var(--gap);margin:var(--gap) 0;width:100%;border-radius:var(--border-radius);border:1px solid var(--graphical-fg)}progress{vertical-align:baseline}[type=search]{-webkit-appearance:textfield;outline-offset:-2px}::-webkit-inner-spin-button,::-webkit-outer-spin-button{block-size:auto}::-webkit-input-placeholder{color:inherit;opacity:.54}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{-webkit-appearance:button;font:inherit}[hidden],datalist{display:none!important}:focus-visible{outline:.2em solid var(--accent);z-index:32}body:focus-visible,html:focus-visible,iframe:focus-visible{outline:0}:target{outline:.2em solid var(--fg);z-index:2}details>summary:first-of-type{display:list-item}[aria-busy=true]{cursor:progress}[aria-disabled=true],[disabled]{cursor:not-allowed}:root{--gray-0: #f8fafb;--gray-1: #f2f4f6;--gray-2: #ebedef;--gray-3: #e0e4e5;--gray-4: #d1d6d8;--gray-5: #b1b6b9;--gray-6: #979b9d;--gray-7: #7e8282;--gray-8: #666968;--gray-9: #50514f;--gray-10: #3a3a37;--gray-11: #252521;--gray-12: #121210;--red-0: #fff5f5;--red-1: #ffe3e3;--red-2: #ffc9c9;--red-3: #ffa8a8;--red-4: #ff8787;--red-5: #ff6b6b;--red-6: #fa5252;--red-7: #f03e3e;--red-8: #e03131;--red-9: #c92a2a;--red-10: #b02525;--red-11: #962020;--red-12: #7d1a1a;--pink-0: #fff0f6;--pink-1: #ffdeeb;--pink-2: #fcc2d7;--pink-3: #faa2c1;--pink-4: #f783ac;--pink-5: #f06595;--pink-6: #e64980;--pink-7: #d6336c;--pink-8: #c2255c;--pink-9: #a61e4d;--pink-10: #8c1941;--pink-11: #731536;--pink-12: #59102a;--purple-0: #f8f0fc;--purple-1: #f3d9fa;--purple-2: #eebefa;--purple-3: #e599f7;--purple-4: #da77f2;--purple-5: #cc5de8;--purple-6: #be4bdb;--purple-7: #ae3ec9;--purple-8: #9c36b5;--purple-9: #862e9c;--purple-10: #702682;--purple-11: #5a1e69;--purple-12: #44174f;--violet-0: #f3f0ff;--violet-1: #e5dbff;--violet-2: #d0bfff;--violet-3: #b197fc;--violet-4: #9775fa;--violet-5: #845ef7;--violet-6: #7950f2;--violet-7: #7048e8;--violet-8: #6741d9;--violet-9: #5f3dc4;--violet-10: #5235ab;--violet-11: #462d91;--violet-12: #3a2578;--indigo-0: #edf2ff;--indigo-1: #dbe4ff;--indigo-2: #bac8ff;--indigo-3: #91a7ff;--indigo-4: #748ffc;--indigo-5: #5c7cfa;--indigo-6: #4c6ef5;--indigo-7: #4263eb;--indigo-8: #3b5bdb;--indigo-9: #364fc7;--indigo-10: #2f44ad;--indigo-11: #283a94;--indigo-12: #21307a;--blue-0: #e7f5ff;--blue-1: #d0ebff;--blue-2: #a5d8ff;--blue-3: #74c0fc;--blue-4: #4dabf7;--blue-5: #339af0;--blue-6: #228be6;--blue-7: #1c7ed6;--blue-8: #1971c2;--blue-9: #1864ab;--blue-10: #145591;--blue-11: #114678;--blue-12: #0d375e;--cyan-0: #e3fafc;--cyan-1: #c5f6fa;--cyan-2: #99e9f2;--cyan-3: #66d9e8;--cyan-4: #3bc9db;--cyan-5: #22b8cf;--cyan-6: #15aabf;--cyan-7: #1098ad;--cyan-8: #0c8599;--cyan-9: #0b7285;--cyan-10: #095c6b;--cyan-11: #074652;--cyan-12: #053038;--teal-0: #e6fcf5;--teal-1: #c3fae8;--teal-2: #96f2d7;--teal-3: #63e6be;--teal-4: #38d9a9;--teal-5: #20c997;--teal-6: #12b886;--teal-7: #0ca678;--teal-8: #099268;--teal-9: #087f5b;--teal-10: #066649;--teal-11: #054d37;--teal-12: #033325;--green-0: #ebfbee;--green-1: #d3f9d8;--green-2: #b2f2bb;--green-3: #8ce99a;--green-4: #69db7c;--green-5: #51cf66;--green-6: #40c057;--green-7: #37b24d;--green-8: #2f9e44;--green-9: #2b8a3e;--green-10: #237032;--green-11: #1b5727;--green-12: #133d1b;--lime-0: #f4fce3;--lime-1: #e9fac8;--lime-2: #d8f5a2;--lime-3: #c0eb75;--lime-4: #a9e34b;--lime-5: #94d82d;--lime-6: #82c91e;--lime-7: #74b816;--lime-8: #66a80f;--lime-9: #5c940d;--lime-10: #4c7a0b;--lime-11: #3c6109;--lime-12: #2c4706;--yellow-0: #fff9db;--yellow-1: #fff3bf;--yellow-2: #ffec99;--yellow-3: #ffe066;--yellow-4: #ffd43b;--yellow-5: #fcc419;--yellow-6: #fab005;--yellow-7: #f59f00;--yellow-8: #f08c00;--yellow-9: #e67700;--yellow-10: #b35c00;--yellow-11: #804200;--yellow-12: #663500;--orange-0: #fff4e6;--orange-1: #ffe8cc;--orange-2: #ffd8a8;--orange-3: #ffc078;--orange-4: #ffa94d;--orange-5: #ff922b;--orange-6: #fd7e14;--orange-7: #f76707;--orange-8: #e8590c;--orange-9: #d9480f;--orange-10: #bf400d;--orange-11: #99330b;--orange-12: #802b09;--choco-0: #fff8dc;--choco-1: #fce1bc;--choco-2: #f7ca9e;--choco-3: #f1b280;--choco-4: #e99b62;--choco-5: #df8545;--choco-6: #d46e25;--choco-7: #bd5f1b;--choco-8: #a45117;--choco-9: #8a4513;--choco-10: #703a13;--choco-11: #572f12;--choco-12: #3d210d;--brown-0: #faf4eb;--brown-1: #ede0d1;--brown-2: #e0cab7;--brown-3: #d3b79e;--brown-4: #c5a285;--brown-5: #b78f6d;--brown-6: #a87c56;--brown-7: #956b47;--brown-8: #825b3a;--brown-9: #6f4b2d;--brown-10:#5e3a21;--brown-11:#4e2b15;--brown-12: #422412;--sand-0: #f8fafb;--sand-1: #e6e4dc;--sand-2: #d5cfbd;--sand-3: #c2b9a0;--sand-4: #aea58c;--sand-5: #9a9178;--sand-6: #867c65;--sand-7: #736a53;--sand-8: #5f5746;--sand-9: #4b4639;--sand-10:#38352d;--sand-11:#252521;--sand-12: #121210;--camo-0: #f9fbe7;--camo-1: #e8ed9c;--camo-2: #d2df4e;--camo-3: #c2ce34;--camo-4: #b5bb2e;--camo-5: #a7a827;--camo-6: #999621;--camo-7: #8c851c;--camo-8: #7e7416;--camo-9: #6d6414;--camo-10: #5d5411;--camo-11: #4d460e;--camo-12: #36300a;--jungle-0: #ecfeb0;--jungle-1: #def39a;--jungle-2: #d0e884;--jungle-3: #c2dd6e;--jungle-4: #b5d15b;--jungle-5: #a8c648;--jungle-6: #9bbb36;--jungle-7: #8fb024;--jungle-8: #84a513;--jungle-9: #7a9908;--jungle-10: #658006;--jungle-11: #516605;--jungle-12: #3d4d04}html{font-family:var(--main-font);line-height:var(--rhythm);background:var(--bg);color:var(--fg);scroll-padding-block-start:calc(4*var(--gap))}footer,header,section+section{margin-block:calc(2*var(--gap))}aside.big,nav a{color:var(--accent)}nav a{text-decoration:none}aside h1,aside h2,aside h3,aside h4,aside h5,aside h6{font-size:1em;text-transform:none;letter-spacing:none}aside.big{background:0 0;border:0;border-inline-start:1px solid var(--muted-fg);border-radius:0;padding:0;padding-inline-start:var(--rhythm);font-style:italic}.\<h1\>,.\<h2\>,.\<h3\>,.\<h4\>,.\<h5\>,.\<h6\>,h1,h2,h3,h4,h5,h6{margin-block-end:var(--gap);font-family:var(--secondary-font);margin-block-start:calc(2*var(--gap));position:relative}.\<h1\>,.\<h2\>,h1,h2{font-size:2em;text-transform:none;line-height:calc(2*var(--rhythm));letter-spacing:0}.\<h2\>,h2{font-size:1.6em;line-height:calc(1.5*var(--rhythm))}.\<h3\>,.\<h4\>,.\<h5\>,.\<h6\>,h3,h4,h5,h6{font-size:1.17em;line-height:calc(1*var(--rhythm))}.\<h4\>,.\<h5\>,.\<h6\>,h4,h5,h6{font-size:1em;text-transform:none;letter-spacing:0;margin-block-start:var(--gap)}h1+h2,h1:first-child,h2+h3,h2:first-child,h3+h4,h3:first-child,h4+h5,h4:first-child,h5+h6,h5:first-child,h6:first-child{margin-block-start:var(--gap)}h1:target,h2:target,h3:target,h4:target,h5:target,h6:target{outline:0}h1:target::before,h2:target::before,h3:target::before,h4:target::before,h5:target::before,h6:target::before{content:"";display:block;position:absolute;left:-.5em;width:4px;height:100%;background:var(--accent)}footer,header{font-family:var(--secondary-font)}header{border-block-end:1px solid var(--graphical-fg)}footer{border-block-start:1px solid var(--graphical-fg)}body>footer,body>header,main+footer{padding:var(--rhythm) calc((100% - var(--eff-line-length))/2)}address{--density: 0}dl,hr,p{margin-block:var(--gap)}hr{color:inherit;margin-inline:0;flex:0 1 0px;border-inline-start:1px solid var(--accent);block-size:auto;border-block-start:1px solid var(--accent);border-block-end:none;border-inline-end:none}blockquote,pre{line-height:var(--rhythm)}pre{font-family:var(--mono-font);-o-tab-size:2;tab-size:2;margin:var(--gap) 0;overflow-x:auto;scrollbar-width:thin;scrollbar-color:var(--accent) transparent;font-size:.9em}blockquote{margin-inline:0 var(--gap);padding-inline:var(--gap) 0;margin-block:var(--gap);font-size:1.1em;font-style:italic;border-inline-start:1px solid var(--graphical-fg);color:var(--muted-fg)}.italic address,.italic cite,.italic dfn,.italic em,.italic i,.italic var,blockquote address,blockquote cite,blockquote dfn,blockquote em,blockquote i,blockquote var,q address,q cite,q dfn,q em,q i,q var{font-style:normal}blockquote footer{text-align:right;text-align:end}ol,ul{padding-inline-start:var(--rhythm)}ol ol,ol ul,ul ol,ul ul{padding-inline-start:var(--gap)}ol[role=list],ol[role=listbox],ul[role=list],ul[role=listbox]{padding-inline-start:0;list-style:none}ol{list-style:decimal}.breadcrumbs[aria-label] [aria-current=page],.sidebar-layout header a,dt{font-weight:700}dd{margin-inline-start:var(--rhythm)}li::marker{font-family:var(--secondary-font)}figure{max-width:100%;margin-inline:0}figcaption{margin-block:var(--gap);font-family:var(--secondary-font);color:var(--muted-fg)}main{max-inline-size:var(--eff-line-length);inline-size:100%;margin-inline:auto}main:first-child{padding-top:var(--gap)}.\<a\>,a{color:var(--link-fg, var(--accent));font-family:var(--secondary-font);border-radius:var(--border-radius);outline-offset:1px;background:0 0;border:0;font-size:1em}.list-of-links :is(a,.\<a\>){text-decoration:none}:is(a,.\<a\>):focus,:is(a,.\<a\>):hover{text-decoration:none;outline:1px solid;transition:outline-offset .1s ease-in-out}:is(a,.\<a\>):active{outline-offset:0}small[role=note]{display:block;float:inline-end;clear:inline-end;--sidenote-width: 20ch;max-inline-size:var(--sidenote-width);padding-inline:1.5ch 1ch;margin-inline-end:calc(1em - var(--sidenote-width));margin-block-end:var(--rhythm);font-family:var(--secondary-font);background:var(--bg);border:1px solid transparent;transition:transform .1s ease-in-out}small[role=note]:focus-within,small[role=note]:hover{border:1px solid var(--graphical-fg);border-radius:var(--border-radius);transform:translateX(calc(0px - var(--sidenote-width) + min(var(--gutter-width),var(--sidenote-width))))}.\<small\>,kbd kbd,small{font-size:.8em}del,s{color:var(--bad-fg)}caption,q{font-style:italic}time{font-variant-numeric:tabular-nums}code,kbd,samp{font-family:var(--mono-font);font-style:normal}ins,samp{color:var(--ok-fg)}kbd kbd{display:inline-block;padding:0 .3em;line-height:1.1em;background:var(--interactive-bg);border:1px outset var(--graphical-fg);border-block-end-width:3px;border-radius:var(--border-radius)}sub{vertical-align:bottom}sub,sup{line-height:1}mark{background:var(--warn-bg);color:var(--warn-fg)}ins{background:var(--ok-bg)}del{background:var(--bad-bg)}audio,embed,iframe,img,object,video{max-inline-size:100%;inline-size:max-content;block-size:auto}caption{text-align:start;font-family:var(--secondary-font)}tbody{border-block:1px solid var(--faded-fg)}select[multiple],sup,td,th{vertical-align:top}td:not(:last-child),th:not(:last-child){padding-inline-end:var(--rhythm)}th{font-family:var(--secondary-font);text-align:start}input{display:block}label input:not([specificity-hack]){display:inline;padding-block:0}.\<button\>,button,input::file-selector-button,input[type=button],input[type=reset],input[type=submit]{display:inline-block;padding:0 calc(var(--rhythm)/4);vertical-align:middle;font-size:.8rem;line-height:1.125em;font-family:var(--secondary-font);min-height:var(--rhythm);background:var(--interactive-bg);border:1px solid var(--muted-fg);box-sizing:border-box;border-radius:var(--border-radius);color:var(--fg);text-decoration:none;display:inline-flex;place-items:center}:is(button,input[type="submit"],input[type="reset"],input[type="button"],input::file-selector-button,.\<button\>):focus-visible,:is(button,input[type="submit"],input[type="reset"],input[type="button"],input::file-selector-button,.\<button\>):hover{filter:brightness(1.1);text-decoration:none}:is(button,input[type="submit"],input[type="reset"],input[type="button"],input::file-selector-button,.\<button\>):active{filter:brightness(.8)}[aria-expanded=true]:is(button,input[type="submit"],input[type="reset"],input[type="button"],input::file-selector-button,.\<button\>),[aria-pressed=true]:is(button,input[type="submit"],input[type="reset"],input[type="button"],input::file-selector-button,.\<button\>){box-shadow:0 .05em var(--accent) inset;background:var(--pressed-interactive-bg)}[disabled]:is(button,input[type="submit"],input[type="reset"],input[type="button"],input::file-selector-button,.\<button\>){color:var(--muted-fg)}strong>:is(button,input[type="submit"],input[type="reset"],input[type="button"],input::file-selector-button,.\<button\>){background:var(--accent);color:var(--bg);border:0;font-weight:700}strong>[disabled]:is(button,input[type="submit"],input[type="reset"],input[type="button"],input::file-selector-button,.\<button\>){color:var(--muted-accent)}.big:is(button,input[type="submit"],input[type="reset"],input[type="button"],input::file-selector-button,.\<button\>){min-block-size:calc(1.5*var(--rhythm));font-size:1rem;padding-inline:calc(.5*var(--rhythm));line-height:var(--rhythm)}input:not([type]),input[type=date],input[type=datetime-local],input[type=datetime],input[type=email],input[type=month],input[type=number],input[type=password],input[type=search],input[type=tel],input[type=text],input[type=time],input[type=url],input[type=week],select,textarea{padding:calc(var(--rhythm)/4);font-size:1rem;line-height:inherit;font-family:var(--main-font);background:var(--bg);color:var(--fg);border:1px solid var(--graphical-fg);border-radius:var(--border-radius);vertical-align:top}:is(input:not([type]),input[type="text"],input[type="search"],input[type="tel"],input[type="url"],input[type="email"],input[type="password"],input[type="date"],input[type="month"],input[type="week"],input[type="time"],input[type="datetime"],input[type="datetime-local"],input[type="number"],select,textarea):focus-visible{border:1px solid var(--accent)}:is(input:not([type]),input[type="text"],input[type="search"],input[type="tel"],input[type="url"],input[type="email"],input[type="password"],input[type="date"],input[type="month"],input[type="week"],input[type="time"],input[type="datetime"],input[type="datetime-local"],input[type="number"],select,textarea)::placeholder{color:var(--muted-fg);opacity:1;text-align:end}input[type=range]{width:100%;padding:calc(var(--gap)/4)}input[type=color]{padding:0;margin:0;height:calc(1.5*var(--rhythm));border:0;background:0 0}input[type=file]{padding:calc(var(--gap)/4) 0;font:inherit;line-height:calc(var(--rhythm)/2)}input[type=file]::file-selector-button{margin-block:.1em 0;margin-inline-end:1ch}optgroup::before{color:var(--muted-fg);font-style:normal}label[for]{display:block;padding-block:calc(var(--gap)/4)}fieldset>legend+*{margin-block-start:0}details:not(specificity-hack){padding-block-start:0}details:not(specificity-hack):not([open]){padding-block-end:0}summary{margin:calc(0px - var(--gap));margin-bottom:0;padding-inline:var(--gap);font-family:var(--secondary-font);font-weight:700;background:var(--accent);color:var(--bg);cursor:pointer}summary:active,summary:focus-visible{filter:brightness(.8)}details[open] summary{border-block-end:1px solid var(--accent);border-end-end-radius:0;border-end-start-radius:0}dialog{inline-inset:0;block-size:-moz-fit-content;block-size:fit-content;inline-size:-moz-fit-content;inline-size:fit-content;margin:auto!important;background-color:var(--bg);color:var(--fg)}dialog[open]::backdrop{display:block;background:#000;opacity:.4;animation:bg 2s}dialog:not([open]){display:none}.box,.sidebar-layout>header,[role=menu],[role=tabpanel],aside,details,dialog,figure{margin:var(--gap) 0;padding:var(--gap);overflow:clip;border-radius:var(--border-radius);background:var(--box-bg);border:1px solid var(--graphical-fg)}.titlebar{margin-inline:calc(0px - var(--gap));margin-block-end:calc(0px - var(--gap));padding-inline:var(--gap);font:inherit;font-family:var(--secondary-font);font-weight:700;translate:0 calc(-1px - var(--gap));background:var(--graphical-fg);color:var(--bg)}.sub-title,sub-title{display:block;font-weight:400;color:var(--muted-fg)}.tool-bar,[role=toolbar]{display:flex;flex-flow:row wrap;gap:calc(var(--gap)/2)}.tool-bar>*,[role=toolbar]>*{margin:0}.sidebar-layout header li{margin-block:calc(.5*var(--gap))}@media (min-width:75ch){.sidebar-layout{display:grid;grid-template-columns:25ch auto;inset:0}.sidebar-layout>header{border-block:none;border-inline-start:none;margin:0}.sidebar-layout>:nth-child(2){overflow:auto;--full-width: calc(100vw - 25ch);margin-top:var(--gap)}}.breadcrumbs[aria-label]{font-family:var(--secondary-font)}.breadcrumbs[aria-label] ol,.breadcrumbs[aria-label] ul{list-style:none;padding-inline-start:0}.breadcrumbs[aria-label] li{display:inline}:is(.breadcrumbs[aria-label] li)+li::before{content:' / ';display:inline}.chip,.navbar,chip{font-family:var(--secondary-font);background:var(--box-bg)}.chip,chip{border:1px solid var(--accent);border-radius:calc(var(--rhythm)/2);padding-inline:calc(var(--rhythm)/2)}.navbar{padding:var(--rhythm);border-block-end:1px solid var(--accent);overflow-x:auto;scrollbar-width:thin;position:sticky;z-index:5;top:0;left:0;right:0;display:flex;flex-flow:row;align-items:center;gap:var(--gap)}.navbar.expanded{flex-flow:column;align-items:start;max-height:90vh;overflow-y:auto}.navbar.expanded ul[role=list]{flex-flow:column}.navbar *{flex-shrink:0;margin-block:0}.navbar:not(.expanded) nav>:first-child,.navbar:not(.expanded)>:first-child{margin-inline-start:auto}.navbar:not(.expanded) nav>:last-child,.navbar:not(.expanded)>:last-child{margin-inline-end:auto}.navbar hr{align-self:stretch}.navbar nav ul[role=list]{display:flex;flex-flow:row;gap:var(--rhythm);padding-inline-start:0}.navbar nav ul[role=list] *{flex-shrink:0}.navbar a{font-weight:700;text-decoration:none;padding-inline:.2em}.navbar a:focus,.navbar a:hover{text-decoration:underline}.navbar [aria-current=page]{position:relative}.navbar [aria-current=page]::after{width:100%;height:6px;content:"";display:block;position:absolute;bottom:calc(-1*var(--gap));background:currentcolor}.navbar.expanded [aria-current=page]::after{width:6px;height:100%;position:absolute;left:calc(-1*var(--gap));top:0}.permalink-anchor{display:none}:hover>.permalink-anchor{display:initial}button.iconbutton{border:0;background:0 0;color:currentcolor;padding:0;line-height:var(--rhythm);font-size:24px;width:24px;height:24px;display:inline-block;text-align:center;border-radius:50%;transition:font-weight .2s ease-in-out}button.iconbutton:focus-visible,button.iconbutton:hover{outline:1px solid var(--accent);outline-offset:6px}button.iconbutton:active{outline-offset:3px;background:0 0}button.iconbutton[aria-pressed=true]{box-shadow:none;transform:none}[role=tablist]{display:flex;gap:.5ch;scrollbar-width:thin}[role=tab][role=tab]{all:initial;font-family:var(--secondary-font);padding:0 calc(var(--rhythm)/4);margin:0;min-height:var(--rhythm);color:var(--fg);border:solid var(--graphical-fg);border-width:1px 1px 0;border-block-end-color:transparent;background:var(--interactive-bg);border-start-start-radius:.4em;border-start-end-radius:.4em}[role=tab][role=tab]:active,[role=tab][role=tab][aria-selected=true]{transform:none;bottom:-1px;position:relative;background:var(--box-bg);border-block-end:1px solid var(--box-bg)}[role=tab][role=tab]:hover{background-color:var(--box-bg)}[role=tab][role=tab]:focus{background-color:var(--box-bg);border-color:var(--accent);outline:1px solid var(--accent)}[role=tabpanel]{margin-block-start:0;border-start-start-radius:0;border-start-end-radius:0;z-index:1}[role=menu]{position:absolute;z-index:10;padding:calc(var(--gap)/2) 0;margin:1px 0 0;display:flex;flex-flow:column nowrap}[role=menuitem]{padding:0 calc(var(--gap)/2);display:block;text-decoration:none;border-radius:0;color:var(--fg)}[role=menuitem]:active,[role=menuitem]:focus{background:var(--accent);color:var(--bg)}[role=listbox]{list-style:none}[role=listbox] [role=option]{margin-inline:calc(-1*var(--gap));padding-inline:var(--gap)}[role=listbox] [role=option][aria-selected=true]{background:var(--interactive-bg)}[role=listbox] .active[role=option]{--temporary-bg: var(--accent);--temporary-fg: var(--bg);--temporary-accent: parent-var(--muted-accent);--temporary-muted-accent: parent-var(--box-bg);background:var(--temporary-bg);color:var(--temporary-fg)}[role=listbox] .active[role=option]>*{--bg: var(--temporary-bg);--fg: var(--temporary-fg);--accent: var(--temporary-accent);--muted-accent: var(--temporary-muted-accent)}[aria-orientation=vertical]{flex-direction:column;width:-moz-fit-content;width:fit-content;text-align:center}.plain{--box-bg: var(--plain-bg);--accent: var(--plain-fg);--graphical-fg: var(--plain-graphical-fg)}.info{--box-bg: var(--info-bg);--accent: var(--info-fg);--graphical-fg: var(--info-graphical-fg)}.ok{--box-bg: var(--ok-bg);--accent: var(--ok-fg);--graphical-fg: var(--ok-graphical-fg)}.warn{--box-bg: var(--warn-bg);--accent: var(--warn-fg);--graphical-fg: var(--warn-graphical-fg)}.bad{--box-bg: var(--bad-bg);--accent: var(--bad-fg);--graphical-fg: var(--bad-graphical-fg)}.color{color:var(--accent)}.bg{background:var(--box-bg)}.border{border-style:solid;border-color:var(--graphical-fg)}:root{--fg: var(--gray-12);--muted-fg: var(--gray-10);--faded-fg: var(--gray-6);--graphical-fg: var(--plain-graphical-fg);--plain-fg: var(--blue-10);--info-fg: var(--blue-11);--ok-fg: var(--green-11);--bad-fg: var(--red-11);--warn-fg: var(--yellow-11);--plain-graphical-fg: var(--gray-6);--info-graphical-fg: var(--blue-6);--ok-graphical-fg: var(--green-6);--bad-graphical-fg: var(--red-6);--warn-graphical-fg: var(--yellow-6);--bg: var(--gray-0);--box-bg: var(--plain-bg);--interactive-bg: var(--gray-4);--plain-bg: var(--gray-1);--info-bg: var(--blue-1);--ok-bg: var(--green-1);--bad-bg: var(--red-1);--warn-bg: var(--yellow-1);--accent: var(--blue-10);--muted-accent: var(--blue-7);--rhythm: 1.4rem;--line-length: 40rem;--border-radius: .2rem;--main-font: 'Source Sans 3', 'Source Sans Pro', -apple-system, system-ui, sans-serif;--secondary-font: var(--main-font);--mono-font: 'M Plus Code Latin', monospace, monospace;--density: 1;--full-width: 100vw;--eff-line-length: /* Effective line length for prose. */
- min(
- calc( var(--full-width) - (2 * var(--rhythm)) ),
- var(--line-length)
- );--gutter-width: /* Width of spaces at each side of page content. */
- calc(
- (
- var(--full-width) /* Viewport width */
- - var(--eff-line-length) /* minus line width */
- ) / 2)}@media (prefers-color-scheme:dark){:root:not(.-no-dark-theme){--fg: var(--gray-0);--muted-fg: var(--gray-2);--faded-fg: var(--gray-7);--plain-bg: var(--gray-11);--info-bg: var(--blue-12);--ok-bg: var(--green-12);--bad-bg: var(--red-12);--warn-bg: var(--yellow-12);--plain-faded-fg: var(--blue-6);--info-faded-fg: var(--blue-6);--ok-faded-fg: var(--green-6);--bad-faded-fg: var(--red-6);--warn-faded-fg: var(--yellow-6);--bg: var(--gray-12);--box-bg: var(--gray-10);--interactive-bg: var(--gray-8);--plain-fg: (--blue-3);--info-fg: var(--blue-3);--ok-fg: var(--green-3);--bad-fg: var(--red-3);--warn-fg: var(--yellow-3);--accent: var(--blue-3);--muted-accent: var(--blue-5)}}*{--gap: calc(var(--rhythm) * var(--density));accent-color:var(--accent)}.textcolumns{--col-width: 30ch;column-width:var(--col-width);column-gap:var(--gap);margin-block:var(--gap)}.textcolumns :first-child{margin-block-start:0!important}.text-align\:center{text-align:center}.center{display:grid;place-items:center}.container{max-inline-size:var(--eff-line-length);margin-inline:auto}.fullbleed,.fullscreen{position:relative;left:50%;border-radius:0;border-inline:none}.fullbleed{width:var(--full-width);transform:translateX(calc(-.5*var(--full-width)))}.fullscreen{height:100vh;width:100vw;transform:translateX(-50vw)}.width\:100\%{width:100%;max-width:100%}.height\:100\%{height:100%;max-height:100%}:is(
- body,
- .box,
- [role=menu],
- .sidebar-layout > header,
- [role=tabpanel],
- figure,
- details,
- dialog,
- aside,
- fieldset,
- dd,
- td,
- th
-)>:first-child:first-child:first-child:first-child,:is(
- body,
- .box,
- [role=menu],
- .sidebar-layout > header,
- [role=tabpanel],
- figure,
- details,
- dialog,
- aside,
- fieldset,
- dd,
- td,
- th
-)>:first-child>:first-child:first-child:first-child,:is(
- body,
- .box,
- [role=menu],
- .sidebar-layout > header,
- [role=tabpanel],
- figure,
- details,
- dialog,
- aside,
- fieldset,
- dd,
- td,
- th
-)>:first-child>:first-child>:first-child:first-child,:is(
- body,
- .box,
- [role=menu],
- .sidebar-layout > header,
- [role=tabpanel],
- figure,
- details,
- dialog,
- aside,
- fieldset,
- dd,
- td,
- th
-)>:first-child>:first-child>:first-child>:first-child{margin-block-start:0}:is(
- body,
- .box,
- [role=menu],
- .sidebar-layout > header,
- [role=tabpanel],
- figure,
- details,
- dialog,
- aside,
- fieldset,
- dd,
- td,
- th
-)>:last-child:last-child:last-child:last-child,:is(
- body,
- .box,
- [role=menu],
- .sidebar-layout > header,
- [role=tabpanel],
- figure,
- details,
- dialog,
- aside,
- fieldset,
- dd,
- td,
- th
-)>:last-child>:last-child:last-child:last-child,:is(
- body,
- .box,
- [role=menu],
- .sidebar-layout > header,
- [role=tabpanel],
- figure,
- details,
- dialog,
- aside,
- fieldset,
- dd,
- td,
- th
-)>:last-child>:last-child>:last-child:last-child,:is(
- body,
- .box,
- [role=menu],
- .sidebar-layout > header,
- [role=tabpanel],
- figure,
- details,
- dialog,
- aside,
- fieldset,
- dd,
- td,
- th
-)>:last-child>:last-child>:last-child>:last-child{margin-block-end:0}.padding{padding-inline:var(--gap)}.padding-block{padding-block:var(--gap)}.padding-block-start{padding-block-start:var(--gap)}.padding-block-end{padding-block-end:var(--gap)}.padding-inline{padding-inline:var(--gap)}.padding-inline-end,.padding-inline-start{padding-inline-start:var(--gap)}.margin{margin:var(--gap)}.margin-block{margin-block:var(--gap)}.margin-block-start{margin-block-start:var(--gap)}.margin-block-end{margin-block-end:var(--gap)}.margin-inline{margin-inline:var(--gap)}.margin-inline-start{margin-inline-start:var(--gap)}.margin-inline-end{margin-inline-end:var(--gap)}.flow-gap>:not(:last-child){margin-bottom:1em}.inline{display:inline}.block{display:block}.contents{display:contents}.table{display:table;width:100%;margin:0}.row,.rows>*{display:table-row}.row:not(:last-child):not([specificity-hack])>*,.rows>:not(:last-child):not([specificity-hack])>*{margin-bottom:var(--gap)}.row>:not([specificity-hack]),.rows>*>:not([specificity-hack]){display:table-cell;vertical-align:top}.row>*+:not([specificity-hack]),:is(.rows > *)>*+:not([specificity-hack]){margin-inline-start:var(--gap);display:inline-block}.big{font-size:1.4em;line-height:calc(1.5*var(--rhythm))}.fixed{position:fixed}.sticky{position:sticky}.top{top:0}.right{right:0}.bottom{bottom:0}.left{left:0}.float\:left{float:left}.float\:right{float:right}.overflow\:auto{overflow:auto}.overflow\:scroll{overflow:scroll}.airy{--density: 3}.spacious{--density: 2}.dense{--density: 1}.crowded{--density: .5}.packed{--density: 0}.autodensity{--density: 1
-}@media (min-width:768px){.autodensity{--density: 2
-}}@media (min-width:1024px){.autodensity{--density: 3
-}}.vh,v-h{clip:rect(0 0 0 0);-webkit-clip-path:inset(50%);clip-path:inset(50%);block-size:1px;inline-size:1px;overflow:hidden;white-space:nowrap}.all\:initial{all:initial}.bold{font-weight:700}.italic{font-style:italic}.allcaps{text-transform:uppercase;letter-spacing:.1rem}.primary-font{font-family:var(--primary-font)}.secondary-font{font-family:var(--secondary-font)}.display-font{font-family:var(--display-font)}.mono-font,.monospace{font-family:var(--mono-font)}.massivetext{font-size:calc(.13*var(--eff-line-length));line-height:1em;letter-spacing:0}.aestheticbreak{display:block;margin:0;padding:0;height:calc(.5*var(--gap))}.f-row{display:flex;flex-direction:row;gap:var(--gap)}.f-row>*{margin:0}.f-col{display:flex;flex-direction:column;gap:var(--gap)}.f-col>*{margin:0}.f-switch{display:flex;flex-wrap:wrap;gap:var(--gap);--f-switch-threshold: 55ch
-}.f-switch>*{margin:0;flex-grow:1;flex-basis:calc((var(--f-switch-threshold) - 100%)*999)}.justify-content\:start{justify-content:start}.justify-content\:end{justify-content:end}.justify-content\:baseline{justify-content:baseline}.justify-content\:center{justify-content:center}.justify-content\:stretch{justify-content:stretch}.justify-content\:space-between{justify-content:space-between}.justify-content\:space-around{justify-content:space-around}.justify-content\:space-evenly{justify-content:space-evenly}.align-items\:start{align-items:start}.align-items\:end{align-items:end}.align-items\:baseline{align-items:baseline}.align-items\:center{align-items:center}.align-items\:stretch{align-items:stretch}.align-self\:start{align-self:start}.align-self\:end{align-self:end}.align-self\:baseline{align-self:baseline}.align-self\:center{align-self:center}.align-self\:stretch{align-self:stretch}.flex-grow\:0{flex-grow:0}.flex-grow\:1{flex-grow:1}.flex-grow\:2{flex-grow:2}.flex-grow\:3{flex-grow:3}.flex-grow\:4{flex-grow:4}.flex-grow\:5{flex-grow:5}.flex-grow\:6{flex-grow:6}.flex-grow\:7{flex-grow:7}.flex-grow\:8{flex-grow:8}.flex-grow\:9{flex-grow:9}.flex-grow\:10{flex-grow:10}.flex-grow\:11{flex-grow:11}.flex-grow\:12{flex-grow:12}.flex-wrap\:wrap{flex-wrap:wrap}.flex-wrap\:nowrap{flex-wrap:nowrap}.grid{display:grid;grid-auto-columns:var(--grid-col-width, 1fr);grid-auto-rows:var(--grid-row-width, auto);gap:var(--gap)}.grid>*{margin:0}.grid-even-rows{--grid-row-width: 1fr}.grid-variable-cols{--grid-column-width: auto}[data-cols^="1 "]{grid-column-start:1}[data-cols$=" 1"]{grid-column-end:2}[data-cols="1"]{grid-column:1}[data-cols^="2 "]{grid-column-start:2}[data-cols$=" 2"]{grid-column-end:3}[data-cols="2"]{grid-column:2}[data-cols^="3 "]{grid-column-start:3}[data-cols$=" 3"]{grid-column-end:4}[data-cols="3"]{grid-column:3}[data-cols^="4 "]{grid-column-start:4}[data-cols$=" 4"]{grid-column-end:5}[data-cols="4"]{grid-column:4}[data-cols^="5 "]{grid-column-start:5}[data-cols$=" 5"]{grid-column-end:6}[data-cols="5"]{grid-column:5}[data-cols^="6 "]{grid-column-start:6}[data-cols$=" 6"]{grid-column-end:7}[data-cols="6"]{grid-column:6}[data-cols^="7 "]{grid-column-start:7}[data-cols$=" 7"]{grid-column-end:8}[data-cols="7"]{grid-column:7}[data-cols^="8 "]{grid-column-start:8}[data-cols$=" 8"]{grid-column-end:9}[data-cols="8"]{grid-column:8}[data-cols^="9 "]{grid-column-start:9}[data-cols$=" 9"]{grid-column-end:10}[data-cols="9"]{grid-column:9}[data-cols^="10 "]{grid-column-start:10}[data-cols$=" 10"]{grid-column-end:11}[data-cols="10"]{grid-column:10}[data-cols^="11 "]{grid-column-start:11}[data-cols$=" 11"]{grid-column-end:12}[data-cols="11"]{grid-column:11}[data-cols^="12 "]{grid-column-start:12}[data-cols$=" 12"]{grid-column-end:13}[data-cols="12"]{grid-column:12}[data-rows^="1 "]{grid-row-start:1}[data-rows$=" 1"]{grid-row-end:2}[data-rows="1"]{grid-row:1}[data-rows^="2 "]{grid-row-start:2}[data-rows$=" 2"]{grid-row-end:3}[data-rows="2"]{grid-row:2}[data-rows^="3 "]{grid-row-start:3}[data-rows$=" 3"]{grid-row-end:4}[data-rows="3"]{grid-row:3}[data-rows^="4 "]{grid-row-start:4}[data-rows$=" 4"]{grid-row-end:5}[data-rows="4"]{grid-row:4}[data-rows^="5 "]{grid-row-start:5}[data-rows$=" 5"]{grid-row-end:6}[data-rows="5"]{grid-row:5}[data-rows^="6 "]{grid-row-start:6}[data-rows$=" 6"]{grid-row-end:7}[data-rows="6"]{grid-row:6}[data-rows^="7 "]{grid-row-start:7}[data-rows$=" 7"]{grid-row-end:8}[data-rows="7"]{grid-row:7}[data-rows^="8 "]{grid-row-start:8}[data-rows$=" 8"]{grid-row-end:9}[data-rows="8"]{grid-row:8}[data-rows^="9 "]{grid-row-start:9}[data-rows$=" 9"]{grid-row-end:10}[data-rows="9"]{grid-row:9}[data-rows^="10 "]{grid-row-start:10}[data-rows$=" 10"]{grid-row-end:11}[data-rows="10"]{grid-row:10}[data-rows^="11 "]{grid-row-start:11}[data-rows$=" 11"]{grid-row-end:12}[data-rows="11"]{grid-row:11}[data-rows^="12 "]{grid-row-start:12}[data-rows$=" 12"]{grid-row-end:13}[data-rows="12"]{grid-row:12}@media (max-width:768px){[data-cols\@s^="1 "]{grid-column-start:1}[data-cols\@s$=" 1"]{grid-column-end:2}[data-cols\@s="1"]{grid-column:1}[data-cols\@s^="2 "]{grid-column-start:2}[data-cols\@s$=" 2"]{grid-column-end:3}[data-cols\@s="2"]{grid-column:2}[data-cols\@s^="3 "]{grid-column-start:3}[data-cols\@s$=" 3"]{grid-column-end:4}[data-cols\@s="3"]{grid-column:3}[data-cols\@s^="4 "]{grid-column-start:4}[data-cols\@s$=" 4"]{grid-column-end:5}[data-cols\@s="4"]{grid-column:4}[data-cols\@s^="5 "]{grid-column-start:5}[data-cols\@s$=" 5"]{grid-column-end:6}[data-cols\@s="5"]{grid-column:5}[data-cols\@s^="6 "]{grid-column-start:6}[data-cols\@s$=" 6"]{grid-column-end:7}[data-cols\@s="6"]{grid-column:6}[data-cols\@s^="7 "]{grid-column-start:7}[data-cols\@s$=" 7"]{grid-column-end:8}[data-cols\@s="7"]{grid-column:7}[data-cols\@s^="8 "]{grid-column-start:8}[data-cols\@s$=" 8"]{grid-column-end:9}[data-cols\@s="8"]{grid-column:8}[data-cols\@s^="9 "]{grid-column-start:9}[data-cols\@s$=" 9"]{grid-column-end:10}[data-cols\@s="9"]{grid-column:9}[data-cols\@s^="10 "]{grid-column-start:10}[data-cols\@s$=" 10"]{grid-column-end:11}[data-cols\@s="10"]{grid-column:10}[data-cols\@s^="11 "]{grid-column-start:11}[data-cols\@s$=" 11"]{grid-column-end:12}[data-cols\@s="11"]{grid-column:11}[data-cols\@s^="12 "]{grid-column-start:12}[data-cols\@s$=" 12"]{grid-column-end:13}[data-cols\@s="12"]{grid-column:12}[data-rows\@s^="1 "]{grid-row-start:1}[data-rows\@s$=" 1"]{grid-row-end:2}[data-rows\@s="1"]{grid-row:1}[data-rows\@s^="2 "]{grid-row-start:2}[data-rows\@s$=" 2"]{grid-row-end:3}[data-rows\@s="2"]{grid-row:2}[data-rows\@s^="3 "]{grid-row-start:3}[data-rows\@s$=" 3"]{grid-row-end:4}[data-rows\@s="3"]{grid-row:3}[data-rows\@s^="4 "]{grid-row-start:4}[data-rows\@s$=" 4"]{grid-row-end:5}[data-rows\@s="4"]{grid-row:4}[data-rows\@s^="5 "]{grid-row-start:5}[data-rows\@s$=" 5"]{grid-row-end:6}[data-rows\@s="5"]{grid-row:5}[data-rows\@s^="6 "]{grid-row-start:6}[data-rows\@s$=" 6"]{grid-row-end:7}[data-rows\@s="6"]{grid-row:6}[data-rows\@s^="7 "]{grid-row-start:7}[data-rows\@s$=" 7"]{grid-row-end:8}[data-rows\@s="7"]{grid-row:7}[data-rows\@s^="8 "]{grid-row-start:8}[data-rows\@s$=" 8"]{grid-row-end:9}[data-rows\@s="8"]{grid-row:8}[data-rows\@s^="9 "]{grid-row-start:9}[data-rows\@s$=" 9"]{grid-row-end:10}[data-rows\@s="9"]{grid-row:9}[data-rows\@s^="10 "]{grid-row-start:10}[data-rows\@s$=" 10"]{grid-row-end:11}[data-rows\@s="10"]{grid-row:10}[data-rows\@s^="11 "]{grid-row-start:11}[data-rows\@s$=" 11"]{grid-row-end:12}[data-rows\@s="11"]{grid-row:11}[data-rows\@s^="12 "]{grid-row-start:12}[data-rows\@s$=" 12"]{grid-row-end:13}[data-rows\@s="12"]{grid-row:12}}@media (min-width:1024px){[data-cols\@l^="1 "]{grid-column-start:1}[data-cols\@l$=" 1"]{grid-column-end:2}[data-cols\@l="1"]{grid-column:1}[data-cols\@l^="2 "]{grid-column-start:2}[data-cols\@l$=" 2"]{grid-column-end:3}[data-cols\@l="2"]{grid-column:2}[data-cols\@l^="3 "]{grid-column-start:3}[data-cols\@l$=" 3"]{grid-column-end:4}[data-cols\@l="3"]{grid-column:3}[data-cols\@l^="4 "]{grid-column-start:4}[data-cols\@l$=" 4"]{grid-column-end:5}[data-cols\@l="4"]{grid-column:4}[data-cols\@l^="5 "]{grid-column-start:5}[data-cols\@l$=" 5"]{grid-column-end:6}[data-cols\@l="5"]{grid-column:5}[data-cols\@l^="6 "]{grid-column-start:6}[data-cols\@l$=" 6"]{grid-column-end:7}[data-cols\@l="6"]{grid-column:6}[data-cols\@l^="7 "]{grid-column-start:7}[data-cols\@l$=" 7"]{grid-column-end:8}[data-cols\@l="7"]{grid-column:7}[data-cols\@l^="8 "]{grid-column-start:8}[data-cols\@l$=" 8"]{grid-column-end:9}[data-cols\@l="8"]{grid-column:8}[data-cols\@l^="9 "]{grid-column-start:9}[data-cols\@l$=" 9"]{grid-column-end:10}[data-cols\@l="9"]{grid-column:9}[data-cols\@l^="10 "]{grid-column-start:10}[data-cols\@l$=" 10"]{grid-column-end:11}[data-cols\@l="10"]{grid-column:10}[data-cols\@l^="11 "]{grid-column-start:11}[data-cols\@l$=" 11"]{grid-column-end:12}[data-cols\@l="11"]{grid-column:11}[data-cols\@l^="12 "]{grid-column-start:12}[data-cols\@l$=" 12"]{grid-column-end:13}[data-cols\@l="12"]{grid-column:12}[data-rows\@l^="1 "]{grid-row-start:1}[data-rows\@l$=" 1"]{grid-row-end:2}[data-rows\@l="1"]{grid-row:1}[data-rows\@l^="2 "]{grid-row-start:2}[data-rows\@l$=" 2"]{grid-row-end:3}[data-rows\@l="2"]{grid-row:2}[data-rows\@l^="3 "]{grid-row-start:3}[data-rows\@l$=" 3"]{grid-row-end:4}[data-rows\@l="3"]{grid-row:3}[data-rows\@l^="4 "]{grid-row-start:4}[data-rows\@l$=" 4"]{grid-row-end:5}[data-rows\@l="4"]{grid-row:4}[data-rows\@l^="5 "]{grid-row-start:5}[data-rows\@l$=" 5"]{grid-row-end:6}[data-rows\@l="5"]{grid-row:5}[data-rows\@l^="6 "]{grid-row-start:6}[data-rows\@l$=" 6"]{grid-row-end:7}[data-rows\@l="6"]{grid-row:6}[data-rows\@l^="7 "]{grid-row-start:7}[data-rows\@l$=" 7"]{grid-row-end:8}[data-rows\@l="7"]{grid-row:7}[data-rows\@l^="8 "]{grid-row-start:8}[data-rows\@l$=" 8"]{grid-row-end:9}[data-rows\@l="8"]{grid-row:8}[data-rows\@l^="9 "]{grid-row-start:9}[data-rows\@l$=" 9"]{grid-row-end:10}[data-rows\@l="9"]{grid-row:9}[data-rows\@l^="10 "]{grid-row-start:10}[data-rows\@l$=" 10"]{grid-row-end:11}[data-rows\@l="10"]{grid-row:10}[data-rows\@l^="11 "]{grid-row-start:11}[data-rows\@l$=" 11"]{grid-row-end:12}[data-rows\@l="11"]{grid-row:11}[data-rows\@l^="12 "]{grid-row-start:12}[data-rows\@l$=" 12"]{grid-row-end:13}[data-rows\@l="12"]{grid-row:12}} \ No newline at end of file
diff --git a/www/releases/_artifacts/v1.0.5/missing-js/19.js b/www/releases/_artifacts/v1.0.5/missing-js/19.js
deleted file mode 100644
index eebd9b7..0000000
--- a/www/releases/_artifacts/v1.0.5/missing-js/19.js
+++ /dev/null
@@ -1,3 +0,0 @@
-function T(e){return(...t)=>(console.log("%c%s","color:green",e,...t),t.at(-1))}const h=T("19.js");function E(e){return e.replace(/[A-Z]/g,t=>"-"+t.toLowerCase())}function f(e,t,n,r,i={}){const{wrap:s=!0}=i,u=e+"ElementSibling",a=e==="next"?(l,p)=>d(l,p):(l,p)=>g(l,p).at(-1);if(!r)return s?a(t,n):null;let o=r;for(;;){for(;o[u]===null;)if(o=o.parentElement,o===t)return s?a(t,n):null;o=o[u];const l=o.matches(n)?o:d(o,n);if(l)return l}}function d(e,t){return e.querySelector(t)}function g(e,t){return Array.from(e.querySelectorAll(t))}function L(e,t,n,r={}){const i=s=>(r.addedBy&&!r.addedBy.isConnected&&v({target:e,type:t,listener:i,options:r}),n(s));return e.addEventListener(t,i,r),{target:e,type:t,options:r,listener:i}}function v({target:e,type:t,listener:n,options:r}){return e.removeEventListener(t,n,r)}function y(e,t){for(const n of e.split(" "))n==="default"&&t.preventDefault(),n==="bubbling"&&t.stopPropagation(),n==="propagation"&&t.stopImmediatePropagation()}function A(e,t){return n=>{y(e,n),t(n)}}function w(e,t,n){return e.dispatchEvent(new CustomEvent(t,{detail:n}))}function N(e,t,n=void 0){if(typeof t=="object"){for(const i in t)e.setAttribute(E(i),t[i]);return null}const r=e.getAttribute(t);return n===void 0?e.getAttribute(t):n===null?(e.removeAttribute(t),r):(e.setAttribute(t,n),n)}function x(e){const t=document.createElement("div");return t.append(e),t.innerHTML}function b(e){return e==null?"":e instanceof Node?x(e):String(e).replaceAll("&","&amp;").replaceAll("<","&lt;").replaceAll(">","&gt;").replaceAll("'","&#x27;").replaceAll('"',"&quot;")}function k(e,...t){const n=document.createElement("template");return typeof e=="object"&&"raw"in e&&(e=String.raw(e,...t.map(b))),n.innerHTML=e,n.content}function O(e){return e instanceof HTMLElement?e:null}function P(e,t,n,r={}){return f("next",e,t,n,r)}function S(e,t,n,r={}){return f("previous",e,t,n,r)}function B(e){const s={},u=o=>~~(o.altKey&&1)|~~(o.ctrlKey&&2)|~~(o.metaKey&&4)|~~(o.shiftKey&&8),a=o=>{const l=o.split("+"),p=l.pop();let c=0;for(const m in l)switch(m.toLowerCase()){case"alt":c|=1;break;case"ctrl":c|=2;break;case"meta":c|=4;break;case"shift":c|=8;break}return[p,c]};for(const[o,l]of Object.entries(e)){const[p,c]=a(o);(s[p]??(s[p]=new Array(8)))[c]=l}return o=>s[o.key]?.[u(o)]?.(o)}function C(e,t,{mode:n="trailing"}={}){let r=null;return(...i)=>{r?clearTimeout(r):n==="leading"&&t(...i),r=setTimeout(()=>{n==="trailing"&&t(...i),r=null},e)}}function D(e,t){const n=new WeakSet;return(r=document,i={})=>{const s=r.getRootNode();g(r,e).forEach(u=>{n.has(u)||(n.add(u),t(u,{options:i,root:s}))})}}function K(e,t){return n=>{let r=null;const i=(...a)=>{const o=r;r=a.at(-1),r instanceof DocumentFragment&&(r=r.lastChild),o?o.after(...a):e.prepend(...a)},s=a=>{if(a)for(;a.nextSibling;)a.nextSibling.remove();else e.replaceChildren()},u=e.getRootNode();for(const a of n){const o=t.idOf(a),l=u.getElementById(o);i(l?t.update?.(l,a)??l:t.create(a,{id:o}))}s(r)}}export{d as $,g as $$,O as asHtml,N as attr,D as behavior,C as debounce,w as dispatch,y as halt,A as halts,B as hotkey,k as html,b as htmlescape,T as makelogger,P as next,v as off,L as on,S as prev,K as repeater,x as stringifyNode,f as traverse};
-
-/*# sourceMappingURL=./19.js.map */ \ No newline at end of file
diff --git a/www/releases/_artifacts/v1.0.5/missing-js/19.js.map b/www/releases/_artifacts/v1.0.5/missing-js/19.js.map
deleted file mode 100644
index c86d7e5..0000000
--- a/www/releases/_artifacts/v1.0.5/missing-js/19.js.map
+++ /dev/null
@@ -1 +0,0 @@
-{"version":3,"sources":["/missing-js/19.ts"],"sourcesContent":["/** \n * a DOM helper library.\n * \"1 US$ = 18.5842 TR₺ · Oct 16, 2022, 20:52 UTC\"\n */\n\n/// <reference lib=\"es2022\" />\n\nexport type Behavior<TOptions> = (subtree: ParentNode, options?: Partial<TOptions>) => void;\n\nexport type BehaviorInit<TOptions> = (element: Element, context: BehaviorContext<TOptions>) => void;\n\nexport type BehaviorContext<TOptions> = {\n root: Root;\n options: Partial<TOptions>\n}\n\nexport type Root = Document | ShadowRoot;\n\nexport type Logger = <T>(...args: [..._: any, last: T]) => T;\n\n/**\n * Creates a logging function.\n * The {@link scope} will be prepended to each message logged.\n * \n * We usually use `ilog` as a name for the resulting function.\n * It returns its last argument,\n * which makes it easier to log intermediate values in an expression:\n * \n * const x = a + ilog(\"b:\", b); // x = a + b\n * \n * @param scope - The name of the component/module/etc. that will use this logger.\n * @returns The `ilog` function.\n */\nexport function makelogger(scope: string): Logger {\n return (...args) => {\n console.log(\"%c%s\", \"color:green\", scope, ...args);\n return args.at(-1);\n };\n}\n\nconst ilog = makelogger(\"19.js\");\n\n/**\n * Converts camelCase to kebab-case.\n */\nfunction camelToKebab(s: string): string {\n return s.replace(/[A-Z]/g, (s) => \"-\" + s.toLowerCase());\n}\n\n/**\n * Traverse the DOM forward or backward from a starting point\n * to find an element matching some selector.\n * @param {(\"next\" | \"previous\")} direction\n * @param {ParentNode} root - The element within which to look for the next element, e.g. a menu.\n * @param {string} selector - The selector to look for, e.g. `\"[role=menuitem]\"`.\n * @param {Element | null} [current] - The element to start the search from, e.g. the currently selected menu item.\n * If missing, the first or last matching element will be returned (depending on search direction).\n * @param {object} [options]\n * @param {boolean} [options.wrap] Whether to wrap around when the end/start of {@link root} is reached.\n */\nexport function traverse(\n direction: \"next\" | \"previous\",\n root: ParentNode,\n selector: string,\n current: Element | null,\n options: { wrap?: boolean } = {},\n) {\n const { wrap = true } = options;\n\n const advance = direction + \"ElementSibling\";\n const wrapIt = direction === \"next\"\n ? (root: ParentNode, selector: string) => $(root, selector)\n : (root: ParentNode, selector: string) => $$(root, selector).at(-1);\n if (!current)\n return wrap ? wrapIt(root, selector) : null;\n let cursor = current;\n while (true) {\n while (cursor[advance] === null) {\n cursor = cursor.parentElement as Element;\n if (cursor === root)\n return wrap ? wrapIt(root, selector) : null;\n }\n cursor = cursor[advance];\n const found = cursor.matches(selector) ? cursor : $(cursor, selector);\n if (found)\n return found;\n }\n}\n\n/**\n * Wrapper for {@link scope}.querySelector({@link sel}).\n * Unlike jQuery, the scope is required to be specified.\n */\nexport function $<TElement extends Element>(scope: ParentNode, sel: string): TElement | null {\n return scope.querySelector<TElement>(sel);\n}\n\n/**\n * Wrapper for {@link scope}.querySelectorAll({@link sel}).\n * Unlike jQuery, the scope is required to be specified.\n * Returns an Array instead of a NodeList.\n */\nexport function $$<TElement extends Element>(scope: ParentNode, sel: string): TElement[] {\n return Array.from(scope.querySelectorAll<TElement>(sel));\n}\n\n/**\n * Returned by `on`, this is an object you can pass to `off` to remove an event listener,\n * saving the burden of keeping a handle on the listener function and options.\n */\ntype EventListenerToken = {\n target: EventTarget;\n type: string;\n listener: EventListener;\n options: object; \n}\n\n/** \n * @callbListener\n * @param {unknown extends HTMLElementEventMap[TEventType] ? CustomEvent : HTMLElementEventMap[TEventType]} event\n */\ntype Listener<T extends string> = (event: T extends keyof HTMLElementEventMap ? HTMLElementEventMap[T] : CustomEvent) => void;\n\n/**\n * Add an event listener.\n * @param target - The element (or other event target) to add the listener to.\n * @param type - The type of event to listen to, e.g. `\"click\"`.\n * @param listener - The listener function.\n * @param [options]\n * @param [options.addedBy] - If supplied, the listener will be removed when this element is not in the DOM.\n */\nexport function on<TEventType extends string>(\n target: EventTarget,\n type: TEventType,\n listener: Listener<TEventType>,\n options: { addedBy?: Element } = {}\n): EventListenerToken {\n const listenerWrapper: Listener<TEventType> = e => {\n if (options.addedBy && !options.addedBy.isConnected)\n off({ target, type: type, listener: listenerWrapper as EventListener, options }); // self-cleaning listener\n return listener(e);\n };\n target.addEventListener(type, listenerWrapper as EventListener, options as AddEventListenerOptions);\n return { target, type: type, options, listener: listenerWrapper as EventListener };\n}\n\n/**\n * Remove an event listener.\n * @param listenerToken - The return value of {@link on}.\n */\nexport function off({ target, type, listener, options }: EventListenerToken) {\n return target.removeEventListener(type, listener, options);\n}\n\n/**\n * \"Halt\" an event -- convenient wrapper for `preventDefault`, `stopPropagation`, and `stopImmediatePropagation`.\n * @param o - How to halt. Space-separated list of \"default\", \"bubbling\" and \"propagation\".\n * @param e - The event. \n */\nexport function halt(o: string, e: Event) {\n for (const t of o.split(\" \")) {\n if (t === \"default\")\n e.preventDefault();\n if (t === \"bubbling\")\n e.stopPropagation();\n if (t === \"propagation\")\n e.stopImmediatePropagation();\n }\n}\n\n/**\n * Decorator for any event listener to call {@link halt}.\n * \n * on(el, \"click\", halts(\"default\", e => ...))\n *\n * @param o - See {@link halt~o}.\n * @param f\n */\nexport function halts<T extends Event>(o: string, f: (e: T) => void): (e: T) => void {\n return e => { halt(o, e); f(e); };\n}\n\n/**\n * Dispatch a {@link CustomEvent}.\n * @param el - the event target\n * @param type - the event type, e.g. `\"myapp:clear-cart\"`\n * @param [detail] - Event.detail\n */\nexport function dispatch(el: EventTarget, type: string, detail?: any) {\n return el.dispatchEvent(new CustomEvent(type, { detail }));\n}\n\n/**\n * Get, remove or set an attribute.\n * \n * - attr(el, \"name\") Get the attribute \"name\"\n * - attr(el, \"name\", \"value\") Set the attribute \"name\" to \"value\"\n * - attr(el, \"name\", null) Remove the attribute \"name\"\n * - attr(el, [ nameA: \"valueA\", nameB: \"valueB\" ]) Set the attributes name-a to \"valueA\", name-b to \"valueB\"\n * \n * @param el \n * @param name - The attribute name **or** a map of names to values.\n * If an object is passed, camelCase attribute names will be converted to kebab-case.\n * @param value - The value of the attribute, when setting. Pass `null` to remove an attribute.\n */\nexport function attr(el: Element, name: string | object, value: any = undefined): string | null {\n if (typeof name === \"object\") {\n for (const at in name) el.setAttribute(camelToKebab(at), name[at]);\n return null;\n }\n const curValue = el.getAttribute(name);\n if (value === undefined)\n return el.getAttribute(name);\n else if (value === null)\n return el.removeAttribute(name), curValue;\n else\n return el.setAttribute(name, value), value;\n}\n\n/**\n * Convert a node to equivalent HTML.\n */\nexport function stringifyNode(node: Node): string {\n const tmp = document.createElement(\"div\");\n tmp.append(node);\n return tmp.innerHTML;\n}\n\n/**\n * HTML-escape a string.\n * If given a DOM node, it will return **unescaped** HTML for it.\n * Returns empty string when given null or undefined.\n */\nexport function htmlescape(s: any): string {\n if (s === null || s === undefined)\n return \"\";\n if (s instanceof Node)\n return stringifyNode(s);\n return String(s)\n .replaceAll(\"&\", \"&amp;\")\n .replaceAll(\"<\", \"&lt;\")\n .replaceAll(\">\", \"&gt;\")\n .replaceAll(\"'\", \"&#x27;\")\n .replaceAll(\"\\\"\", \"&quot;\");\n}\n\n\n/**\n * Template literal that escapes HTML in interpolated values and returns a DocumentFragment.\n * Can also be called with a string to parse it as HTML.\n * To let trusted HTML through escaping, parse it first:\n * \n * html`<p>My trusted markup: ${html(trustedMarkup)}</p>`\n */\nexport function html(str: TemplateStringsArray | string, ...values: any[]): DocumentFragment {\n const tmpl = document.createElement(\"template\");\n if (typeof str === \"object\" && \"raw\" in str)\n str = String.raw(str, ...values.map(htmlescape));\n tmpl.innerHTML = str;\n return tmpl.content;\n}\n\n/**\n * 'Type \"Element\" cannot be assigned to type \"HTMLElement\"' SHUT UP\n * @param {*} [el] \n * @returns {HTMLElement | null}\n */\nexport function asHtml(el: any): HTMLElement | null {\n return el instanceof HTMLElement ? el : null;\n}\n\n/**\n * Find the next element matching a given selector, searching deeply throughout the DOM.\n * @see traverse\n * @param root - The element within which to look for the next element, e.g. a menu.\n * @param selector - The selector to look for, e.g. `\"[role=menuitem]\"`.\n * @param [current] - The element to start the search from, e.g. the currently selected menu item.\n * If missing, the first or last matching element will be returned (depending on search direction).\n * @param [options]\n * @param [options.wrap] Whether to wrap around when the end/start of {@link root} is reached.\n */\nexport function next(\n root: ParentNode,\n selector: string, \n current: Element | null, \n options: { wrap?: boolean } = {}\n) {\n return traverse(\"next\", root, selector, current, options);\n}\n\n/**\n * Find the previous element matching a given selector, searching deeply throughout the DOM.\n * @see traverse\n * @param root - The element within which to look for the next element, e.g. a menu.\n * @param selector - The selector to look for, e.g. `\"[role=menuitem]\"`.\n * @param [current] - The element to start the search from, e.g. the currently selected menu item.\n * If missing, the first or last matching element will be returned (depending on search direction).\n * @param [options]\n * @param [options.wrap] Whether to wrap around when the end/start of {@link root} is reached.\n */\n export function prev(\n root: ParentNode,\n selector: string,\n current: Element | null,\n options: { wrap?: boolean } = {}\n) {\n return traverse(\"previous\", root, selector, current, options);\n}\n\ntype KeyboardEventListener = (e: KeyboardEvent) => void;\n\n/**\n * Create a handler for keyboard events using a keyboard shortcut DSL.\n * \n * - \"ArrowLeft\"\n * - \"Ctrl+Alt+3\"\n */\nexport function hotkey(hotkeys: Record<string, KeyboardEventListener>): KeyboardEventListener {\n const alt = 0b1, ctrl = 0b10, meta = 0b100, shift = 0b1000;\n const handlers = {}; // handlers[key][modifiers as bitfields]\n const modifiersOf = (e: KeyboardEvent) => ~~(e.altKey && alt) | ~~(e.ctrlKey && ctrl) | ~~(e.metaKey && meta) | ~~(e.shiftKey && shift);\n const parse = (hotkeySpec: string) => {\n const\n tokens = hotkeySpec.split(\"+\"), key = tokens.pop()!;\n let modifiers = 0 | 0;\n for (const token in tokens)\n switch (token.toLowerCase()) {\n case \"alt\": modifiers |= alt; break;\n case \"ctrl\": modifiers |= ctrl; break;\n case \"meta\": modifiers |= meta; break;\n case \"shift\": modifiers |= shift; break;\n }\n return [key, modifiers];\n };\n\n for (const [hotkeySpec, handler] of Object.entries(hotkeys)) {\n const [key, modifiers] = parse(hotkeySpec);\n (handlers[key] ??= new Array(8))[modifiers] = handler;\n }\n\n return e => handlers[e.key]?.[modifiersOf(e)]?.(e);\n}\n\n/**\n * Debounce a function.\n * \n * @param t - The debounce time.\n * @param f - The function.\n * @param [options.mode] - Leading or trailing debounce.\n */\nexport function debounce<TArgs extends any[]>(t: number, f: (...args: TArgs) => void, { mode = \"trailing\" } = {}): typeof f {\n let timeout: number | null = null;\n return (...args: TArgs) => {\n if (timeout)\n clearTimeout(timeout);\n else if (mode === \"leading\")\n f(...args);\n timeout = setTimeout(() => {\n if (mode === \"trailing\")\n f(...args);\n timeout = null;\n }, t);\n };\n}\n\n/**\n * Create a behavior that applies to elements matching the given selector.\n * @returns A function that can be called to apply the behavior to new elements within a subtree.\n */\nexport function behavior<TOptions>(selector: string, init: BehaviorInit<TOptions>): Behavior<TOptions> {\n const initialized = new WeakSet;\n return (subtree = document, options = {}) => {\n const root = subtree.getRootNode() as Root;\n $$(subtree, selector).forEach(el => {\n if (initialized.has(el))\n return;\n initialized.add(el);\n init(el, { options, root });\n });\n };\n}\n\ntype Repeater<TData> = {\n /**\n * Returns the HTML id for a given data value.\n * @param datum The data value.\n */\n idOf(datum: TData): string;\n\n /**\n * Createsa an element for a data value.\n * @param data The data value\n * @param ctx.id The id the returned element should have.\n */\n create(data: TData, ctx: { id: string }): Node;\n\n /**\n * \n * @param el The current element.\n * @param data The new data value.\n */\n update?(el: Element, data: TData): void;\n}\n\n/**\n * Repeat an element such that the list can be updated when data changes.\n * \n * @param {object} context\n * @param {(data: TData) => string} context.idOf\n * @param {(data: TData, ctx: { id: string }) => Node} context.create\n * @param {(el: Element, data: TData) => void} [context.update]\n * @returns \n */\nexport function repeater<TData>(container: ParentNode, rep: Repeater<TData>) {\n return (dataset: any) => {\n let cursor: ChildNode | null = null;\n\n const append = (...nodes: any[]) => {\n const oldcursor = cursor;\n cursor = nodes.at(-1);\n if (cursor instanceof DocumentFragment)\n cursor = cursor.lastChild;\n if (oldcursor)\n oldcursor.after(...nodes);\n else\n container.prepend(...nodes);\n };\n const clearAfter = (cursor: Node | null) => {\n if (cursor)\n while (cursor.nextSibling)\n cursor.nextSibling.remove();\n else\n container.replaceChildren();\n };\n\n const root = container.getRootNode() as Root;\n\n // TODO: use an actual morphing algo\n for (const datum of dataset) {\n const\n id = rep.idOf(datum), existing = root.getElementById(id);\n if (existing)\n append(rep.update?.(existing, datum) ?? existing);\n else\n append(rep.create(datum, { id }));\n }\n clearAfter(cursor);\n };\n}\n"],"mappings":"AAiCO,SAASA,EAAWC,EAAuB,CAChD,MAAO,IAAIC,KACT,QAAQ,IAAI,OAAQ,cAAeD,EAAO,GAAGC,CAAI,EAC1CA,EAAK,GAAG,EAAE,EAErB,CAEA,MAAMC,EAAOH,EAAW,OAAO,EAK/B,SAASI,EAAaC,EAAmB,CACvC,OAAOA,EAAE,QAAQ,SAAWA,GAAM,IAAMA,EAAE,YAAY,CAAC,CACzD,CAaO,SAASC,EACdC,EACAC,EACAC,EACAC,EACAC,EAA8B,CAAC,EAC/B,CACA,KAAM,CAAE,KAAAC,EAAO,EAAK,EAAID,EAElBE,EAAUN,EAAY,iBACtBO,EAASP,IAAc,OACzB,CAACC,EAAkBC,IAAqBM,EAAEP,EAAMC,CAAQ,EACxD,CAACD,EAAkBC,IAAqBO,EAAGR,EAAMC,CAAQ,EAAE,GAAG,EAAE,EACpE,GAAI,CAACC,EACH,OAAOE,EAAOE,EAAON,EAAMC,CAAQ,EAAI,KACzC,IAAIQ,EAASP,EACb,OAAa,CACX,KAAOO,EAAOJ,KAAa,MAEzB,GADAI,EAASA,EAAO,cACZA,IAAWT,EACb,OAAOI,EAAOE,EAAON,EAAMC,CAAQ,EAAI,KAE3CQ,EAASA,EAAOJ,GAChB,MAAMK,EAAQD,EAAO,QAAQR,CAAQ,EAAIQ,EAASF,EAAEE,EAAQR,CAAQ,EACpE,GAAIS,EACF,OAAOA,CACX,CACF,CAMO,SAASH,EAA4Bd,EAAmBkB,EAA8B,CAC3F,OAAOlB,EAAM,cAAwBkB,CAAG,CAC1C,CAOO,SAASH,EAA6Bf,EAAmBkB,EAAyB,CACvF,OAAO,MAAM,KAAKlB,EAAM,iBAA2BkB,CAAG,CAAC,CACzD,CA2BO,SAASC,EACdC,EACAC,EACAC,EACAZ,EAAiC,CAAC,EACd,CACpB,MAAMa,EAAwCC,IACxCd,EAAQ,SAAW,CAACA,EAAQ,QAAQ,aACtCe,EAAI,CAAE,OAAAL,EAAQ,KAAMC,EAAM,SAAUE,EAAkC,QAAAb,CAAQ,CAAC,EAC1EY,EAASE,CAAC,GAEnB,OAAAJ,EAAO,iBAAiBC,EAAME,EAAkCb,CAAkC,EAC3F,CAAE,OAAAU,EAAQ,KAAMC,EAAM,QAAAX,EAAS,SAAUa,CAAiC,CACnF,CAMO,SAASE,EAAI,CAAE,OAAAL,EAAQ,KAAAC,EAAM,SAAAC,EAAU,QAAAZ,CAAQ,EAAuB,CAC3E,OAAOU,EAAO,oBAAoBC,EAAMC,EAAUZ,CAAO,CAC3D,CAOO,SAASgB,EAAKC,EAAWH,EAAU,CACxC,UAAWI,KAAKD,EAAE,MAAM,GAAG,EACrBC,IAAM,WACRJ,EAAE,eAAe,EACfI,IAAM,YACRJ,EAAE,gBAAgB,EAChBI,IAAM,eACRJ,EAAE,yBAAyB,CAEjC,CAUO,SAASK,EAAuBF,EAAWG,EAAmC,CACnF,OAAON,GAAK,CAAEE,EAAKC,EAAGH,CAAC,EAAGM,EAAEN,CAAC,CAAG,CAClC,CAQO,SAASO,EAASC,EAAiBX,EAAcY,EAAc,CACpE,OAAOD,EAAG,cAAc,IAAI,YAAYX,EAAM,CAAE,OAAAY,CAAO,CAAC,CAAC,CAC3D,CAeO,SAASC,EAAKF,EAAaG,EAAuBC,EAAa,OAA0B,CAC9F,GAAI,OAAOD,GAAS,SAAU,CAC5B,UAAWE,KAAMF,EAAMH,EAAG,aAAa7B,EAAakC,CAAE,EAAGF,EAAKE,EAAG,EACjE,OAAO,IACT,CACA,MAAMC,EAAWN,EAAG,aAAaG,CAAI,EACrC,OAAIC,IAAU,OACLJ,EAAG,aAAaG,CAAI,EACpBC,IAAU,MACVJ,EAAG,gBAAgBG,CAAI,EAAGG,IAE1BN,EAAG,aAAaG,EAAMC,CAAK,EAAGA,EACzC,CAKO,SAASG,EAAcC,EAAoB,CAChD,MAAMC,EAAM,SAAS,cAAc,KAAK,EACxC,OAAAA,EAAI,OAAOD,CAAI,EACRC,EAAI,SACb,CAOO,SAASC,EAAWtC,EAAgB,CACzC,OAAIA,GAAM,KACD,GACLA,aAAa,KACRmC,EAAcnC,CAAC,EACjB,OAAOA,CAAC,EACZ,WAAW,IAAK,OAAO,EACvB,WAAW,IAAK,MAAM,EACtB,WAAW,IAAK,MAAM,EACtB,WAAW,IAAK,QAAQ,EACxB,WAAW,IAAM,QAAQ,CAC9B,CAUO,SAASuC,EAAKC,KAAuCC,EAAiC,CAC3F,MAAMC,EAAO,SAAS,cAAc,UAAU,EAC9C,OAAI,OAAOF,GAAQ,UAAY,QAASA,IACtCA,EAAM,OAAO,IAAIA,EAAK,GAAGC,EAAO,IAAIH,CAAU,CAAC,GACjDI,EAAK,UAAYF,EACVE,EAAK,OACd,CAOO,SAASC,EAAOf,EAA6B,CAClD,OAAOA,aAAc,YAAcA,EAAK,IAC1C,CAYO,SAASgB,EACdzC,EACAC,EACAC,EACAC,EAA8B,CAAC,EAC/B,CACA,OAAOL,EAAS,OAAQE,EAAMC,EAAUC,EAASC,CAAO,CAC1D,CAYQ,SAASuC,EACf1C,EACAC,EACAC,EACAC,EAA8B,CAAC,EAC/B,CACA,OAAOL,EAAS,WAAYE,EAAMC,EAAUC,EAASC,CAAO,CAC9D,CAUO,SAASwC,EAAOC,EAAuE,CAE5F,MAAMC,EAAW,CAAC,EACZC,EAAe7B,GAAqB,CAAC,EAAEA,EAAE,QAAU,GAAO,CAAC,EAAEA,EAAE,SAAW,GAAQ,CAAC,EAAEA,EAAE,SAAW,GAAQ,CAAC,EAAEA,EAAE,UAAY,GAC3H8B,EAASC,GAAuB,CAClC,MACEC,EAASD,EAAW,MAAM,GAAG,EAAGE,EAAMD,EAAO,IAAI,EACnD,IAAIE,EAAY,EAChB,UAAWC,KAASH,EAClB,OAAQG,EAAM,YAAY,EAAG,CAC3B,IAAK,MAAOD,GAAa,EAAK,MAC9B,IAAK,OAAQA,GAAa,EAAM,MAChC,IAAK,OAAQA,GAAa,EAAM,MAChC,IAAK,QAASA,GAAa,EAAO,KACpC,CACF,MAAO,CAACD,EAAKC,CAAS,CACxB,EAEF,SAAW,CAACH,EAAYK,CAAO,IAAK,OAAO,QAAQT,CAAO,EAAG,CAC3D,KAAM,CAACM,EAAKC,CAAS,EAAIJ,EAAMC,CAAU,GACxCH,EAAAK,KAAAL,EAAAK,GAAkB,IAAI,MAAM,CAAC,IAAGC,GAAaE,CAChD,CAEA,OAAOpC,GAAK4B,EAAS5B,EAAE,OAAO6B,EAAY7B,CAAC,KAAKA,CAAC,CACnD,CASO,SAASqC,EAA8BjC,EAAWE,EAA6B,CAAE,KAAAgC,EAAO,UAAW,EAAI,CAAC,EAAa,CAC1H,IAAIC,EAAyB,KAC7B,MAAO,IAAI9D,IAAgB,CACrB8D,EACF,aAAaA,CAAO,EACbD,IAAS,WAChBhC,EAAE,GAAG7B,CAAI,EACX8D,EAAU,WAAW,IAAM,CACrBD,IAAS,YACXhC,EAAE,GAAG7B,CAAI,EACX8D,EAAU,IACZ,EAAGnC,CAAC,CACN,CACF,CAMO,SAASoC,EAAmBxD,EAAkByD,EAAkD,CACrG,MAAMC,EAAc,IAAI,QACxB,MAAO,CAACC,EAAU,SAAUzD,EAAU,CAAC,IAAM,CAC3C,MAAMH,EAAO4D,EAAQ,YAAY,EACjCpD,EAAGoD,EAAS3D,CAAQ,EAAE,QAAQwB,GAAM,CAC9BkC,EAAY,IAAIlC,CAAE,IAEtBkC,EAAY,IAAIlC,CAAE,EAClBiC,EAAKjC,EAAI,CAAE,QAAAtB,EAAS,KAAAH,CAAK,CAAC,EAC5B,CAAC,CACH,CACF,CAiCO,SAAS6D,EAAgBC,EAAuBC,EAAsB,CAC3E,OAAQC,GAAiB,CACvB,IAAIvD,EAA2B,KAE/B,MAAMwD,EAAS,IAAIC,IAAiB,CAClC,MAAMC,EAAY1D,EAClBA,EAASyD,EAAM,GAAG,EAAE,EAChBzD,aAAkB,mBACpBA,EAASA,EAAO,WACd0D,EACFA,EAAU,MAAM,GAAGD,CAAK,EAExBJ,EAAU,QAAQ,GAAGI,CAAK,CAC9B,EACME,EAAc3D,GAAwB,CAC1C,GAAIA,EACF,KAAOA,EAAO,aACZA,EAAO,YAAY,OAAO,OAE5BqD,EAAU,gBAAgB,CAC9B,EAEM9D,EAAO8D,EAAU,YAAY,EAGnC,UAAWO,KAASL,EAAS,CAC3B,MACEM,EAAKP,EAAI,KAAKM,CAAK,EAAGE,EAAWvE,EAAK,eAAesE,CAAE,EAEvDL,EADEM,EACKR,EAAI,SAASQ,EAAUF,CAAK,GAAKE,EAEjCR,EAAI,OAAOM,EAAO,CAAE,GAAAC,CAAG,CAAC,CAFiB,CAGpD,CACAF,EAAW3D,CAAM,CACnB,CACF","names":["makelogger","scope","args","ilog","camelToKebab","s","traverse","direction","root","selector","current","options","wrap","advance","wrapIt","$","$$","cursor","found","sel","on","target","type","listener","listenerWrapper","e","off","halt","o","t","halts","f","dispatch","el","detail","attr","name","value","at","curValue","stringifyNode","node","tmp","htmlescape","html","str","values","tmpl","asHtml","next","prev","hotkey","hotkeys","handlers","modifiersOf","parse","hotkeySpec","tokens","key","modifiers","token","handler","debounce","mode","timeout","behavior","init","initialized","subtree","repeater","container","rep","dataset","append","nodes","oldcursor","clearAfter","datum","id","existing"],"sourceRoot":"file:///home/dz4k/Documents/Projects/bigsky.software/missing.css","file":"/missing-js/19.js.map"} \ No newline at end of file
diff --git a/www/releases/_artifacts/v1.0.5/missing-js/menu.js b/www/releases/_artifacts/v1.0.5/missing-js/menu.js
deleted file mode 100644
index 688434b..0000000
--- a/www/releases/_artifacts/v1.0.5/missing-js/menu.js
+++ /dev/null
@@ -1,3 +0,0 @@
-import{$ as m,$$ as h,on as o,dispatch as c,halts as g,attr as i,next as E,prev as _,asHtml as a,hotkey as w,behavior as f,makelogger as k}from"./19.js";const l=k("menu"),x="[role=menu]",s="[role=menuitem]",p=e=>h(e,s),y=(e,{root:r})=>{const t=i(e,"aria-controls");return t===null?null:r.getElementById(t)},u=e=>m(e,s),v=e=>p(e).at(-1)??null,d=e=>!e.hidden,B=f(x,(e,{root:r})=>{if(!(e instanceof HTMLElement))return;let t;p(e).forEach(n=>n.setAttribute("tabindex","-1")),o(e,"menu:open",n=>{t=n.detail?.opener,t||l("Warning: Menu",e,"opened without passing an `opener` element"),e.hidden=!1,u(e)?.focus()}),o(e,"menu:close",n=>{l("menu:close",e.hidden=!0),t?.focus()}),o(e,"focusout",n=>{!d(e)||e.contains(n.relatedTarget)||t!==n.relatedTarget&&c(e,"menu:close")}),o(e,"keydown",g("default",w({ArrowUp:n=>a(_(e,s,r.activeElement,{}))?.focus(),ArrowDown:n=>a(E(e,s,r.activeElement,{}))?.focus(),Space:n=>a(r.activeElement?.closest(s))?.click(),Home:n=>u(e)?.focus(),End:n=>v(e)?.focus(),Escape:n=>c(e,"menu:close")}))),o(window,"click",n=>{!d(e)||t!==n.target&&c(e,"menu:close")},{addedBy:e})}),M=f("[aria-haspopup=menu]",(e,{root:r})=>{const t=y(e,{root:r});if(t===null)return l("Error: Menu button",e,"has no menu.");o(t,"menu:close",n=>i(e,"aria-expanded","false"),{addedBy:e}),o(t,"menu:open",n=>i(e,"aria-expanded","true"),{addedBy:e}),o(e,"click",()=>c(t,d(t)?"menu:close":"menu:open",{opener:e}))});B(document);M(document);export{B as menu,M as menuButton};
-
-/*# sourceMappingURL=./menu.js.map */ \ No newline at end of file
diff --git a/www/releases/_artifacts/v1.0.5/missing-js/menu.js.map b/www/releases/_artifacts/v1.0.5/missing-js/menu.js.map
deleted file mode 100644
index 850b804..0000000
--- a/www/releases/_artifacts/v1.0.5/missing-js/menu.js.map
+++ /dev/null
@@ -1 +0,0 @@
-{"version":3,"sources":["/missing-js/menu.js"],"sourcesContent":["/// <reference lib=\"es2022\" />\n\nimport { $, $$, on, dispatch, halts, attr, next, prev, asHtml, hotkey, behavior, makelogger } from \"./19.js\"\n\nconst ilog = makelogger(\"menu\");\nconst sMenu = \"[role=menu]\";\nconst sMenuitem = \"[role=menuitem]\";\n\n/**\n * @param {HTMLElement} menu\n * @returns {HTMLElement[]}\n */\nconst menuItems = menu => $$(menu, sMenuitem);\n\n/**\n * @param {Element} button \n * @param {object} options \n * @param {import(\"./19.js\").Root} options.root \n * @returns {HTMLElement | null}\n */\nconst menuOf = (button, { root }) => {\n const id = attr(button, \"aria-controls\");\n if (id === null) return null;\n return root.getElementById(id);\n}\n\n/**\n * @param {HTMLElement} menu\n * @returns {HTMLElement | null}\n */\nconst firstItem = menu => $(menu, sMenuitem)\n\n/**\n * @param {HTMLElement} menu\n * @returns {HTMLElement | null}\n */\nconst lastItem = menu => menuItems(menu).at(-1) ?? null;\n\n\n/**\n * @param {HTMLElement} menu \n * @returns {boolean}\n */\nconst isOpen = menu => !menu.hidden;\n\nexport const menu = behavior(sMenu, (menu, { root }) => {\n if (!(menu instanceof HTMLElement)) return;\n\n let opener;\n\n menuItems(menu).forEach(item => item.setAttribute(\"tabindex\", \"-1\"));\n\n on(menu, \"menu:open\", e => {\n opener = e.detail?.opener;\n if (!opener) ilog(\"Warning: Menu\", menu, \"opened without passing an `opener` element\");\n menu.hidden = false;\n firstItem(menu)?.focus();\n });\n\n on(menu, \"menu:close\", _ => {\n ilog(\"menu:close\", menu.hidden = true);\n opener?.focus();\n });\n\n on(menu, \"focusout\", e => {\n if (!isOpen(menu)) return;\n if (menu.contains(/** @type {Node} */(e.relatedTarget))) return;\n if (opener === e.relatedTarget) return;\n dispatch(menu, \"menu:close\");\n });\n\n on(menu, \"keydown\", halts(\"default\", hotkey({\n \"ArrowUp\": _ => asHtml(prev(menu, sMenuitem, root.activeElement, {}))?.focus(),\n \"ArrowDown\": _ => asHtml(next(menu, sMenuitem, root.activeElement, {}))?.focus(),\n \"Space\": _ => asHtml(root.activeElement?.closest(sMenuitem))?.click(),\n \"Home\": _ => firstItem(menu)?.focus(),\n \"End\": _ => lastItem(menu)?.focus(),\n \"Escape\": _ => dispatch(menu, \"menu:close\"),\n })));\n\n on(window, \"click\", e => {\n if (!isOpen(menu)) return;\n if (opener === e.target) return;\n dispatch(menu, \"menu:close\");\n }, { addedBy: menu });\n});\n\nexport const menuButton = behavior(\"[aria-haspopup=menu]\", (button, { root }) => {\n const menu = menuOf(button, { root });\n\n if (menu === null) return ilog(\"Error: Menu button\", button, \"has no menu.\");\n\n on(menu, \"menu:close\", _ => attr(button, \"aria-expanded\", \"false\"), { addedBy: button })\n on(menu, \"menu:open\", _ => attr(button, \"aria-expanded\", \"true\"), { addedBy: button })\n on(button, \"click\", () => dispatch(menu, isOpen(menu) ? \"menu:close\" : \"menu:open\", { opener: button }));\n});\n\nmenu(document);\nmenuButton(document);\n"],"mappings":"AAEA,OAAS,KAAAA,EAAG,MAAAC,EAAI,MAAAC,EAAI,YAAAC,EAAU,SAAAC,EAAO,QAAAC,EAAM,QAAAC,EAAM,QAAAC,EAAM,UAAAC,EAAQ,UAAAC,EAAQ,YAAAC,EAAU,cAAAC,MAAkB,UAEnG,MAAMC,EAAOD,EAAW,MAAM,EACxBE,EAAQ,cACRC,EAAY,kBAMZC,EAAYC,GAAQf,EAAGe,EAAMF,CAAS,EAQtCG,EAAS,CAACC,EAAQ,CAAE,KAAAC,CAAK,IAAM,CACjC,MAAMC,EAAKf,EAAKa,EAAQ,eAAe,EACvC,OAAIE,IAAO,KAAa,KACjBD,EAAK,eAAeC,CAAE,CACjC,EAMMC,EAAYL,GAAQhB,EAAEgB,EAAMF,CAAS,EAMrCQ,EAAWN,GAAQD,EAAUC,CAAI,EAAE,GAAG,EAAE,GAAK,KAO7CO,EAASP,GAAQ,CAACA,EAAK,OAEhBA,EAAON,EAASG,EAAO,CAACG,EAAM,CAAE,KAAAG,CAAK,IAAM,CACpD,GAAI,EAAEH,aAAgB,aAAc,OAEpC,IAAIQ,EAEJT,EAAUC,CAAI,EAAE,QAAQS,GAAQA,EAAK,aAAa,WAAY,IAAI,CAAC,EAEnEvB,EAAGc,EAAM,YAAaU,GAAK,CACvBF,EAASE,EAAE,QAAQ,OACdF,GAAQZ,EAAK,gBAAiBI,EAAM,4CAA4C,EACrFA,EAAK,OAAS,GACdK,EAAUL,CAAI,GAAG,MAAM,CAC3B,CAAC,EAEDd,EAAGc,EAAM,aAAcW,GAAK,CACxBf,EAAK,aAAcI,EAAK,OAAS,EAAI,EACrCQ,GAAQ,MAAM,CAClB,CAAC,EAEDtB,EAAGc,EAAM,WAAYU,GAAK,CAClB,CAACH,EAAOP,CAAI,GACZA,EAAK,SAA6BU,EAAE,aAAc,GAClDF,IAAWE,EAAE,eACjBvB,EAASa,EAAM,YAAY,CAC/B,CAAC,EAEDd,EAAGc,EAAM,UAAWZ,EAAM,UAAWK,EAAO,CACxC,QAAWkB,GAAKnB,EAAOD,EAAKS,EAAMF,EAAWK,EAAK,cAAe,CAAC,CAAC,CAAC,GAAG,MAAM,EAC7E,UAAaQ,GAAKnB,EAAOF,EAAKU,EAAMF,EAAWK,EAAK,cAAe,CAAC,CAAC,CAAC,GAAG,MAAM,EAC/E,MAASQ,GAAKnB,EAAOW,EAAK,eAAe,QAAQL,CAAS,CAAC,GAAG,MAAM,EACpE,KAAQa,GAAKN,EAAUL,CAAI,GAAG,MAAM,EACpC,IAAOW,GAAKL,EAASN,CAAI,GAAG,MAAM,EAClC,OAAUW,GAAKxB,EAASa,EAAM,YAAY,CAC9C,CAAC,CAAC,CAAC,EAEHd,EAAG,OAAQ,QAASwB,GAAK,CACjB,CAACH,EAAOP,CAAI,GACZQ,IAAWE,EAAE,QACjBvB,EAASa,EAAM,YAAY,CAC/B,EAAG,CAAE,QAASA,CAAK,CAAC,CACxB,CAAC,EAEYY,EAAalB,EAAS,uBAAwB,CAACQ,EAAQ,CAAE,KAAAC,CAAK,IAAM,CAC7E,MAAMH,EAAOC,EAAOC,EAAQ,CAAE,KAAAC,CAAK,CAAC,EAEpC,GAAIH,IAAS,KAAM,OAAOJ,EAAK,qBAAsBM,EAAQ,cAAc,EAE3EhB,EAAGc,EAAM,aAAcW,GAAKtB,EAAKa,EAAQ,gBAAiB,OAAO,EAAG,CAAE,QAASA,CAAO,CAAC,EACvFhB,EAAGc,EAAM,YAAaW,GAAKtB,EAAKa,EAAQ,gBAAiB,MAAM,EAAG,CAAE,QAASA,CAAO,CAAC,EACrFhB,EAAGgB,EAAQ,QAAS,IAAMf,EAASa,EAAMO,EAAOP,CAAI,EAAI,aAAe,YAAa,CAAE,OAAQE,CAAO,CAAC,CAAC,CAC3G,CAAC,EAEDF,EAAK,QAAQ,EACbY,EAAW,QAAQ","names":["$","$$","on","dispatch","halts","attr","next","prev","asHtml","hotkey","behavior","makelogger","ilog","sMenu","sMenuitem","menuItems","menu","menuOf","button","root","id","firstItem","lastItem","isOpen","opener","item","e","_","menuButton"],"sourceRoot":"file:///home/dz4k/Documents/Projects/bigsky.software/missing.css","file":"/missing-js/menu.js.map"} \ No newline at end of file
diff --git a/www/releases/_artifacts/v1.0.5/missing-js/overflow-nav.js b/www/releases/_artifacts/v1.0.5/missing-js/overflow-nav.js
deleted file mode 100644
index 8ede3f4..0000000
--- a/www/releases/_artifacts/v1.0.5/missing-js/overflow-nav.js
+++ /dev/null
@@ -1,3 +0,0 @@
-import{$ as f,asHtml as g,attr as d,behavior as p,makelogger as m,on as l}from"./19.js";const w=m("overflow-nav"),a=p("[data-overflow-nav]",(t,{options:{expandedClass:o="expanded"}})=>{const e=g(f(t,"[data-nav-expander]"));if(e===null)return w("Expand toggle missing from navbar ",t);const c=()=>t.scrollWidth>t.clientWidth,r=()=>t.classList.contains(o),n=(s=!r())=>{s?(t.classList.add(o),d(e,"aria-pressed",!0),e.textContent="\xD7"):(t.classList.remove(o),d(e,"aria-pressed",!1),e.textContent="\u2630")},i=()=>{const s=e.hidden;e.hidden=!c(),s!=e.hidden&&n(!1)};l(e,"click",()=>n()),i(),l(window,"resize",()=>i(),{addedBy:t})});var h=a;a(document);export{h as default};
-
-/*# sourceMappingURL=./overflow-nav.js.map */ \ No newline at end of file
diff --git a/www/releases/_artifacts/v1.0.5/missing-js/overflow-nav.js.map b/www/releases/_artifacts/v1.0.5/missing-js/overflow-nav.js.map
deleted file mode 100644
index 428da89..0000000
--- a/www/releases/_artifacts/v1.0.5/missing-js/overflow-nav.js.map
+++ /dev/null
@@ -1 +0,0 @@
-{"version":3,"sources":["/missing-js/overflow-nav.js"],"sourcesContent":["import { $, asHtml, attr, behavior, makelogger, on } from \"./19.js\";\n\nconst ilog = makelogger(\"overflow-nav\");\n\n/**\n * @type {import(\"./19.js\").Behavior<{ expandedClass: string }>}\n */\nconst overflowNav = behavior(\"[data-overflow-nav]\", (navbar, {\n options: { expandedClass = \"expanded\" }\n}) => {\n const expandToggle = asHtml($(navbar, \"[data-nav-expander]\"));\n\n if (expandToggle === null) return ilog(\"Expand toggle missing from navbar \", navbar);\n\n /*\n \"The scrollWidth value is equal to the minimum width the element would\n require in order to fit all the content in the viewport without using a\n horizontal scrollbar. The width is measured in the same way as\n clientWidth: it includes the element's padding, but not its border,\n margin or vertical scrollbar (if present). It can also include the\n width of pseudo-elements such as ::before or ::after. If the element's\n content can fit without a need for horizontal scrollbar, its\n scrollWidth is equal to clientWidth\"\n -- MDN, \"Element.scrollWidth\", https://developer.mozilla.org/en-US/docs/Web/API/Element/scrollHeight\n */\n const overflows = () => navbar.scrollWidth > navbar.clientWidth;\n\n const isExpanded = () => navbar.classList.contains(expandedClass);\n\n const toggleExpansion = (expand = !isExpanded()) => {\n if (expand) {\n navbar.classList.add(expandedClass);\n attr(expandToggle, \"aria-pressed\", true);\n expandToggle.textContent = \"×\";\n } else {\n navbar.classList.remove(expandedClass);\n attr(expandToggle, \"aria-pressed\", false);\n expandToggle.textContent = \"☰\";\n }\n };\n\n const update = () => {\n const wasHidden = expandToggle.hidden\n expandToggle.hidden = !overflows();\n if (wasHidden != expandToggle.hidden) toggleExpansion(false);\n };\n\n on(expandToggle, \"click\", () => toggleExpansion());\n\n update();\n\n on(window, \"resize\", () => update(), { addedBy: navbar });\n})\n\nexport default overflowNav;\noverflowNav(document);\n"],"mappings":"AAAA,OAAS,KAAAA,EAAG,UAAAC,EAAQ,QAAAC,EAAM,YAAAC,EAAU,cAAAC,EAAY,MAAAC,MAAU,UAE1D,MAAMC,EAAOF,EAAW,cAAc,EAKhCG,EAAcJ,EAAS,sBAAuB,CAACK,EAAQ,CACzD,QAAS,CAAE,cAAAC,EAAgB,UAAW,CAC1C,IAAM,CACF,MAAMC,EAAeT,EAAOD,EAAEQ,EAAQ,qBAAqB,CAAC,EAE5D,GAAIE,IAAiB,KAAM,OAAOJ,EAAK,qCAAsCE,CAAM,EAanF,MAAMG,EAAY,IAAMH,EAAO,YAAcA,EAAO,YAE9CI,EAAa,IAAMJ,EAAO,UAAU,SAASC,CAAa,EAE1DI,EAAkB,CAACC,EAAS,CAACF,EAAW,IAAM,CAC5CE,GACAN,EAAO,UAAU,IAAIC,CAAa,EAClCP,EAAKQ,EAAc,eAAgB,EAAI,EACvCA,EAAa,YAAc,SAE3BF,EAAO,UAAU,OAAOC,CAAa,EACrCP,EAAKQ,EAAc,eAAgB,EAAK,EACxCA,EAAa,YAAc,SAEnC,EAEMK,EAAS,IAAM,CACjB,MAAMC,EAAYN,EAAa,OAC/BA,EAAa,OAAS,CAACC,EAAU,EAC7BK,GAAaN,EAAa,QAAQG,EAAgB,EAAK,CAC/D,EAEAR,EAAGK,EAAc,QAAS,IAAMG,EAAgB,CAAC,EAEjDE,EAAO,EAEPV,EAAG,OAAQ,SAAU,IAAMU,EAAO,EAAG,CAAE,QAASP,CAAO,CAAC,CAC5D,CAAC,EAED,IAAOS,EAAQV,EACfA,EAAY,QAAQ","names":["$","asHtml","attr","behavior","makelogger","on","ilog","overflowNav","navbar","expandedClass","expandToggle","overflows","isExpanded","toggleExpansion","expand","update","wasHidden","overflow_nav_default"],"sourceRoot":"file:///home/dz4k/Documents/Projects/bigsky.software/missing.css","file":"/missing-js/overflow-nav.js.map"} \ No newline at end of file
diff --git a/www/releases/_artifacts/v1.0.5/missing-js/tabs.js b/www/releases/_artifacts/v1.0.5/missing-js/tabs.js
deleted file mode 100644
index a5fc714..0000000
--- a/www/releases/_artifacts/v1.0.5/missing-js/tabs.js
+++ /dev/null
@@ -1,3 +0,0 @@
-import{$ as h,$$ as m,on as t,attr as s,next as p,prev as x,asHtml as r,hotkey as b,behavior as k,makelogger as w}from"./19.js";const E=w("tabs"),c=e=>m(e,"[role=tab]"),u=e=>h(e,"[role=tab][aria-selected=true]"),i=(e,n)=>{const o=s(e,"aria-controls");return o===null?(E("Tab",e,"has no associated tabpanel"),null):n.getElementById(o)},f=(e,n,o)=>{if(!o)return;const a=u(n);if(a){s(a,{ariaSelected:!1,tabindex:-1});const l=i(a,e);l&&(l.hidden=!0)}s(o,{ariaSelected:!0,tabindex:0});const d=i(o,e);d&&(d.hidden=!1),o.focus()},g=k("[role=tablist]",(e,{root:n})=>{e instanceof HTMLElement&&(e.tabIndex=0,c(e).forEach(o=>o.tabIndex=-1),f(n,e,u(e)),t(e,"focus",o=>u(e)?.focus()),t(e,"click",o=>f(n,e,r(r(o.target)?.closest("[role=tab]")))),t(e,"focusin",o=>f(n,e,r(r(o.target)?.closest("[role=tab]")))),t(e,"keydown",b({ArrowRight:o=>r(p(e,"[role=tab]",r(o.target)))?.focus(),ArrowLeft:o=>r(x(e,"[role=tab]",r(o.target)))?.focus(),Home:o=>c(e).at(0)?.focus(),End:o=>c(e).at(-1)?.focus()})))});g(document);var y=g;export{y as default,g as tablist};
-
-/*# sourceMappingURL=./tabs.js.map */ \ No newline at end of file
diff --git a/www/releases/_artifacts/v1.0.5/missing-js/tabs.js.map b/www/releases/_artifacts/v1.0.5/missing-js/tabs.js.map
deleted file mode 100644
index 598aa31..0000000
--- a/www/releases/_artifacts/v1.0.5/missing-js/tabs.js.map
+++ /dev/null
@@ -1 +0,0 @@
-{"version":3,"sources":["/missing-js/tabs.js"],"sourcesContent":["/// a tabs library.\n\nimport { $, $$, on, attr, next, prev, asHtml, hotkey, behavior, makelogger } from \"./19.js\";\n\nconst ilog = makelogger(\"tabs\");\n\n/** \n * @param {Element} tablist\n * @returns {HTMLElement[]}\n */\nconst tabsOf = tablist => $$(tablist, \"[role=tab]\");\n\n/** \n * @param {Element} tablist\n * @returns {HTMLElement | null}\n */\nconst currentTab = tablist => $(tablist, \"[role=tab][aria-selected=true]\");\n\n/** \n * @param {Element} tab\n * @param {import(\"./19.js\").Root} root\n * @returns {HTMLElement | null}\n */\nconst tabPanelOf = (tab, root) => {\n const id = attr(tab, \"aria-controls\");\n if (id === null) return ilog(\"Tab\", tab, \"has no associated tabpanel\"), null;\n return root.getElementById(id);\n}\n\n/** \n * @param {import(\"./19.js\").Root} root\n * @param {Element} tablist\n * @param {HTMLElement | null} tab\n * @returns {void}\n */\nconst switchTab = (root, tablist, tab) => {\n if (!tab) return;\n const curtab = currentTab(tablist);\n\n if (curtab) {\n attr(curtab, { ariaSelected: false, tabindex: -1 });\n const tabpanel = tabPanelOf(curtab, root);\n if (tabpanel) tabpanel.hidden = true;\n }\n attr(tab, { ariaSelected: true, tabindex: 0 });\n \n const tabpanel = tabPanelOf(tab, root);\n if (tabpanel) tabpanel.hidden = false;\n\n tab.focus();\n};\n\n/**\n * https://www.w3.org/WAI/ARIA/apg/patterns/tabpanel/\n */\nexport const tablist = behavior(\"[role=tablist]\", (tablist, { root }) => {\n if (!(tablist instanceof HTMLElement)) return;\n tablist.tabIndex = 0;\n tabsOf(tablist).forEach(tab => tab.tabIndex = -1);\n switchTab(root, tablist, currentTab(tablist));\n\n on(tablist, \"focus\", _ => currentTab(tablist)?.focus());\n\n on(tablist, \"click\", e => switchTab(root, tablist, asHtml(asHtml(e.target)?.closest(\"[role=tab]\"))));\n on(tablist, \"focusin\", e => switchTab(root, tablist, asHtml(asHtml(e.target)?.closest(\"[role=tab]\"))));\n\n on(tablist, \"keydown\", hotkey({\n \"ArrowRight\": e => asHtml(next(tablist, \"[role=tab]\", asHtml(e.target)))?.focus(),\n \"ArrowLeft\": e => asHtml(prev(tablist, \"[role=tab]\", asHtml(e.target)))?.focus(),\n \"Home\": _ => tabsOf(tablist).at(0)?.focus(),\n \"End\": _ => tabsOf(tablist).at(-1)?.focus(),\n }));\n})\n\ntablist(document);\nexport default tablist;\n\n"],"mappings":"AAEA,OAAS,KAAAA,EAAG,MAAAC,EAAI,MAAAC,EAAI,QAAAC,EAAM,QAAAC,EAAM,QAAAC,EAAM,UAAAC,EAAQ,UAAAC,EAAQ,YAAAC,EAAU,cAAAC,MAAkB,UAElF,MAAMC,EAAOD,EAAW,MAAM,EAMxBE,EAASC,GAAWX,EAAGW,EAAS,YAAY,EAM5CC,EAAaD,GAAWZ,EAAEY,EAAS,gCAAgC,EAOnEE,EAAa,CAACC,EAAKC,IAAS,CAChC,MAAMC,EAAKd,EAAKY,EAAK,eAAe,EACpC,OAAIE,IAAO,MAAaP,EAAK,MAAOK,EAAK,4BAA4B,EAAG,MACjEC,EAAK,eAAeC,CAAE,CAC/B,EAQMC,EAAY,CAACF,EAAMJ,EAASG,IAAQ,CACxC,GAAI,CAACA,EAAK,OACV,MAAMI,EAASN,EAAWD,CAAO,EAEjC,GAAIO,EAAQ,CACVhB,EAAKgB,EAAQ,CAAE,aAAc,GAAO,SAAU,EAAG,CAAC,EAClD,MAAMC,EAAWN,EAAWK,EAAQH,CAAI,EACpCI,IAAUA,EAAS,OAAS,GAClC,CACAjB,EAAKY,EAAK,CAAE,aAAc,GAAM,SAAU,CAAE,CAAC,EAE7C,MAAMK,EAAWN,EAAWC,EAAKC,CAAI,EACjCI,IAAUA,EAAS,OAAS,IAEhCL,EAAI,MAAM,CACZ,EAKaH,EAAUJ,EAAS,iBAAkB,CAACI,EAAS,CAAE,KAAAI,CAAK,IAAM,CACjEJ,aAAmB,cACzBA,EAAQ,SAAW,EACnBD,EAAOC,CAAO,EAAE,QAAQG,GAAOA,EAAI,SAAW,EAAE,EAChDG,EAAUF,EAAMJ,EAASC,EAAWD,CAAO,CAAC,EAE5CV,EAAGU,EAAS,QAASS,GAAKR,EAAWD,CAAO,GAAG,MAAM,CAAC,EAEtDV,EAAGU,EAAS,QAAWU,GAAKJ,EAAUF,EAAMJ,EAASN,EAAOA,EAAOgB,EAAE,MAAM,GAAG,QAAQ,YAAY,CAAC,CAAC,CAAC,EACrGpB,EAAGU,EAAS,UAAWU,GAAKJ,EAAUF,EAAMJ,EAASN,EAAOA,EAAOgB,EAAE,MAAM,GAAG,QAAQ,YAAY,CAAC,CAAC,CAAC,EAErGpB,EAAGU,EAAS,UAAWL,EAAO,CAC5B,WAAce,GAAKhB,EAAOF,EAAKQ,EAAS,aAAcN,EAAOgB,EAAE,MAAM,CAAC,CAAC,GAAG,MAAM,EAChF,UAAcA,GAAKhB,EAAOD,EAAKO,EAAS,aAAcN,EAAOgB,EAAE,MAAM,CAAC,CAAC,GAAG,MAAM,EAChF,KAAQD,GAAKV,EAAOC,CAAO,EAAE,GAAG,CAAC,GAAG,MAAM,EAC1C,IAAOS,GAAKV,EAAOC,CAAO,EAAE,GAAG,EAAE,GAAG,MAAM,CAC5C,CAAC,CAAC,EACJ,CAAC,EAEDA,EAAQ,QAAQ,EAChB,IAAOW,EAAQX","names":["$","$$","on","attr","next","prev","asHtml","hotkey","behavior","makelogger","ilog","tabsOf","tablist","currentTab","tabPanelOf","tab","root","id","switchTab","curtab","tabpanel","_","e","tabs_default"],"sourceRoot":"file:///home/dz4k/Documents/Projects/bigsky.software/missing.css","file":"/missing-js/tabs.js.map"} \ No newline at end of file
diff --git a/www/releases/_artifacts/v1.0.5/missing-prism.css b/www/releases/_artifacts/v1.0.5/missing-prism.css
deleted file mode 100644
index 23e48b5..0000000
--- a/www/releases/_artifacts/v1.0.5/missing-prism.css
+++ /dev/null
@@ -1,62 +0,0 @@
-
-.token.comment,
-.token.prolog,
-.token.doctype,
-.token.cdata,
-.token.punctuation {
- color: var(--muted-fg);
-}
-
-.token.property,
-.token.tag,
-.token.boolean,
-.token.number,
-.token.constant,
-.token.symbol,
-.token.deleted {
- color: var(--bad-fg);
-}
-
-.token.selector,
-.token.attr-name,
-.token.string,
-.token.char,
-.token.builtin,
-.token.inserted {
- color: var(--ok-fg);
-}
-
-.token.operator,
-.token.entity,
-.token.url,
-.language-css .token.string,
-.style .token.string,
-.token.regex,
-.token.important,
-.token.variable {
- color: var(--warn-fg)
-}
-
-.token.atrule,
-.token.attr-value,
-.token.keyword {
- color: var(--info-fg);
-}
-
-.token.function {
- color: var(--bad-fg);
- font-style: italic;
-}
-
-.token.important,
-.token.bold {
- font-weight: bold;
-}
-
-.token.italic {
- font-style: italic;
-}
-
-.token.entity {
- cursor: help;
-}
diff --git a/www/releases/_artifacts/v1.0.5/missing-prism.min.css b/www/releases/_artifacts/v1.0.5/missing-prism.min.css
deleted file mode 100644
index 41c91b1..0000000
--- a/www/releases/_artifacts/v1.0.5/missing-prism.min.css
+++ /dev/null
@@ -1 +0,0 @@
-.token.cdata,.token.comment,.token.doctype,.token.prolog,.token.punctuation{color:var(--muted-fg)}.token.boolean,.token.constant,.token.deleted,.token.number,.token.property,.token.symbol,.token.tag{color:var(--bad-fg)}.token.attr-name,.token.builtin,.token.char,.token.inserted,.token.selector,.token.string{color:var(--ok-fg)}.language-css .token.string,.style .token.string,.token.entity,.token.important,.token.operator,.token.regex,.token.url,.token.variable{color:var(--warn-fg)}.token.atrule,.token.attr-value,.token.keyword{color:var(--info-fg)}.token.function{color:var(--bad-fg);font-style:italic}.token.bold,.token.important{font-weight:700}.token.italic{font-style:italic}.token.entity{cursor:help} \ No newline at end of file
diff --git a/www/releases/_artifacts/v1.0.5/missing.css b/www/releases/_artifacts/v1.0.5/missing.css
deleted file mode 100644
index 35c468e..0000000
--- a/www/releases/_artifacts/v1.0.5/missing.css
+++ /dev/null
@@ -1,2382 +0,0 @@
-/* Document
- * ========================================================================== */
-
-/**
- * 1. Add border box sizing in all browsers (opinionated).
- * 2. Backgrounds do not repeat by default (opinionated).
- */
-
-*,
-::before,
-::after {
- box-sizing: border-box; /* 1 */
- background-repeat: no-repeat; /* 2 */
-}
-
-/**
- * 1. Add text decoration inheritance in all browsers (opinionated).
- * 2. Add vertical alignment inheritance in all browsers (opinionated).
- */
-
-::before,
-::after {
- text-decoration: inherit; /* 1 */
- vertical-align: inherit; /* 2 */
-}
-
-/**
- * 1. Use the default cursor in all browsers (opinionated).
- * 3. Breaks words to prevent overflow in all browsers (opinionated).
- * 5. Remove the grey highlight on links in iOS (opinionated).
- * 6. Prevent adjustments of font size after orientation changes in iOS.
- */
-
-:root {
- cursor: default; /* 1 */
- overflow-wrap: break-word; /* 3 */
- -webkit-tap-highlight-color: transparent; /* 5 */
- text-size-adjust: none;
- -webkit-text-size-adjust: none;
-}
-
-/* Text-level semantics
- * ========================================================================== */
-
-/**
- * Add the correct text decoration in Safari.
- */
-
-abbr[title] {
- text-decoration: underline;
- -webkit-text-decoration: underline dotted;
- text-decoration: underline dotted;
-}
-
-/**
- * Add the correct font weight in Chrome, Edge, and Safari.
- */
-
-strong, b {
- font-weight: bolder;
-}
-
-/**
- * Add the correct font size in all browsers.
- */
-
-small {
- font-size: 80%;
-}
-
-/* Embedded content
- * ========================================================================== */
-
-/*
- * Change the alignment on media elements in all browsers (opinionated).
- */
-
-audio, canvas, iframe, img, svg, video {
- vertical-align: middle;
-}
-
-/**
- * Change the fill color to match the text color in all browsers (opinionated).
- */
-
-svg:not([fill]) {
- fill: currentColor;
-}
-
-/* Tabular data
- * ========================================================================== */
-
-/**
- * 1. Collapse border spacing in all browsers (opinionated).
- * 2. Correct table border color in Chrome, Edge, and Safari.
- * 3. Remove text indentation from table contents in Chrome, Edge, and Safari.
- */
-
-table {
- border-collapse: collapse; /* 1 */
- border-color: currentColor; /* 2 */
- text-indent: 0; /* 3 */
-}
-
-/* Forms
- * ========================================================================== */
-
-/**
- * Remove the margin on controls in Safari.
- */
-
-button, input, select {
- margin: 0;
-}
-
-/**
- * Correct the inability to style buttons in iOS and Safari.
- */
-
-button, [type="button"], [type="reset"], [type="submit"] {
- -webkit-appearance: button;
-}
-
-/**
- * Change the inconsistent appearance in all browsers (opinionated).
- */
-
-fieldset {
- border: 1px solid #a0a0a0;
-}
-
-/**
- * Add the correct vertical alignment in Chrome, Edge, and Firefox.
- */
-
-progress {
- vertical-align: baseline;
-}
-
-/**
- * 1. Remove the margin in Firefox and Safari.
- */
-
-textarea {
- margin: 0; /* 1 */
-}
-
-/**
- * 1. Correct the odd appearance in Chrome, Edge, and Safari.
- * 2. Correct the outline style in Safari.
- */
-
-[type="search"] {
- -webkit-appearance: textfield; /* 1 */
- outline-offset: -2px; /* 2 */
-}
-
-/**
- * Correct the cursor style of increment and decrement buttons in Safari.
- */
-
-::-webkit-inner-spin-button,
-::-webkit-outer-spin-button {
- block-size: auto;
-}
-
-/**
- * Correct the text style of placeholders in Chrome, Edge, and Safari.
- */
-
-::-webkit-input-placeholder {
- color: inherit;
- opacity: 0.54;
-}
-
-/**
- * Remove the inner padding in Chrome, Edge, and Safari on macOS.
- */
-
-::-webkit-search-decoration {
- -webkit-appearance: none;
-}
-
-/**
- * 1. Correct the inability to style upload buttons in iOS and Safari.
- * 2. Change font properties to `inherit` in Safari.
- */
-
-::-webkit-file-upload-button {
- -webkit-appearance: button; /* 1 */
- font: inherit; /* 2 */
-}
-
-/* Interactive
- * ========================================================================== */
-
-[hidden] {
- display: none !important;
-}
-
-:focus-visible {
- outline: .2em solid var(--accent);
- z-index: 32;
-}
-
-iframe:focus-visible,
- html:focus-visible,
- body:focus-visible {
- outline: none;
- }
-
-:target {
- outline: .2em solid var(--fg);
- z-index: 2;
-}
-
-/*
- * Add the correct display in Safari.
- */
-
-details > summary:first-of-type {
- display: list-item;
-}
-
-/* Accessibility
- * ========================================================================== */
-
-/**
- * Change the cursor on busy elements in all browsers (opinionated).
- */
-
-[aria-busy="true"] {
- cursor: progress;
-}
-
-/*
- * Change the cursor on disabled, not-editable, or otherwise
- * inoperable elements in all browsers (opinionated).
- */
-
-[aria-disabled="true"], [disabled] {
- cursor: not-allowed;
-}
-
-datalist {
- display: none !important;
-}
-
-/* https://github.com/fchristant/colar/ */
-
-:root {
- --gray-0: #f8fafb;
- --gray-1: #f2f4f6;
- --gray-2: #ebedef;
- --gray-3: #e0e4e5;
- --gray-4: #d1d6d8;
- --gray-5: #b1b6b9;
- --gray-6: #979b9d;
- --gray-7: #7e8282;
- --gray-8: #666968;
- --gray-9: #50514f;
- --gray-10: #3a3a37;
- --gray-11: #252521;
- --gray-12: #121210;
-
- --red-0: #fff5f5;
- --red-1: #ffe3e3;
- --red-2: #ffc9c9;
- --red-3: #ffa8a8;
- --red-4: #ff8787;
- --red-5: #ff6b6b;
- --red-6: #fa5252;
- --red-7: #f03e3e;
- --red-8: #e03131;
- --red-9: #c92a2a;
- --red-10: #b02525;
- --red-11: #962020;
- --red-12: #7d1a1a;
-
- --pink-0: #fff0f6;
- --pink-1: #ffdeeb;
- --pink-2: #fcc2d7;
- --pink-3: #faa2c1;
- --pink-4: #f783ac;
- --pink-5: #f06595;
- --pink-6: #e64980;
- --pink-7: #d6336c;
- --pink-8: #c2255c;
- --pink-9: #a61e4d;
- --pink-10: #8c1941;
- --pink-11: #731536;
- --pink-12: #59102a;
-
- --purple-0: #f8f0fc;
- --purple-1: #f3d9fa;
- --purple-2: #eebefa;
- --purple-3: #e599f7;
- --purple-4: #da77f2;
- --purple-5: #cc5de8;
- --purple-6: #be4bdb;
- --purple-7: #ae3ec9;
- --purple-8: #9c36b5;
- --purple-9: #862e9c;
- --purple-10: #702682;
- --purple-11: #5a1e69;
- --purple-12: #44174f;
-
- --violet-0: #f3f0ff;
- --violet-1: #e5dbff;
- --violet-2: #d0bfff;
- --violet-3: #b197fc;
- --violet-4: #9775fa;
- --violet-5: #845ef7;
- --violet-6: #7950f2;
- --violet-7: #7048e8;
- --violet-8: #6741d9;
- --violet-9: #5f3dc4;
- --violet-10: #5235ab;
- --violet-11: #462d91;
- --violet-12: #3a2578;
-
- --indigo-0: #edf2ff;
- --indigo-1: #dbe4ff;
- --indigo-2: #bac8ff;
- --indigo-3: #91a7ff;
- --indigo-4: #748ffc;
- --indigo-5: #5c7cfa;
- --indigo-6: #4c6ef5;
- --indigo-7: #4263eb;
- --indigo-8: #3b5bdb;
- --indigo-9: #364fc7;
- --indigo-10: #2f44ad;
- --indigo-11: #283a94;
- --indigo-12: #21307a;
-
- --blue-0: #e7f5ff;
- --blue-1: #d0ebff;
- --blue-2: #a5d8ff;
- --blue-3: #74c0fc;
- --blue-4: #4dabf7;
- --blue-5: #339af0;
- --blue-6: #228be6;
- --blue-7: #1c7ed6;
- --blue-8: #1971c2;
- --blue-9: #1864ab;
- --blue-10: #145591;
- --blue-11: #114678;
- --blue-12: #0d375e;
-
- --cyan-0: #e3fafc;
- --cyan-1: #c5f6fa;
- --cyan-2: #99e9f2;
- --cyan-3: #66d9e8;
- --cyan-4: #3bc9db;
- --cyan-5: #22b8cf;
- --cyan-6: #15aabf;
- --cyan-7: #1098ad;
- --cyan-8: #0c8599;
- --cyan-9: #0b7285;
- --cyan-10: #095c6b;
- --cyan-11: #074652;
- --cyan-12: #053038;
-
- --teal-0: #e6fcf5;
- --teal-1: #c3fae8;
- --teal-2: #96f2d7;
- --teal-3: #63e6be;
- --teal-4: #38d9a9;
- --teal-5: #20c997;
- --teal-6: #12b886;
- --teal-7: #0ca678;
- --teal-8: #099268;
- --teal-9: #087f5b;
- --teal-10: #066649;
- --teal-11: #054d37;
- --teal-12: #033325;
-
- --green-0: #ebfbee;
- --green-1: #d3f9d8;
- --green-2: #b2f2bb;
- --green-3: #8ce99a;
- --green-4: #69db7c;
- --green-5: #51cf66;
- --green-6: #40c057;
- --green-7: #37b24d;
- --green-8: #2f9e44;
- --green-9: #2b8a3e;
- --green-10: #237032;
- --green-11: #1b5727;
- --green-12: #133d1b;
-
- --lime-0: #f4fce3;
- --lime-1: #e9fac8;
- --lime-2: #d8f5a2;
- --lime-3: #c0eb75;
- --lime-4: #a9e34b;
- --lime-5: #94d82d;
- --lime-6: #82c91e;
- --lime-7: #74b816;
- --lime-8: #66a80f;
- --lime-9: #5c940d;
- --lime-10: #4c7a0b;
- --lime-11: #3c6109;
- --lime-12: #2c4706;
-
- --yellow-0: #fff9db;
- --yellow-1: #fff3bf;
- --yellow-2: #ffec99;
- --yellow-3: #ffe066;
- --yellow-4: #ffd43b;
- --yellow-5: #fcc419;
- --yellow-6: #fab005;
- --yellow-7: #f59f00;
- --yellow-8: #f08c00;
- --yellow-9: #e67700;
- --yellow-10: #b35c00;
- --yellow-11: #804200;
- --yellow-12: #663500;
-
- --orange-0: #fff4e6;
- --orange-1: #ffe8cc;
- --orange-2: #ffd8a8;
- --orange-3: #ffc078;
- --orange-4: #ffa94d;
- --orange-5: #ff922b;
- --orange-6: #fd7e14;
- --orange-7: #f76707;
- --orange-8: #e8590c;
- --orange-9: #d9480f;
- --orange-10: #bf400d;
- --orange-11: #99330b;
- --orange-12: #802b09;
-
- --choco-0: #fff8dc;
- --choco-1: #fce1bc;
- --choco-2: #f7ca9e;
- --choco-3: #f1b280;
- --choco-4: #e99b62;
- --choco-5: #df8545;
- --choco-6: #d46e25;
- --choco-7: #bd5f1b;
- --choco-8: #a45117;
- --choco-9: #8a4513;
- --choco-10: #703a13;
- --choco-11: #572f12;
- --choco-12: #3d210d;
-
- --brown-0: #faf4eb;
- --brown-1: #ede0d1;
- --brown-2: #e0cab7;
- --brown-3: #d3b79e;
- --brown-4: #c5a285;
- --brown-5: #b78f6d;
- --brown-6: #a87c56;
- --brown-7: #956b47;
- --brown-8: #825b3a;
- --brown-9: #6f4b2d;
- --brown-10:#5e3a21;
- --brown-11:#4e2b15;
- --brown-12: #422412;
-
- --sand-0: #f8fafb;
- --sand-1: #e6e4dc;
- --sand-2: #d5cfbd;
- --sand-3: #c2b9a0;
- --sand-4: #aea58c;
- --sand-5: #9a9178;
- --sand-6: #867c65;
- --sand-7: #736a53;
- --sand-8: #5f5746;
- --sand-9: #4b4639;
- --sand-10:#38352d;
- --sand-11:#252521;
- --sand-12: #121210;
-
- --camo-0: #f9fbe7;
- --camo-1: #e8ed9c;
- --camo-2: #d2df4e;
- --camo-3: #c2ce34;
- --camo-4: #b5bb2e;
- --camo-5: #a7a827;
- --camo-6: #999621;
- --camo-7: #8c851c;
- --camo-8: #7e7416;
- --camo-9: #6d6414;
- --camo-10: #5d5411;
- --camo-11: #4d460e;
- --camo-12: #36300a;
-
- --jungle-0: #ecfeb0;
- --jungle-1: #def39a;
- --jungle-2: #d0e884;
- --jungle-3: #c2dd6e;
- --jungle-4: #b5d15b;
- --jungle-5: #a8c648;
- --jungle-6: #9bbb36;
- --jungle-7: #8fb024;
- --jungle-8: #84a513;
- --jungle-9: #7a9908;
- --jungle-10: #658006;
- --jungle-11: #516605;
- --jungle-12: #3d4d04;
-}
-
-/***
- 4.1 The document element
- https://html.spec.whatwg.org/multipage/semantics.html#the-root-element
-
- 4.3 Sections
- https://html.spec.whatwg.org/multipage/sections.html
- ***/
-
-html {
- font-family: var(--main-font);
- line-height: var(--rhythm);
-
- background: var(--bg);
- color: var(--fg);
- scroll-padding-block-start: calc(4 * var(--gap));
-}
-
-body {
- margin: 0;
-}
-
-header, footer, section + section {
- margin-block: calc(2 * var(--gap));
-}
-
-nav a {
- text-decoration: none;
- color: var(--accent);
- }
-
-/* SEE components/box.css */
-
-aside h1,
- aside h2,
- aside h3,
- aside h4,
- aside h5,
- aside h6 {
- font-size: 1em;
- text-transform: none;
- letter-spacing: none;
- }
-
-aside.big {
- /* Pull quote */
- background: none;
- border: none;
- border-inline-start: 1px solid var(--muted-fg);
- border-radius: 0;
- padding: 0;
- padding-inline-start: var(--rhythm);
- font-style: italic;
- color: var(--accent);
- }
-
-h1, h2, h3, h4, h5, h6,
-.\<h1\>, .\<h2\>, .\<h3\>, .\<h4\>, .\<h5\>, .\<h6\> {
- margin-block-end: var(--gap);
- font-family: var(--secondary-font);
- font-size: 1em;
- margin-block-start: calc(2 * var(--gap));
- position: relative;
-}
-
-h1, .\<h1\> {
- font-size: 2em;
- text-transform: none;
- line-height: calc(2 * var(--rhythm));
- letter-spacing: 0;
-}
-
-h2, .\<h2\> {
- font-size: 1.6em;
- text-transform: none;
- line-height: calc(1.5 * var(--rhythm));
- letter-spacing: 0;
-}
-
-h3, .\<h3\> {
- font-size: 1.17em;
- line-height: calc(1 * var(--rhythm));
-}
-
-h4, .\<h4\>, h5, .\<h5\>, h6, .\<h6\> {
- font-size: 1em;
- text-transform: none;
- line-height: calc(1 * var(--rhythm));
- letter-spacing: 0;
- margin-block-start: var(--gap);
-}
-
-h1 + h2,
-h2 + h3,
-h3 + h4,
-h4 + h5,
-h5 + h6,
-h1:first-child,
-h2:first-child,
-h3:first-child,
-h4:first-child,
-h5:first-child,
-h6:first-child {
- margin-block-start: var(--gap);
-}
-
-h1:target,
-h2:target,
-h3:target,
-h4:target,
-h5:target,
-h6:target {
- outline: none
-}
-
-h1:target::before, h2:target::before, h3:target::before, h4:target::before, h5:target::before, h6:target::before {
- content: "";
- display: block;
- position: absolute;
- left: -.5em;
- width: 4px;
- height: 100%;
- background: var(--accent);
- }
-
-header {
- font-family: var(--secondary-font);
- border-block-end: 1px solid var(--graphical-fg);
-}
-
-footer {
- font-family: var(--secondary-font);
- border-block-start: 1px solid var(--graphical-fg);
-}
-
-body > header,
-body > footer,
-main + footer {
- padding: var(--rhythm) calc((100% - var(--eff-line-length)) / 2)
-}
-
-address {
- --density: 0;
-}
-
-/***
- 4.4 Grouping content
- https://html.spec.whatwg.org/multipage/grouping-content.html
- ***/
-
-p {
- margin-block: var(--gap);
-}
-
-hr {
- color: inherit;
- margin-inline: 0;
- margin-block: var(--gap);
-
- flex: 0 1 0px;
- border-inline-start: 1px solid var(--accent);
- block-size: auto;
- border-block-start: 1px solid var(--accent);
- border-block-end: none;
- border-inline-end: none;
-}
-
-pre {
- font-family: var(--mono-font);
- font-size: .9em;
- line-height: var(--rhythm);
- -o-tab-size: 2;
- tab-size: 2;
-
- margin: var(--gap) 0;
-
- overflow-x: auto;
- scrollbar-width: thin;
- scrollbar-color: var(--accent) transparent;
-}
-
-blockquote {
- margin-inline: 0 var(--gap);
- padding-inline: var(--gap) 0;
- margin-block: var(--gap);
-
- font-size: 1.1em;
- line-height: var(--rhythm);
- font-style: italic;
-
- border-inline-start: 1px solid var(--graphical-fg);
- color: var(--muted-fg)
-}
-
-blockquote em, blockquote cite, blockquote dfn, blockquote var, blockquote i, blockquote address {
- font-style: normal;
- }
-
-blockquote footer {
- text-align: right;
- text-align: end;
- }
-
-ul, ol {
- padding-inline-start: var(--rhythm)
-}
-
-ul ul, ul ol, ol ul, ol ol {
- padding-inline-start: var(--gap);
- }
-
-ul[role="list"], ol[role="list"], ul[role="listbox"], ol[role="listbox"] {
- padding-inline-start: 0;
- list-style: none;
- }
-
-ul {
-}
-
-ol {
- list-style: decimal;
-}
-
-dl {
- margin-block: var(--gap);
-}
-
-dt {
- font-weight: bold;
- }
-
-dd {
- margin-inline-start: var(--rhythm);
- }
-
-li::marker {
- font-family: var(--secondary-font);
-}
-
-figure {
- max-width: 100%;
- margin-inline: 0;
-
- /* SEE components/box.css */
-}
-
-figcaption {
- margin-block: var(--gap);
-
- font-family: var(--secondary-font);
-
- color: var(--muted-fg);
-}
-
-main {
- max-inline-size: var(--eff-line-length);
- inline-size: 100%;
- margin-inline: auto
-}
-
-main:first-child { padding-top: var(--gap); }
-
-/***
- 4.5 Text-level semantics
- https://html.spec.whatwg.org/multipage/text-level-semantics.html
-
- 4.7 Edits
- https://html.spec.whatwg.org/multipage/edits.html
- ***/
-
-/* Text-level semantics */
-
-a, .\<a\> {
- color: var(--link-fg, var(--accent));
- font-family: var(--secondary-font);
- border-radius: var(--border-radius);
- outline-offset: 1px;
- background: none;
- border: none;
- font-size: 1em
-}
-
-.list-of-links :is(a,.\<a\>) {
- text-decoration: none
-}
-
-:is(a,.\<a\>):hover, :is(a,.\<a\>):focus {
- text-decoration: none;
- outline: 1px solid;
- transition: outline-offset .1s ease-in-out;
- }
-
-:is(a,.\<a\>):active {
- outline-offset: 0;
- }
-
-small[role="note"] {
- /***
- Sidenote
- ***/
- display: block;
- float: inline-end;
- clear: inline-end;
-
- --sidenote-width: 20ch;
-
- max-inline-size: var(--sidenote-width);
- padding-inline: 1.5ch 1ch;
-
- margin-inline-end: calc(1em - var(--sidenote-width));
- margin-block-end: var(--rhythm);
-
- font-family: var(--secondary-font);
-
- background: var(--bg);
- border: 1px solid transparent;
-
- transition: transform .1s ease-in-out
- }
-
-small[role="note"]:hover, small[role="note"]:focus-within {
- border: 1px solid var(--graphical-fg);
- border-radius: var(--border-radius);
- transform: translateX(calc(
- 0px - var(--sidenote-width)
- + min(var(--gutter-width), var(--sidenote-width))
- ))
- }
-
-small, .\<small\> {
- font-size: .8em;
-}
-
-s {
- color: var(--bad-fg);
-}
-
-q {
- font-style: italic
-}
-
-q em, q cite, q dfn, q var, q i, q address {
- font-style: normal;
- }
-
-time {
- font-variant-numeric: tabular-nums;
-}
-
-code, samp, kbd {
- font-family: var(--mono-font);
- font-style: normal;
-}
-
-samp {
- color: var(--ok-fg);
-}
-
-kbd kbd /*
- We apply the key-like styling to a nested kbd element, a pattern shown in
- WHATWG HTML for marking up keyboard input:
-
- > Here the kbd element is used to indicate keys to press:
- > ~~~ html
- > <p>To make George eat an apple, press <kbd><kbd>Shift</kbd> + <kbd>F3</kbd></kbd></p>
- > ~~~
-
- The plain kbd element can also be used for clicking menus (<kbd>File |
- New...</kbd>) or voice input (<kbd>Hey Siri, </kbd>)
-*/ {
- display: inline-block;
-
- padding: 0 .3em;
- font-size: .8em;
- line-height: 1.1em;
-
- background: var(--interactive-bg);
- border: 1px outset var(--graphical-fg);
- border-block-end-width: 3px;
- border-radius: var(--border-radius);
-}
-
-sub {
- vertical-align: bottom;
- line-height: 1;
-}
-
-sup {
- vertical-align: top;
- line-height: 1;
-}
-
-mark {
- background: var(--warn-bg);
- color: var(--warn-fg);
-}
-
-/* Edits */
-
-ins {
- background: var(--ok-bg);
- color: var(--ok-fg);
-}
-
-del {
- background: var(--bad-bg);
- color: var(--bad-fg);
-}
-
-/***
- 4.8 Embedded content
- https://html.spec.whatwg.org/multipage/embedded-content.html
- ***/
-
-img, video, audio, iframe, object, embed {
- max-inline-size: 100%;
- inline-size: max-content;
- block-size: auto;
-}
-
-/***
- 4.9 Tabular data
- https://html.spec.whatwg.org/multipage/tables.html
- ***/
-
-table {
- font-variant-numeric: tabular-nums;
- font: inherit;
-}
-
-caption {
- text-align: start;
- font-family: var(--secondary-font);
- font-style: italic;
-}
-
-tbody {
- border-block: 1px solid var(--faded-fg);
-}
-
-thead {
-}
-
-tfoot {
-}
-
-tr {
-
-}
-
-td, th {
- vertical-align: top
-}
-
-td:not(:last-child), th:not(:last-child) {
- padding-inline-end: var(--rhythm);
- }
-
-td {
- }
-
-th {
- font-family: var(--secondary-font);
- text-align: start;
- }
-
-/***
- 4.10 Forms
- https://html.spec.whatwg.org/multipage/forms.html
- ***/
-
-input { display: block; }
-
-label input:not([specificity-hack]) { display: inline; padding-block: 0; }
-
-button,
-input[type="submit"],
-input[type="reset"],
-input[type="button"],
-input::file-selector-button,
-.\<button\> {
- display: inline-block;
- padding: 0 calc(var(--rhythm) / 4);
- vertical-align: middle;
-
- font-size: .8rem;
- line-height: 1.125em;
- font-family: var(--secondary-font);
- min-height: var(--rhythm);
-
- background: var(--interactive-bg);
- color: var(--fg);
- border: 1px solid var(--muted-fg);
- box-sizing: border-box;
- border-radius: var(--border-radius);
-
- /* a-specific resets */
- color: var(--fg);
- text-decoration: none;
- display: inline-flex;
- place-items: center
-}
-
-:is(button,input[type="submit"],input[type="reset"],input[type="button"],input::file-selector-button,.\<button\>):hover, :is(button,input[type="submit"],input[type="reset"],input[type="button"],input::file-selector-button,.\<button\>):focus-visible {
- filter: brightness(1.1);
-
- /* a-specific resets */
- text-decoration: none;
- }
-
-:is(button,input[type="submit"],input[type="reset"],input[type="button"],input::file-selector-button,.\<button\>):active {
- filter: brightness(.8);
- }
-
-[aria-pressed="true"]:is(button,input[type="submit"],input[type="reset"],input[type="button"],input::file-selector-button,.\<button\>), [aria-expanded="true"]:is(button,input[type="submit"],input[type="reset"],input[type="button"],input::file-selector-button,.\<button\>) {
- box-shadow: 0 .05em var(--accent) inset;
- background: var(--pressed-interactive-bg);
- }
-
-[disabled]:is(button,input[type="submit"],input[type="reset"],input[type="button"],input::file-selector-button,.\<button\>) {
- color: var(--muted-fg);
- }
-
-strong > :is(button,input[type="submit"],input[type="reset"],input[type="button"],input::file-selector-button,.\<button\>) {
- background: var(--accent);
- color: var(--bg);
- border: none;
- font-weight: bold
-}
-
-strong > [disabled]:is(button,input[type="submit"],input[type="reset"],input[type="button"],input::file-selector-button,.\<button\>) {
- color: var(--muted-accent);
- }
-
-.big:is(button,input[type="submit"],input[type="reset"],input[type="button"],input::file-selector-button,.\<button\>) {
- min-block-size: calc(1.5 * var(--rhythm));
- font-size: 1rem;
- padding-inline: calc(.5 * var(--rhythm));
- line-height: var(--rhythm)
-}
-
-input:not([type]),
-input[type="text"],
-input[type="search"],
-input[type="tel"],
-input[type="url"],
-input[type="email"],
-input[type="password"],
-input[type="date"],
-input[type="month"],
-input[type="week"],
-input[type="time"],
-input[type="datetime"],
-input[type="datetime-local"],
-input[type="number"],
-select,
-textarea {
- padding: calc(var(--rhythm) / 4);
- vertical-align: top;
-
- font-size: 1rem;
- line-height: inherit;
- font-family: var(--main-font);
-
- background: var(--bg);
- color: var(--fg);
- border: 1px solid var(--graphical-fg);
- border-radius: var(--border-radius);
-
- vertical-align: top
-}
-
-:is(input:not([type]),input[type="text"],input[type="search"],input[type="tel"],input[type="url"],input[type="email"],input[type="password"],input[type="date"],input[type="month"],input[type="week"],input[type="time"],input[type="datetime"],input[type="datetime-local"],input[type="number"],select,textarea):focus-visible {
- border: 1px solid var(--accent);
- }
-
-:is(input:not([type]),input[type="text"],input[type="search"],input[type="tel"],input[type="url"],input[type="email"],input[type="password"],input[type="date"],input[type="month"],input[type="week"],input[type="time"],input[type="datetime"],input[type="datetime-local"],input[type="number"],select,textarea)::placeholder {
- color: var(--muted-fg);
- opacity: 1;
- text-align: end;
- }
-
-input[type="range"] {
- width: 100%;
- padding: calc(var(--gap) / 4);
-}
-
-input[type="color"] {
- padding: 0;
- margin: 0;
- height: calc(1.5 * var(--rhythm));
-
- border: none;
- background: none;
-}
-
-input[type="file"] {
- padding: calc(var(--gap) / 4) 0;
- font: inherit;
- line-height: calc(var(--rhythm) / 2)
-}
-
-input[type="file"]::file-selector-button {
- margin-block: .1em 0;
- margin-inline-end: 1ch;
- }
-
-select[multiple] {
- vertical-align: top;
-}
-
-optgroup::before {
- color: var(--muted-fg);
- font-style: normal;
-}
-
-progress {
- /* TODO */
-}
-
-meter {
- /* TODO */
-}
-
-label[for] {
- display: block;
- padding-block: calc(var(--gap) / 4);
-}
-
-fieldset {
- position: relative;
-
- padding: var(--gap);
- margin: var(--gap) 0;
- width: 100%;
- border-radius: var(--border-radius);
-}
-
-fieldset > legend + * { margin-block-start: 0 }
-
-fieldset {
-
- border: 1px solid var(--graphical-fg);
-}
-
-/***
- 4.11 Interactive elements
- https://html.spec.whatwg.org/multipage/interactive-elements.html#interactive-elements
- ***/
-
-details:not(specificity-hack) {
- /* SEE components/box.css */
-
- padding-block-start: 0
-}
-
-details:not(specificity-hack):not([open]) { padding-block-end: 0; }
-
-summary {
- margin: calc(0px - var(--gap));
- margin-top: calc(0px - var(--gap));
- margin-bottom: 0;
- padding-inline: var(--gap);
-
- font-family: var(--secondary-font);
- font-weight: bold;
-
- cursor: pointer
-}
-
-summary:focus-visible, summary:active {
- filter: brightness(.8);
- outline: none;
- }
-
-dialog {
- /* SEE components/box.css */
-
- inline-inset: 0;
-
- block-size: -moz-fit-content;
-
- block-size: fit-content;
- inline-size: -moz-fit-content;
- inline-size: fit-content;
-
- margin: auto !important;
-
- background-color: var(--bg);
- color: var(--fg);
- border-color: var(--accent);
-}
-
-dialog[open]::backdrop {
- display: block;
- background: black;
- opacity: .4;
- animation: bg 2s;
-}
-
-@keyframes bg {
- from { background: transparent; }
-}
-
-dialog:not([open]) {
- display: none;
-}
-
-.box,
-/* defined elsewhere */
-[role=menu],
-.sidebar-layout > header,
-[role=tabpanel],
-figure,
-details,
-dialog,
-aside {
- margin: var(--gap) 0;
- padding: var(--gap);
- overflow: clip;
-
- border-radius: var(--border-radius);
- background: var(--box-bg);
- border: 1px solid var(--graphical-fg);
-}
-
-.titlebar {
- margin-inline: calc(0px - var(--gap));
- margin-block-end: calc(0px - var(--gap));
- padding-inline: var(--gap);
-
- font: inherit;
- font-family: var(--secondary-font);
- font-weight: bold;
-
- translate: 0 calc(-1px - var(--gap));
-
- background: var(--graphical-fg);
- color: var(--bg);
-}
-
-.sub-title, sub-title {
- /***
- Meant for use in headings. Make sure to also use visually-hidden punctuation
- to mark the subtitle as shown below:
-
- 1 | <h1>
- 2 | Foo Bar<v-h>:</v-h>
- 3 | <sub-title>How I Learned To Stop Worrying and Love Baz</sub-title>
- 4 | </h1>
-
- 1 | <h1>
- 2 | <sub-title class="-allcaps">Breaking News</sub-title><v-h>:</v-h>
- 3 | Bad Thing Happens
- 4 | <h1>
- ***/
-
- display: block;
-
- font-weight: normal;
-
- color: var(--muted-fg);
-}
-
-.tool-bar, [role=toolbar] {
- display: flex;
- flex-flow: row wrap;
- gap: calc(var(--gap) / 2)
-}
-
-.tool-bar > *, [role=toolbar] > * { margin: 0; }
-
-.sidebar-layout header li {
- margin-block: calc(.5 * var(--gap));
- }
-
-.sidebar-layout header a {
- font-weight: bold;
- }
-
-@media (min-width: 75ch) {
-
-.sidebar-layout {
- display: grid;
- grid-template-columns: 25ch auto;
- inset: 0
-}
-
- .sidebar-layout > header {
- border-block: none;
- border-inline-start: none;
- margin: 0;
- }
-
- .sidebar-layout > :nth-child(2) {
- overflow: auto;
- --full-width: calc(100vw - 25ch);
- margin-top: var(--gap);
- }
- }
-
-.breadcrumbs[aria-label] {
- font-family: var(--secondary-font)
-}
-
-.breadcrumbs[aria-label] ul, .breadcrumbs[aria-label] ol {
- list-style: none;
- padding-inline-start: 0;
- }
-
-.breadcrumbs[aria-label] li {
- display: inline
- }
-
-:is(.breadcrumbs[aria-label] li)+li::before {
- content: ' / ' / '';
- content: ' / ';
- display: inline;
- }
-
-.breadcrumbs[aria-label] [aria-current="page"] {
- font-weight: bold;
- }
-
-.chip, chip {
- font-family: var(--secondary-font);
- border: 1px solid var(--accent);
- background: var(--box-bg);
- border-radius: calc(var(--rhythm) / 2);
- padding-inline: calc(var(--rhythm) / 2);
-}
-
-.navbar {
- padding: var(--rhythm);
-
- font-family: var(--secondary-font);
-
- background: var(--box-bg);
- border-block-end: 1px solid var(--accent);
-
- overflow-x: auto;
- scrollbar-width: thin;
-
- position: sticky;
- z-index: 5;
- top: 0;
- left: 0;
- right: 0;
-
- /* Inner layout */
- display: flex;
- flex-flow: row;
- align-items: center;
- gap: var(--gap)
-}
-
-.navbar.expanded {
- flex-flow: column;
- align-items: start;
-
- max-height: 90vh;
- overflow-y: auto
- }
-
-.navbar.expanded ul[role="list"] { flex-flow: column; }
-
-.navbar * {
- flex-shrink: 0;
- margin-block: 0;
- }
-
-.navbar:not(.expanded) > :first-child, .navbar:not(.expanded) nav > :first-child { margin-inline-start: auto; }
-
-.navbar:not(.expanded) > :last-child, .navbar:not(.expanded) nav > :last-child { margin-inline-end: auto; }
-
-.navbar hr { align-self: stretch; }
-
-.navbar nav ul[role="list"] {
- display: flex;
- flex-flow: row;
- gap: var(--rhythm)
- }
-
-.navbar nav ul[role="list"] * { flex-shrink: 0 }
-
-.navbar nav ul[role="list"] {
- padding-inline-start: 0;
- }
-
-.navbar a {
- font-weight: bold;
- text-decoration: none;
- padding-inline: .2em;
- }
-
-.navbar a:hover, .navbar a:focus {
- text-decoration: underline;
- }
-
-.navbar [aria-current=page] {
- position: relative;
- }
-
-.navbar [aria-current=page]::after {
- width: 100%;
- height: 6px;
- content: "";
- display: block;
- position: absolute;
- bottom: calc(-1 * var(--gap));
- background: currentcolor;
- }
-
-.navbar.expanded [aria-current=page]::after {
- width: 6px;
- height: 100%;
- position: absolute;
- left: calc(-1 * var(--gap));
- top: 0;
- }
-
-.permalink-anchor {
- display: none
-}
-
-*:hover > .permalink-anchor {
- display: initial
-}
-
-button.iconbutton {
- border: none;
- background: none;
- color: currentcolor;
- padding: 0;
- line-height: var(--rhythm);
- font-size: 24px;
- width: 24px;
- height: 24px;
- display: inline-block;
- text-align: center;
- border-radius: 50%;
- transition: font-weight .2s ease-in-out
-}
-
-button.iconbutton:hover, button.iconbutton:focus-visible {
- outline: 1px solid var(--accent);
- outline-offset: 6px;
- }
-
-button.iconbutton:active {
- outline-offset: 3px;
- background: none;
- }
-
-button.iconbutton[aria-pressed=true] {
- box-shadow: none;
- transform: none;
- }
-
-[role="tablist"] {
- display: flex;
- gap: .5ch;
- scrollbar-width: thin;
-}
-
-[role="tab"][role="tab"] {
- all: initial;
-
- font-family: var(--secondary-font);
-
- padding: 0 calc(var(--rhythm) / 4);
- margin: 0;
- min-height: var(--rhythm);
-
- color: var(--fg);
- border: solid var(--graphical-fg);
- border-width: 1px 1px 0 1px;
- border-block-end-color: transparent;
- background: var(--interactive-bg);
-
- border-start-start-radius: .4em;
- border-start-end-radius: .4em
-}
-
-[role="tab"][role="tab"]:active, [role="tab"][role="tab"][aria-selected="true"] {
- transform: none;
- bottom: -1px;
- position: relative;
- background: var(--box-bg);
- border-block-end: 1px solid var(--box-bg);
- }
-
-[role="tab"][role="tab"]:hover {
- background-color: var(--box-bg);
- }
-
-[role="tab"][role="tab"]:focus {
- background-color: var(--box-bg);
- border-color: var(--accent);
- outline: 1px solid var(--accent);
- }
-
-[role="tabpanel"] {
- /* SEE components/box.css */
-
- margin-block-start: 0;
- border-start-start-radius: 0;
- border-start-end-radius: 0;
- z-index: 1;
-}
-
-[role="menu"] {
- /* SEE components/box.css */
- position: absolute;
-
- z-index: 10;
-
- padding: calc(var(--gap) / 2) 0;
- margin: 1px 0 0 0;
-
- display: flex;
- flex-flow: column nowrap;
-}
-
-[role=menuitem] {
- padding: 0 calc(var(--gap) / 2);
-
- display: block;
-
- text-decoration: none;
- border-radius: 0;
-
- color: var(--fg)
-}
-
-[role=menuitem]:focus, [role=menuitem]:active {
- background: var(--accent);
- color: var(--bg);
- }
-
-[role=listbox] {
- list-style: none
-}
-
-[role=listbox] [role=option] {
- margin-inline: calc(-1 * var(--gap));
- padding-inline: var(--gap);
- }
-
-[role=listbox] [role=option][aria-selected=true] {
- background: var(--interactive-bg);
- }
-
-[role=listbox] .active[role=option] {
- --temporary-bg: var(--accent);
- --temporary-fg: var(--bg);
- --temporary-accent: parent-var(--muted-accent);
- --temporary-muted-accent: parent-var(--box-bg);
-
- background: var(--temporary-bg);
- color: var(--temporary-fg)
- }
-
-[role=listbox] .active[role=option] > * {
- --bg: var(--temporary-bg);
- --fg: var(--temporary-fg);
- --accent: var(--temporary-accent);
- --muted-accent: var(--temporary-muted-accent);
- }
-
-[aria-orientation="vertical"] {
- flex-direction: column;
- width: -moz-fit-content;
- width: fit-content;
- text-align: center;
-}
-
-.plain {
- --box-bg: var(--plain-bg);
- --accent: var(--plain-fg);
- --graphical-fg: var(--plain-graphical-fg);
-}
-
-.info {
- --box-bg: var(--info-bg);
- --accent: var(--info-fg);
- --graphical-fg: var(--info-graphical-fg);
-}
-
-.ok {
- --box-bg: var(--ok-bg);
- --accent: var(--ok-fg);
- --graphical-fg: var(--ok-graphical-fg);
-}
-
-.warn {
- --box-bg: var(--warn-bg);
- --accent: var(--warn-fg);
- --graphical-fg: var(--warn-graphical-fg);
-}
-
-.bad {
- --box-bg: var(--bad-bg);
- --accent: var(--bad-fg);
- --graphical-fg: var(--bad-graphical-fg);
-}
-
-.color {
- color: var(--accent);
-}
-
-.bg {
- background: var(--box-bg);
-}
-
-.border {
- border-style: solid;
- border-color: var(--graphical-fg);
-}
-
-:root {
- /* Colors */
- --fg: var(--gray-12); /* Text. */
- --muted-fg: var(--gray-10); /* Secondary text color. Will be
- used with a background of --c-bg and --c-bg-2 -- check contrast! */
- --faded-fg: var(--gray-6); /* Disabled text color. */
- --graphical-fg: var(--plain-graphical-fg); /* Graphical elements. Will not
- be used as a text color. */
-
- --plain-fg: var(--blue-10);
- --info-fg: var(--blue-11);
- --ok-fg: var(--green-11);
- --bad-fg: var(--red-11);
- --warn-fg: var(--yellow-11);
-
- --plain-graphical-fg: var(--gray-6);
- --info-graphical-fg: var(--blue-6);
- --ok-graphical-fg: var(--green-6);
- --bad-graphical-fg: var(--red-6);
- --warn-graphical-fg: var(--yellow-6);
-
- --bg: var(--gray-0); /* Page background. */
- --box-bg: var(--plain-bg); /* Background for blocks: cards, admonitions etc. */
- --interactive-bg: var(--gray-4); /* Background for interactive elements */
-
- --plain-bg: var(--gray-1);
- --info-bg: var(--blue-1);
- --ok-bg: var(--green-1);
- --bad-bg: var(--red-1);
- --warn-bg: var(--yellow-1);
-
- --accent: var(--blue-10); /* Accent color. Will be used *as a text color* with a
- background of --c-bg and --c-bg-2 -- check contrast! */
- --muted-accent: var(--blue-7); /* Muted accent color. Will not be used for text. */
-
- /* Lengths */
- --rhythm: 1.4rem; /* Vertical rhythm, line height. */
- --line-length: 40rem; /* Maximum line length for prose. */
- --border-radius: .2rem;
-
- /* Fonts */
- --main-font: 'Source Sans 3', 'Source Sans Pro', -apple-system, system-ui, sans-serif;
- --secondary-font: var(--main-font); /* Headings etc. */
- --mono-font: 'M Plus Code Latin', monospace, monospace; /* monospace twice stops browsers from
- shrinking this */
-
- /* Density */
- --density: 1;
-
- /* Width */
- --full-width: 100vw;
-
- /* Do not set these. */
- --eff-line-length: /* Effective line length for prose. */
- min(
- calc( var(--full-width) - (2 * var(--rhythm)) ),
- var(--line-length)
- );
-
- --gutter-width: /* Width of spaces at each side of page content. */
- calc(
- (
- var(--full-width) /* Viewport width */
- - var(--eff-line-length) /* minus line width */
- ) / 2); /* Divide by 2: there are two page margins */
-}
-
-@media (prefers-color-scheme: dark) {
- :root:not(.-no-dark-theme) {
- --fg: var(--gray-0);
- --muted-fg: var(--gray-2);
- --faded-fg: var(--gray-7);
-
- --plain-bg: var(--gray-11);
- --info-bg: var(--blue-12);
- --ok-bg: var(--green-12);
- --bad-bg: var(--red-12);
- --warn-bg: var(--yellow-12);
-
- --plain-faded-fg: var(--blue-6);
- --info-faded-fg: var(--blue-6);
- --ok-faded-fg: var(--green-6);
- --bad-faded-fg: var(--red-6);
- --warn-faded-fg: var(--yellow-6);
-
- --bg: var(--gray-12);
- --box-bg: var(--gray-10);
- --interactive-bg: var(--gray-8);
-
- --plain-fg: (--blue-3);
- --info-fg: var(--blue-3);
- --ok-fg: var(--green-3);
- --bad-fg: var(--red-3);
- --warn-fg: var(--yellow-3);
-
- --accent: var(--blue-3);
- --muted-accent: var(--blue-5);
- }
-}
-
-* {
- --gap: calc(var(--rhythm) * var(--density));
- accent-color: var(--accent);
-}
-
-.textcolumns {
- --col-width: 30ch;
- column-width: var(--col-width);
- column-gap: var(--gap);
- margin-block: var(--gap)
-}
-
-.textcolumns :first-child { margin-block-start: 0 !important }
-
-.text-align\:center {
- text-align: center;
-}
-
-.center {
- display: grid;
- place-items: center;
-}
-
-/**/
-
-.container {
- max-inline-size: var(--eff-line-length);
- margin-inline: auto;
-}
-
-.fullbleed {
- position: relative;
- width: var(--full-width);
- left: 50%;
- transform: translateX(calc(-.5 * var(--full-width)));
-
- border-radius: 0;
- border-inline: none;
-}
-
-.fullscreen {
- height: 100vh;
-
- position: relative;
- width: 100vw;
- left: 50%;
- transform: translateX(-50vw);
-
- border-radius: 0;
- border-inline: none;
-}
-
-.width\:100\% { width:100%; max-width: 100% }
-
-.height\:100\% { height:100%; max-height: 100% }
-
-/**/
-
-/* margin-trim had better be implemented soon */
-
-:is(
- body,
- .box,
- [role=menu],
- .sidebar-layout > header,
- [role=tabpanel],
- figure,
- details,
- dialog,
- aside,
- fieldset,
- dd,
- td,
- th
-)>:first-child:first-child:first-child:first-child,
- :is(
- body,
- .box,
- [role=menu],
- .sidebar-layout > header,
- [role=tabpanel],
- figure,
- details,
- dialog,
- aside,
- fieldset,
- dd,
- td,
- th
-)>:first-child>:first-child:first-child:first-child,
- :is(
- body,
- .box,
- [role=menu],
- .sidebar-layout > header,
- [role=tabpanel],
- figure,
- details,
- dialog,
- aside,
- fieldset,
- dd,
- td,
- th
-)>:first-child>:first-child>:first-child:first-child,
- :is(
- body,
- .box,
- [role=menu],
- .sidebar-layout > header,
- [role=tabpanel],
- figure,
- details,
- dialog,
- aside,
- fieldset,
- dd,
- td,
- th
-)>:first-child>:first-child>:first-child>:first-child { margin-block-start: 0; }
-
-:is(
- body,
- .box,
- [role=menu],
- .sidebar-layout > header,
- [role=tabpanel],
- figure,
- details,
- dialog,
- aside,
- fieldset,
- dd,
- td,
- th
-)>:last-child:last-child:last-child:last-child,
- :is(
- body,
- .box,
- [role=menu],
- .sidebar-layout > header,
- [role=tabpanel],
- figure,
- details,
- dialog,
- aside,
- fieldset,
- dd,
- td,
- th
-)>:last-child>:last-child:last-child:last-child,
- :is(
- body,
- .box,
- [role=menu],
- .sidebar-layout > header,
- [role=tabpanel],
- figure,
- details,
- dialog,
- aside,
- fieldset,
- dd,
- td,
- th
-)>:last-child>:last-child>:last-child:last-child,
- :is(
- body,
- .box,
- [role=menu],
- .sidebar-layout > header,
- [role=tabpanel],
- figure,
- details,
- dialog,
- aside,
- fieldset,
- dd,
- td,
- th
-)>:last-child>:last-child>:last-child>:last-child { margin-block-end: 0; }
-
-/**/
-
-.padding { padding-inline: var(--gap) }
-
-.padding-block { padding-block: var(--gap) }
-
-.padding-block-start { padding-block-start: var(--gap) }
-
-.padding-block-end { padding-block-end: var(--gap) }
-
-.padding-inline { padding-inline: var(--gap) }
-
-.padding-inline-start { padding-inline-start: var(--gap) }
-
-.padding-inline-end { padding-inline-start: var(--gap) }
-
-.margin { margin: var(--gap) }
-
-.margin-block { margin-block: var(--gap) }
-
-.margin-block-start { margin-block-start: var(--gap) }
-
-.margin-block-end { margin-block-end: var(--gap) }
-
-.margin-inline { margin-inline: var(--gap) }
-
-.margin-inline-start { margin-inline-start: var(--gap) }
-
-.margin-inline-end { margin-inline-end: var(--gap) }
-
-.flow-gap > :not(:last-child) {
- margin-bottom: 1em;
- }
-
-/**/
-
-.inline { display: inline }
-
-.block { display: block }
-
-.contents { display: contents }
-
-.table {
- display: table;
- width: 100%;
- margin: 0;
-}
-
-.row, .rows > * {
- display: table-row
-}
-
-.row:not(:last-child):not([specificity-hack]) > *, .rows > *:not(:last-child):not([specificity-hack]) > * {
- margin-bottom: var(--gap);
- }
-
-.row > *:not([specificity-hack]), .rows > * > *:not([specificity-hack]) {
- display: table-cell;
- vertical-align: top;
- }
-
-.row > * + *:not([specificity-hack]), :is(.rows > *) > * + *:not([specificity-hack]) {
- margin-inline-start: var(--gap);
- display: inline-block;
- }
-
-/**/
-
-.big {
- font-size: 1.4em;
- line-height: calc(1.5 * var(--rhythm));
-}
-
-/**/
-
-.fixed { position: fixed }
-
-.sticky { position: sticky }
-
-.top { top: 0 }
-
-.right { right: 0 }
-
-.bottom { bottom: 0 }
-
-.left { left: 0 }
-
-.float\:left { float: left }
-
-.float\:right { float: right }
-
-.overflow\:auto { overflow: auto }
-
-.overflow\:scroll { overflow: scroll }
-
-.airy { --density: 3; }
-
-.spacious { --density: 2; }
-
-.dense { --density: 1; }
-
-.crowded { --density: .5; }
-
-.packed { --density: 0; }
-
-.autodensity {
- --density: 1
-}
-
-@media (min-width: 768px) {
-
-.autodensity { --density: 2
-}}
-
-@media (min-width: 1024px) {
-
-.autodensity { --density: 3
-}}
-
-.vh, v-h {
- clip: rect(0 0 0 0);
- -webkit-clip-path: inset(50%);
- clip-path: inset(50%);
- block-size: 1px;
- inline-size: 1px;
- overflow: hidden;
- white-space: nowrap;
-}
-
-.all\:initial {
- all: initial;
-}
-
-.bold { font-weight: bold }
-
-.italic {
- font-style: italic
-}
-
-.italic em, .italic cite, .italic dfn, .italic var, .italic i, .italic address {
- font-style: normal;
- }
-
-.allcaps {
- text-transform: uppercase;
- letter-spacing: .1rem;
-}
-
-.primary-font { font-family: var(--primary-font) }
-
-.secondary-font { font-family: var(--secondary-font) }
-
-.display-font { font-family: var(--display-font) }
-
-.mono-font, .monospace { font-family: var(--mono-font) }
-
-.massivetext {
- font-size: calc(.13 * var(--eff-line-length));
- line-height: 1em;
- letter-spacing: 0;
-}
-
-.aestheticbreak {
- display: block;
- margin: 0;
- padding: 0;
- height: calc(.5 * var(--gap));
-}
-
-.f-row {
- display: flex;
- flex-direction: row;
- gap: var(--gap)
-}
-
-.f-row > * { margin: 0 }
-
-.f-col {
- display: flex;
- flex-direction: column;
- gap: var(--gap)
-}
-
-.f-col > * { margin: 0 }
-
-.f-switch {
- display: flex;
- flex-wrap: wrap;
- gap: var(--gap);
- --f-switch-threshold: 55ch
-}
-
-.f-switch > * {
- margin: 0;
-
- flex-grow: 1;
- flex-basis: calc((var(--f-switch-threshold) - 100%) * 999);
- }
-
-.justify-content\:start { justify-content: start }
-
-.justify-content\:end { justify-content: end }
-
-.justify-content\:baseline { justify-content: baseline }
-
-.justify-content\:center { justify-content: center }
-
-.justify-content\:stretch { justify-content: stretch }
-
-.justify-content\:space-between { justify-content: space-between }
-
-.justify-content\:space-around { justify-content: space-around }
-
-.justify-content\:space-evenly { justify-content: space-evenly }
-
-.align-items\:start { align-items: start }
-
-.align-items\:end { align-items: end }
-
-.align-items\:baseline { align-items: baseline }
-
-.align-items\:center { align-items: center }
-
-.align-items\:stretch { align-items: stretch }
-
-.align-self\:start { align-self: start }
-
-.align-self\:end { align-self: end }
-
-.align-self\:baseline { align-self: baseline }
-
-.align-self\:center { align-self: center }
-
-.align-self\:stretch { align-self: stretch }
-
-.flex-grow\:0 { flex-grow: 0 }
-
-.flex-grow\:1 { flex-grow: 1 }
-
-.flex-grow\:2 { flex-grow: 2 }
-
-.flex-grow\:3 { flex-grow: 3 }
-
-.flex-grow\:4 { flex-grow: 4 }
-
-.flex-grow\:5 { flex-grow: 5 }
-
-.flex-grow\:6 { flex-grow: 6 }
-
-.flex-grow\:7 { flex-grow: 7 }
-
-.flex-grow\:8 { flex-grow: 8 }
-
-.flex-grow\:9 { flex-grow: 9 }
-
-.flex-grow\:10 { flex-grow: 10 }
-
-.flex-grow\:11 { flex-grow: 11 }
-
-.flex-grow\:12 { flex-grow: 12 }
-
-.flex-wrap\:wrap { flex-wrap: wrap }
-
-.flex-wrap\:nowrap { flex-wrap: nowrap }
-
-.grid {
- display: grid;
- grid-auto-columns: var(--grid-col-width, 1fr);
- grid-auto-rows: var(--grid-row-width, auto);
- gap: var(--gap)
-}
-
-.grid > * { margin: 0 }
-
-.grid-even-rows { --grid-row-width: 1fr; }
-
-.grid-variable-cols { --grid-column-width: auto; }
-
-[data-cols^="1 " ] { grid-column-start: 1 }
-
-[data-cols$=" 1" ] { grid-column-end: 2 }
-
-[data-cols="1" ] { grid-column: 1 }
-
-[data-cols^="2 " ] { grid-column-start: 2 }
-
-[data-cols$=" 2" ] { grid-column-end: 3 }
-
-[data-cols="2" ] { grid-column: 2 }
-
-[data-cols^="3 " ] { grid-column-start: 3 }
-
-[data-cols$=" 3" ] { grid-column-end: 4 }
-
-[data-cols="3" ] { grid-column: 3 }
-
-[data-cols^="4 " ] { grid-column-start: 4 }
-
-[data-cols$=" 4" ] { grid-column-end: 5 }
-
-[data-cols="4" ] { grid-column: 4 }
-
-[data-cols^="5 " ] { grid-column-start: 5 }
-
-[data-cols$=" 5" ] { grid-column-end: 6 }
-
-[data-cols="5" ] { grid-column: 5 }
-
-[data-cols^="6 " ] { grid-column-start: 6 }
-
-[data-cols$=" 6" ] { grid-column-end: 7 }
-
-[data-cols="6" ] { grid-column: 6 }
-
-[data-cols^="7 " ] { grid-column-start: 7 }
-
-[data-cols$=" 7" ] { grid-column-end: 8 }
-
-[data-cols="7" ] { grid-column: 7 }
-
-[data-cols^="8 " ] { grid-column-start: 8 }
-
-[data-cols$=" 8" ] { grid-column-end: 9 }
-
-[data-cols="8" ] { grid-column: 8 }
-
-[data-cols^="9 " ] { grid-column-start: 9 }
-
-[data-cols$=" 9" ] { grid-column-end: 10 }
-
-[data-cols="9" ] { grid-column: 9 }
-
-[data-cols^="10 "] { grid-column-start: 10 }
-
-[data-cols$=" 10"] { grid-column-end: 11 }
-
-[data-cols="10"] { grid-column: 10 }
-
-[data-cols^="11 "] { grid-column-start: 11 }
-
-[data-cols$=" 11"] { grid-column-end: 12 }
-
-[data-cols="11"] { grid-column: 11 }
-
-[data-cols^="12 "] { grid-column-start: 12 }
-
-[data-cols$=" 12"] { grid-column-end: 13 }
-
-[data-cols="12"] { grid-column: 12 }
-
-[data-rows^="1 " ] { grid-row-start: 1 }
-
-[data-rows$=" 1" ] { grid-row-end: 2 }
-
-[data-rows="1" ] { grid-row: 1 }
-
-[data-rows^="2 " ] { grid-row-start: 2 }
-
-[data-rows$=" 2" ] { grid-row-end: 3 }
-
-[data-rows="2" ] { grid-row: 2 }
-
-[data-rows^="3 " ] { grid-row-start: 3 }
-
-[data-rows$=" 3" ] { grid-row-end: 4 }
-
-[data-rows="3" ] { grid-row: 3 }
-
-[data-rows^="4 " ] { grid-row-start: 4 }
-
-[data-rows$=" 4" ] { grid-row-end: 5 }
-
-[data-rows="4" ] { grid-row: 4 }
-
-[data-rows^="5 " ] { grid-row-start: 5 }
-
-[data-rows$=" 5" ] { grid-row-end: 6 }
-
-[data-rows="5" ] { grid-row: 5 }
-
-[data-rows^="6 " ] { grid-row-start: 6 }
-
-[data-rows$=" 6" ] { grid-row-end: 7 }
-
-[data-rows="6" ] { grid-row: 6 }
-
-[data-rows^="7 " ] { grid-row-start: 7 }
-
-[data-rows$=" 7" ] { grid-row-end: 8 }
-
-[data-rows="7" ] { grid-row: 7 }
-
-[data-rows^="8 " ] { grid-row-start: 8 }
-
-[data-rows$=" 8" ] { grid-row-end: 9 }
-
-[data-rows="8" ] { grid-row: 8 }
-
-[data-rows^="9 " ] { grid-row-start: 9 }
-
-[data-rows$=" 9" ] { grid-row-end: 10 }
-
-[data-rows="9" ] { grid-row: 9 }
-
-[data-rows^="10 "] { grid-row-start: 10 }
-
-[data-rows$=" 10"] { grid-row-end: 11 }
-
-[data-rows="10"] { grid-row: 10 }
-
-[data-rows^="11 "] { grid-row-start: 11 }
-
-[data-rows$=" 11"] { grid-row-end: 12 }
-
-[data-rows="11"] { grid-row: 11 }
-
-[data-rows^="12 "] { grid-row-start: 12 }
-
-[data-rows$=" 12"] { grid-row-end: 13 }
-
-[data-rows="12"] { grid-row: 12 }
-
-@media (max-width: 768px) {
- [data-cols\@s^="1 " ] { grid-column-start: 1 } [data-cols\@s$=" 1" ] { grid-column-end: 2 } [data-cols\@s="1" ] { grid-column: 1 }
- [data-cols\@s^="2 " ] { grid-column-start: 2 } [data-cols\@s$=" 2" ] { grid-column-end: 3 } [data-cols\@s="2" ] { grid-column: 2 }
- [data-cols\@s^="3 " ] { grid-column-start: 3 } [data-cols\@s$=" 3" ] { grid-column-end: 4 } [data-cols\@s="3" ] { grid-column: 3 }
- [data-cols\@s^="4 " ] { grid-column-start: 4 } [data-cols\@s$=" 4" ] { grid-column-end: 5 } [data-cols\@s="4" ] { grid-column: 4 }
- [data-cols\@s^="5 " ] { grid-column-start: 5 } [data-cols\@s$=" 5" ] { grid-column-end: 6 } [data-cols\@s="5" ] { grid-column: 5 }
- [data-cols\@s^="6 " ] { grid-column-start: 6 } [data-cols\@s$=" 6" ] { grid-column-end: 7 } [data-cols\@s="6" ] { grid-column: 6 }
- [data-cols\@s^="7 " ] { grid-column-start: 7 } [data-cols\@s$=" 7" ] { grid-column-end: 8 } [data-cols\@s="7" ] { grid-column: 7 }
- [data-cols\@s^="8 " ] { grid-column-start: 8 } [data-cols\@s$=" 8" ] { grid-column-end: 9 } [data-cols\@s="8" ] { grid-column: 8 }
- [data-cols\@s^="9 " ] { grid-column-start: 9 } [data-cols\@s$=" 9" ] { grid-column-end: 10 } [data-cols\@s="9" ] { grid-column: 9 }
- [data-cols\@s^="10 "] { grid-column-start: 10 } [data-cols\@s$=" 10"] { grid-column-end: 11 } [data-cols\@s="10"] { grid-column: 10 }
- [data-cols\@s^="11 "] { grid-column-start: 11 } [data-cols\@s$=" 11"] { grid-column-end: 12 } [data-cols\@s="11"] { grid-column: 11 }
- [data-cols\@s^="12 "] { grid-column-start: 12 } [data-cols\@s$=" 12"] { grid-column-end: 13 } [data-cols\@s="12"] { grid-column: 12 }
-
- [data-rows\@s^="1 " ] { grid-row-start: 1 } [data-rows\@s$=" 1" ] { grid-row-end: 2 } [data-rows\@s="1" ] { grid-row: 1 }
- [data-rows\@s^="2 " ] { grid-row-start: 2 } [data-rows\@s$=" 2" ] { grid-row-end: 3 } [data-rows\@s="2" ] { grid-row: 2 }
- [data-rows\@s^="3 " ] { grid-row-start: 3 } [data-rows\@s$=" 3" ] { grid-row-end: 4 } [data-rows\@s="3" ] { grid-row: 3 }
- [data-rows\@s^="4 " ] { grid-row-start: 4 } [data-rows\@s$=" 4" ] { grid-row-end: 5 } [data-rows\@s="4" ] { grid-row: 4 }
- [data-rows\@s^="5 " ] { grid-row-start: 5 } [data-rows\@s$=" 5" ] { grid-row-end: 6 } [data-rows\@s="5" ] { grid-row: 5 }
- [data-rows\@s^="6 " ] { grid-row-start: 6 } [data-rows\@s$=" 6" ] { grid-row-end: 7 } [data-rows\@s="6" ] { grid-row: 6 }
- [data-rows\@s^="7 " ] { grid-row-start: 7 } [data-rows\@s$=" 7" ] { grid-row-end: 8 } [data-rows\@s="7" ] { grid-row: 7 }
- [data-rows\@s^="8 " ] { grid-row-start: 8 } [data-rows\@s$=" 8" ] { grid-row-end: 9 } [data-rows\@s="8" ] { grid-row: 8 }
- [data-rows\@s^="9 " ] { grid-row-start: 9 } [data-rows\@s$=" 9" ] { grid-row-end: 10 } [data-rows\@s="9" ] { grid-row: 9 }
- [data-rows\@s^="10 "] { grid-row-start: 10 } [data-rows\@s$=" 10"] { grid-row-end: 11 } [data-rows\@s="10"] { grid-row: 10 }
- [data-rows\@s^="11 "] { grid-row-start: 11 } [data-rows\@s$=" 11"] { grid-row-end: 12 } [data-rows\@s="11"] { grid-row: 11 }
- [data-rows\@s^="12 "] { grid-row-start: 12 } [data-rows\@s$=" 12"] { grid-row-end: 13 } [data-rows\@s="12"] { grid-row: 12 }
-}
-
-@media (min-width: 1024px) {
- [data-cols\@l^="1 " ] { grid-column-start: 1 } [data-cols\@l$=" 1" ] { grid-column-end: 2 } [data-cols\@l="1" ] { grid-column: 1 }
- [data-cols\@l^="2 " ] { grid-column-start: 2 } [data-cols\@l$=" 2" ] { grid-column-end: 3 } [data-cols\@l="2" ] { grid-column: 2 }
- [data-cols\@l^="3 " ] { grid-column-start: 3 } [data-cols\@l$=" 3" ] { grid-column-end: 4 } [data-cols\@l="3" ] { grid-column: 3 }
- [data-cols\@l^="4 " ] { grid-column-start: 4 } [data-cols\@l$=" 4" ] { grid-column-end: 5 } [data-cols\@l="4" ] { grid-column: 4 }
- [data-cols\@l^="5 " ] { grid-column-start: 5 } [data-cols\@l$=" 5" ] { grid-column-end: 6 } [data-cols\@l="5" ] { grid-column: 5 }
- [data-cols\@l^="6 " ] { grid-column-start: 6 } [data-cols\@l$=" 6" ] { grid-column-end: 7 } [data-cols\@l="6" ] { grid-column: 6 }
- [data-cols\@l^="7 " ] { grid-column-start: 7 } [data-cols\@l$=" 7" ] { grid-column-end: 8 } [data-cols\@l="7" ] { grid-column: 7 }
- [data-cols\@l^="8 " ] { grid-column-start: 8 } [data-cols\@l$=" 8" ] { grid-column-end: 9 } [data-cols\@l="8" ] { grid-column: 8 }
- [data-cols\@l^="9 " ] { grid-column-start: 9 } [data-cols\@l$=" 9" ] { grid-column-end: 10 } [data-cols\@l="9" ] { grid-column: 9 }
- [data-cols\@l^="10 "] { grid-column-start: 10 } [data-cols\@l$=" 10"] { grid-column-end: 11 } [data-cols\@l="10"] { grid-column: 10 }
- [data-cols\@l^="11 "] { grid-column-start: 11 } [data-cols\@l$=" 11"] { grid-column-end: 12 } [data-cols\@l="11"] { grid-column: 11 }
- [data-cols\@l^="12 "] { grid-column-start: 12 } [data-cols\@l$=" 12"] { grid-column-end: 13 } [data-cols\@l="12"] { grid-column: 12 }
-
- [data-rows\@l^="1 " ] { grid-row-start: 1 } [data-rows\@l$=" 1" ] { grid-row-end: 2 } [data-rows\@l="1" ] { grid-row: 1 }
- [data-rows\@l^="2 " ] { grid-row-start: 2 } [data-rows\@l$=" 2" ] { grid-row-end: 3 } [data-rows\@l="2" ] { grid-row: 2 }
- [data-rows\@l^="3 " ] { grid-row-start: 3 } [data-rows\@l$=" 3" ] { grid-row-end: 4 } [data-rows\@l="3" ] { grid-row: 3 }
- [data-rows\@l^="4 " ] { grid-row-start: 4 } [data-rows\@l$=" 4" ] { grid-row-end: 5 } [data-rows\@l="4" ] { grid-row: 4 }
- [data-rows\@l^="5 " ] { grid-row-start: 5 } [data-rows\@l$=" 5" ] { grid-row-end: 6 } [data-rows\@l="5" ] { grid-row: 5 }
- [data-rows\@l^="6 " ] { grid-row-start: 6 } [data-rows\@l$=" 6" ] { grid-row-end: 7 } [data-rows\@l="6" ] { grid-row: 6 }
- [data-rows\@l^="7 " ] { grid-row-start: 7 } [data-rows\@l$=" 7" ] { grid-row-end: 8 } [data-rows\@l="7" ] { grid-row: 7 }
- [data-rows\@l^="8 " ] { grid-row-start: 8 } [data-rows\@l$=" 8" ] { grid-row-end: 9 } [data-rows\@l="8" ] { grid-row: 8 }
- [data-rows\@l^="9 " ] { grid-row-start: 9 } [data-rows\@l$=" 9" ] { grid-row-end: 10 } [data-rows\@l="9" ] { grid-row: 9 }
- [data-rows\@l^="10 "] { grid-row-start: 10 } [data-rows\@l$=" 10"] { grid-row-end: 11 } [data-rows\@l="10"] { grid-row: 10 }
- [data-rows\@l^="11 "] { grid-row-start: 11 } [data-rows\@l$=" 11"] { grid-row-end: 12 } [data-rows\@l="11"] { grid-row: 11 }
- [data-rows\@l^="12 "] { grid-row-start: 12 } [data-rows\@l$=" 12"] { grid-row-end: 13 } [data-rows\@l="12"] { grid-row: 12 }
-}
diff --git a/www/releases/_artifacts/v1.0.5/missing.min.css b/www/releases/_artifacts/v1.0.5/missing.min.css
deleted file mode 100644
index 6ed2359..0000000
--- a/www/releases/_artifacts/v1.0.5/missing.min.css
+++ /dev/null
@@ -1,126 +0,0 @@
-@keyframes bg{0%{background:0 0}}*,::after,::before{box-sizing:border-box;background-repeat:no-repeat}::after,::before{text-decoration:inherit;vertical-align:inherit}:root{cursor:default;overflow-wrap:break-word;-webkit-tap-highlight-color:transparent;text-size-adjust:none;-webkit-text-size-adjust:none}abbr[title]{-webkit-text-decoration:underline dotted;text-decoration:underline dotted}b,strong{font-weight:bolder}audio,canvas,iframe,img,svg,video{vertical-align:middle}svg:not([fill]){fill:currentColor}table{border-collapse:collapse;border-color:currentColor;text-indent:0;font-variant-numeric:tabular-nums;font:inherit}body,button,input,select,textarea{margin:0}[type=button],[type=reset],[type=submit],button{-webkit-appearance:button}fieldset{border:1px solid #a0a0a0;position:relative;padding:var(--gap);margin:var(--gap) 0;width:100%;border-radius:var(--border-radius);border:1px solid var(--graphical-fg)}progress{vertical-align:baseline}[type=search]{-webkit-appearance:textfield;outline-offset:-2px}::-webkit-inner-spin-button,::-webkit-outer-spin-button{block-size:auto}::-webkit-input-placeholder{color:inherit;opacity:.54}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{-webkit-appearance:button;font:inherit}[hidden],datalist{display:none!important}:focus-visible{outline:.2em solid var(--accent);z-index:32}body:focus-visible,html:focus-visible,iframe:focus-visible{outline:0}:target{outline:.2em solid var(--fg);z-index:2}details>summary:first-of-type{display:list-item}[aria-busy=true]{cursor:progress}[aria-disabled=true],[disabled]{cursor:not-allowed}:root{--gray-0: #f8fafb;--gray-1: #f2f4f6;--gray-2: #ebedef;--gray-3: #e0e4e5;--gray-4: #d1d6d8;--gray-5: #b1b6b9;--gray-6: #979b9d;--gray-7: #7e8282;--gray-8: #666968;--gray-9: #50514f;--gray-10: #3a3a37;--gray-11: #252521;--gray-12: #121210;--red-0: #fff5f5;--red-1: #ffe3e3;--red-2: #ffc9c9;--red-3: #ffa8a8;--red-4: #ff8787;--red-5: #ff6b6b;--red-6: #fa5252;--red-7: #f03e3e;--red-8: #e03131;--red-9: #c92a2a;--red-10: #b02525;--red-11: #962020;--red-12: #7d1a1a;--pink-0: #fff0f6;--pink-1: #ffdeeb;--pink-2: #fcc2d7;--pink-3: #faa2c1;--pink-4: #f783ac;--pink-5: #f06595;--pink-6: #e64980;--pink-7: #d6336c;--pink-8: #c2255c;--pink-9: #a61e4d;--pink-10: #8c1941;--pink-11: #731536;--pink-12: #59102a;--purple-0: #f8f0fc;--purple-1: #f3d9fa;--purple-2: #eebefa;--purple-3: #e599f7;--purple-4: #da77f2;--purple-5: #cc5de8;--purple-6: #be4bdb;--purple-7: #ae3ec9;--purple-8: #9c36b5;--purple-9: #862e9c;--purple-10: #702682;--purple-11: #5a1e69;--purple-12: #44174f;--violet-0: #f3f0ff;--violet-1: #e5dbff;--violet-2: #d0bfff;--violet-3: #b197fc;--violet-4: #9775fa;--violet-5: #845ef7;--violet-6: #7950f2;--violet-7: #7048e8;--violet-8: #6741d9;--violet-9: #5f3dc4;--violet-10: #5235ab;--violet-11: #462d91;--violet-12: #3a2578;--indigo-0: #edf2ff;--indigo-1: #dbe4ff;--indigo-2: #bac8ff;--indigo-3: #91a7ff;--indigo-4: #748ffc;--indigo-5: #5c7cfa;--indigo-6: #4c6ef5;--indigo-7: #4263eb;--indigo-8: #3b5bdb;--indigo-9: #364fc7;--indigo-10: #2f44ad;--indigo-11: #283a94;--indigo-12: #21307a;--blue-0: #e7f5ff;--blue-1: #d0ebff;--blue-2: #a5d8ff;--blue-3: #74c0fc;--blue-4: #4dabf7;--blue-5: #339af0;--blue-6: #228be6;--blue-7: #1c7ed6;--blue-8: #1971c2;--blue-9: #1864ab;--blue-10: #145591;--blue-11: #114678;--blue-12: #0d375e;--cyan-0: #e3fafc;--cyan-1: #c5f6fa;--cyan-2: #99e9f2;--cyan-3: #66d9e8;--cyan-4: #3bc9db;--cyan-5: #22b8cf;--cyan-6: #15aabf;--cyan-7: #1098ad;--cyan-8: #0c8599;--cyan-9: #0b7285;--cyan-10: #095c6b;--cyan-11: #074652;--cyan-12: #053038;--teal-0: #e6fcf5;--teal-1: #c3fae8;--teal-2: #96f2d7;--teal-3: #63e6be;--teal-4: #38d9a9;--teal-5: #20c997;--teal-6: #12b886;--teal-7: #0ca678;--teal-8: #099268;--teal-9: #087f5b;--teal-10: #066649;--teal-11: #054d37;--teal-12: #033325;--green-0: #ebfbee;--green-1: #d3f9d8;--green-2: #b2f2bb;--green-3: #8ce99a;--green-4: #69db7c;--green-5: #51cf66;--green-6: #40c057;--green-7: #37b24d;--green-8: #2f9e44;--green-9: #2b8a3e;--green-10: #237032;--green-11: #1b5727;--green-12: #133d1b;--lime-0: #f4fce3;--lime-1: #e9fac8;--lime-2: #d8f5a2;--lime-3: #c0eb75;--lime-4: #a9e34b;--lime-5: #94d82d;--lime-6: #82c91e;--lime-7: #74b816;--lime-8: #66a80f;--lime-9: #5c940d;--lime-10: #4c7a0b;--lime-11: #3c6109;--lime-12: #2c4706;--yellow-0: #fff9db;--yellow-1: #fff3bf;--yellow-2: #ffec99;--yellow-3: #ffe066;--yellow-4: #ffd43b;--yellow-5: #fcc419;--yellow-6: #fab005;--yellow-7: #f59f00;--yellow-8: #f08c00;--yellow-9: #e67700;--yellow-10: #b35c00;--yellow-11: #804200;--yellow-12: #663500;--orange-0: #fff4e6;--orange-1: #ffe8cc;--orange-2: #ffd8a8;--orange-3: #ffc078;--orange-4: #ffa94d;--orange-5: #ff922b;--orange-6: #fd7e14;--orange-7: #f76707;--orange-8: #e8590c;--orange-9: #d9480f;--orange-10: #bf400d;--orange-11: #99330b;--orange-12: #802b09;--choco-0: #fff8dc;--choco-1: #fce1bc;--choco-2: #f7ca9e;--choco-3: #f1b280;--choco-4: #e99b62;--choco-5: #df8545;--choco-6: #d46e25;--choco-7: #bd5f1b;--choco-8: #a45117;--choco-9: #8a4513;--choco-10: #703a13;--choco-11: #572f12;--choco-12: #3d210d;--brown-0: #faf4eb;--brown-1: #ede0d1;--brown-2: #e0cab7;--brown-3: #d3b79e;--brown-4: #c5a285;--brown-5: #b78f6d;--brown-6: #a87c56;--brown-7: #956b47;--brown-8: #825b3a;--brown-9: #6f4b2d;--brown-10:#5e3a21;--brown-11:#4e2b15;--brown-12: #422412;--sand-0: #f8fafb;--sand-1: #e6e4dc;--sand-2: #d5cfbd;--sand-3: #c2b9a0;--sand-4: #aea58c;--sand-5: #9a9178;--sand-6: #867c65;--sand-7: #736a53;--sand-8: #5f5746;--sand-9: #4b4639;--sand-10:#38352d;--sand-11:#252521;--sand-12: #121210;--camo-0: #f9fbe7;--camo-1: #e8ed9c;--camo-2: #d2df4e;--camo-3: #c2ce34;--camo-4: #b5bb2e;--camo-5: #a7a827;--camo-6: #999621;--camo-7: #8c851c;--camo-8: #7e7416;--camo-9: #6d6414;--camo-10: #5d5411;--camo-11: #4d460e;--camo-12: #36300a;--jungle-0: #ecfeb0;--jungle-1: #def39a;--jungle-2: #d0e884;--jungle-3: #c2dd6e;--jungle-4: #b5d15b;--jungle-5: #a8c648;--jungle-6: #9bbb36;--jungle-7: #8fb024;--jungle-8: #84a513;--jungle-9: #7a9908;--jungle-10: #658006;--jungle-11: #516605;--jungle-12: #3d4d04}html{font-family:var(--main-font);line-height:var(--rhythm);background:var(--bg);color:var(--fg);scroll-padding-block-start:calc(4*var(--gap))}footer,header,section+section{margin-block:calc(2*var(--gap))}aside.big,nav a{color:var(--accent)}nav a{text-decoration:none}aside h1,aside h2,aside h3,aside h4,aside h5,aside h6{font-size:1em;text-transform:none;letter-spacing:none}aside.big{background:0 0;border:0;border-inline-start:1px solid var(--muted-fg);border-radius:0;padding:0;padding-inline-start:var(--rhythm);font-style:italic}.\<h1\>,.\<h2\>,.\<h3\>,.\<h4\>,.\<h5\>,.\<h6\>,h1,h2,h3,h4,h5,h6{margin-block-end:var(--gap);font-family:var(--secondary-font);margin-block-start:calc(2*var(--gap));position:relative}.\<h1\>,.\<h2\>,h1,h2{font-size:2em;text-transform:none;line-height:calc(2*var(--rhythm));letter-spacing:0}.\<h2\>,h2{font-size:1.6em;line-height:calc(1.5*var(--rhythm))}.\<h3\>,.\<h4\>,.\<h5\>,.\<h6\>,h3,h4,h5,h6{font-size:1.17em;line-height:calc(1*var(--rhythm))}.\<h4\>,.\<h5\>,.\<h6\>,h4,h5,h6{font-size:1em;text-transform:none;letter-spacing:0;margin-block-start:var(--gap)}h1+h2,h1:first-child,h2+h3,h2:first-child,h3+h4,h3:first-child,h4+h5,h4:first-child,h5+h6,h5:first-child,h6:first-child{margin-block-start:var(--gap)}h1:target,h2:target,h3:target,h4:target,h5:target,h6:target{outline:0}h1:target::before,h2:target::before,h3:target::before,h4:target::before,h5:target::before,h6:target::before{content:"";display:block;position:absolute;left:-.5em;width:4px;height:100%;background:var(--accent)}footer,header{font-family:var(--secondary-font)}header{border-block-end:1px solid var(--graphical-fg)}footer{border-block-start:1px solid var(--graphical-fg)}body>footer,body>header,main+footer{padding:var(--rhythm) calc((100% - var(--eff-line-length))/2)}address{--density: 0}dl,hr,p{margin-block:var(--gap)}hr{color:inherit;margin-inline:0;flex:0 1 0px;border-inline-start:1px solid var(--accent);block-size:auto;border-block-start:1px solid var(--accent);border-block-end:none;border-inline-end:none}blockquote,pre{line-height:var(--rhythm)}pre{font-family:var(--mono-font);-o-tab-size:2;tab-size:2;margin:var(--gap) 0;overflow-x:auto;scrollbar-width:thin;scrollbar-color:var(--accent) transparent;font-size:.9em}blockquote{margin-inline:0 var(--gap);padding-inline:var(--gap) 0;margin-block:var(--gap);font-size:1.1em;font-style:italic;border-inline-start:1px solid var(--graphical-fg);color:var(--muted-fg)}.italic address,.italic cite,.italic dfn,.italic em,.italic i,.italic var,blockquote address,blockquote cite,blockquote dfn,blockquote em,blockquote i,blockquote var,q address,q cite,q dfn,q em,q i,q var{font-style:normal}blockquote footer{text-align:right;text-align:end}ol,ul{padding-inline-start:var(--rhythm)}ol ol,ol ul,ul ol,ul ul{padding-inline-start:var(--gap)}ol[role=list],ol[role=listbox],ul[role=list],ul[role=listbox]{padding-inline-start:0;list-style:none}ol{list-style:decimal}.breadcrumbs[aria-label] [aria-current=page],.sidebar-layout header a,dt{font-weight:700}dd{margin-inline-start:var(--rhythm)}li::marker{font-family:var(--secondary-font)}figure{max-width:100%;margin-inline:0}figcaption{margin-block:var(--gap);font-family:var(--secondary-font);color:var(--muted-fg)}main{max-inline-size:var(--eff-line-length);inline-size:100%;margin-inline:auto}main:first-child{padding-top:var(--gap)}.\<a\>,a{color:var(--link-fg, var(--accent));font-family:var(--secondary-font);border-radius:var(--border-radius);outline-offset:1px;background:0 0;border:0;font-size:1em}.list-of-links :is(a,.\<a\>){text-decoration:none}:is(a,.\<a\>):focus,:is(a,.\<a\>):hover{text-decoration:none;outline:1px solid;transition:outline-offset .1s ease-in-out}:is(a,.\<a\>):active{outline-offset:0}small[role=note]{display:block;float:inline-end;clear:inline-end;--sidenote-width: 20ch;max-inline-size:var(--sidenote-width);padding-inline:1.5ch 1ch;margin-inline-end:calc(1em - var(--sidenote-width));margin-block-end:var(--rhythm);font-family:var(--secondary-font);background:var(--bg);border:1px solid transparent;transition:transform .1s ease-in-out}small[role=note]:focus-within,small[role=note]:hover{border:1px solid var(--graphical-fg);border-radius:var(--border-radius);transform:translateX(calc(0px - var(--sidenote-width) + min(var(--gutter-width),var(--sidenote-width))))}.\<small\>,kbd kbd,small{font-size:.8em}del,s{color:var(--bad-fg)}caption,q{font-style:italic}time{font-variant-numeric:tabular-nums}code,kbd,samp{font-family:var(--mono-font);font-style:normal}ins,samp{color:var(--ok-fg)}kbd kbd{display:inline-block;padding:0 .3em;line-height:1.1em;background:var(--interactive-bg);border:1px outset var(--graphical-fg);border-block-end-width:3px;border-radius:var(--border-radius)}sub{vertical-align:bottom}sub,sup{line-height:1}mark{background:var(--warn-bg);color:var(--warn-fg)}ins{background:var(--ok-bg)}del{background:var(--bad-bg)}audio,embed,iframe,img,object,video{max-inline-size:100%;inline-size:max-content;block-size:auto}caption{text-align:start;font-family:var(--secondary-font)}tbody{border-block:1px solid var(--faded-fg)}select[multiple],sup,td,th{vertical-align:top}td:not(:last-child),th:not(:last-child){padding-inline-end:var(--rhythm)}th{font-family:var(--secondary-font);text-align:start}input{display:block}label input:not([specificity-hack]){display:inline;padding-block:0}.\<button\>,button,input::file-selector-button,input[type=button],input[type=reset],input[type=submit]{display:inline-block;padding:0 calc(var(--rhythm)/4);vertical-align:middle;font-size:.8rem;line-height:1.125em;font-family:var(--secondary-font);min-height:var(--rhythm);background:var(--interactive-bg);border:1px solid var(--muted-fg);box-sizing:border-box;border-radius:var(--border-radius);color:var(--fg);text-decoration:none;display:inline-flex;place-items:center}:is(button,input[type="submit"],input[type="reset"],input[type="button"],input::file-selector-button,.\<button\>):focus-visible,:is(button,input[type="submit"],input[type="reset"],input[type="button"],input::file-selector-button,.\<button\>):hover{filter:brightness(1.1);text-decoration:none}:is(button,input[type="submit"],input[type="reset"],input[type="button"],input::file-selector-button,.\<button\>):active{filter:brightness(.8)}[aria-expanded=true]:is(button,input[type="submit"],input[type="reset"],input[type="button"],input::file-selector-button,.\<button\>),[aria-pressed=true]:is(button,input[type="submit"],input[type="reset"],input[type="button"],input::file-selector-button,.\<button\>){box-shadow:0 .05em var(--accent) inset;background:var(--pressed-interactive-bg)}[disabled]:is(button,input[type="submit"],input[type="reset"],input[type="button"],input::file-selector-button,.\<button\>){color:var(--muted-fg)}strong>:is(button,input[type="submit"],input[type="reset"],input[type="button"],input::file-selector-button,.\<button\>){background:var(--accent);color:var(--bg);border:0;font-weight:700}strong>[disabled]:is(button,input[type="submit"],input[type="reset"],input[type="button"],input::file-selector-button,.\<button\>){color:var(--muted-accent)}.big:is(button,input[type="submit"],input[type="reset"],input[type="button"],input::file-selector-button,.\<button\>){min-block-size:calc(1.5*var(--rhythm));font-size:1rem;padding-inline:calc(.5*var(--rhythm));line-height:var(--rhythm)}input:not([type]),input[type=date],input[type=datetime-local],input[type=datetime],input[type=email],input[type=month],input[type=number],input[type=password],input[type=search],input[type=tel],input[type=text],input[type=time],input[type=url],input[type=week],select,textarea{padding:calc(var(--rhythm)/4);font-size:1rem;line-height:inherit;font-family:var(--main-font);background:var(--bg);color:var(--fg);border:1px solid var(--graphical-fg);border-radius:var(--border-radius);vertical-align:top}:is(input:not([type]),input[type="text"],input[type="search"],input[type="tel"],input[type="url"],input[type="email"],input[type="password"],input[type="date"],input[type="month"],input[type="week"],input[type="time"],input[type="datetime"],input[type="datetime-local"],input[type="number"],select,textarea):focus-visible{border:1px solid var(--accent)}:is(input:not([type]),input[type="text"],input[type="search"],input[type="tel"],input[type="url"],input[type="email"],input[type="password"],input[type="date"],input[type="month"],input[type="week"],input[type="time"],input[type="datetime"],input[type="datetime-local"],input[type="number"],select,textarea)::placeholder{color:var(--muted-fg);opacity:1;text-align:end}input[type=range]{width:100%;padding:calc(var(--gap)/4)}input[type=color]{padding:0;margin:0;height:calc(1.5*var(--rhythm));border:0;background:0 0}input[type=file]{padding:calc(var(--gap)/4) 0;font:inherit;line-height:calc(var(--rhythm)/2)}input[type=file]::file-selector-button{margin-block:.1em 0;margin-inline-end:1ch}optgroup::before{color:var(--muted-fg);font-style:normal}label[for]{display:block;padding-block:calc(var(--gap)/4)}fieldset>legend+*{margin-block-start:0}details:not(specificity-hack){padding-block-start:0}details:not(specificity-hack):not([open]){padding-block-end:0}summary{margin:calc(0px - var(--gap));margin-bottom:0;padding-inline:var(--gap);font-family:var(--secondary-font);font-weight:700;cursor:pointer}summary:active,summary:focus-visible{filter:brightness(.8);outline:0}dialog{inline-inset:0;block-size:-moz-fit-content;block-size:fit-content;inline-size:-moz-fit-content;inline-size:fit-content;margin:auto!important;background-color:var(--bg);color:var(--fg)}dialog[open]::backdrop{display:block;background:#000;opacity:.4;animation:bg 2s}dialog:not([open]){display:none}.box,.sidebar-layout>header,[role=menu],[role=tabpanel],aside,details,dialog,figure{margin:var(--gap) 0;padding:var(--gap);overflow:clip;border-radius:var(--border-radius);background:var(--box-bg);border:1px solid var(--graphical-fg)}.titlebar{margin-inline:calc(0px - var(--gap));margin-block-end:calc(0px - var(--gap));padding-inline:var(--gap);font:inherit;font-family:var(--secondary-font);font-weight:700;translate:0 calc(-1px - var(--gap));background:var(--graphical-fg);color:var(--bg)}.sub-title,sub-title{display:block;font-weight:400;color:var(--muted-fg)}.tool-bar,[role=toolbar]{display:flex;flex-flow:row wrap;gap:calc(var(--gap)/2)}.tool-bar>*,[role=toolbar]>*{margin:0}.sidebar-layout header li{margin-block:calc(.5*var(--gap))}@media (min-width:75ch){.sidebar-layout{display:grid;grid-template-columns:25ch auto;inset:0}.sidebar-layout>header{border-block:none;border-inline-start:none;margin:0}.sidebar-layout>:nth-child(2){overflow:auto;--full-width: calc(100vw - 25ch);margin-top:var(--gap)}}.breadcrumbs[aria-label]{font-family:var(--secondary-font)}.breadcrumbs[aria-label] ol,.breadcrumbs[aria-label] ul{list-style:none;padding-inline-start:0}.breadcrumbs[aria-label] li{display:inline}:is(.breadcrumbs[aria-label] li)+li::before{content:' / ';display:inline}.chip,.navbar,chip{font-family:var(--secondary-font);background:var(--box-bg)}.chip,chip{border:1px solid var(--accent);border-radius:calc(var(--rhythm)/2);padding-inline:calc(var(--rhythm)/2)}.navbar{padding:var(--rhythm);border-block-end:1px solid var(--accent);overflow-x:auto;scrollbar-width:thin;position:sticky;z-index:5;top:0;left:0;right:0;display:flex;flex-flow:row;align-items:center;gap:var(--gap)}.navbar.expanded{flex-flow:column;align-items:start;max-height:90vh;overflow-y:auto}.navbar.expanded ul[role=list]{flex-flow:column}.navbar *{flex-shrink:0;margin-block:0}.navbar:not(.expanded) nav>:first-child,.navbar:not(.expanded)>:first-child{margin-inline-start:auto}.navbar:not(.expanded) nav>:last-child,.navbar:not(.expanded)>:last-child{margin-inline-end:auto}.navbar hr{align-self:stretch}.navbar nav ul[role=list]{display:flex;flex-flow:row;gap:var(--rhythm);padding-inline-start:0}.navbar nav ul[role=list] *{flex-shrink:0}.navbar a{font-weight:700;text-decoration:none;padding-inline:.2em}.navbar a:focus,.navbar a:hover{text-decoration:underline}.navbar [aria-current=page]{position:relative}.navbar [aria-current=page]::after{width:100%;height:6px;content:"";display:block;position:absolute;bottom:calc(-1*var(--gap));background:currentcolor}.navbar.expanded [aria-current=page]::after{width:6px;height:100%;position:absolute;left:calc(-1*var(--gap));top:0}.permalink-anchor{display:none}:hover>.permalink-anchor{display:initial}button.iconbutton{border:0;background:0 0;color:currentcolor;padding:0;line-height:var(--rhythm);font-size:24px;width:24px;height:24px;display:inline-block;text-align:center;border-radius:50%;transition:font-weight .2s ease-in-out}button.iconbutton:focus-visible,button.iconbutton:hover{outline:1px solid var(--accent);outline-offset:6px}button.iconbutton:active{outline-offset:3px;background:0 0}button.iconbutton[aria-pressed=true]{box-shadow:none;transform:none}[role=tablist]{display:flex;gap:.5ch;scrollbar-width:thin}[role=tab][role=tab]{all:initial;font-family:var(--secondary-font);padding:0 calc(var(--rhythm)/4);margin:0;min-height:var(--rhythm);color:var(--fg);border:solid var(--graphical-fg);border-width:1px 1px 0;border-block-end-color:transparent;background:var(--interactive-bg);border-start-start-radius:.4em;border-start-end-radius:.4em}[role=tab][role=tab]:active,[role=tab][role=tab][aria-selected=true]{transform:none;bottom:-1px;position:relative;background:var(--box-bg);border-block-end:1px solid var(--box-bg)}[role=tab][role=tab]:hover{background-color:var(--box-bg)}[role=tab][role=tab]:focus{background-color:var(--box-bg);border-color:var(--accent);outline:1px solid var(--accent)}[role=tabpanel]{margin-block-start:0;border-start-start-radius:0;border-start-end-radius:0;z-index:1}[role=menu]{position:absolute;z-index:10;padding:calc(var(--gap)/2) 0;margin:1px 0 0;display:flex;flex-flow:column nowrap}[role=menuitem]{padding:0 calc(var(--gap)/2);display:block;text-decoration:none;border-radius:0;color:var(--fg)}[role=menuitem]:active,[role=menuitem]:focus{background:var(--accent);color:var(--bg)}[role=listbox]{list-style:none}[role=listbox] [role=option]{margin-inline:calc(-1*var(--gap));padding-inline:var(--gap)}[role=listbox] [role=option][aria-selected=true]{background:var(--interactive-bg)}[role=listbox] .active[role=option]{--temporary-bg: var(--accent);--temporary-fg: var(--bg);--temporary-accent: parent-var(--muted-accent);--temporary-muted-accent: parent-var(--box-bg);background:var(--temporary-bg);color:var(--temporary-fg)}[role=listbox] .active[role=option]>*{--bg: var(--temporary-bg);--fg: var(--temporary-fg);--accent: var(--temporary-accent);--muted-accent: var(--temporary-muted-accent)}[aria-orientation=vertical]{flex-direction:column;width:-moz-fit-content;width:fit-content;text-align:center}.plain{--box-bg: var(--plain-bg);--accent: var(--plain-fg);--graphical-fg: var(--plain-graphical-fg)}.info{--box-bg: var(--info-bg);--accent: var(--info-fg);--graphical-fg: var(--info-graphical-fg)}.ok{--box-bg: var(--ok-bg);--accent: var(--ok-fg);--graphical-fg: var(--ok-graphical-fg)}.warn{--box-bg: var(--warn-bg);--accent: var(--warn-fg);--graphical-fg: var(--warn-graphical-fg)}.bad{--box-bg: var(--bad-bg);--accent: var(--bad-fg);--graphical-fg: var(--bad-graphical-fg)}.color{color:var(--accent)}.bg{background:var(--box-bg)}.border{border-style:solid;border-color:var(--graphical-fg)}:root{--fg: var(--gray-12);--muted-fg: var(--gray-10);--faded-fg: var(--gray-6);--graphical-fg: var(--plain-graphical-fg);--plain-fg: var(--blue-10);--info-fg: var(--blue-11);--ok-fg: var(--green-11);--bad-fg: var(--red-11);--warn-fg: var(--yellow-11);--plain-graphical-fg: var(--gray-6);--info-graphical-fg: var(--blue-6);--ok-graphical-fg: var(--green-6);--bad-graphical-fg: var(--red-6);--warn-graphical-fg: var(--yellow-6);--bg: var(--gray-0);--box-bg: var(--plain-bg);--interactive-bg: var(--gray-4);--plain-bg: var(--gray-1);--info-bg: var(--blue-1);--ok-bg: var(--green-1);--bad-bg: var(--red-1);--warn-bg: var(--yellow-1);--accent: var(--blue-10);--muted-accent: var(--blue-7);--rhythm: 1.4rem;--line-length: 40rem;--border-radius: .2rem;--main-font: 'Source Sans 3', 'Source Sans Pro', -apple-system, system-ui, sans-serif;--secondary-font: var(--main-font);--mono-font: 'M Plus Code Latin', monospace, monospace;--density: 1;--full-width: 100vw;--eff-line-length: /* Effective line length for prose. */
- min(
- calc( var(--full-width) - (2 * var(--rhythm)) ),
- var(--line-length)
- );--gutter-width: /* Width of spaces at each side of page content. */
- calc(
- (
- var(--full-width) /* Viewport width */
- - var(--eff-line-length) /* minus line width */
- ) / 2)}@media (prefers-color-scheme:dark){:root:not(.-no-dark-theme){--fg: var(--gray-0);--muted-fg: var(--gray-2);--faded-fg: var(--gray-7);--plain-bg: var(--gray-11);--info-bg: var(--blue-12);--ok-bg: var(--green-12);--bad-bg: var(--red-12);--warn-bg: var(--yellow-12);--plain-faded-fg: var(--blue-6);--info-faded-fg: var(--blue-6);--ok-faded-fg: var(--green-6);--bad-faded-fg: var(--red-6);--warn-faded-fg: var(--yellow-6);--bg: var(--gray-12);--box-bg: var(--gray-10);--interactive-bg: var(--gray-8);--plain-fg: (--blue-3);--info-fg: var(--blue-3);--ok-fg: var(--green-3);--bad-fg: var(--red-3);--warn-fg: var(--yellow-3);--accent: var(--blue-3);--muted-accent: var(--blue-5)}}*{--gap: calc(var(--rhythm) * var(--density));accent-color:var(--accent)}.textcolumns{--col-width: 30ch;column-width:var(--col-width);column-gap:var(--gap);margin-block:var(--gap)}.textcolumns :first-child{margin-block-start:0!important}.text-align\:center{text-align:center}.center{display:grid;place-items:center}.container{max-inline-size:var(--eff-line-length);margin-inline:auto}.fullbleed,.fullscreen{position:relative;left:50%;border-radius:0;border-inline:none}.fullbleed{width:var(--full-width);transform:translateX(calc(-.5*var(--full-width)))}.fullscreen{height:100vh;width:100vw;transform:translateX(-50vw)}.width\:100\%{width:100%;max-width:100%}.height\:100\%{height:100%;max-height:100%}:is(
- body,
- .box,
- [role=menu],
- .sidebar-layout > header,
- [role=tabpanel],
- figure,
- details,
- dialog,
- aside,
- fieldset,
- dd,
- td,
- th
-)>:first-child:first-child:first-child:first-child,:is(
- body,
- .box,
- [role=menu],
- .sidebar-layout > header,
- [role=tabpanel],
- figure,
- details,
- dialog,
- aside,
- fieldset,
- dd,
- td,
- th
-)>:first-child>:first-child:first-child:first-child,:is(
- body,
- .box,
- [role=menu],
- .sidebar-layout > header,
- [role=tabpanel],
- figure,
- details,
- dialog,
- aside,
- fieldset,
- dd,
- td,
- th
-)>:first-child>:first-child>:first-child:first-child,:is(
- body,
- .box,
- [role=menu],
- .sidebar-layout > header,
- [role=tabpanel],
- figure,
- details,
- dialog,
- aside,
- fieldset,
- dd,
- td,
- th
-)>:first-child>:first-child>:first-child>:first-child{margin-block-start:0}:is(
- body,
- .box,
- [role=menu],
- .sidebar-layout > header,
- [role=tabpanel],
- figure,
- details,
- dialog,
- aside,
- fieldset,
- dd,
- td,
- th
-)>:last-child:last-child:last-child:last-child,:is(
- body,
- .box,
- [role=menu],
- .sidebar-layout > header,
- [role=tabpanel],
- figure,
- details,
- dialog,
- aside,
- fieldset,
- dd,
- td,
- th
-)>:last-child>:last-child:last-child:last-child,:is(
- body,
- .box,
- [role=menu],
- .sidebar-layout > header,
- [role=tabpanel],
- figure,
- details,
- dialog,
- aside,
- fieldset,
- dd,
- td,
- th
-)>:last-child>:last-child>:last-child:last-child,:is(
- body,
- .box,
- [role=menu],
- .sidebar-layout > header,
- [role=tabpanel],
- figure,
- details,
- dialog,
- aside,
- fieldset,
- dd,
- td,
- th
-)>:last-child>:last-child>:last-child>:last-child{margin-block-end:0}.padding{padding-inline:var(--gap)}.padding-block{padding-block:var(--gap)}.padding-block-start{padding-block-start:var(--gap)}.padding-block-end{padding-block-end:var(--gap)}.padding-inline{padding-inline:var(--gap)}.padding-inline-end,.padding-inline-start{padding-inline-start:var(--gap)}.margin{margin:var(--gap)}.margin-block{margin-block:var(--gap)}.margin-block-start{margin-block-start:var(--gap)}.margin-block-end{margin-block-end:var(--gap)}.margin-inline{margin-inline:var(--gap)}.margin-inline-start{margin-inline-start:var(--gap)}.margin-inline-end{margin-inline-end:var(--gap)}.flow-gap>:not(:last-child){margin-bottom:1em}.inline{display:inline}.block{display:block}.contents{display:contents}.table{display:table;width:100%;margin:0}.row,.rows>*{display:table-row}.row:not(:last-child):not([specificity-hack])>*,.rows>:not(:last-child):not([specificity-hack])>*{margin-bottom:var(--gap)}.row>:not([specificity-hack]),.rows>*>:not([specificity-hack]){display:table-cell;vertical-align:top}.row>*+:not([specificity-hack]),:is(.rows > *)>*+:not([specificity-hack]){margin-inline-start:var(--gap);display:inline-block}.big{font-size:1.4em;line-height:calc(1.5*var(--rhythm))}.fixed{position:fixed}.sticky{position:sticky}.top{top:0}.right{right:0}.bottom{bottom:0}.left{left:0}.float\:left{float:left}.float\:right{float:right}.overflow\:auto{overflow:auto}.overflow\:scroll{overflow:scroll}.airy{--density: 3}.spacious{--density: 2}.dense{--density: 1}.crowded{--density: .5}.packed{--density: 0}.autodensity{--density: 1
-}@media (min-width:768px){.autodensity{--density: 2
-}}@media (min-width:1024px){.autodensity{--density: 3
-}}.vh,v-h{clip:rect(0 0 0 0);-webkit-clip-path:inset(50%);clip-path:inset(50%);block-size:1px;inline-size:1px;overflow:hidden;white-space:nowrap}.all\:initial{all:initial}.bold{font-weight:700}.italic{font-style:italic}.allcaps{text-transform:uppercase;letter-spacing:.1rem}.primary-font{font-family:var(--primary-font)}.secondary-font{font-family:var(--secondary-font)}.display-font{font-family:var(--display-font)}.mono-font,.monospace{font-family:var(--mono-font)}.massivetext{font-size:calc(.13*var(--eff-line-length));line-height:1em;letter-spacing:0}.aestheticbreak{display:block;margin:0;padding:0;height:calc(.5*var(--gap))}.f-row{display:flex;flex-direction:row;gap:var(--gap)}.f-row>*{margin:0}.f-col{display:flex;flex-direction:column;gap:var(--gap)}.f-col>*{margin:0}.f-switch{display:flex;flex-wrap:wrap;gap:var(--gap);--f-switch-threshold: 55ch
-}.f-switch>*{margin:0;flex-grow:1;flex-basis:calc((var(--f-switch-threshold) - 100%)*999)}.justify-content\:start{justify-content:start}.justify-content\:end{justify-content:end}.justify-content\:baseline{justify-content:baseline}.justify-content\:center{justify-content:center}.justify-content\:stretch{justify-content:stretch}.justify-content\:space-between{justify-content:space-between}.justify-content\:space-around{justify-content:space-around}.justify-content\:space-evenly{justify-content:space-evenly}.align-items\:start{align-items:start}.align-items\:end{align-items:end}.align-items\:baseline{align-items:baseline}.align-items\:center{align-items:center}.align-items\:stretch{align-items:stretch}.align-self\:start{align-self:start}.align-self\:end{align-self:end}.align-self\:baseline{align-self:baseline}.align-self\:center{align-self:center}.align-self\:stretch{align-self:stretch}.flex-grow\:0{flex-grow:0}.flex-grow\:1{flex-grow:1}.flex-grow\:2{flex-grow:2}.flex-grow\:3{flex-grow:3}.flex-grow\:4{flex-grow:4}.flex-grow\:5{flex-grow:5}.flex-grow\:6{flex-grow:6}.flex-grow\:7{flex-grow:7}.flex-grow\:8{flex-grow:8}.flex-grow\:9{flex-grow:9}.flex-grow\:10{flex-grow:10}.flex-grow\:11{flex-grow:11}.flex-grow\:12{flex-grow:12}.flex-wrap\:wrap{flex-wrap:wrap}.flex-wrap\:nowrap{flex-wrap:nowrap}.grid{display:grid;grid-auto-columns:var(--grid-col-width, 1fr);grid-auto-rows:var(--grid-row-width, auto);gap:var(--gap)}.grid>*{margin:0}.grid-even-rows{--grid-row-width: 1fr}.grid-variable-cols{--grid-column-width: auto}[data-cols^="1 "]{grid-column-start:1}[data-cols$=" 1"]{grid-column-end:2}[data-cols="1"]{grid-column:1}[data-cols^="2 "]{grid-column-start:2}[data-cols$=" 2"]{grid-column-end:3}[data-cols="2"]{grid-column:2}[data-cols^="3 "]{grid-column-start:3}[data-cols$=" 3"]{grid-column-end:4}[data-cols="3"]{grid-column:3}[data-cols^="4 "]{grid-column-start:4}[data-cols$=" 4"]{grid-column-end:5}[data-cols="4"]{grid-column:4}[data-cols^="5 "]{grid-column-start:5}[data-cols$=" 5"]{grid-column-end:6}[data-cols="5"]{grid-column:5}[data-cols^="6 "]{grid-column-start:6}[data-cols$=" 6"]{grid-column-end:7}[data-cols="6"]{grid-column:6}[data-cols^="7 "]{grid-column-start:7}[data-cols$=" 7"]{grid-column-end:8}[data-cols="7"]{grid-column:7}[data-cols^="8 "]{grid-column-start:8}[data-cols$=" 8"]{grid-column-end:9}[data-cols="8"]{grid-column:8}[data-cols^="9 "]{grid-column-start:9}[data-cols$=" 9"]{grid-column-end:10}[data-cols="9"]{grid-column:9}[data-cols^="10 "]{grid-column-start:10}[data-cols$=" 10"]{grid-column-end:11}[data-cols="10"]{grid-column:10}[data-cols^="11 "]{grid-column-start:11}[data-cols$=" 11"]{grid-column-end:12}[data-cols="11"]{grid-column:11}[data-cols^="12 "]{grid-column-start:12}[data-cols$=" 12"]{grid-column-end:13}[data-cols="12"]{grid-column:12}[data-rows^="1 "]{grid-row-start:1}[data-rows$=" 1"]{grid-row-end:2}[data-rows="1"]{grid-row:1}[data-rows^="2 "]{grid-row-start:2}[data-rows$=" 2"]{grid-row-end:3}[data-rows="2"]{grid-row:2}[data-rows^="3 "]{grid-row-start:3}[data-rows$=" 3"]{grid-row-end:4}[data-rows="3"]{grid-row:3}[data-rows^="4 "]{grid-row-start:4}[data-rows$=" 4"]{grid-row-end:5}[data-rows="4"]{grid-row:4}[data-rows^="5 "]{grid-row-start:5}[data-rows$=" 5"]{grid-row-end:6}[data-rows="5"]{grid-row:5}[data-rows^="6 "]{grid-row-start:6}[data-rows$=" 6"]{grid-row-end:7}[data-rows="6"]{grid-row:6}[data-rows^="7 "]{grid-row-start:7}[data-rows$=" 7"]{grid-row-end:8}[data-rows="7"]{grid-row:7}[data-rows^="8 "]{grid-row-start:8}[data-rows$=" 8"]{grid-row-end:9}[data-rows="8"]{grid-row:8}[data-rows^="9 "]{grid-row-start:9}[data-rows$=" 9"]{grid-row-end:10}[data-rows="9"]{grid-row:9}[data-rows^="10 "]{grid-row-start:10}[data-rows$=" 10"]{grid-row-end:11}[data-rows="10"]{grid-row:10}[data-rows^="11 "]{grid-row-start:11}[data-rows$=" 11"]{grid-row-end:12}[data-rows="11"]{grid-row:11}[data-rows^="12 "]{grid-row-start:12}[data-rows$=" 12"]{grid-row-end:13}[data-rows="12"]{grid-row:12}@media (max-width:768px){[data-cols\@s^="1 "]{grid-column-start:1}[data-cols\@s$=" 1"]{grid-column-end:2}[data-cols\@s="1"]{grid-column:1}[data-cols\@s^="2 "]{grid-column-start:2}[data-cols\@s$=" 2"]{grid-column-end:3}[data-cols\@s="2"]{grid-column:2}[data-cols\@s^="3 "]{grid-column-start:3}[data-cols\@s$=" 3"]{grid-column-end:4}[data-cols\@s="3"]{grid-column:3}[data-cols\@s^="4 "]{grid-column-start:4}[data-cols\@s$=" 4"]{grid-column-end:5}[data-cols\@s="4"]{grid-column:4}[data-cols\@s^="5 "]{grid-column-start:5}[data-cols\@s$=" 5"]{grid-column-end:6}[data-cols\@s="5"]{grid-column:5}[data-cols\@s^="6 "]{grid-column-start:6}[data-cols\@s$=" 6"]{grid-column-end:7}[data-cols\@s="6"]{grid-column:6}[data-cols\@s^="7 "]{grid-column-start:7}[data-cols\@s$=" 7"]{grid-column-end:8}[data-cols\@s="7"]{grid-column:7}[data-cols\@s^="8 "]{grid-column-start:8}[data-cols\@s$=" 8"]{grid-column-end:9}[data-cols\@s="8"]{grid-column:8}[data-cols\@s^="9 "]{grid-column-start:9}[data-cols\@s$=" 9"]{grid-column-end:10}[data-cols\@s="9"]{grid-column:9}[data-cols\@s^="10 "]{grid-column-start:10}[data-cols\@s$=" 10"]{grid-column-end:11}[data-cols\@s="10"]{grid-column:10}[data-cols\@s^="11 "]{grid-column-start:11}[data-cols\@s$=" 11"]{grid-column-end:12}[data-cols\@s="11"]{grid-column:11}[data-cols\@s^="12 "]{grid-column-start:12}[data-cols\@s$=" 12"]{grid-column-end:13}[data-cols\@s="12"]{grid-column:12}[data-rows\@s^="1 "]{grid-row-start:1}[data-rows\@s$=" 1"]{grid-row-end:2}[data-rows\@s="1"]{grid-row:1}[data-rows\@s^="2 "]{grid-row-start:2}[data-rows\@s$=" 2"]{grid-row-end:3}[data-rows\@s="2"]{grid-row:2}[data-rows\@s^="3 "]{grid-row-start:3}[data-rows\@s$=" 3"]{grid-row-end:4}[data-rows\@s="3"]{grid-row:3}[data-rows\@s^="4 "]{grid-row-start:4}[data-rows\@s$=" 4"]{grid-row-end:5}[data-rows\@s="4"]{grid-row:4}[data-rows\@s^="5 "]{grid-row-start:5}[data-rows\@s$=" 5"]{grid-row-end:6}[data-rows\@s="5"]{grid-row:5}[data-rows\@s^="6 "]{grid-row-start:6}[data-rows\@s$=" 6"]{grid-row-end:7}[data-rows\@s="6"]{grid-row:6}[data-rows\@s^="7 "]{grid-row-start:7}[data-rows\@s$=" 7"]{grid-row-end:8}[data-rows\@s="7"]{grid-row:7}[data-rows\@s^="8 "]{grid-row-start:8}[data-rows\@s$=" 8"]{grid-row-end:9}[data-rows\@s="8"]{grid-row:8}[data-rows\@s^="9 "]{grid-row-start:9}[data-rows\@s$=" 9"]{grid-row-end:10}[data-rows\@s="9"]{grid-row:9}[data-rows\@s^="10 "]{grid-row-start:10}[data-rows\@s$=" 10"]{grid-row-end:11}[data-rows\@s="10"]{grid-row:10}[data-rows\@s^="11 "]{grid-row-start:11}[data-rows\@s$=" 11"]{grid-row-end:12}[data-rows\@s="11"]{grid-row:11}[data-rows\@s^="12 "]{grid-row-start:12}[data-rows\@s$=" 12"]{grid-row-end:13}[data-rows\@s="12"]{grid-row:12}}@media (min-width:1024px){[data-cols\@l^="1 "]{grid-column-start:1}[data-cols\@l$=" 1"]{grid-column-end:2}[data-cols\@l="1"]{grid-column:1}[data-cols\@l^="2 "]{grid-column-start:2}[data-cols\@l$=" 2"]{grid-column-end:3}[data-cols\@l="2"]{grid-column:2}[data-cols\@l^="3 "]{grid-column-start:3}[data-cols\@l$=" 3"]{grid-column-end:4}[data-cols\@l="3"]{grid-column:3}[data-cols\@l^="4 "]{grid-column-start:4}[data-cols\@l$=" 4"]{grid-column-end:5}[data-cols\@l="4"]{grid-column:4}[data-cols\@l^="5 "]{grid-column-start:5}[data-cols\@l$=" 5"]{grid-column-end:6}[data-cols\@l="5"]{grid-column:5}[data-cols\@l^="6 "]{grid-column-start:6}[data-cols\@l$=" 6"]{grid-column-end:7}[data-cols\@l="6"]{grid-column:6}[data-cols\@l^="7 "]{grid-column-start:7}[data-cols\@l$=" 7"]{grid-column-end:8}[data-cols\@l="7"]{grid-column:7}[data-cols\@l^="8 "]{grid-column-start:8}[data-cols\@l$=" 8"]{grid-column-end:9}[data-cols\@l="8"]{grid-column:8}[data-cols\@l^="9 "]{grid-column-start:9}[data-cols\@l$=" 9"]{grid-column-end:10}[data-cols\@l="9"]{grid-column:9}[data-cols\@l^="10 "]{grid-column-start:10}[data-cols\@l$=" 10"]{grid-column-end:11}[data-cols\@l="10"]{grid-column:10}[data-cols\@l^="11 "]{grid-column-start:11}[data-cols\@l$=" 11"]{grid-column-end:12}[data-cols\@l="11"]{grid-column:11}[data-cols\@l^="12 "]{grid-column-start:12}[data-cols\@l$=" 12"]{grid-column-end:13}[data-cols\@l="12"]{grid-column:12}[data-rows\@l^="1 "]{grid-row-start:1}[data-rows\@l$=" 1"]{grid-row-end:2}[data-rows\@l="1"]{grid-row:1}[data-rows\@l^="2 "]{grid-row-start:2}[data-rows\@l$=" 2"]{grid-row-end:3}[data-rows\@l="2"]{grid-row:2}[data-rows\@l^="3 "]{grid-row-start:3}[data-rows\@l$=" 3"]{grid-row-end:4}[data-rows\@l="3"]{grid-row:3}[data-rows\@l^="4 "]{grid-row-start:4}[data-rows\@l$=" 4"]{grid-row-end:5}[data-rows\@l="4"]{grid-row:4}[data-rows\@l^="5 "]{grid-row-start:5}[data-rows\@l$=" 5"]{grid-row-end:6}[data-rows\@l="5"]{grid-row:5}[data-rows\@l^="6 "]{grid-row-start:6}[data-rows\@l$=" 6"]{grid-row-end:7}[data-rows\@l="6"]{grid-row:6}[data-rows\@l^="7 "]{grid-row-start:7}[data-rows\@l$=" 7"]{grid-row-end:8}[data-rows\@l="7"]{grid-row:7}[data-rows\@l^="8 "]{grid-row-start:8}[data-rows\@l$=" 8"]{grid-row-end:9}[data-rows\@l="8"]{grid-row:8}[data-rows\@l^="9 "]{grid-row-start:9}[data-rows\@l$=" 9"]{grid-row-end:10}[data-rows\@l="9"]{grid-row:9}[data-rows\@l^="10 "]{grid-row-start:10}[data-rows\@l$=" 10"]{grid-row-end:11}[data-rows\@l="10"]{grid-row:10}[data-rows\@l^="11 "]{grid-row-start:11}[data-rows\@l$=" 11"]{grid-row-end:12}[data-rows\@l="11"]{grid-row:11}[data-rows\@l^="12 "]{grid-row-start:12}[data-rows\@l$=" 12"]{grid-row-end:13}[data-rows\@l="12"]{grid-row:12}} \ No newline at end of file
diff --git a/www/releases/_artifacts/v1.0.6/missing-js/19.js b/www/releases/_artifacts/v1.0.6/missing-js/19.js
deleted file mode 100644
index 1e034eb..0000000
--- a/www/releases/_artifacts/v1.0.6/missing-js/19.js
+++ /dev/null
@@ -1,3 +0,0 @@
-function T(e){return(...t)=>(console.log("%c%s","color:green",e,...t),t.at(-1))}const h=T("19.js");function E(e){return e.replace(/[A-Z]/g,t=>"-"+t.toLowerCase())}function f(e,t,n,r,i={}){const{wrap:l=!0}=i,u=e+"ElementSibling",a=()=>l?e==="next"?d(t,n):g(t,n).at(-1):null;if(!r)return a();let o=r;for(;;){for(;o[u]===null;)if(o=o.parentElement,o===t)return a();o=o[u];const s=o.matches(n)?o:d(o,n);if(s)return s}}function d(e,t){return e.querySelector(t)}function g(e,t){return Array.from(e.querySelectorAll(t))}function L(e,t,n,r={}){const i=l=>(r.addedBy&&!r.addedBy.isConnected&&v({target:e,type:t,listener:i,options:r}),n(l));return e.addEventListener(t,i,r),{target:e,type:t,options:r,listener:i}}function v({target:e,type:t,listener:n,options:r}){return e.removeEventListener(t,n,r)}function y(e,t){for(const n of e.split(" "))n==="default"&&t.preventDefault(),n==="bubbling"&&t.stopPropagation(),n==="propagation"&&t.stopImmediatePropagation()}function A(e,t){return n=>{y(e,n),t(n)}}function w(e,t,n){return e.dispatchEvent(new CustomEvent(t,{detail:n}))}function k(e,t,n=void 0){if(typeof t=="object"){for(const i in t)e.setAttribute(E(i),t[i]);return null}const r=e.getAttribute(t);return n===void 0?e.getAttribute(t):n===null?(e.removeAttribute(t),r):(e.setAttribute(t,n),n)}function x(e){const t=document.createElement("div");return t.append(e),t.innerHTML}function b(e){return e==null?"":e instanceof Node?x(e):String(e).replaceAll("&","&amp;").replaceAll("<","&lt;").replaceAll(">","&gt;").replaceAll("'","&#x27;").replaceAll('"',"&quot;")}function N(e,...t){const n=document.createElement("template");return typeof e=="object"&&"raw"in e&&(e=String.raw(e,...t.map(b))),n.innerHTML=e,n.content}function O(e){return e instanceof HTMLElement?e:null}function P(e,t,n,r={}){return f("next",e,t,n,r)}function S(e,t,n,r={}){return f("previous",e,t,n,r)}function B(e){const l={},u=o=>~~(o.altKey&&1)|~~(o.ctrlKey&&2)|~~(o.metaKey&&4)|~~(o.shiftKey&&8),a=o=>{const s=o.split("+"),c=s.pop();let p=0;for(const m in s)switch(m.toLowerCase()){case"alt":p|=1;break;case"ctrl":p|=2;break;case"meta":p|=4;break;case"shift":p|=8;break}return[c,p]};for(const[o,s]of Object.entries(e)){const[c,p]=a(o);(l[c]??(l[c]=new Array(8)))[p]=s}return o=>l[o.key]?.[u(o)]?.(o)}function C(e,t,{mode:n="trailing"}={}){let r=null;return(...i)=>{r?clearTimeout(r):n==="leading"&&t(...i),r=setTimeout(()=>{n==="trailing"&&t(...i),r=null},e)}}function D(e,t){const n=new WeakSet;return(r=document,i={})=>{const l=r.getRootNode();g(r,e).forEach(u=>{n.has(u)||(n.add(u),t(u,{options:i,root:l}))})}}function K(e,t){return n=>{let r=null;const i=(...a)=>{const o=r;r=a.at(-1),r instanceof DocumentFragment&&(r=r.lastChild),o?o.after(...a):e.prepend(...a)},l=a=>{if(a)for(;a.nextSibling;)a.nextSibling.remove();else e.replaceChildren()},u=e.getRootNode();for(const a of n){const o=t.idOf(a),s=u.getElementById(o);i(s?t.update?.(s,a)??s:t.create(a,{id:o}))}l(r)}}export{d as $,g as $$,O as asHtml,k as attr,D as behavior,C as debounce,w as dispatch,y as halt,A as halts,B as hotkey,N as html,b as htmlescape,T as makelogger,P as next,v as off,L as on,S as prev,K as repeater,x as stringifyNode,f as traverse};
-
-/*# sourceMappingURL=./19.js.map */ \ No newline at end of file
diff --git a/www/releases/_artifacts/v1.0.6/missing-js/menu.js b/www/releases/_artifacts/v1.0.6/missing-js/menu.js
deleted file mode 100644
index 80c3830..0000000
--- a/www/releases/_artifacts/v1.0.6/missing-js/menu.js
+++ /dev/null
@@ -1,3 +0,0 @@
-import{$ as m,$$ as h,on as o,dispatch as c,halts as g,attr as i,next as E,prev as _,asHtml as a,hotkey as w,behavior as f,makelogger as k}from"./19.js";const l=k("menu"),x="[role=menu]",s="[role=menuitem]",p=e=>h(e,s),y=(e,{root:r})=>{const t=i(e,"aria-controls");return t===null?null:r.getElementById(t)},u=e=>m(e,s),v=e=>p(e).at(-1)??null,d=e=>!e.hidden,B=f(x,(e,{root:r})=>{if(!(e instanceof HTMLElement))return;let t;p(e).forEach(n=>n.setAttribute("tabindex","-1")),o(e,"menu:open",n=>{t=n.detail?.opener,t||l("Warning: Menu",e,"opened without passing an `opener` element"),e.hidden=!1,u(e)?.focus()}),o(e,"menu:close",n=>{l("menu:close",e.hidden=!0),t?.focus()}),o(e,"focusout",n=>{d(e)&&(e.contains(n.relatedTarget)||t!==n.relatedTarget&&c(e,"menu:close"))}),o(e,"keydown",g("default",w({ArrowUp:n=>a(_(e,s,r.activeElement,{}))?.focus(),ArrowDown:n=>a(E(e,s,r.activeElement,{}))?.focus(),Space:n=>a(r.activeElement?.closest(s))?.click(),Home:n=>u(e)?.focus(),End:n=>v(e)?.focus(),Escape:n=>c(e,"menu:close")}))),o(window,"click",n=>{d(e)&&t!==n.target&&c(e,"menu:close")},{addedBy:e})}),M=f("[aria-haspopup=menu]",(e,{root:r})=>{const t=y(e,{root:r});if(t===null)return l("Error: Menu button",e,"has no menu.");o(t,"menu:close",n=>i(e,"aria-expanded","false"),{addedBy:e}),o(t,"menu:open",n=>i(e,"aria-expanded","true"),{addedBy:e}),o(e,"click",()=>c(t,d(t)?"menu:close":"menu:open",{opener:e}))});B(document);M(document);export{B as menu,M as menuButton};
-
-/*# sourceMappingURL=./menu.js.map */ \ No newline at end of file
diff --git a/www/releases/_artifacts/v1.0.6/missing-js/overflow-nav.js b/www/releases/_artifacts/v1.0.6/missing-js/overflow-nav.js
deleted file mode 100644
index 8ede3f4..0000000
--- a/www/releases/_artifacts/v1.0.6/missing-js/overflow-nav.js
+++ /dev/null
@@ -1,3 +0,0 @@
-import{$ as f,asHtml as g,attr as d,behavior as p,makelogger as m,on as l}from"./19.js";const w=m("overflow-nav"),a=p("[data-overflow-nav]",(t,{options:{expandedClass:o="expanded"}})=>{const e=g(f(t,"[data-nav-expander]"));if(e===null)return w("Expand toggle missing from navbar ",t);const c=()=>t.scrollWidth>t.clientWidth,r=()=>t.classList.contains(o),n=(s=!r())=>{s?(t.classList.add(o),d(e,"aria-pressed",!0),e.textContent="\xD7"):(t.classList.remove(o),d(e,"aria-pressed",!1),e.textContent="\u2630")},i=()=>{const s=e.hidden;e.hidden=!c(),s!=e.hidden&&n(!1)};l(e,"click",()=>n()),i(),l(window,"resize",()=>i(),{addedBy:t})});var h=a;a(document);export{h as default};
-
-/*# sourceMappingURL=./overflow-nav.js.map */ \ No newline at end of file
diff --git a/www/releases/_artifacts/v1.0.6/missing-js/tabs.js b/www/releases/_artifacts/v1.0.6/missing-js/tabs.js
deleted file mode 100644
index 873a350..0000000
--- a/www/releases/_artifacts/v1.0.6/missing-js/tabs.js
+++ /dev/null
@@ -1,3 +0,0 @@
-import{$ as m,$$ as p,on as t,attr as s,next as x,prev as b,asHtml as r,hotkey as T,behavior as k,makelogger as w}from"./19.js";const E=w("tabs"),c=e=>p(e,"[role=tab]"),u=e=>m(e,"[role=tab][aria-selected=true]"),i=(e,n)=>{const o=s(e,"aria-controls");return o===null?(E("Tab",e,"has no associated tabpanel"),null):n.getElementById(o)},f=(e,n,o,{focusTab:h=!0}={})=>{if(!o)return;const a=u(n);if(a){s(a,{ariaSelected:!1,tabindex:-1});const l=i(a,e);l&&(l.hidden=!0)}s(o,{ariaSelected:!0,tabindex:0});const d=i(o,e);d&&(d.hidden=!1),h&&o.focus()},g=k("[role=tablist]",(e,{root:n})=>{e instanceof HTMLElement&&(e.tabIndex=0,c(e).forEach(o=>o.tabIndex=-1),f(n,e,u(e),{focusTab:!1}),t(e,"focus",o=>u(e)?.focus()),t(e,"click",o=>f(n,e,r(r(o.target)?.closest("[role=tab]")))),t(e,"focusin",o=>f(n,e,r(r(o.target)?.closest("[role=tab]")))),t(e,"keydown",T({ArrowRight:o=>r(x(e,"[role=tab]",r(o.target)))?.focus(),ArrowLeft:o=>r(b(e,"[role=tab]",r(o.target)))?.focus(),Home:o=>c(e).at(0)?.focus(),End:o=>c(e).at(-1)?.focus()})))});g(document);var H=g;export{H as default,g as tablist};
-
-/*# sourceMappingURL=./tabs.js.map */ \ No newline at end of file
diff --git a/www/releases/_artifacts/v1.0.6/missing-prism.css b/www/releases/_artifacts/v1.0.6/missing-prism.css
deleted file mode 100644
index 23e48b5..0000000
--- a/www/releases/_artifacts/v1.0.6/missing-prism.css
+++ /dev/null
@@ -1,62 +0,0 @@
-
-.token.comment,
-.token.prolog,
-.token.doctype,
-.token.cdata,
-.token.punctuation {
- color: var(--muted-fg);
-}
-
-.token.property,
-.token.tag,
-.token.boolean,
-.token.number,
-.token.constant,
-.token.symbol,
-.token.deleted {
- color: var(--bad-fg);
-}
-
-.token.selector,
-.token.attr-name,
-.token.string,
-.token.char,
-.token.builtin,
-.token.inserted {
- color: var(--ok-fg);
-}
-
-.token.operator,
-.token.entity,
-.token.url,
-.language-css .token.string,
-.style .token.string,
-.token.regex,
-.token.important,
-.token.variable {
- color: var(--warn-fg)
-}
-
-.token.atrule,
-.token.attr-value,
-.token.keyword {
- color: var(--info-fg);
-}
-
-.token.function {
- color: var(--bad-fg);
- font-style: italic;
-}
-
-.token.important,
-.token.bold {
- font-weight: bold;
-}
-
-.token.italic {
- font-style: italic;
-}
-
-.token.entity {
- cursor: help;
-}
diff --git a/www/releases/_artifacts/v1.0.6/missing-prism.min.css b/www/releases/_artifacts/v1.0.6/missing-prism.min.css
deleted file mode 100644
index 41c91b1..0000000
--- a/www/releases/_artifacts/v1.0.6/missing-prism.min.css
+++ /dev/null
@@ -1 +0,0 @@
-.token.cdata,.token.comment,.token.doctype,.token.prolog,.token.punctuation{color:var(--muted-fg)}.token.boolean,.token.constant,.token.deleted,.token.number,.token.property,.token.symbol,.token.tag{color:var(--bad-fg)}.token.attr-name,.token.builtin,.token.char,.token.inserted,.token.selector,.token.string{color:var(--ok-fg)}.language-css .token.string,.style .token.string,.token.entity,.token.important,.token.operator,.token.regex,.token.url,.token.variable{color:var(--warn-fg)}.token.atrule,.token.attr-value,.token.keyword{color:var(--info-fg)}.token.function{color:var(--bad-fg);font-style:italic}.token.bold,.token.important{font-weight:700}.token.italic{font-style:italic}.token.entity{cursor:help} \ No newline at end of file
diff --git a/www/releases/_artifacts/v1.0.6/missing.css b/www/releases/_artifacts/v1.0.6/missing.css
deleted file mode 100644
index 763a1e6..0000000
--- a/www/releases/_artifacts/v1.0.6/missing.css
+++ /dev/null
@@ -1,2417 +0,0 @@
-/* Document
- * ========================================================================== */
-
-/**
- * 1. Add border box sizing in all browsers (opinionated).
- * 2. Backgrounds do not repeat by default (opinionated).
- */
-
-*,
-::before,
-::after {
- box-sizing: border-box; /* 1 */
- background-repeat: no-repeat; /* 2 */
-}
-
-/**
- * 1. Add text decoration inheritance in all browsers (opinionated).
- * 2. Add vertical alignment inheritance in all browsers (opinionated).
- */
-
-::before,
-::after {
- text-decoration: inherit; /* 1 */
- vertical-align: inherit; /* 2 */
-}
-
-/**
- * 1. Use the default cursor in all browsers (opinionated).
- * 3. Breaks words to prevent overflow in all browsers (opinionated).
- * 5. Remove the grey highlight on links in iOS (opinionated).
- * 6. Prevent adjustments of font size after orientation changes in iOS.
- */
-
-:root {
- cursor: default; /* 1 */
- overflow-wrap: break-word; /* 3 */
- -webkit-tap-highlight-color: transparent; /* 5 */
- text-size-adjust: none;
- -webkit-text-size-adjust: none;
-}
-
-/* Text-level semantics
- * ========================================================================== */
-
-/**
- * Add the correct text decoration in Safari.
- */
-
-abbr[title] {
- text-decoration: underline;
- -webkit-text-decoration: underline dotted;
- text-decoration: underline dotted;
-}
-
-/**
- * Add the correct font weight in Chrome, Edge, and Safari.
- */
-
-strong, b {
- font-weight: bolder;
-}
-
-/**
- * Add the correct font size in all browsers.
- */
-
-small {
- font-size: 80%;
-}
-
-/* Embedded content
- * ========================================================================== */
-
-/*
- * Change the alignment on media elements in all browsers (opinionated).
- */
-
-audio, canvas, iframe, img, svg, video {
- vertical-align: middle;
-}
-
-/**
- * Change the fill color to match the text color in all browsers (opinionated).
- */
-
-svg:not([fill]) {
- fill: currentColor;
-}
-
-/* Tabular data
- * ========================================================================== */
-
-/**
- * 1. Collapse border spacing in all browsers (opinionated).
- * 2. Correct table border color in Chrome, Edge, and Safari.
- * 3. Remove text indentation from table contents in Chrome, Edge, and Safari.
- */
-
-table {
- border-collapse: collapse; /* 1 */
- border-color: currentColor; /* 2 */
- text-indent: 0; /* 3 */
-}
-
-/* Forms
- * ========================================================================== */
-
-/**
- * Remove the margin on controls in Safari.
- */
-
-button, input, select {
- margin: 0;
-}
-
-/**
- * Correct the inability to style buttons in iOS and Safari.
- */
-
-button, [type="button"], [type="reset"], [type="submit"] {
- -webkit-appearance: button;
-}
-
-/**
- * Change the inconsistent appearance in all browsers (opinionated).
- */
-
-fieldset {
- border: 1px solid #a0a0a0;
-}
-
-/**
- * Add the correct vertical alignment in Chrome, Edge, and Firefox.
- */
-
-progress {
- vertical-align: baseline;
-}
-
-/**
- * 1. Remove the margin in Firefox and Safari.
- */
-
-textarea {
- margin: 0; /* 1 */
-}
-
-/**
- * 1. Correct the odd appearance in Chrome, Edge, and Safari.
- * 2. Correct the outline style in Safari.
- */
-
-[type="search"] {
- -webkit-appearance: textfield; /* 1 */
- outline-offset: -2px; /* 2 */
-}
-
-/**
- * Correct the cursor style of increment and decrement buttons in Safari.
- */
-
-::-webkit-inner-spin-button,
-::-webkit-outer-spin-button {
- block-size: auto;
-}
-
-/**
- * Correct the text style of placeholders in Chrome, Edge, and Safari.
- */
-
-::-webkit-input-placeholder {
- color: inherit;
- opacity: 0.54;
-}
-
-/**
- * Remove the inner padding in Chrome, Edge, and Safari on macOS.
- */
-
-::-webkit-search-decoration {
- -webkit-appearance: none;
-}
-
-/**
- * 1. Correct the inability to style upload buttons in iOS and Safari.
- * 2. Change font properties to `inherit` in Safari.
- */
-
-::-webkit-file-upload-button {
- -webkit-appearance: button; /* 1 */
- font: inherit; /* 2 */
-}
-
-/* Interactive
- * ========================================================================== */
-
-[hidden] {
- display: none !important;
-}
-
-:focus-visible {
- outline: .2em solid var(--accent);
- z-index: 32;
-}
-
-iframe:focus-visible,
- html:focus-visible,
- body:focus-visible {
- outline: none;
- }
-
-:target {
- outline: .2em solid var(--fg);
- z-index: 2;
-}
-
-/*
- * Add the correct display in Safari.
- */
-
-details > summary:first-of-type {
- display: list-item;
-}
-
-/* Accessibility
- * ========================================================================== */
-
-/**
- * Change the cursor on busy elements in all browsers (opinionated).
- */
-
-[aria-busy="true"] {
- cursor: progress;
-}
-
-/*
- * Change the cursor on disabled, not-editable, or otherwise
- * inoperable elements in all browsers (opinionated).
- */
-
-[aria-disabled="true"], [disabled] {
- cursor: not-allowed;
-}
-
-datalist {
- display: none !important;
-}
-
-/* https://github.com/fchristant/colar/ */
-
-:root {
- --gray-0: #f8fafb;
- --gray-1: #f2f4f6;
- --gray-2: #ebedef;
- --gray-3: #e0e4e5;
- --gray-4: #d1d6d8;
- --gray-5: #b1b6b9;
- --gray-6: #979b9d;
- --gray-7: #7e8282;
- --gray-8: #666968;
- --gray-9: #50514f;
- --gray-10: #3a3a37;
- --gray-11: #252521;
- --gray-12: #121210;
-
- --red-0: #fff5f5;
- --red-1: #ffe3e3;
- --red-2: #ffc9c9;
- --red-3: #ffa8a8;
- --red-4: #ff8787;
- --red-5: #ff6b6b;
- --red-6: #fa5252;
- --red-7: #f03e3e;
- --red-8: #e03131;
- --red-9: #c92a2a;
- --red-10: #b02525;
- --red-11: #962020;
- --red-12: #7d1a1a;
-
- --pink-0: #fff0f6;
- --pink-1: #ffdeeb;
- --pink-2: #fcc2d7;
- --pink-3: #faa2c1;
- --pink-4: #f783ac;
- --pink-5: #f06595;
- --pink-6: #e64980;
- --pink-7: #d6336c;
- --pink-8: #c2255c;
- --pink-9: #a61e4d;
- --pink-10: #8c1941;
- --pink-11: #731536;
- --pink-12: #59102a;
-
- --purple-0: #f8f0fc;
- --purple-1: #f3d9fa;
- --purple-2: #eebefa;
- --purple-3: #e599f7;
- --purple-4: #da77f2;
- --purple-5: #cc5de8;
- --purple-6: #be4bdb;
- --purple-7: #ae3ec9;
- --purple-8: #9c36b5;
- --purple-9: #862e9c;
- --purple-10: #702682;
- --purple-11: #5a1e69;
- --purple-12: #44174f;
-
- --violet-0: #f3f0ff;
- --violet-1: #e5dbff;
- --violet-2: #d0bfff;
- --violet-3: #b197fc;
- --violet-4: #9775fa;
- --violet-5: #845ef7;
- --violet-6: #7950f2;
- --violet-7: #7048e8;
- --violet-8: #6741d9;
- --violet-9: #5f3dc4;
- --violet-10: #5235ab;
- --violet-11: #462d91;
- --violet-12: #3a2578;
-
- --indigo-0: #edf2ff;
- --indigo-1: #dbe4ff;
- --indigo-2: #bac8ff;
- --indigo-3: #91a7ff;
- --indigo-4: #748ffc;
- --indigo-5: #5c7cfa;
- --indigo-6: #4c6ef5;
- --indigo-7: #4263eb;
- --indigo-8: #3b5bdb;
- --indigo-9: #364fc7;
- --indigo-10: #2f44ad;
- --indigo-11: #283a94;
- --indigo-12: #21307a;
-
- --blue-0: #e7f5ff;
- --blue-1: #d0ebff;
- --blue-2: #a5d8ff;
- --blue-3: #74c0fc;
- --blue-4: #4dabf7;
- --blue-5: #339af0;
- --blue-6: #228be6;
- --blue-7: #1c7ed6;
- --blue-8: #1971c2;
- --blue-9: #1864ab;
- --blue-10: #145591;
- --blue-11: #114678;
- --blue-12: #0d375e;
-
- --cyan-0: #e3fafc;
- --cyan-1: #c5f6fa;
- --cyan-2: #99e9f2;
- --cyan-3: #66d9e8;
- --cyan-4: #3bc9db;
- --cyan-5: #22b8cf;
- --cyan-6: #15aabf;
- --cyan-7: #1098ad;
- --cyan-8: #0c8599;
- --cyan-9: #0b7285;
- --cyan-10: #095c6b;
- --cyan-11: #074652;
- --cyan-12: #053038;
-
- --teal-0: #e6fcf5;
- --teal-1: #c3fae8;
- --teal-2: #96f2d7;
- --teal-3: #63e6be;
- --teal-4: #38d9a9;
- --teal-5: #20c997;
- --teal-6: #12b886;
- --teal-7: #0ca678;
- --teal-8: #099268;
- --teal-9: #087f5b;
- --teal-10: #066649;
- --teal-11: #054d37;
- --teal-12: #033325;
-
- --green-0: #ebfbee;
- --green-1: #d3f9d8;
- --green-2: #b2f2bb;
- --green-3: #8ce99a;
- --green-4: #69db7c;
- --green-5: #51cf66;
- --green-6: #40c057;
- --green-7: #37b24d;
- --green-8: #2f9e44;
- --green-9: #2b8a3e;
- --green-10: #237032;
- --green-11: #1b5727;
- --green-12: #133d1b;
-
- --lime-0: #f4fce3;
- --lime-1: #e9fac8;
- --lime-2: #d8f5a2;
- --lime-3: #c0eb75;
- --lime-4: #a9e34b;
- --lime-5: #94d82d;
- --lime-6: #82c91e;
- --lime-7: #74b816;
- --lime-8: #66a80f;
- --lime-9: #5c940d;
- --lime-10: #4c7a0b;
- --lime-11: #3c6109;
- --lime-12: #2c4706;
-
- --yellow-0: #fff9db;
- --yellow-1: #fff3bf;
- --yellow-2: #ffec99;
- --yellow-3: #ffe066;
- --yellow-4: #ffd43b;
- --yellow-5: #fcc419;
- --yellow-6: #fab005;
- --yellow-7: #f59f00;
- --yellow-8: #f08c00;
- --yellow-9: #e67700;
- --yellow-10: #b35c00;
- --yellow-11: #804200;
- --yellow-12: #663500;
-
- --orange-0: #fff4e6;
- --orange-1: #ffe8cc;
- --orange-2: #ffd8a8;
- --orange-3: #ffc078;
- --orange-4: #ffa94d;
- --orange-5: #ff922b;
- --orange-6: #fd7e14;
- --orange-7: #f76707;
- --orange-8: #e8590c;
- --orange-9: #d9480f;
- --orange-10: #bf400d;
- --orange-11: #99330b;
- --orange-12: #802b09;
-
- --choco-0: #fff8dc;
- --choco-1: #fce1bc;
- --choco-2: #f7ca9e;
- --choco-3: #f1b280;
- --choco-4: #e99b62;
- --choco-5: #df8545;
- --choco-6: #d46e25;
- --choco-7: #bd5f1b;
- --choco-8: #a45117;
- --choco-9: #8a4513;
- --choco-10: #703a13;
- --choco-11: #572f12;
- --choco-12: #3d210d;
-
- --brown-0: #faf4eb;
- --brown-1: #ede0d1;
- --brown-2: #e0cab7;
- --brown-3: #d3b79e;
- --brown-4: #c5a285;
- --brown-5: #b78f6d;
- --brown-6: #a87c56;
- --brown-7: #956b47;
- --brown-8: #825b3a;
- --brown-9: #6f4b2d;
- --brown-10:#5e3a21;
- --brown-11:#4e2b15;
- --brown-12: #422412;
-
- --sand-0: #f8fafb;
- --sand-1: #e6e4dc;
- --sand-2: #d5cfbd;
- --sand-3: #c2b9a0;
- --sand-4: #aea58c;
- --sand-5: #9a9178;
- --sand-6: #867c65;
- --sand-7: #736a53;
- --sand-8: #5f5746;
- --sand-9: #4b4639;
- --sand-10:#38352d;
- --sand-11:#252521;
- --sand-12: #121210;
-
- --camo-0: #f9fbe7;
- --camo-1: #e8ed9c;
- --camo-2: #d2df4e;
- --camo-3: #c2ce34;
- --camo-4: #b5bb2e;
- --camo-5: #a7a827;
- --camo-6: #999621;
- --camo-7: #8c851c;
- --camo-8: #7e7416;
- --camo-9: #6d6414;
- --camo-10: #5d5411;
- --camo-11: #4d460e;
- --camo-12: #36300a;
-
- --jungle-0: #ecfeb0;
- --jungle-1: #def39a;
- --jungle-2: #d0e884;
- --jungle-3: #c2dd6e;
- --jungle-4: #b5d15b;
- --jungle-5: #a8c648;
- --jungle-6: #9bbb36;
- --jungle-7: #8fb024;
- --jungle-8: #84a513;
- --jungle-9: #7a9908;
- --jungle-10: #658006;
- --jungle-11: #516605;
- --jungle-12: #3d4d04;
-}
-
-/***
- 4.1 The document element
- https://html.spec.whatwg.org/multipage/semantics.html#the-root-element
-
- 4.3 Sections
- https://html.spec.whatwg.org/multipage/sections.html
- ***/
-
-html {
- font-family: var(--main-font);
- line-height: var(--rhythm);
-
- background: var(--bg);
- color: var(--fg);
- scroll-padding-block-start: calc(4 * var(--gap));
-}
-
-body {
- margin: 0;
-}
-
-header, footer, section + section {
- margin-block: calc(2 * var(--gap));
-}
-
-nav a {
- text-decoration: none;
- color: var(--accent);
- }
-
-/* SEE components/box.css */
-
-aside h1,
- aside h2,
- aside h3,
- aside h4,
- aside h5,
- aside h6 {
- font-size: 1em;
- text-transform: none;
- letter-spacing: none;
- }
-
-aside.big {
- /* Pull quote */
- background: none;
- border: none;
- -webkit-border-start: 1px solid var(--muted-fg);
- border-inline-start: 1px solid var(--muted-fg);
- border-radius: 0;
- padding: 0;
- -webkit-padding-start: var(--rhythm);
- padding-inline-start: var(--rhythm);
- font-style: italic;
- color: var(--accent);
- }
-
-h1, h2, h3, h4, h5, h6,
-.\<h1\>, .\<h2\>, .\<h3\>, .\<h4\>, .\<h5\>, .\<h6\> {
- -webkit-margin-after: var(--gap);
- margin-block-end: var(--gap);
- font-family: var(--secondary-font);
- font-size: 1em;
- -webkit-margin-before: calc(2 * var(--gap));
- margin-block-start: calc(2 * var(--gap));
- position: relative;
-}
-
-h1, .\<h1\> {
- font-size: 2em;
- text-transform: none;
- line-height: calc(2 * var(--rhythm));
- letter-spacing: 0;
-}
-
-h2, .\<h2\> {
- font-size: 1.6em;
- text-transform: none;
- line-height: calc(1.5 * var(--rhythm));
- letter-spacing: 0;
-}
-
-h3, .\<h3\> {
- font-size: 1.17em;
- line-height: calc(1 * var(--rhythm));
-}
-
-h4, .\<h4\>, h5, .\<h5\>, h6, .\<h6\> {
- font-size: 1em;
- text-transform: none;
- line-height: calc(1 * var(--rhythm));
- letter-spacing: 0;
- -webkit-margin-before: var(--gap);
- margin-block-start: var(--gap);
-}
-
-h1 + h2,
-h2 + h3,
-h3 + h4,
-h4 + h5,
-h5 + h6,
-h1:first-child,
-h2:first-child,
-h3:first-child,
-h4:first-child,
-h5:first-child,
-h6:first-child {
- -webkit-margin-before: var(--gap);
- margin-block-start: var(--gap);
-}
-
-h1:target,
-h2:target,
-h3:target,
-h4:target,
-h5:target,
-h6:target {
- outline: none
-}
-
-h1:target::before, h2:target::before, h3:target::before, h4:target::before, h5:target::before, h6:target::before {
- content: "";
- display: block;
- position: absolute;
- left: -.5em;
- width: 4px;
- height: 100%;
- background: var(--accent);
- }
-
-header {
- font-family: var(--secondary-font);
- -webkit-border-after: 1px solid var(--graphical-fg);
- border-block-end: 1px solid var(--graphical-fg);
-}
-
-footer {
- font-family: var(--secondary-font);
- -webkit-border-before: 1px solid var(--graphical-fg);
- border-block-start: 1px solid var(--graphical-fg);
-}
-
-body > header,
-body > footer,
-main + footer {
- padding: var(--rhythm) calc((100% - var(--eff-line-length)) / 2)
-}
-
-address {
- --density: 0;
-}
-
-/***
- 4.4 Grouping content
- https://html.spec.whatwg.org/multipage/grouping-content.html
- ***/
-
-p {
- margin-block: var(--gap);
-}
-
-hr {
- color: inherit;
- margin-inline: 0;
- margin-block: var(--gap);
-
- flex: 0 1 0px;
- -webkit-border-start: 1px solid var(--accent);
- border-inline-start: 1px solid var(--accent);
- block-size: auto;
- -webkit-border-before: 1px solid var(--accent);
- border-block-start: 1px solid var(--accent);
- -webkit-border-after: none;
- border-block-end: none;
- -webkit-border-end: none;
- border-inline-end: none;
-}
-
-pre {
- font-family: var(--mono-font);
- font-size: .9em;
- line-height: var(--rhythm);
- tab-size: 2;
-
- margin: var(--gap) 0;
-
- overflow-x: auto;
- scrollbar-width: thin;
- scrollbar-color: var(--accent) transparent;
-}
-
-blockquote {
- margin-inline: 0 var(--gap);
- padding-inline: var(--gap) 0;
- margin-block: var(--gap);
-
- font-size: 1.1em;
- line-height: var(--rhythm);
- font-style: italic;
-
- -webkit-border-start: 1px solid var(--graphical-fg);
-
- border-inline-start: 1px solid var(--graphical-fg);
- color: var(--muted-fg)
-}
-
-blockquote em, blockquote cite, blockquote dfn, blockquote var, blockquote i, blockquote address {
- font-style: normal;
- }
-
-blockquote footer {
- text-align: right;
- text-align: end;
- }
-
-ul, ol {
- -webkit-padding-start: var(--rhythm);
- padding-inline-start: var(--rhythm)
-}
-
-ul ul, ul ol, ol ul, ol ol {
- -webkit-padding-start: var(--gap);
- padding-inline-start: var(--gap);
- }
-
-ul[role="list"], ol[role="list"], ul[role="listbox"], ol[role="listbox"] {
- -webkit-padding-start: 0;
- padding-inline-start: 0;
- list-style: none;
- }
-
-ul {
-}
-
-ol {
- list-style: decimal;
-}
-
-dl {
- margin-block: var(--gap);
-}
-
-dt {
- font-weight: bold;
- font-family: var(--secondary-font);
- }
-
-dd {
- -webkit-margin-start: var(--rhythm);
- margin-inline-start: var(--rhythm);
- }
-
-li::marker {
- font-family: var(--secondary-font);
-}
-
-figure {
- max-width: 100%;
- margin-inline: 0;
-
- /* SEE components/box.css */
-}
-
-figcaption {
- margin-block: var(--gap);
-
- font-family: var(--secondary-font);
-
- color: var(--muted-fg);
-}
-
-main {
- max-inline-size: var(--eff-line-length);
- inline-size: 100%;
- margin-inline: auto
-}
-
-main:first-child { padding-top: var(--gap); }
-
-/***
- 4.5 Text-level semantics
- https://html.spec.whatwg.org/multipage/text-level-semantics.html
-
- 4.7 Edits
- https://html.spec.whatwg.org/multipage/edits.html
- ***/
-
-/* Text-level semantics */
-
-a, .\<a\> {
- color: var(--link-fg, var(--accent));
- font-family: var(--secondary-font);
- border-radius: var(--border-radius);
- outline-offset: 1px;
- background: none;
- border: none;
- font-size: 1em;
- -webkit-text-decoration: 1px dashed underline;
- text-decoration: 1px dashed underline
-}
-
-.list-of-links :is(a,.\<a\>) {
- text-decoration: none
-}
-
-:is(a,.\<a\>):hover, :is(a,.\<a\>):focus {
- -webkit-text-decoration: 2px solid underline;
- text-decoration: 2px solid underline;
- cursor: pointer;
- outline: none;
- }
-
-small[role="note"] {
- /***
- Sidenote
- ***/
- display: block;
- float: inline-end;
- clear: inline-end;
-
- --sidenote-width: 20ch;
-
- max-inline-size: var(--sidenote-width);
- padding-inline: 1.5ch 1ch;
-
- -webkit-margin-end: calc(1em - var(--sidenote-width));
-
- margin-inline-end: calc(1em - var(--sidenote-width));
- -webkit-margin-after: var(--rhythm);
- margin-block-end: var(--rhythm);
-
- font-family: var(--secondary-font);
-
- background: var(--bg);
- border: 1px solid transparent;
-
- transition: transform .1s ease-in-out
- }
-
-small[role="note"]:hover, small[role="note"]:focus-within {
- border: 1px solid var(--graphical-fg);
- border-radius: var(--border-radius);
- transform: translateX(calc(
- 0px - var(--sidenote-width)
- + min(var(--gutter-width), var(--sidenote-width))
- ))
- }
-
-small, .\<small\> {
- font-size: .8em;
-}
-
-s {
- color: var(--bad-fg);
-}
-
-q {
- font-style: italic
-}
-
-q em, q cite, q dfn, q var, q i, q address {
- font-style: normal;
- }
-
-time {
- font-variant-numeric: tabular-nums;
-}
-
-code, samp, kbd {
- font-family: var(--mono-font);
- font-style: normal;
-}
-
-samp {
- color: var(--ok-fg);
-}
-
-kbd kbd /*
- We apply the key-like styling to a nested kbd element, a pattern shown in
- WHATWG HTML for marking up keyboard input:
-
- > Here the kbd element is used to indicate keys to press:
- > ~~~ html
- > <p>To make George eat an apple, press <kbd><kbd>Shift</kbd> + <kbd>F3</kbd></kbd></p>
- > ~~~
-
- The plain kbd element can also be used for clicking menus (<kbd>File |
- New...</kbd>) or voice input (<kbd>Hey Siri, </kbd>)
-*/ {
- display: inline-block;
-
- padding: 0 .3em;
- font-size: .8em;
- line-height: 1.1em;
-
- background: var(--interactive-bg);
- border: 1px outset var(--graphical-fg);
- border-block-end-width: 3px;
- border-radius: var(--border-radius);
-}
-
-sub {
- vertical-align: bottom;
- line-height: 1;
-}
-
-sup {
- vertical-align: top;
- line-height: 1;
-}
-
-mark {
- background: var(--warn-bg);
- color: var(--warn-fg);
-}
-
-/* Edits */
-
-ins {
- background: var(--ok-bg);
- color: var(--ok-fg);
-}
-
-del {
- background: var(--bad-bg);
- color: var(--bad-fg);
-}
-
-/***
- 4.8 Embedded content
- https://html.spec.whatwg.org/multipage/embedded-content.html
- ***/
-
-img, video, audio, iframe, object, embed {
- max-inline-size: 100%;
- inline-size: max-content;
- block-size: auto;
-}
-
-/***
- 4.9 Tabular data
- https://html.spec.whatwg.org/multipage/tables.html
- ***/
-
-table {
- font-variant-numeric: tabular-nums;
- font: inherit;
-}
-
-caption {
- text-align: start;
- font-family: var(--secondary-font);
- font-style: italic;
-}
-
-tbody {
- border-block: 1px solid var(--faded-fg);
-}
-
-thead {
-}
-
-tfoot {
-}
-
-tr {
-
-}
-
-td, th {
- vertical-align: top
-}
-
-td:not(:last-child), th:not(:last-child) {
- -webkit-padding-end: var(--rhythm);
- padding-inline-end: var(--rhythm);
- }
-
-td {
- }
-
-th {
- font-family: var(--secondary-font);
- text-align: start;
- }
-
-/***
- 4.10 Forms
- https://html.spec.whatwg.org/multipage/forms.html
- ***/
-
-input { display: block; }
-
-label input:not([specificity-hack]) { display: inline; padding-block: 0; }
-
-button,
-input[type="submit"],
-input[type="reset"],
-input[type="button"],
-input::file-selector-button,
-.\<button\> {
- display: inline-block;
- padding: 0 calc(var(--rhythm) / 4);
- vertical-align: middle;
- box-sizing: border-box;
-
- font-size: .8rem;
- line-height: 1.125em;
- font-family: var(--secondary-font);
- min-height: var(--rhythm);
-
- background: var(--interactive-bg);
- color: var(--fg);
- border: 1px solid var(--muted-fg);
- box-shadow: 0 2px 4px -2px var(--fg);
- border-radius: var(--border-radius);
-
- /* a-specific resets */
- color: var(--fg);
- text-decoration: none;
- display: inline-flex;
- place-items: center
-}
-
-:is(button,input[type="submit"],input[type="reset"],input[type="button"],input::file-selector-button,.\<button\>):hover, :is(button,input[type="submit"],input[type="reset"],input[type="button"],input::file-selector-button,.\<button\>):focus-visible {
- filter: brightness(1.1);
- box-shadow: 0 3px 6px -2px var(--fg);
-
- /* a-specific resets */
- text-decoration: none;
- }
-
-:is(button,input[type="submit"],input[type="reset"],input[type="button"],input::file-selector-button,.\<button\>):active {
- box-shadow: none;
- }
-
-:is(button,input[type="submit"],input[type="reset"],input[type="button"],input::file-selector-button,.\<button\>):where([aria-pressed="true"], [aria-expanded="true"]) {
- box-shadow: 0 2px 4px -1px var(--fg) inset;
- background: var(--pressed-interactive-bg);
- }
-
-[disabled]:is(button,input[type="submit"],input[type="reset"],input[type="button"],input::file-selector-button,.\<button\>) {
- color: var(--muted-fg);
- box-shadow: none;
- }
-
-strong > :is(button,input[type="submit"],input[type="reset"],input[type="button"],input::file-selector-button,.\<button\>) {
- background: var(--accent);
- color: var(--bg);
- border: none;
- font-weight: bold
-}
-
-strong > [disabled]:is(button,input[type="submit"],input[type="reset"],input[type="button"],input::file-selector-button,.\<button\>) {
- color: var(--muted-accent);
- }
-
-.big:is(button,input[type="submit"],input[type="reset"],input[type="button"],input::file-selector-button,.\<button\>) {
- min-block-size: calc(1.5 * var(--rhythm));
- font-size: 1rem;
- padding-inline: calc(.5 * var(--rhythm));
- line-height: var(--rhythm)
-}
-
-input:not([type]),
-input[type="text"],
-input[type="search"],
-input[type="tel"],
-input[type="url"],
-input[type="email"],
-input[type="password"],
-input[type="date"],
-input[type="month"],
-input[type="week"],
-input[type="time"],
-input[type="datetime"],
-input[type="datetime-local"],
-input[type="number"],
-select,
-textarea {
- padding: calc(var(--rhythm) / 4);
- vertical-align: top;
-
- font-size: 1rem;
- line-height: inherit;
- font-family: var(--main-font);
-
- background: var(--bg);
- color: var(--fg);
- border: 1px solid var(--graphical-fg);
- border-radius: var(--border-radius);
-
- vertical-align: top
-}
-
-:is(input:not([type]),input[type="text"],input[type="search"],input[type="tel"],input[type="url"],input[type="email"],input[type="password"],input[type="date"],input[type="month"],input[type="week"],input[type="time"],input[type="datetime"],input[type="datetime-local"],input[type="number"],select,textarea):focus-visible {
- border: 1px solid var(--accent);
- }
-
-:is(input:not([type]),input[type="text"],input[type="search"],input[type="tel"],input[type="url"],input[type="email"],input[type="password"],input[type="date"],input[type="month"],input[type="week"],input[type="time"],input[type="datetime"],input[type="datetime-local"],input[type="number"],select,textarea)::placeholder {
- color: var(--muted-fg);
- opacity: 1;
- text-align: end;
- }
-
-input[type="range"] {
- width: 100%;
- padding: calc(var(--gap) / 4);
-}
-
-input[type="color"] {
- padding: 0;
- margin: 0;
- height: calc(1.5 * var(--rhythm));
-
- border: none;
- background: none;
-}
-
-input[type="file"] {
- padding: calc(var(--gap) / 4) 0;
- font: inherit;
- line-height: calc(var(--rhythm) / 2)
-}
-
-input[type="file"]::file-selector-button {
- margin-block: .1em 0;
- -webkit-margin-end: 1ch;
- margin-inline-end: 1ch;
- }
-
-select[multiple] {
- vertical-align: top;
-}
-
-optgroup::before {
- color: var(--muted-fg);
- font-style: normal;
-}
-
-progress {
- /* TODO */
-}
-
-meter {
- /* TODO */
-}
-
-label[for] {
- display: block;
- padding-block: calc(var(--gap) / 4);
-}
-
-fieldset {
- position: relative;
-
- padding: var(--gap);
- margin: var(--gap) 0;
- width: 100%;
- border-radius: var(--border-radius);
-}
-
-fieldset > legend + * { -webkit-margin-before: 0; margin-block-start: 0 }
-
-fieldset {
-
- border: 1px solid var(--graphical-fg);
-}
-
-/***
- 4.11 Interactive elements
- https://html.spec.whatwg.org/multipage/interactive-elements.html#interactive-elements
- ***/
-
-details:not(specificity-hack) {
- /* SEE components/box.css */
-
- -webkit-padding-before: 0;
-
- padding-block-start: 0
-}
-
-details:not(specificity-hack):not([open]) { -webkit-padding-after: 0; padding-block-end: 0; }
-
-summary {
- margin: calc(0px - var(--gap));
- margin-top: calc(0px - var(--gap));
- margin-bottom: 0;
- padding-inline: var(--gap);
-
- font-family: var(--secondary-font);
- font-weight: bold;
-
- cursor: pointer
-}
-
-summary:focus-visible, summary:active {
- filter: brightness(.8);
- outline: none;
- }
-
-dialog {
- /* SEE components/box.css */
-
- inline-inset: 0;
-
- block-size: -moz-fit-content;
-
- block-size: fit-content;
- inline-size: -moz-fit-content;
- inline-size: fit-content;
-
- margin: auto !important;
-
- background-color: var(--bg);
- color: var(--fg);
- border-color: var(--accent);
-}
-
-dialog[open]::backdrop {
- display: block;
- background: black;
- opacity: .4;
- animation: bg 2s;
-}
-
-@keyframes bg {
- from { background: transparent; }
-}
-
-dialog:not([open]) {
- display: none;
-}
-
-.box,
-/* defined elsewhere */
-[role=menu],
-.sidebar-layout > header,
-[role=tabpanel],
-figure,
-details,
-dialog,
-aside {
- margin: var(--gap) 0;
- padding: var(--gap);
- overflow: clip;
-
- border-radius: var(--border-radius);
- background: var(--box-bg);
- border: 1px solid var(--graphical-fg);
-}
-
-.titlebar {
- margin-inline: calc(0px - var(--gap));
- -webkit-margin-after: calc(0px - var(--gap));
- margin-block-end: calc(0px - var(--gap));
- padding-inline: var(--gap);
-
- font: inherit;
- font-family: var(--secondary-font);
- font-weight: bold;
-
- translate: 0 calc(-1px - var(--gap));
-
- background: var(--graphical-fg);
- color: var(--bg);
-}
-
-.sub-title, sub-title {
- /***
- Meant for use in headings. Make sure to also use visually-hidden punctuation
- to mark the subtitle as shown below:
-
- 1 | <h1>
- 2 | Foo Bar<v-h>:</v-h>
- 3 | <sub-title>How I Learned To Stop Worrying and Love Baz</sub-title>
- 4 | </h1>
-
- 1 | <h1>
- 2 | <sub-title class="-allcaps">Breaking News</sub-title><v-h>:</v-h>
- 3 | Bad Thing Happens
- 4 | <h1>
- ***/
-
- display: block;
-
- font-weight: normal;
-
- color: var(--muted-fg);
-}
-
-.tool-bar, [role=toolbar] {
- display: flex;
- flex-flow: row wrap;
- gap: calc(var(--gap) / 2)
-}
-
-.tool-bar > *, [role=toolbar] > * { margin: 0; }
-
-.sidebar-layout header li {
- margin-block: calc(.5 * var(--gap));
- }
-
-.sidebar-layout header a {
- font-weight: bold;
- }
-
-@media (min-width: 75ch) {
-
-.sidebar-layout {
- display: grid;
- grid-template-columns: 25ch auto;
- inset: 0
-}
-
- .sidebar-layout > header {
- border-block: none;
- -webkit-border-start: none;
- border-inline-start: none;
- margin: 0;
- }
-
- .sidebar-layout > :nth-child(2) {
- overflow: auto;
- --full-width: calc(100vw - 25ch);
- margin-top: var(--gap);
- }
- }
-
-.breadcrumbs[aria-label] {
- font-family: var(--secondary-font)
-}
-
-.breadcrumbs[aria-label] ul, .breadcrumbs[aria-label] ol {
- list-style: none;
- -webkit-padding-start: 0;
- padding-inline-start: 0;
- }
-
-.breadcrumbs[aria-label] li {
- display: inline
- }
-
-:is(.breadcrumbs[aria-label] li)+li::before {
- content: ' / ' / '';
- content: ' / ';
- display: inline;
- }
-
-.breadcrumbs[aria-label] [aria-current="page"] {
- font-weight: bold;
- }
-
-.chip, chip {
- font-family: var(--secondary-font);
- border: 1px solid var(--accent);
- background: var(--box-bg);
- border-radius: calc(var(--rhythm) / 2);
- padding-inline: calc(var(--rhythm) / 2);
-}
-
-.navbar {
- padding: var(--rhythm);
-
- font-family: var(--secondary-font);
-
- background: var(--box-bg);
- -webkit-border-after: 1px solid var(--accent);
- border-block-end: 1px solid var(--accent);
-
- overflow-x: auto;
- scrollbar-width: thin;
-
- position: sticky;
- z-index: 5;
- top: 0;
- left: 0;
- right: 0;
-
- /* Inner layout */
- display: flex;
- flex-flow: row;
- align-items: center;
- gap: var(--gap)
-}
-
-.navbar.expanded {
- flex-flow: column;
- align-items: start;
-
- max-height: 90vh;
- overflow-y: auto
- }
-
-.navbar.expanded ul[role="list"] { flex-flow: column; }
-
-.navbar * {
- flex-shrink: 0;
- margin-block: 0;
- }
-
-.navbar:not(.expanded) > :first-child, .navbar:not(.expanded) nav > :first-child { -webkit-margin-start: auto; margin-inline-start: auto; }
-
-.navbar:not(.expanded) > :last-child, .navbar:not(.expanded) nav > :last-child { -webkit-margin-end: auto; margin-inline-end: auto; }
-
-.navbar hr { align-self: stretch; }
-
-.navbar nav ul[role="list"] {
- display: flex;
- flex-flow: row;
- gap: var(--rhythm)
- }
-
-.navbar nav ul[role="list"] * { flex-shrink: 0 }
-
-.navbar nav ul[role="list"] {
- -webkit-padding-start: 0;
- padding-inline-start: 0;
- }
-
-.navbar a {
- font-weight: bold;
- text-decoration: none;
- padding-inline: .2em;
- }
-
-.navbar a:hover, .navbar a:focus {
- text-decoration: underline;
- }
-
-.navbar [aria-current=page] {
- position: relative;
- }
-
-.navbar [aria-current=page]::after {
- width: 100%;
- height: 6px;
- content: "";
- display: block;
- position: absolute;
- bottom: calc(-1 * var(--gap));
- background: currentcolor;
- }
-
-.navbar.expanded [aria-current=page]::after {
- width: 6px;
- height: 100%;
- position: absolute;
- left: calc(-1 * var(--gap));
- top: 0;
- }
-
-.permalink-anchor {
- display: none
-}
-
-*:hover > .permalink-anchor {
- display: initial
-}
-
-button.iconbutton {
- border: none;
- background: none;
- color: currentcolor;
- padding: 0;
- line-height: var(--rhythm);
- font-size: 24px;
- width: 24px;
- height: 24px;
- display: inline-block;
- text-align: center;
- border-radius: 50%;
- transition: font-weight .2s ease-in-out
-}
-
-button.iconbutton:hover, button.iconbutton:focus-visible {
- outline: 1px solid var(--accent);
- outline-offset: 6px;
- }
-
-button.iconbutton:active {
- outline-offset: 3px;
- background: none;
- }
-
-button.iconbutton[aria-pressed=true] {
- box-shadow: none;
- transform: none;
- }
-
-[role="tablist"] {
- display: flex;
- gap: .5ch;
- scrollbar-width: thin;
-}
-
-[role="tab"][role="tab"] {
- all: initial;
-
- font-family: var(--secondary-font);
-
- padding: 0 calc(var(--rhythm) / 4);
- margin: 0;
- min-height: var(--rhythm);
- bottom: -1px;
- position: relative;
-
- color: var(--fg);
- border: solid var(--graphical-fg);
- border-width: 1px;
- background: var(--interactive-bg);
-
- border-start-start-radius: .4em;
- border-start-end-radius: .4em
-}
-
-[role="tab"][role="tab"]:active, [role="tab"][role="tab"][aria-selected="true"] {
- background: var(--box-bg);
- -webkit-border-after: 1px solid transparent;
- border-block-end: 1px solid transparent;
- }
-
-[role="tab"][role="tab"]:hover {
- background-color: var(--box-bg);
- box-shadow: none;
- }
-
-[role="tab"][role="tab"]:focus-visible {
- box-shadow: none;
- color: var(--accent);
- text-decoration: underline;
- }
-
-[role="tabpanel"] {
- /* SEE components/box.css */
-
- -webkit-margin-before: 0;
-
- margin-block-start: 0;
- border-start-start-radius: 0;
- border-start-end-radius: 0;
- z-index: 1;
-}
-
-[role="menu"] {
- /* SEE components/box.css */
- position: absolute;
-
- z-index: 10;
-
- padding: calc(var(--gap) / 2) 0;
- margin: 1px 0 0 0;
-
- display: flex;
- flex-flow: column nowrap;
-}
-
-[role=menuitem] {
- padding: 0 calc(var(--gap) / 2);
-
- display: block;
-
- text-decoration: none;
- border-radius: 0;
-
- color: var(--fg)
-}
-
-[role=menuitem]:focus, [role=menuitem]:active {
- background: var(--accent);
- color: var(--bg);
- }
-
-[role=listbox] {
- list-style: none
-}
-
-[role=listbox] [role=option] {
- margin-inline: calc(-1 * var(--gap));
- padding-inline: var(--gap);
- }
-
-[role=listbox] [role=option][aria-selected=true] {
- background: var(--interactive-bg);
- }
-
-[role=listbox] .active[role=option] {
- --temporary-bg: var(--accent);
- --temporary-fg: var(--bg);
- --temporary-accent: parent-var(--muted-accent);
- --temporary-muted-accent: parent-var(--box-bg);
-
- background: var(--temporary-bg);
- color: var(--temporary-fg)
- }
-
-[role=listbox] .active[role=option] > * {
- --bg: var(--temporary-bg);
- --fg: var(--temporary-fg);
- --accent: var(--temporary-accent);
- --muted-accent: var(--temporary-muted-accent);
- }
-
-[aria-orientation="vertical"] {
- flex-direction: column;
- width: -moz-fit-content;
- width: fit-content;
- text-align: center;
-}
-
-.plain {
- --box-bg: var(--plain-bg);
- --accent: var(--plain-fg);
- --graphical-fg: var(--plain-graphical-fg);
-}
-
-.info {
- --box-bg: var(--info-bg);
- --accent: var(--info-fg);
- --graphical-fg: var(--info-graphical-fg);
-}
-
-.ok {
- --box-bg: var(--ok-bg);
- --accent: var(--ok-fg);
- --graphical-fg: var(--ok-graphical-fg);
-}
-
-.warn {
- --box-bg: var(--warn-bg);
- --accent: var(--warn-fg);
- --graphical-fg: var(--warn-graphical-fg);
-}
-
-.bad {
- --box-bg: var(--bad-bg);
- --accent: var(--bad-fg);
- --graphical-fg: var(--bad-graphical-fg);
-}
-
-.color {
- color: var(--accent);
-}
-
-.bg {
- background: var(--box-bg);
-}
-
-.border {
- border-style: solid;
- border-color: var(--graphical-fg);
-}
-
-:root {
- /* Colors */
- --fg: var(--gray-12); /* Text. */
- --muted-fg: var(--gray-10); /* Secondary text color. Will be
- used with a background of --c-bg and --c-bg-2 -- check contrast! */
- --faded-fg: var(--gray-6); /* Disabled text color. */
- --graphical-fg: var(--plain-graphical-fg); /* Graphical elements. Will not
- be used as a text color. */
-
- --plain-fg: var(--blue-10);
- --info-fg: var(--blue-11);
- --ok-fg: var(--green-11);
- --bad-fg: var(--red-11);
- --warn-fg: var(--yellow-11);
-
- --plain-graphical-fg: var(--gray-6);
- --info-graphical-fg: var(--blue-6);
- --ok-graphical-fg: var(--green-6);
- --bad-graphical-fg: var(--red-6);
- --warn-graphical-fg: var(--yellow-6);
-
- --bg: var(--gray-0); /* Page background. */
- --box-bg: var(--plain-bg); /* Background for blocks: cards, admonitions etc. */
- --interactive-bg: var(--gray-4); /* Background for interactive elements */
-
- --plain-bg: var(--gray-1);
- --info-bg: var(--blue-1);
- --ok-bg: var(--green-1);
- --bad-bg: var(--red-1);
- --warn-bg: var(--yellow-1);
-
- --accent: var(--blue-10); /* Accent color. Will be used *as a text color* with a
- background of --c-bg and --c-bg-2 -- check contrast! */
- --muted-accent: var(--blue-7); /* Muted accent color. Will not be used for text. */
-
- /* Lengths */
- --rhythm: 1.4rem; /* Vertical rhythm, line height. */
- --line-length: 40rem; /* Maximum line length for prose. */
- --border-radius: .2rem;
-
- /* Fonts */
- --main-font: 'Source Sans 3', 'Source Sans Pro', -apple-system, system-ui, sans-serif;
- --secondary-font: var(--main-font); /* Headings etc. */
- --mono-font: 'M Plus Code Latin', monospace, monospace; /* monospace twice stops browsers from
- shrinking this */
-
- /* Density */
- --density: 1;
-
- /* Width */
- --full-width: 100vw;
-
- /* Do not set these. */
- --eff-line-length: /* Effective line length for prose. */
- min(
- calc( var(--full-width) - (2 * var(--rhythm)) ),
- var(--line-length)
- );
-
- --gutter-width: /* Width of spaces at each side of page content. */
- calc(
- (
- var(--full-width) /* Viewport width */
- - var(--eff-line-length) /* minus line width */
- ) / 2); /* Divide by 2: there are two page margins */
-}
-
-@media (prefers-color-scheme: dark) {
- :root:not(.-no-dark-theme) {
- --fg: var(--gray-0);
- --muted-fg: var(--gray-2);
- --faded-fg: var(--gray-7);
-
- --plain-bg: var(--gray-11);
- --info-bg: var(--blue-12);
- --ok-bg: var(--green-12);
- --bad-bg: var(--red-12);
- --warn-bg: var(--yellow-12);
-
- --plain-faded-fg: var(--blue-6);
- --info-faded-fg: var(--blue-6);
- --ok-faded-fg: var(--green-6);
- --bad-faded-fg: var(--red-6);
- --warn-faded-fg: var(--yellow-6);
-
- --bg: var(--gray-12);
- --box-bg: var(--gray-10);
- --interactive-bg: var(--gray-8);
-
- --plain-fg: (--blue-3);
- --info-fg: var(--blue-3);
- --ok-fg: var(--green-3);
- --bad-fg: var(--red-3);
- --warn-fg: var(--yellow-3);
-
- --accent: var(--blue-3);
- --muted-accent: var(--blue-5);
- }
-}
-
-* {
- --gap: calc(var(--rhythm) * var(--density));
- accent-color: var(--accent);
-}
-
-.textcolumns {
- --col-width: 30ch;
- column-width: var(--col-width);
- column-gap: var(--gap);
- margin-block: var(--gap)
-}
-
-.textcolumns :first-child { -webkit-margin-before: 0 !important; margin-block-start: 0 !important }
-
-.text-align\:center {
- text-align: center;
-}
-
-.center {
- display: grid;
- place-items: center;
-}
-
-/**/
-
-.container {
- max-inline-size: var(--eff-line-length);
- margin-inline: auto;
-}
-
-.fullbleed {
- position: relative;
- width: var(--full-width);
- left: 50%;
- transform: translateX(calc(-.5 * var(--full-width)));
-
- border-radius: 0;
- border-inline: none;
-}
-
-.fullscreen {
- height: 100vh;
-
- position: relative;
- width: 100vw;
- left: 50%;
- transform: translateX(-50vw);
-
- border-radius: 0;
- border-inline: none;
-}
-
-.width\:100\% { width:100%; max-width: 100% }
-
-.height\:100\% { height:100%; max-height: 100% }
-
-/**/
-
-/* margin-trim had better be implemented soon */
-
-:is(
- body,
- .box,
- [role=menu],
- .sidebar-layout > header,
- [role=tabpanel],
- figure,
- details,
- dialog,
- aside,
- fieldset,
- dd,
- td,
- th
-)>:first-child:first-child:first-child:first-child,
- :is(
- body,
- .box,
- [role=menu],
- .sidebar-layout > header,
- [role=tabpanel],
- figure,
- details,
- dialog,
- aside,
- fieldset,
- dd,
- td,
- th
-)>:first-child>:first-child:first-child:first-child,
- :is(
- body,
- .box,
- [role=menu],
- .sidebar-layout > header,
- [role=tabpanel],
- figure,
- details,
- dialog,
- aside,
- fieldset,
- dd,
- td,
- th
-)>:first-child>:first-child>:first-child:first-child,
- :is(
- body,
- .box,
- [role=menu],
- .sidebar-layout > header,
- [role=tabpanel],
- figure,
- details,
- dialog,
- aside,
- fieldset,
- dd,
- td,
- th
-)>:first-child>:first-child>:first-child>:first-child { -webkit-margin-before: 0; margin-block-start: 0; }
-
-:is(
- body,
- .box,
- [role=menu],
- .sidebar-layout > header,
- [role=tabpanel],
- figure,
- details,
- dialog,
- aside,
- fieldset,
- dd,
- td,
- th
-)>:last-child:last-child:last-child:last-child,
- :is(
- body,
- .box,
- [role=menu],
- .sidebar-layout > header,
- [role=tabpanel],
- figure,
- details,
- dialog,
- aside,
- fieldset,
- dd,
- td,
- th
-)>:last-child>:last-child:last-child:last-child,
- :is(
- body,
- .box,
- [role=menu],
- .sidebar-layout > header,
- [role=tabpanel],
- figure,
- details,
- dialog,
- aside,
- fieldset,
- dd,
- td,
- th
-)>:last-child>:last-child>:last-child:last-child,
- :is(
- body,
- .box,
- [role=menu],
- .sidebar-layout > header,
- [role=tabpanel],
- figure,
- details,
- dialog,
- aside,
- fieldset,
- dd,
- td,
- th
-)>:last-child>:last-child>:last-child>:last-child { -webkit-margin-after: 0; margin-block-end: 0; }
-
-/**/
-
-.padding { padding-inline: var(--gap) }
-
-.padding-block { padding-block: var(--gap) }
-
-.padding-block-start { -webkit-padding-before: var(--gap); padding-block-start: var(--gap) }
-
-.padding-block-end { -webkit-padding-after: var(--gap); padding-block-end: var(--gap) }
-
-.padding-inline { padding-inline: var(--gap) }
-
-.padding-inline-start { -webkit-padding-start: var(--gap); padding-inline-start: var(--gap) }
-
-.padding-inline-end { -webkit-padding-start: var(--gap); padding-inline-start: var(--gap) }
-
-.margin { margin: var(--gap) }
-
-.margin-block { margin-block: var(--gap) }
-
-.margin-block-start { -webkit-margin-before: var(--gap); margin-block-start: var(--gap) }
-
-.margin-block-end { -webkit-margin-after: var(--gap); margin-block-end: var(--gap) }
-
-.margin-inline { margin-inline: var(--gap) }
-
-.margin-inline-start { -webkit-margin-start: var(--gap); margin-inline-start: var(--gap) }
-
-.margin-inline-end { -webkit-margin-end: var(--gap); margin-inline-end: var(--gap) }
-
-.flow-gap > :not(:last-child) {
- margin-bottom: 1em;
- }
-
-/**/
-
-.inline { display: inline }
-
-.block { display: block }
-
-.contents { display: contents }
-
-.table {
- display: table;
- width: 100%;
- margin: 0;
-}
-
-.row, .rows > * {
- display: table-row
-}
-
-.row:not(:last-child):not([specificity-hack]) > *, .rows > *:not(:last-child):not([specificity-hack]) > * {
- margin-bottom: var(--gap);
- }
-
-.row > *:not([specificity-hack]), .rows > * > *:not([specificity-hack]) {
- display: table-cell;
- vertical-align: top;
- }
-
-.row > * + *:not([specificity-hack]), :is(.rows > *) > * + *:not([specificity-hack]) {
- -webkit-margin-start: var(--gap);
- margin-inline-start: var(--gap);
- display: inline-block;
- }
-
-/**/
-
-.big {
- font-size: 1.4em;
- line-height: calc(1.5 * var(--rhythm));
-}
-
-/**/
-
-.fixed { position: fixed }
-
-.sticky { position: sticky }
-
-.top { top: 0 }
-
-.right { right: 0 }
-
-.bottom { bottom: 0 }
-
-.left { left: 0 }
-
-.float\:left { float: left }
-
-.float\:right { float: right }
-
-.overflow\:auto { overflow: auto }
-
-.overflow\:scroll { overflow: scroll }
-
-.airy { --density: 3; }
-
-.spacious { --density: 2; }
-
-.dense { --density: 1; }
-
-.crowded { --density: .5; }
-
-.packed { --density: 0; }
-
-.autodensity {
- --density: 1
-}
-
-@media (min-width: 768px) {
-
-.autodensity { --density: 2
-}}
-
-@media (min-width: 1024px) {
-
-.autodensity { --density: 3
-}}
-
-.vh, v-h {
- clip: rect(0 0 0 0);
- -webkit-clip-path: inset(50%);
- clip-path: inset(50%);
- block-size: 1px;
- inline-size: 1px;
- overflow: hidden;
- white-space: nowrap;
-}
-
-.all\:initial {
- all: initial;
-}
-
-.bold { font-weight: bold }
-
-.italic {
- font-style: italic
-}
-
-.italic em, .italic cite, .italic dfn, .italic var, .italic i, .italic address {
- font-style: normal;
- }
-
-.allcaps {
- text-transform: uppercase;
- letter-spacing: .1rem;
-}
-
-.primary-font { font-family: var(--primary-font) }
-
-.secondary-font { font-family: var(--secondary-font) }
-
-.display-font { font-family: var(--display-font) }
-
-.mono-font, .monospace { font-family: var(--mono-font) }
-
-.massivetext {
- font-size: calc(.13 * var(--eff-line-length));
- line-height: 1em;
- letter-spacing: 0;
-}
-
-.aestheticbreak {
- display: block;
- margin: 0;
- padding: 0;
- height: calc(.5 * var(--gap));
-}
-
-.f-row {
- display: flex;
- flex-direction: row;
- gap: var(--gap)
-}
-
-.f-row > * { margin: 0 }
-
-.f-col {
- display: flex;
- flex-direction: column;
- gap: var(--gap)
-}
-
-.f-col > * { margin: 0 }
-
-.f-switch {
- display: flex;
- flex-wrap: wrap;
- gap: var(--gap);
- --f-switch-threshold: 55ch
-}
-
-.f-switch > * {
- margin: 0;
-
- flex-grow: 1;
- flex-basis: calc((var(--f-switch-threshold) - 100%) * 999);
- }
-
-.justify-content\:start { justify-content: start }
-
-.justify-content\:end { justify-content: end }
-
-.justify-content\:baseline { justify-content: baseline }
-
-.justify-content\:center { justify-content: center }
-
-.justify-content\:stretch { justify-content: stretch }
-
-.justify-content\:space-between { justify-content: space-between }
-
-.justify-content\:space-around { justify-content: space-around }
-
-.justify-content\:space-evenly { justify-content: space-evenly }
-
-.align-items\:start { align-items: start }
-
-.align-items\:end { align-items: end }
-
-.align-items\:baseline { align-items: baseline }
-
-.align-items\:center { align-items: center }
-
-.align-items\:stretch { align-items: stretch }
-
-.align-self\:start { align-self: start }
-
-.align-self\:end { align-self: end }
-
-.align-self\:baseline { align-self: baseline }
-
-.align-self\:center { align-self: center }
-
-.align-self\:stretch { align-self: stretch }
-
-.flex-grow\:0 { flex-grow: 0 }
-
-.flex-grow\:1 { flex-grow: 1 }
-
-.flex-grow\:2 { flex-grow: 2 }
-
-.flex-grow\:3 { flex-grow: 3 }
-
-.flex-grow\:4 { flex-grow: 4 }
-
-.flex-grow\:5 { flex-grow: 5 }
-
-.flex-grow\:6 { flex-grow: 6 }
-
-.flex-grow\:7 { flex-grow: 7 }
-
-.flex-grow\:8 { flex-grow: 8 }
-
-.flex-grow\:9 { flex-grow: 9 }
-
-.flex-grow\:10 { flex-grow: 10 }
-
-.flex-grow\:11 { flex-grow: 11 }
-
-.flex-grow\:12 { flex-grow: 12 }
-
-.flex-wrap\:wrap { flex-wrap: wrap }
-
-.flex-wrap\:nowrap { flex-wrap: nowrap }
-
-.grid {
- display: grid;
- grid-auto-columns: var(--grid-col-width, 1fr);
- grid-auto-rows: var(--grid-row-width, auto);
- gap: var(--gap)
-}
-
-.grid > * { margin: 0 }
-
-.grid-even-rows { --grid-row-width: 1fr; }
-
-.grid-variable-cols { --grid-column-width: auto; }
-
-[data-cols^="1 " ] { grid-column-start: 1 }
-
-[data-cols$=" 1" ] { grid-column-end: 2 }
-
-[data-cols="1" ] { grid-column: 1 }
-
-[data-cols^="2 " ] { grid-column-start: 2 }
-
-[data-cols$=" 2" ] { grid-column-end: 3 }
-
-[data-cols="2" ] { grid-column: 2 }
-
-[data-cols^="3 " ] { grid-column-start: 3 }
-
-[data-cols$=" 3" ] { grid-column-end: 4 }
-
-[data-cols="3" ] { grid-column: 3 }
-
-[data-cols^="4 " ] { grid-column-start: 4 }
-
-[data-cols$=" 4" ] { grid-column-end: 5 }
-
-[data-cols="4" ] { grid-column: 4 }
-
-[data-cols^="5 " ] { grid-column-start: 5 }
-
-[data-cols$=" 5" ] { grid-column-end: 6 }
-
-[data-cols="5" ] { grid-column: 5 }
-
-[data-cols^="6 " ] { grid-column-start: 6 }
-
-[data-cols$=" 6" ] { grid-column-end: 7 }
-
-[data-cols="6" ] { grid-column: 6 }
-
-[data-cols^="7 " ] { grid-column-start: 7 }
-
-[data-cols$=" 7" ] { grid-column-end: 8 }
-
-[data-cols="7" ] { grid-column: 7 }
-
-[data-cols^="8 " ] { grid-column-start: 8 }
-
-[data-cols$=" 8" ] { grid-column-end: 9 }
-
-[data-cols="8" ] { grid-column: 8 }
-
-[data-cols^="9 " ] { grid-column-start: 9 }
-
-[data-cols$=" 9" ] { grid-column-end: 10 }
-
-[data-cols="9" ] { grid-column: 9 }
-
-[data-cols^="10 "] { grid-column-start: 10 }
-
-[data-cols$=" 10"] { grid-column-end: 11 }
-
-[data-cols="10"] { grid-column: 10 }
-
-[data-cols^="11 "] { grid-column-start: 11 }
-
-[data-cols$=" 11"] { grid-column-end: 12 }
-
-[data-cols="11"] { grid-column: 11 }
-
-[data-cols^="12 "] { grid-column-start: 12 }
-
-[data-cols$=" 12"] { grid-column-end: 13 }
-
-[data-cols="12"] { grid-column: 12 }
-
-[data-rows^="1 " ] { grid-row-start: 1 }
-
-[data-rows$=" 1" ] { grid-row-end: 2 }
-
-[data-rows="1" ] { grid-row: 1 }
-
-[data-rows^="2 " ] { grid-row-start: 2 }
-
-[data-rows$=" 2" ] { grid-row-end: 3 }
-
-[data-rows="2" ] { grid-row: 2 }
-
-[data-rows^="3 " ] { grid-row-start: 3 }
-
-[data-rows$=" 3" ] { grid-row-end: 4 }
-
-[data-rows="3" ] { grid-row: 3 }
-
-[data-rows^="4 " ] { grid-row-start: 4 }
-
-[data-rows$=" 4" ] { grid-row-end: 5 }
-
-[data-rows="4" ] { grid-row: 4 }
-
-[data-rows^="5 " ] { grid-row-start: 5 }
-
-[data-rows$=" 5" ] { grid-row-end: 6 }
-
-[data-rows="5" ] { grid-row: 5 }
-
-[data-rows^="6 " ] { grid-row-start: 6 }
-
-[data-rows$=" 6" ] { grid-row-end: 7 }
-
-[data-rows="6" ] { grid-row: 6 }
-
-[data-rows^="7 " ] { grid-row-start: 7 }
-
-[data-rows$=" 7" ] { grid-row-end: 8 }
-
-[data-rows="7" ] { grid-row: 7 }
-
-[data-rows^="8 " ] { grid-row-start: 8 }
-
-[data-rows$=" 8" ] { grid-row-end: 9 }
-
-[data-rows="8" ] { grid-row: 8 }
-
-[data-rows^="9 " ] { grid-row-start: 9 }
-
-[data-rows$=" 9" ] { grid-row-end: 10 }
-
-[data-rows="9" ] { grid-row: 9 }
-
-[data-rows^="10 "] { grid-row-start: 10 }
-
-[data-rows$=" 10"] { grid-row-end: 11 }
-
-[data-rows="10"] { grid-row: 10 }
-
-[data-rows^="11 "] { grid-row-start: 11 }
-
-[data-rows$=" 11"] { grid-row-end: 12 }
-
-[data-rows="11"] { grid-row: 11 }
-
-[data-rows^="12 "] { grid-row-start: 12 }
-
-[data-rows$=" 12"] { grid-row-end: 13 }
-
-[data-rows="12"] { grid-row: 12 }
-
-@media (max-width: 768px) {
- [data-cols\@s^="1 " ] { grid-column-start: 1 } [data-cols\@s$=" 1" ] { grid-column-end: 2 } [data-cols\@s="1" ] { grid-column: 1 }
- [data-cols\@s^="2 " ] { grid-column-start: 2 } [data-cols\@s$=" 2" ] { grid-column-end: 3 } [data-cols\@s="2" ] { grid-column: 2 }
- [data-cols\@s^="3 " ] { grid-column-start: 3 } [data-cols\@s$=" 3" ] { grid-column-end: 4 } [data-cols\@s="3" ] { grid-column: 3 }
- [data-cols\@s^="4 " ] { grid-column-start: 4 } [data-cols\@s$=" 4" ] { grid-column-end: 5 } [data-cols\@s="4" ] { grid-column: 4 }
- [data-cols\@s^="5 " ] { grid-column-start: 5 } [data-cols\@s$=" 5" ] { grid-column-end: 6 } [data-cols\@s="5" ] { grid-column: 5 }
- [data-cols\@s^="6 " ] { grid-column-start: 6 } [data-cols\@s$=" 6" ] { grid-column-end: 7 } [data-cols\@s="6" ] { grid-column: 6 }
- [data-cols\@s^="7 " ] { grid-column-start: 7 } [data-cols\@s$=" 7" ] { grid-column-end: 8 } [data-cols\@s="7" ] { grid-column: 7 }
- [data-cols\@s^="8 " ] { grid-column-start: 8 } [data-cols\@s$=" 8" ] { grid-column-end: 9 } [data-cols\@s="8" ] { grid-column: 8 }
- [data-cols\@s^="9 " ] { grid-column-start: 9 } [data-cols\@s$=" 9" ] { grid-column-end: 10 } [data-cols\@s="9" ] { grid-column: 9 }
- [data-cols\@s^="10 "] { grid-column-start: 10 } [data-cols\@s$=" 10"] { grid-column-end: 11 } [data-cols\@s="10"] { grid-column: 10 }
- [data-cols\@s^="11 "] { grid-column-start: 11 } [data-cols\@s$=" 11"] { grid-column-end: 12 } [data-cols\@s="11"] { grid-column: 11 }
- [data-cols\@s^="12 "] { grid-column-start: 12 } [data-cols\@s$=" 12"] { grid-column-end: 13 } [data-cols\@s="12"] { grid-column: 12 }
-
- [data-rows\@s^="1 " ] { grid-row-start: 1 } [data-rows\@s$=" 1" ] { grid-row-end: 2 } [data-rows\@s="1" ] { grid-row: 1 }
- [data-rows\@s^="2 " ] { grid-row-start: 2 } [data-rows\@s$=" 2" ] { grid-row-end: 3 } [data-rows\@s="2" ] { grid-row: 2 }
- [data-rows\@s^="3 " ] { grid-row-start: 3 } [data-rows\@s$=" 3" ] { grid-row-end: 4 } [data-rows\@s="3" ] { grid-row: 3 }
- [data-rows\@s^="4 " ] { grid-row-start: 4 } [data-rows\@s$=" 4" ] { grid-row-end: 5 } [data-rows\@s="4" ] { grid-row: 4 }
- [data-rows\@s^="5 " ] { grid-row-start: 5 } [data-rows\@s$=" 5" ] { grid-row-end: 6 } [data-rows\@s="5" ] { grid-row: 5 }
- [data-rows\@s^="6 " ] { grid-row-start: 6 } [data-rows\@s$=" 6" ] { grid-row-end: 7 } [data-rows\@s="6" ] { grid-row: 6 }
- [data-rows\@s^="7 " ] { grid-row-start: 7 } [data-rows\@s$=" 7" ] { grid-row-end: 8 } [data-rows\@s="7" ] { grid-row: 7 }
- [data-rows\@s^="8 " ] { grid-row-start: 8 } [data-rows\@s$=" 8" ] { grid-row-end: 9 } [data-rows\@s="8" ] { grid-row: 8 }
- [data-rows\@s^="9 " ] { grid-row-start: 9 } [data-rows\@s$=" 9" ] { grid-row-end: 10 } [data-rows\@s="9" ] { grid-row: 9 }
- [data-rows\@s^="10 "] { grid-row-start: 10 } [data-rows\@s$=" 10"] { grid-row-end: 11 } [data-rows\@s="10"] { grid-row: 10 }
- [data-rows\@s^="11 "] { grid-row-start: 11 } [data-rows\@s$=" 11"] { grid-row-end: 12 } [data-rows\@s="11"] { grid-row: 11 }
- [data-rows\@s^="12 "] { grid-row-start: 12 } [data-rows\@s$=" 12"] { grid-row-end: 13 } [data-rows\@s="12"] { grid-row: 12 }
-}
-
-@media (min-width: 1024px) {
- [data-cols\@l^="1 " ] { grid-column-start: 1 } [data-cols\@l$=" 1" ] { grid-column-end: 2 } [data-cols\@l="1" ] { grid-column: 1 }
- [data-cols\@l^="2 " ] { grid-column-start: 2 } [data-cols\@l$=" 2" ] { grid-column-end: 3 } [data-cols\@l="2" ] { grid-column: 2 }
- [data-cols\@l^="3 " ] { grid-column-start: 3 } [data-cols\@l$=" 3" ] { grid-column-end: 4 } [data-cols\@l="3" ] { grid-column: 3 }
- [data-cols\@l^="4 " ] { grid-column-start: 4 } [data-cols\@l$=" 4" ] { grid-column-end: 5 } [data-cols\@l="4" ] { grid-column: 4 }
- [data-cols\@l^="5 " ] { grid-column-start: 5 } [data-cols\@l$=" 5" ] { grid-column-end: 6 } [data-cols\@l="5" ] { grid-column: 5 }
- [data-cols\@l^="6 " ] { grid-column-start: 6 } [data-cols\@l$=" 6" ] { grid-column-end: 7 } [data-cols\@l="6" ] { grid-column: 6 }
- [data-cols\@l^="7 " ] { grid-column-start: 7 } [data-cols\@l$=" 7" ] { grid-column-end: 8 } [data-cols\@l="7" ] { grid-column: 7 }
- [data-cols\@l^="8 " ] { grid-column-start: 8 } [data-cols\@l$=" 8" ] { grid-column-end: 9 } [data-cols\@l="8" ] { grid-column: 8 }
- [data-cols\@l^="9 " ] { grid-column-start: 9 } [data-cols\@l$=" 9" ] { grid-column-end: 10 } [data-cols\@l="9" ] { grid-column: 9 }
- [data-cols\@l^="10 "] { grid-column-start: 10 } [data-cols\@l$=" 10"] { grid-column-end: 11 } [data-cols\@l="10"] { grid-column: 10 }
- [data-cols\@l^="11 "] { grid-column-start: 11 } [data-cols\@l$=" 11"] { grid-column-end: 12 } [data-cols\@l="11"] { grid-column: 11 }
- [data-cols\@l^="12 "] { grid-column-start: 12 } [data-cols\@l$=" 12"] { grid-column-end: 13 } [data-cols\@l="12"] { grid-column: 12 }
-
- [data-rows\@l^="1 " ] { grid-row-start: 1 } [data-rows\@l$=" 1" ] { grid-row-end: 2 } [data-rows\@l="1" ] { grid-row: 1 }
- [data-rows\@l^="2 " ] { grid-row-start: 2 } [data-rows\@l$=" 2" ] { grid-row-end: 3 } [data-rows\@l="2" ] { grid-row: 2 }
- [data-rows\@l^="3 " ] { grid-row-start: 3 } [data-rows\@l$=" 3" ] { grid-row-end: 4 } [data-rows\@l="3" ] { grid-row: 3 }
- [data-rows\@l^="4 " ] { grid-row-start: 4 } [data-rows\@l$=" 4" ] { grid-row-end: 5 } [data-rows\@l="4" ] { grid-row: 4 }
- [data-rows\@l^="5 " ] { grid-row-start: 5 } [data-rows\@l$=" 5" ] { grid-row-end: 6 } [data-rows\@l="5" ] { grid-row: 5 }
- [data-rows\@l^="6 " ] { grid-row-start: 6 } [data-rows\@l$=" 6" ] { grid-row-end: 7 } [data-rows\@l="6" ] { grid-row: 6 }
- [data-rows\@l^="7 " ] { grid-row-start: 7 } [data-rows\@l$=" 7" ] { grid-row-end: 8 } [data-rows\@l="7" ] { grid-row: 7 }
- [data-rows\@l^="8 " ] { grid-row-start: 8 } [data-rows\@l$=" 8" ] { grid-row-end: 9 } [data-rows\@l="8" ] { grid-row: 8 }
- [data-rows\@l^="9 " ] { grid-row-start: 9 } [data-rows\@l$=" 9" ] { grid-row-end: 10 } [data-rows\@l="9" ] { grid-row: 9 }
- [data-rows\@l^="10 "] { grid-row-start: 10 } [data-rows\@l$=" 10"] { grid-row-end: 11 } [data-rows\@l="10"] { grid-row: 10 }
- [data-rows\@l^="11 "] { grid-row-start: 11 } [data-rows\@l$=" 11"] { grid-row-end: 12 } [data-rows\@l="11"] { grid-row: 11 }
- [data-rows\@l^="12 "] { grid-row-start: 12 } [data-rows\@l$=" 12"] { grid-row-end: 13 } [data-rows\@l="12"] { grid-row: 12 }
-}
diff --git a/www/releases/_artifacts/v1.0.6/missing.min.css b/www/releases/_artifacts/v1.0.6/missing.min.css
deleted file mode 100644
index fd2770c..0000000
--- a/www/releases/_artifacts/v1.0.6/missing.min.css
+++ /dev/null
@@ -1,126 +0,0 @@
-@keyframes bg{0%{background:0 0}}*,::after,::before{box-sizing:border-box;background-repeat:no-repeat}::after,::before{text-decoration:inherit;vertical-align:inherit}:root{cursor:default;overflow-wrap:break-word;-webkit-tap-highlight-color:transparent;text-size-adjust:none;-webkit-text-size-adjust:none}abbr[title]{-webkit-text-decoration:underline dotted;text-decoration:underline dotted}b,strong{font-weight:bolder}audio,canvas,iframe,img,svg,video{vertical-align:middle}svg:not([fill]){fill:currentColor}table{border-collapse:collapse;border-color:currentColor;text-indent:0;font-variant-numeric:tabular-nums;font:inherit}body,button,input,select,textarea{margin:0}[type=button],[type=reset],[type=submit],button{-webkit-appearance:button}fieldset{border:1px solid #a0a0a0;position:relative;padding:var(--gap);margin:var(--gap) 0;width:100%;border-radius:var(--border-radius);border:1px solid var(--graphical-fg)}progress{vertical-align:baseline}[type=search]{-webkit-appearance:textfield;outline-offset:-2px}::-webkit-inner-spin-button,::-webkit-outer-spin-button{block-size:auto}::-webkit-input-placeholder{color:inherit;opacity:.54}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{-webkit-appearance:button;font:inherit}[hidden],datalist{display:none!important}:focus-visible{outline:.2em solid var(--accent);z-index:32}body:focus-visible,html:focus-visible,iframe:focus-visible{outline:0}:target{outline:.2em solid var(--fg);z-index:2}details>summary:first-of-type{display:list-item}[aria-busy=true]{cursor:progress}[aria-disabled=true],[disabled]{cursor:not-allowed}:root{--gray-0: #f8fafb;--gray-1: #f2f4f6;--gray-2: #ebedef;--gray-3: #e0e4e5;--gray-4: #d1d6d8;--gray-5: #b1b6b9;--gray-6: #979b9d;--gray-7: #7e8282;--gray-8: #666968;--gray-9: #50514f;--gray-10: #3a3a37;--gray-11: #252521;--gray-12: #121210;--red-0: #fff5f5;--red-1: #ffe3e3;--red-2: #ffc9c9;--red-3: #ffa8a8;--red-4: #ff8787;--red-5: #ff6b6b;--red-6: #fa5252;--red-7: #f03e3e;--red-8: #e03131;--red-9: #c92a2a;--red-10: #b02525;--red-11: #962020;--red-12: #7d1a1a;--pink-0: #fff0f6;--pink-1: #ffdeeb;--pink-2: #fcc2d7;--pink-3: #faa2c1;--pink-4: #f783ac;--pink-5: #f06595;--pink-6: #e64980;--pink-7: #d6336c;--pink-8: #c2255c;--pink-9: #a61e4d;--pink-10: #8c1941;--pink-11: #731536;--pink-12: #59102a;--purple-0: #f8f0fc;--purple-1: #f3d9fa;--purple-2: #eebefa;--purple-3: #e599f7;--purple-4: #da77f2;--purple-5: #cc5de8;--purple-6: #be4bdb;--purple-7: #ae3ec9;--purple-8: #9c36b5;--purple-9: #862e9c;--purple-10: #702682;--purple-11: #5a1e69;--purple-12: #44174f;--violet-0: #f3f0ff;--violet-1: #e5dbff;--violet-2: #d0bfff;--violet-3: #b197fc;--violet-4: #9775fa;--violet-5: #845ef7;--violet-6: #7950f2;--violet-7: #7048e8;--violet-8: #6741d9;--violet-9: #5f3dc4;--violet-10: #5235ab;--violet-11: #462d91;--violet-12: #3a2578;--indigo-0: #edf2ff;--indigo-1: #dbe4ff;--indigo-2: #bac8ff;--indigo-3: #91a7ff;--indigo-4: #748ffc;--indigo-5: #5c7cfa;--indigo-6: #4c6ef5;--indigo-7: #4263eb;--indigo-8: #3b5bdb;--indigo-9: #364fc7;--indigo-10: #2f44ad;--indigo-11: #283a94;--indigo-12: #21307a;--blue-0: #e7f5ff;--blue-1: #d0ebff;--blue-2: #a5d8ff;--blue-3: #74c0fc;--blue-4: #4dabf7;--blue-5: #339af0;--blue-6: #228be6;--blue-7: #1c7ed6;--blue-8: #1971c2;--blue-9: #1864ab;--blue-10: #145591;--blue-11: #114678;--blue-12: #0d375e;--cyan-0: #e3fafc;--cyan-1: #c5f6fa;--cyan-2: #99e9f2;--cyan-3: #66d9e8;--cyan-4: #3bc9db;--cyan-5: #22b8cf;--cyan-6: #15aabf;--cyan-7: #1098ad;--cyan-8: #0c8599;--cyan-9: #0b7285;--cyan-10: #095c6b;--cyan-11: #074652;--cyan-12: #053038;--teal-0: #e6fcf5;--teal-1: #c3fae8;--teal-2: #96f2d7;--teal-3: #63e6be;--teal-4: #38d9a9;--teal-5: #20c997;--teal-6: #12b886;--teal-7: #0ca678;--teal-8: #099268;--teal-9: #087f5b;--teal-10: #066649;--teal-11: #054d37;--teal-12: #033325;--green-0: #ebfbee;--green-1: #d3f9d8;--green-2: #b2f2bb;--green-3: #8ce99a;--green-4: #69db7c;--green-5: #51cf66;--green-6: #40c057;--green-7: #37b24d;--green-8: #2f9e44;--green-9: #2b8a3e;--green-10: #237032;--green-11: #1b5727;--green-12: #133d1b;--lime-0: #f4fce3;--lime-1: #e9fac8;--lime-2: #d8f5a2;--lime-3: #c0eb75;--lime-4: #a9e34b;--lime-5: #94d82d;--lime-6: #82c91e;--lime-7: #74b816;--lime-8: #66a80f;--lime-9: #5c940d;--lime-10: #4c7a0b;--lime-11: #3c6109;--lime-12: #2c4706;--yellow-0: #fff9db;--yellow-1: #fff3bf;--yellow-2: #ffec99;--yellow-3: #ffe066;--yellow-4: #ffd43b;--yellow-5: #fcc419;--yellow-6: #fab005;--yellow-7: #f59f00;--yellow-8: #f08c00;--yellow-9: #e67700;--yellow-10: #b35c00;--yellow-11: #804200;--yellow-12: #663500;--orange-0: #fff4e6;--orange-1: #ffe8cc;--orange-2: #ffd8a8;--orange-3: #ffc078;--orange-4: #ffa94d;--orange-5: #ff922b;--orange-6: #fd7e14;--orange-7: #f76707;--orange-8: #e8590c;--orange-9: #d9480f;--orange-10: #bf400d;--orange-11: #99330b;--orange-12: #802b09;--choco-0: #fff8dc;--choco-1: #fce1bc;--choco-2: #f7ca9e;--choco-3: #f1b280;--choco-4: #e99b62;--choco-5: #df8545;--choco-6: #d46e25;--choco-7: #bd5f1b;--choco-8: #a45117;--choco-9: #8a4513;--choco-10: #703a13;--choco-11: #572f12;--choco-12: #3d210d;--brown-0: #faf4eb;--brown-1: #ede0d1;--brown-2: #e0cab7;--brown-3: #d3b79e;--brown-4: #c5a285;--brown-5: #b78f6d;--brown-6: #a87c56;--brown-7: #956b47;--brown-8: #825b3a;--brown-9: #6f4b2d;--brown-10:#5e3a21;--brown-11:#4e2b15;--brown-12: #422412;--sand-0: #f8fafb;--sand-1: #e6e4dc;--sand-2: #d5cfbd;--sand-3: #c2b9a0;--sand-4: #aea58c;--sand-5: #9a9178;--sand-6: #867c65;--sand-7: #736a53;--sand-8: #5f5746;--sand-9: #4b4639;--sand-10:#38352d;--sand-11:#252521;--sand-12: #121210;--camo-0: #f9fbe7;--camo-1: #e8ed9c;--camo-2: #d2df4e;--camo-3: #c2ce34;--camo-4: #b5bb2e;--camo-5: #a7a827;--camo-6: #999621;--camo-7: #8c851c;--camo-8: #7e7416;--camo-9: #6d6414;--camo-10: #5d5411;--camo-11: #4d460e;--camo-12: #36300a;--jungle-0: #ecfeb0;--jungle-1: #def39a;--jungle-2: #d0e884;--jungle-3: #c2dd6e;--jungle-4: #b5d15b;--jungle-5: #a8c648;--jungle-6: #9bbb36;--jungle-7: #8fb024;--jungle-8: #84a513;--jungle-9: #7a9908;--jungle-10: #658006;--jungle-11: #516605;--jungle-12: #3d4d04}html{font-family:var(--main-font);line-height:var(--rhythm);background:var(--bg);color:var(--fg);scroll-padding-block-start:calc(4*var(--gap))}footer,header,section+section{margin-block:calc(2*var(--gap))}aside.big,nav a{color:var(--accent)}nav a{text-decoration:none}aside h1,aside h2,aside h3,aside h4,aside h5,aside h6{font-size:1em;text-transform:none;letter-spacing:none}aside.big{background:0 0;border:0;-webkit-border-start:1px solid var(--muted-fg);border-inline-start:1px solid var(--muted-fg);border-radius:0;padding:0;-webkit-padding-start:var(--rhythm);padding-inline-start:var(--rhythm);font-style:italic}.\<h1\>,.\<h2\>,.\<h3\>,.\<h4\>,.\<h5\>,.\<h6\>,h1,h2,h3,h4,h5,h6{-webkit-margin-after:var(--gap);margin-block-end:var(--gap);font-family:var(--secondary-font);-webkit-margin-before:calc(2*var(--gap));margin-block-start:calc(2*var(--gap));position:relative}.\<h1\>,.\<h2\>,h1,h2{font-size:2em;text-transform:none;line-height:calc(2*var(--rhythm));letter-spacing:0}.\<h2\>,h2{font-size:1.6em;line-height:calc(1.5*var(--rhythm))}.\<h3\>,.\<h4\>,.\<h5\>,.\<h6\>,h3,h4,h5,h6{font-size:1.17em;line-height:calc(1*var(--rhythm))}.\<h4\>,.\<h5\>,.\<h6\>,h4,h5,h6{font-size:1em;text-transform:none;letter-spacing:0;-webkit-margin-before:var(--gap);margin-block-start:var(--gap)}h1+h2,h1:first-child,h2+h3,h2:first-child,h3+h4,h3:first-child,h4+h5,h4:first-child,h5+h6,h5:first-child,h6:first-child{-webkit-margin-before:var(--gap);margin-block-start:var(--gap)}h1:target,h2:target,h3:target,h4:target,h5:target,h6:target{outline:0}h1:target::before,h2:target::before,h3:target::before,h4:target::before,h5:target::before,h6:target::before{content:"";display:block;position:absolute;left:-.5em;width:4px;height:100%;background:var(--accent)}header{-webkit-border-after:1px solid var(--graphical-fg);border-block-end:1px solid var(--graphical-fg)}dt,footer,header{font-family:var(--secondary-font)}footer{-webkit-border-before:1px solid var(--graphical-fg);border-block-start:1px solid var(--graphical-fg)}body>footer,body>header,main+footer{padding:var(--rhythm) calc((100% - var(--eff-line-length))/2)}address{--density: 0}dl,hr,p{margin-block:var(--gap)}hr{color:inherit;margin-inline:0;flex:0 1 0px;-webkit-border-start:1px solid var(--accent);border-inline-start:1px solid var(--accent);block-size:auto;-webkit-border-before:1px solid var(--accent);border-block-start:1px solid var(--accent);-webkit-border-after:none;border-block-end:none;-webkit-border-end:none;border-inline-end:none}blockquote,pre{line-height:var(--rhythm)}pre{font-family:var(--mono-font);tab-size:2;margin:var(--gap) 0;overflow-x:auto;scrollbar-width:thin;scrollbar-color:var(--accent) transparent;font-size:.9em}blockquote{margin-inline:0 var(--gap);padding-inline:var(--gap) 0;margin-block:var(--gap);font-size:1.1em;font-style:italic;-webkit-border-start:1px solid var(--graphical-fg);border-inline-start:1px solid var(--graphical-fg);color:var(--muted-fg)}.italic address,.italic cite,.italic dfn,.italic em,.italic i,.italic var,blockquote address,blockquote cite,blockquote dfn,blockquote em,blockquote i,blockquote var,q address,q cite,q dfn,q em,q i,q var{font-style:normal}blockquote footer{text-align:right;text-align:end}ol,ul{-webkit-padding-start:var(--rhythm);padding-inline-start:var(--rhythm)}ol ol,ol ul,ul ol,ul ul{-webkit-padding-start:var(--gap);padding-inline-start:var(--gap)}ol[role=list],ol[role=listbox],ul[role=list],ul[role=listbox]{-webkit-padding-start:0;padding-inline-start:0;list-style:none}ol{list-style:decimal}dt{font-weight:700}dd{-webkit-margin-start:var(--rhythm);margin-inline-start:var(--rhythm)}li::marker{font-family:var(--secondary-font)}figure{max-width:100%;margin-inline:0}figcaption{margin-block:var(--gap);font-family:var(--secondary-font);color:var(--muted-fg)}main{max-inline-size:var(--eff-line-length);inline-size:100%;margin-inline:auto}main:first-child{padding-top:var(--gap)}.\<a\>,a{color:var(--link-fg, var(--accent));font-family:var(--secondary-font);border-radius:var(--border-radius);outline-offset:1px;background:0 0;border:0;font-size:1em;-webkit-text-decoration:1px dashed underline;text-decoration:1px dashed underline}.list-of-links :is(a,.\<a\>){text-decoration:none}:is(a,.\<a\>):focus,:is(a,.\<a\>):hover{-webkit-text-decoration:2px solid underline;text-decoration:2px solid underline;cursor:pointer;outline:0}small[role=note]{display:block;float:inline-end;clear:inline-end;--sidenote-width: 20ch;max-inline-size:var(--sidenote-width);padding-inline:1.5ch 1ch;-webkit-margin-end:calc(1em - var(--sidenote-width));margin-inline-end:calc(1em - var(--sidenote-width));-webkit-margin-after:var(--rhythm);margin-block-end:var(--rhythm);font-family:var(--secondary-font);background:var(--bg);border:1px solid transparent;transition:transform .1s ease-in-out}small[role=note]:focus-within,small[role=note]:hover{border:1px solid var(--graphical-fg);border-radius:var(--border-radius);transform:translateX(calc(0px - var(--sidenote-width) + min(var(--gutter-width),var(--sidenote-width))))}.\<small\>,kbd kbd,small{font-size:.8em}del,s{color:var(--bad-fg)}caption,q{font-style:italic}time{font-variant-numeric:tabular-nums}code,kbd,samp{font-family:var(--mono-font);font-style:normal}ins,samp{color:var(--ok-fg)}kbd kbd{display:inline-block;padding:0 .3em;line-height:1.1em;background:var(--interactive-bg);border:1px outset var(--graphical-fg);border-block-end-width:3px;border-radius:var(--border-radius)}sub{vertical-align:bottom}sub,sup{line-height:1}mark{background:var(--warn-bg);color:var(--warn-fg)}ins{background:var(--ok-bg)}del{background:var(--bad-bg)}audio,embed,iframe,img,object,video{max-inline-size:100%;inline-size:max-content;block-size:auto}caption{text-align:start;font-family:var(--secondary-font)}tbody{border-block:1px solid var(--faded-fg)}select[multiple],sup,td,th{vertical-align:top}td:not(:last-child),th:not(:last-child){-webkit-padding-end:var(--rhythm);padding-inline-end:var(--rhythm)}th{font-family:var(--secondary-font);text-align:start}input{display:block}label input:not([specificity-hack]){display:inline;padding-block:0}.\<button\>,button,input::file-selector-button,input[type=button],input[type=reset],input[type=submit]{display:inline-block;padding:0 calc(var(--rhythm)/4);vertical-align:middle;box-sizing:border-box;font-size:.8rem;line-height:1.125em;font-family:var(--secondary-font);min-height:var(--rhythm);background:var(--interactive-bg);border:1px solid var(--muted-fg);box-shadow:0 2px 4px -2px var(--fg);border-radius:var(--border-radius);color:var(--fg);text-decoration:none;display:inline-flex;place-items:center}:is(button,input[type="submit"],input[type="reset"],input[type="button"],input::file-selector-button,.\<button\>):focus-visible,:is(button,input[type="submit"],input[type="reset"],input[type="button"],input::file-selector-button,.\<button\>):hover{filter:brightness(1.1);box-shadow:0 3px 6px -2px var(--fg);text-decoration:none}:is(button,input[type="submit"],input[type="reset"],input[type="button"],input::file-selector-button,.\<button\>):active{box-shadow:none}:is(button,input[type="submit"],input[type="reset"],input[type="button"],input::file-selector-button,.\<button\>):where([aria-pressed="true"], [aria-expanded="true"]){box-shadow:0 2px 4px -1px var(--fg) inset;background:var(--pressed-interactive-bg)}[disabled]:is(button,input[type="submit"],input[type="reset"],input[type="button"],input::file-selector-button,.\<button\>){color:var(--muted-fg);box-shadow:none}strong>:is(button,input[type="submit"],input[type="reset"],input[type="button"],input::file-selector-button,.\<button\>){background:var(--accent);color:var(--bg);border:0;font-weight:700}strong>[disabled]:is(button,input[type="submit"],input[type="reset"],input[type="button"],input::file-selector-button,.\<button\>){color:var(--muted-accent)}.big:is(button,input[type="submit"],input[type="reset"],input[type="button"],input::file-selector-button,.\<button\>){min-block-size:calc(1.5*var(--rhythm));font-size:1rem;padding-inline:calc(.5*var(--rhythm));line-height:var(--rhythm)}input:not([type]),input[type=date],input[type=datetime-local],input[type=datetime],input[type=email],input[type=month],input[type=number],input[type=password],input[type=search],input[type=tel],input[type=text],input[type=time],input[type=url],input[type=week],select,textarea{padding:calc(var(--rhythm)/4);font-size:1rem;line-height:inherit;font-family:var(--main-font);background:var(--bg);color:var(--fg);border:1px solid var(--graphical-fg);border-radius:var(--border-radius);vertical-align:top}:is(input:not([type]),input[type="text"],input[type="search"],input[type="tel"],input[type="url"],input[type="email"],input[type="password"],input[type="date"],input[type="month"],input[type="week"],input[type="time"],input[type="datetime"],input[type="datetime-local"],input[type="number"],select,textarea):focus-visible{border:1px solid var(--accent)}:is(input:not([type]),input[type="text"],input[type="search"],input[type="tel"],input[type="url"],input[type="email"],input[type="password"],input[type="date"],input[type="month"],input[type="week"],input[type="time"],input[type="datetime"],input[type="datetime-local"],input[type="number"],select,textarea)::placeholder{color:var(--muted-fg);opacity:1;text-align:end}input[type=range]{width:100%;padding:calc(var(--gap)/4)}input[type=color]{padding:0;margin:0;height:calc(1.5*var(--rhythm));border:0;background:0 0}input[type=file]{padding:calc(var(--gap)/4) 0;font:inherit;line-height:calc(var(--rhythm)/2)}input[type=file]::file-selector-button{margin-block:.1em 0;-webkit-margin-end:1ch;margin-inline-end:1ch}optgroup::before{color:var(--muted-fg);font-style:normal}label[for]{display:block;padding-block:calc(var(--gap)/4)}fieldset>legend+*{-webkit-margin-before:0;margin-block-start:0}details:not(specificity-hack){-webkit-padding-before:0;padding-block-start:0}details:not(specificity-hack):not([open]){-webkit-padding-after:0;padding-block-end:0}summary{margin:calc(0px - var(--gap));margin-bottom:0;padding-inline:var(--gap);font-family:var(--secondary-font);font-weight:700;cursor:pointer}summary:active,summary:focus-visible{filter:brightness(.8);outline:0}dialog{inline-inset:0;block-size:-moz-fit-content;block-size:fit-content;inline-size:-moz-fit-content;inline-size:fit-content;margin:auto!important;background-color:var(--bg);color:var(--fg)}dialog[open]::backdrop{display:block;background:#000;opacity:.4;animation:bg 2s}dialog:not([open]){display:none}.box,.sidebar-layout>header,[role=menu],[role=tabpanel],aside,details,dialog,figure{margin:var(--gap) 0;padding:var(--gap);overflow:clip;border-radius:var(--border-radius);background:var(--box-bg);border:1px solid var(--graphical-fg)}.titlebar{margin-inline:calc(0px - var(--gap));-webkit-margin-after:calc(0px - var(--gap));margin-block-end:calc(0px - var(--gap));padding-inline:var(--gap);font:inherit;font-family:var(--secondary-font);font-weight:700;translate:0 calc(-1px - var(--gap));background:var(--graphical-fg);color:var(--bg)}.sub-title,sub-title{display:block;font-weight:400;color:var(--muted-fg)}.tool-bar,[role=toolbar]{display:flex;flex-flow:row wrap;gap:calc(var(--gap)/2)}.tool-bar>*,[role=toolbar]>*{margin:0}.sidebar-layout header li{margin-block:calc(.5*var(--gap))}.breadcrumbs[aria-label] [aria-current=page],.sidebar-layout header a{font-weight:700}@media (min-width:75ch){.sidebar-layout{display:grid;grid-template-columns:25ch auto;inset:0}.sidebar-layout>header{border-block:none;-webkit-border-start:none;border-inline-start:none;margin:0}.sidebar-layout>:nth-child(2){overflow:auto;--full-width: calc(100vw - 25ch);margin-top:var(--gap)}}.breadcrumbs[aria-label]{font-family:var(--secondary-font)}.breadcrumbs[aria-label] ol,.breadcrumbs[aria-label] ul{list-style:none;-webkit-padding-start:0;padding-inline-start:0}.breadcrumbs[aria-label] li{display:inline}:is(.breadcrumbs[aria-label] li)+li::before{content:' / ';display:inline}.chip,.navbar,chip{font-family:var(--secondary-font);background:var(--box-bg)}.chip,chip{border:1px solid var(--accent);border-radius:calc(var(--rhythm)/2);padding-inline:calc(var(--rhythm)/2)}.navbar{padding:var(--rhythm);-webkit-border-after:1px solid var(--accent);border-block-end:1px solid var(--accent);overflow-x:auto;scrollbar-width:thin;position:sticky;z-index:5;top:0;left:0;right:0;display:flex;flex-flow:row;align-items:center;gap:var(--gap)}.navbar.expanded{flex-flow:column;align-items:start;max-height:90vh;overflow-y:auto}.navbar.expanded ul[role=list]{flex-flow:column}.navbar *{flex-shrink:0;margin-block:0}.navbar:not(.expanded) nav>:first-child,.navbar:not(.expanded)>:first-child{-webkit-margin-start:auto;margin-inline-start:auto}.navbar:not(.expanded) nav>:last-child,.navbar:not(.expanded)>:last-child{-webkit-margin-end:auto;margin-inline-end:auto}.navbar hr{align-self:stretch}.navbar nav ul[role=list]{display:flex;flex-flow:row;gap:var(--rhythm);-webkit-padding-start:0;padding-inline-start:0}.navbar nav ul[role=list] *{flex-shrink:0}.navbar a{font-weight:700;text-decoration:none;padding-inline:.2em}.navbar a:focus,.navbar a:hover{text-decoration:underline}.navbar [aria-current=page]{position:relative}.navbar [aria-current=page]::after{width:100%;height:6px;content:"";display:block;position:absolute;bottom:calc(-1*var(--gap));background:currentcolor}.navbar.expanded [aria-current=page]::after{width:6px;height:100%;position:absolute;left:calc(-1*var(--gap));top:0}.permalink-anchor{display:none}:hover>.permalink-anchor{display:initial}button.iconbutton{border:0;background:0 0;color:currentcolor;padding:0;line-height:var(--rhythm);font-size:24px;width:24px;height:24px;display:inline-block;text-align:center;border-radius:50%;transition:font-weight .2s ease-in-out}button.iconbutton:focus-visible,button.iconbutton:hover{outline:1px solid var(--accent);outline-offset:6px}button.iconbutton:active{outline-offset:3px;background:0 0}button.iconbutton[aria-pressed=true]{box-shadow:none;transform:none}[role=tablist]{display:flex;gap:.5ch;scrollbar-width:thin}[role=tab][role=tab]{all:initial;font-family:var(--secondary-font);padding:0 calc(var(--rhythm)/4);margin:0;min-height:var(--rhythm);bottom:-1px;position:relative;color:var(--fg);border:solid var(--graphical-fg);border-width:1px;background:var(--interactive-bg);border-start-start-radius:.4em;border-start-end-radius:.4em}[role=tab][role=tab]:active,[role=tab][role=tab][aria-selected=true]{background:var(--box-bg);-webkit-border-after:1px solid transparent;border-block-end:1px solid transparent}[role=tab][role=tab]:hover{background-color:var(--box-bg);box-shadow:none}[role=tab][role=tab]:focus-visible{box-shadow:none;color:var(--accent);text-decoration:underline}[role=tabpanel]{-webkit-margin-before:0;margin-block-start:0;border-start-start-radius:0;border-start-end-radius:0;z-index:1}[role=menu]{position:absolute;z-index:10;padding:calc(var(--gap)/2) 0;margin:1px 0 0;display:flex;flex-flow:column nowrap}[role=menuitem]{padding:0 calc(var(--gap)/2);display:block;text-decoration:none;border-radius:0;color:var(--fg)}[role=menuitem]:active,[role=menuitem]:focus{background:var(--accent);color:var(--bg)}[role=listbox]{list-style:none}[role=listbox] [role=option]{margin-inline:calc(-1*var(--gap));padding-inline:var(--gap)}[role=listbox] [role=option][aria-selected=true]{background:var(--interactive-bg)}[role=listbox] .active[role=option]{--temporary-bg: var(--accent);--temporary-fg: var(--bg);--temporary-accent: parent-var(--muted-accent);--temporary-muted-accent: parent-var(--box-bg);background:var(--temporary-bg);color:var(--temporary-fg)}[role=listbox] .active[role=option]>*{--bg: var(--temporary-bg);--fg: var(--temporary-fg);--accent: var(--temporary-accent);--muted-accent: var(--temporary-muted-accent)}[aria-orientation=vertical]{flex-direction:column;width:-moz-fit-content;width:fit-content;text-align:center}.plain{--box-bg: var(--plain-bg);--accent: var(--plain-fg);--graphical-fg: var(--plain-graphical-fg)}.info{--box-bg: var(--info-bg);--accent: var(--info-fg);--graphical-fg: var(--info-graphical-fg)}.ok{--box-bg: var(--ok-bg);--accent: var(--ok-fg);--graphical-fg: var(--ok-graphical-fg)}.warn{--box-bg: var(--warn-bg);--accent: var(--warn-fg);--graphical-fg: var(--warn-graphical-fg)}.bad{--box-bg: var(--bad-bg);--accent: var(--bad-fg);--graphical-fg: var(--bad-graphical-fg)}.color{color:var(--accent)}.bg{background:var(--box-bg)}.border{border-style:solid;border-color:var(--graphical-fg)}:root{--fg: var(--gray-12);--muted-fg: var(--gray-10);--faded-fg: var(--gray-6);--graphical-fg: var(--plain-graphical-fg);--plain-fg: var(--blue-10);--info-fg: var(--blue-11);--ok-fg: var(--green-11);--bad-fg: var(--red-11);--warn-fg: var(--yellow-11);--plain-graphical-fg: var(--gray-6);--info-graphical-fg: var(--blue-6);--ok-graphical-fg: var(--green-6);--bad-graphical-fg: var(--red-6);--warn-graphical-fg: var(--yellow-6);--bg: var(--gray-0);--box-bg: var(--plain-bg);--interactive-bg: var(--gray-4);--plain-bg: var(--gray-1);--info-bg: var(--blue-1);--ok-bg: var(--green-1);--bad-bg: var(--red-1);--warn-bg: var(--yellow-1);--accent: var(--blue-10);--muted-accent: var(--blue-7);--rhythm: 1.4rem;--line-length: 40rem;--border-radius: .2rem;--main-font: 'Source Sans 3', 'Source Sans Pro', -apple-system, system-ui, sans-serif;--secondary-font: var(--main-font);--mono-font: 'M Plus Code Latin', monospace, monospace;--density: 1;--full-width: 100vw;--eff-line-length: /* Effective line length for prose. */
- min(
- calc( var(--full-width) - (2 * var(--rhythm)) ),
- var(--line-length)
- );--gutter-width: /* Width of spaces at each side of page content. */
- calc(
- (
- var(--full-width) /* Viewport width */
- - var(--eff-line-length) /* minus line width */
- ) / 2)}@media (prefers-color-scheme:dark){:root:not(.-no-dark-theme){--fg: var(--gray-0);--muted-fg: var(--gray-2);--faded-fg: var(--gray-7);--plain-bg: var(--gray-11);--info-bg: var(--blue-12);--ok-bg: var(--green-12);--bad-bg: var(--red-12);--warn-bg: var(--yellow-12);--plain-faded-fg: var(--blue-6);--info-faded-fg: var(--blue-6);--ok-faded-fg: var(--green-6);--bad-faded-fg: var(--red-6);--warn-faded-fg: var(--yellow-6);--bg: var(--gray-12);--box-bg: var(--gray-10);--interactive-bg: var(--gray-8);--plain-fg: (--blue-3);--info-fg: var(--blue-3);--ok-fg: var(--green-3);--bad-fg: var(--red-3);--warn-fg: var(--yellow-3);--accent: var(--blue-3);--muted-accent: var(--blue-5)}}*{--gap: calc(var(--rhythm) * var(--density));accent-color:var(--accent)}.textcolumns{--col-width: 30ch;column-width:var(--col-width);column-gap:var(--gap);margin-block:var(--gap)}.textcolumns :first-child{-webkit-margin-before:0!important;margin-block-start:0!important}.text-align\:center{text-align:center}.center{display:grid;place-items:center}.container{max-inline-size:var(--eff-line-length);margin-inline:auto}.fullbleed,.fullscreen{position:relative;left:50%;border-radius:0;border-inline:none}.fullbleed{width:var(--full-width);transform:translateX(calc(-.5*var(--full-width)))}.fullscreen{height:100vh;width:100vw;transform:translateX(-50vw)}.width\:100\%{width:100%;max-width:100%}.height\:100\%{height:100%;max-height:100%}:is(
- body,
- .box,
- [role=menu],
- .sidebar-layout > header,
- [role=tabpanel],
- figure,
- details,
- dialog,
- aside,
- fieldset,
- dd,
- td,
- th
-)>:first-child:first-child:first-child:first-child,:is(
- body,
- .box,
- [role=menu],
- .sidebar-layout > header,
- [role=tabpanel],
- figure,
- details,
- dialog,
- aside,
- fieldset,
- dd,
- td,
- th
-)>:first-child>:first-child:first-child:first-child,:is(
- body,
- .box,
- [role=menu],
- .sidebar-layout > header,
- [role=tabpanel],
- figure,
- details,
- dialog,
- aside,
- fieldset,
- dd,
- td,
- th
-)>:first-child>:first-child>:first-child:first-child,:is(
- body,
- .box,
- [role=menu],
- .sidebar-layout > header,
- [role=tabpanel],
- figure,
- details,
- dialog,
- aside,
- fieldset,
- dd,
- td,
- th
-)>:first-child>:first-child>:first-child>:first-child{-webkit-margin-before:0;margin-block-start:0}:is(
- body,
- .box,
- [role=menu],
- .sidebar-layout > header,
- [role=tabpanel],
- figure,
- details,
- dialog,
- aside,
- fieldset,
- dd,
- td,
- th
-)>:last-child:last-child:last-child:last-child,:is(
- body,
- .box,
- [role=menu],
- .sidebar-layout > header,
- [role=tabpanel],
- figure,
- details,
- dialog,
- aside,
- fieldset,
- dd,
- td,
- th
-)>:last-child>:last-child:last-child:last-child,:is(
- body,
- .box,
- [role=menu],
- .sidebar-layout > header,
- [role=tabpanel],
- figure,
- details,
- dialog,
- aside,
- fieldset,
- dd,
- td,
- th
-)>:last-child>:last-child>:last-child:last-child,:is(
- body,
- .box,
- [role=menu],
- .sidebar-layout > header,
- [role=tabpanel],
- figure,
- details,
- dialog,
- aside,
- fieldset,
- dd,
- td,
- th
-)>:last-child>:last-child>:last-child>:last-child{-webkit-margin-after:0;margin-block-end:0}.padding{padding-inline:var(--gap)}.padding-block{padding-block:var(--gap)}.padding-block-start{-webkit-padding-before:var(--gap);padding-block-start:var(--gap)}.padding-block-end{-webkit-padding-after:var(--gap);padding-block-end:var(--gap)}.padding-inline{padding-inline:var(--gap)}.padding-inline-end,.padding-inline-start{-webkit-padding-start:var(--gap);padding-inline-start:var(--gap)}.margin{margin:var(--gap)}.margin-block{margin-block:var(--gap)}.margin-block-start{-webkit-margin-before:var(--gap);margin-block-start:var(--gap)}.margin-block-end{-webkit-margin-after:var(--gap);margin-block-end:var(--gap)}.margin-inline{margin-inline:var(--gap)}.margin-inline-start{-webkit-margin-start:var(--gap);margin-inline-start:var(--gap)}.margin-inline-end{-webkit-margin-end:var(--gap);margin-inline-end:var(--gap)}.flow-gap>:not(:last-child){margin-bottom:1em}.inline{display:inline}.block{display:block}.contents{display:contents}.table{display:table;width:100%;margin:0}.row,.rows>*{display:table-row}.row:not(:last-child):not([specificity-hack])>*,.rows>:not(:last-child):not([specificity-hack])>*{margin-bottom:var(--gap)}.row>:not([specificity-hack]),.rows>*>:not([specificity-hack]){display:table-cell;vertical-align:top}.row>*+:not([specificity-hack]),:is(.rows > *)>*+:not([specificity-hack]){-webkit-margin-start:var(--gap);margin-inline-start:var(--gap);display:inline-block}.big{font-size:1.4em;line-height:calc(1.5*var(--rhythm))}.fixed{position:fixed}.sticky{position:sticky}.top{top:0}.right{right:0}.bottom{bottom:0}.left{left:0}.float\:left{float:left}.float\:right{float:right}.overflow\:auto{overflow:auto}.overflow\:scroll{overflow:scroll}.airy{--density: 3}.spacious{--density: 2}.dense{--density: 1}.crowded{--density: .5}.packed{--density: 0}.autodensity{--density: 1
-}@media (min-width:768px){.autodensity{--density: 2
-}}@media (min-width:1024px){.autodensity{--density: 3
-}}.vh,v-h{clip:rect(0 0 0 0);-webkit-clip-path:inset(50%);clip-path:inset(50%);block-size:1px;inline-size:1px;overflow:hidden;white-space:nowrap}.all\:initial{all:initial}.bold{font-weight:700}.italic{font-style:italic}.allcaps{text-transform:uppercase;letter-spacing:.1rem}.primary-font{font-family:var(--primary-font)}.secondary-font{font-family:var(--secondary-font)}.display-font{font-family:var(--display-font)}.mono-font,.monospace{font-family:var(--mono-font)}.massivetext{font-size:calc(.13*var(--eff-line-length));line-height:1em;letter-spacing:0}.aestheticbreak{display:block;margin:0;padding:0;height:calc(.5*var(--gap))}.f-row{display:flex;flex-direction:row;gap:var(--gap)}.f-row>*{margin:0}.f-col{display:flex;flex-direction:column;gap:var(--gap)}.f-col>*{margin:0}.f-switch{display:flex;flex-wrap:wrap;gap:var(--gap);--f-switch-threshold: 55ch
-}.f-switch>*{margin:0;flex-grow:1;flex-basis:calc((var(--f-switch-threshold) - 100%)*999)}.justify-content\:start{justify-content:start}.justify-content\:end{justify-content:end}.justify-content\:baseline{justify-content:baseline}.justify-content\:center{justify-content:center}.justify-content\:stretch{justify-content:stretch}.justify-content\:space-between{justify-content:space-between}.justify-content\:space-around{justify-content:space-around}.justify-content\:space-evenly{justify-content:space-evenly}.align-items\:start{align-items:start}.align-items\:end{align-items:end}.align-items\:baseline{align-items:baseline}.align-items\:center{align-items:center}.align-items\:stretch{align-items:stretch}.align-self\:start{align-self:start}.align-self\:end{align-self:end}.align-self\:baseline{align-self:baseline}.align-self\:center{align-self:center}.align-self\:stretch{align-self:stretch}.flex-grow\:0{flex-grow:0}.flex-grow\:1{flex-grow:1}.flex-grow\:2{flex-grow:2}.flex-grow\:3{flex-grow:3}.flex-grow\:4{flex-grow:4}.flex-grow\:5{flex-grow:5}.flex-grow\:6{flex-grow:6}.flex-grow\:7{flex-grow:7}.flex-grow\:8{flex-grow:8}.flex-grow\:9{flex-grow:9}.flex-grow\:10{flex-grow:10}.flex-grow\:11{flex-grow:11}.flex-grow\:12{flex-grow:12}.flex-wrap\:wrap{flex-wrap:wrap}.flex-wrap\:nowrap{flex-wrap:nowrap}.grid{display:grid;grid-auto-columns:var(--grid-col-width, 1fr);grid-auto-rows:var(--grid-row-width, auto);gap:var(--gap)}.grid>*{margin:0}.grid-even-rows{--grid-row-width: 1fr}.grid-variable-cols{--grid-column-width: auto}[data-cols^="1 "]{grid-column-start:1}[data-cols$=" 1"]{grid-column-end:2}[data-cols="1"]{grid-column:1}[data-cols^="2 "]{grid-column-start:2}[data-cols$=" 2"]{grid-column-end:3}[data-cols="2"]{grid-column:2}[data-cols^="3 "]{grid-column-start:3}[data-cols$=" 3"]{grid-column-end:4}[data-cols="3"]{grid-column:3}[data-cols^="4 "]{grid-column-start:4}[data-cols$=" 4"]{grid-column-end:5}[data-cols="4"]{grid-column:4}[data-cols^="5 "]{grid-column-start:5}[data-cols$=" 5"]{grid-column-end:6}[data-cols="5"]{grid-column:5}[data-cols^="6 "]{grid-column-start:6}[data-cols$=" 6"]{grid-column-end:7}[data-cols="6"]{grid-column:6}[data-cols^="7 "]{grid-column-start:7}[data-cols$=" 7"]{grid-column-end:8}[data-cols="7"]{grid-column:7}[data-cols^="8 "]{grid-column-start:8}[data-cols$=" 8"]{grid-column-end:9}[data-cols="8"]{grid-column:8}[data-cols^="9 "]{grid-column-start:9}[data-cols$=" 9"]{grid-column-end:10}[data-cols="9"]{grid-column:9}[data-cols^="10 "]{grid-column-start:10}[data-cols$=" 10"]{grid-column-end:11}[data-cols="10"]{grid-column:10}[data-cols^="11 "]{grid-column-start:11}[data-cols$=" 11"]{grid-column-end:12}[data-cols="11"]{grid-column:11}[data-cols^="12 "]{grid-column-start:12}[data-cols$=" 12"]{grid-column-end:13}[data-cols="12"]{grid-column:12}[data-rows^="1 "]{grid-row-start:1}[data-rows$=" 1"]{grid-row-end:2}[data-rows="1"]{grid-row:1}[data-rows^="2 "]{grid-row-start:2}[data-rows$=" 2"]{grid-row-end:3}[data-rows="2"]{grid-row:2}[data-rows^="3 "]{grid-row-start:3}[data-rows$=" 3"]{grid-row-end:4}[data-rows="3"]{grid-row:3}[data-rows^="4 "]{grid-row-start:4}[data-rows$=" 4"]{grid-row-end:5}[data-rows="4"]{grid-row:4}[data-rows^="5 "]{grid-row-start:5}[data-rows$=" 5"]{grid-row-end:6}[data-rows="5"]{grid-row:5}[data-rows^="6 "]{grid-row-start:6}[data-rows$=" 6"]{grid-row-end:7}[data-rows="6"]{grid-row:6}[data-rows^="7 "]{grid-row-start:7}[data-rows$=" 7"]{grid-row-end:8}[data-rows="7"]{grid-row:7}[data-rows^="8 "]{grid-row-start:8}[data-rows$=" 8"]{grid-row-end:9}[data-rows="8"]{grid-row:8}[data-rows^="9 "]{grid-row-start:9}[data-rows$=" 9"]{grid-row-end:10}[data-rows="9"]{grid-row:9}[data-rows^="10 "]{grid-row-start:10}[data-rows$=" 10"]{grid-row-end:11}[data-rows="10"]{grid-row:10}[data-rows^="11 "]{grid-row-start:11}[data-rows$=" 11"]{grid-row-end:12}[data-rows="11"]{grid-row:11}[data-rows^="12 "]{grid-row-start:12}[data-rows$=" 12"]{grid-row-end:13}[data-rows="12"]{grid-row:12}@media (max-width:768px){[data-cols\@s^="1 "]{grid-column-start:1}[data-cols\@s$=" 1"]{grid-column-end:2}[data-cols\@s="1"]{grid-column:1}[data-cols\@s^="2 "]{grid-column-start:2}[data-cols\@s$=" 2"]{grid-column-end:3}[data-cols\@s="2"]{grid-column:2}[data-cols\@s^="3 "]{grid-column-start:3}[data-cols\@s$=" 3"]{grid-column-end:4}[data-cols\@s="3"]{grid-column:3}[data-cols\@s^="4 "]{grid-column-start:4}[data-cols\@s$=" 4"]{grid-column-end:5}[data-cols\@s="4"]{grid-column:4}[data-cols\@s^="5 "]{grid-column-start:5}[data-cols\@s$=" 5"]{grid-column-end:6}[data-cols\@s="5"]{grid-column:5}[data-cols\@s^="6 "]{grid-column-start:6}[data-cols\@s$=" 6"]{grid-column-end:7}[data-cols\@s="6"]{grid-column:6}[data-cols\@s^="7 "]{grid-column-start:7}[data-cols\@s$=" 7"]{grid-column-end:8}[data-cols\@s="7"]{grid-column:7}[data-cols\@s^="8 "]{grid-column-start:8}[data-cols\@s$=" 8"]{grid-column-end:9}[data-cols\@s="8"]{grid-column:8}[data-cols\@s^="9 "]{grid-column-start:9}[data-cols\@s$=" 9"]{grid-column-end:10}[data-cols\@s="9"]{grid-column:9}[data-cols\@s^="10 "]{grid-column-start:10}[data-cols\@s$=" 10"]{grid-column-end:11}[data-cols\@s="10"]{grid-column:10}[data-cols\@s^="11 "]{grid-column-start:11}[data-cols\@s$=" 11"]{grid-column-end:12}[data-cols\@s="11"]{grid-column:11}[data-cols\@s^="12 "]{grid-column-start:12}[data-cols\@s$=" 12"]{grid-column-end:13}[data-cols\@s="12"]{grid-column:12}[data-rows\@s^="1 "]{grid-row-start:1}[data-rows\@s$=" 1"]{grid-row-end:2}[data-rows\@s="1"]{grid-row:1}[data-rows\@s^="2 "]{grid-row-start:2}[data-rows\@s$=" 2"]{grid-row-end:3}[data-rows\@s="2"]{grid-row:2}[data-rows\@s^="3 "]{grid-row-start:3}[data-rows\@s$=" 3"]{grid-row-end:4}[data-rows\@s="3"]{grid-row:3}[data-rows\@s^="4 "]{grid-row-start:4}[data-rows\@s$=" 4"]{grid-row-end:5}[data-rows\@s="4"]{grid-row:4}[data-rows\@s^="5 "]{grid-row-start:5}[data-rows\@s$=" 5"]{grid-row-end:6}[data-rows\@s="5"]{grid-row:5}[data-rows\@s^="6 "]{grid-row-start:6}[data-rows\@s$=" 6"]{grid-row-end:7}[data-rows\@s="6"]{grid-row:6}[data-rows\@s^="7 "]{grid-row-start:7}[data-rows\@s$=" 7"]{grid-row-end:8}[data-rows\@s="7"]{grid-row:7}[data-rows\@s^="8 "]{grid-row-start:8}[data-rows\@s$=" 8"]{grid-row-end:9}[data-rows\@s="8"]{grid-row:8}[data-rows\@s^="9 "]{grid-row-start:9}[data-rows\@s$=" 9"]{grid-row-end:10}[data-rows\@s="9"]{grid-row:9}[data-rows\@s^="10 "]{grid-row-start:10}[data-rows\@s$=" 10"]{grid-row-end:11}[data-rows\@s="10"]{grid-row:10}[data-rows\@s^="11 "]{grid-row-start:11}[data-rows\@s$=" 11"]{grid-row-end:12}[data-rows\@s="11"]{grid-row:11}[data-rows\@s^="12 "]{grid-row-start:12}[data-rows\@s$=" 12"]{grid-row-end:13}[data-rows\@s="12"]{grid-row:12}}@media (min-width:1024px){[data-cols\@l^="1 "]{grid-column-start:1}[data-cols\@l$=" 1"]{grid-column-end:2}[data-cols\@l="1"]{grid-column:1}[data-cols\@l^="2 "]{grid-column-start:2}[data-cols\@l$=" 2"]{grid-column-end:3}[data-cols\@l="2"]{grid-column:2}[data-cols\@l^="3 "]{grid-column-start:3}[data-cols\@l$=" 3"]{grid-column-end:4}[data-cols\@l="3"]{grid-column:3}[data-cols\@l^="4 "]{grid-column-start:4}[data-cols\@l$=" 4"]{grid-column-end:5}[data-cols\@l="4"]{grid-column:4}[data-cols\@l^="5 "]{grid-column-start:5}[data-cols\@l$=" 5"]{grid-column-end:6}[data-cols\@l="5"]{grid-column:5}[data-cols\@l^="6 "]{grid-column-start:6}[data-cols\@l$=" 6"]{grid-column-end:7}[data-cols\@l="6"]{grid-column:6}[data-cols\@l^="7 "]{grid-column-start:7}[data-cols\@l$=" 7"]{grid-column-end:8}[data-cols\@l="7"]{grid-column:7}[data-cols\@l^="8 "]{grid-column-start:8}[data-cols\@l$=" 8"]{grid-column-end:9}[data-cols\@l="8"]{grid-column:8}[data-cols\@l^="9 "]{grid-column-start:9}[data-cols\@l$=" 9"]{grid-column-end:10}[data-cols\@l="9"]{grid-column:9}[data-cols\@l^="10 "]{grid-column-start:10}[data-cols\@l$=" 10"]{grid-column-end:11}[data-cols\@l="10"]{grid-column:10}[data-cols\@l^="11 "]{grid-column-start:11}[data-cols\@l$=" 11"]{grid-column-end:12}[data-cols\@l="11"]{grid-column:11}[data-cols\@l^="12 "]{grid-column-start:12}[data-cols\@l$=" 12"]{grid-column-end:13}[data-cols\@l="12"]{grid-column:12}[data-rows\@l^="1 "]{grid-row-start:1}[data-rows\@l$=" 1"]{grid-row-end:2}[data-rows\@l="1"]{grid-row:1}[data-rows\@l^="2 "]{grid-row-start:2}[data-rows\@l$=" 2"]{grid-row-end:3}[data-rows\@l="2"]{grid-row:2}[data-rows\@l^="3 "]{grid-row-start:3}[data-rows\@l$=" 3"]{grid-row-end:4}[data-rows\@l="3"]{grid-row:3}[data-rows\@l^="4 "]{grid-row-start:4}[data-rows\@l$=" 4"]{grid-row-end:5}[data-rows\@l="4"]{grid-row:4}[data-rows\@l^="5 "]{grid-row-start:5}[data-rows\@l$=" 5"]{grid-row-end:6}[data-rows\@l="5"]{grid-row:5}[data-rows\@l^="6 "]{grid-row-start:6}[data-rows\@l$=" 6"]{grid-row-end:7}[data-rows\@l="6"]{grid-row:6}[data-rows\@l^="7 "]{grid-row-start:7}[data-rows\@l$=" 7"]{grid-row-end:8}[data-rows\@l="7"]{grid-row:7}[data-rows\@l^="8 "]{grid-row-start:8}[data-rows\@l$=" 8"]{grid-row-end:9}[data-rows\@l="8"]{grid-row:8}[data-rows\@l^="9 "]{grid-row-start:9}[data-rows\@l$=" 9"]{grid-row-end:10}[data-rows\@l="9"]{grid-row:9}[data-rows\@l^="10 "]{grid-row-start:10}[data-rows\@l$=" 10"]{grid-row-end:11}[data-rows\@l="10"]{grid-row:10}[data-rows\@l^="11 "]{grid-row-start:11}[data-rows\@l$=" 11"]{grid-row-end:12}[data-rows\@l="11"]{grid-row:11}[data-rows\@l^="12 "]{grid-row-start:12}[data-rows\@l$=" 12"]{grid-row-end:13}[data-rows\@l="12"]{grid-row:12}} \ No newline at end of file
diff --git a/www/releases/_artifacts/v1.0.8/missing-js/19.js b/www/releases/_artifacts/v1.0.8/missing-js/19.js
deleted file mode 100644
index 1e034eb..0000000
--- a/www/releases/_artifacts/v1.0.8/missing-js/19.js
+++ /dev/null
@@ -1,3 +0,0 @@
-function T(e){return(...t)=>(console.log("%c%s","color:green",e,...t),t.at(-1))}const h=T("19.js");function E(e){return e.replace(/[A-Z]/g,t=>"-"+t.toLowerCase())}function f(e,t,n,r,i={}){const{wrap:l=!0}=i,u=e+"ElementSibling",a=()=>l?e==="next"?d(t,n):g(t,n).at(-1):null;if(!r)return a();let o=r;for(;;){for(;o[u]===null;)if(o=o.parentElement,o===t)return a();o=o[u];const s=o.matches(n)?o:d(o,n);if(s)return s}}function d(e,t){return e.querySelector(t)}function g(e,t){return Array.from(e.querySelectorAll(t))}function L(e,t,n,r={}){const i=l=>(r.addedBy&&!r.addedBy.isConnected&&v({target:e,type:t,listener:i,options:r}),n(l));return e.addEventListener(t,i,r),{target:e,type:t,options:r,listener:i}}function v({target:e,type:t,listener:n,options:r}){return e.removeEventListener(t,n,r)}function y(e,t){for(const n of e.split(" "))n==="default"&&t.preventDefault(),n==="bubbling"&&t.stopPropagation(),n==="propagation"&&t.stopImmediatePropagation()}function A(e,t){return n=>{y(e,n),t(n)}}function w(e,t,n){return e.dispatchEvent(new CustomEvent(t,{detail:n}))}function k(e,t,n=void 0){if(typeof t=="object"){for(const i in t)e.setAttribute(E(i),t[i]);return null}const r=e.getAttribute(t);return n===void 0?e.getAttribute(t):n===null?(e.removeAttribute(t),r):(e.setAttribute(t,n),n)}function x(e){const t=document.createElement("div");return t.append(e),t.innerHTML}function b(e){return e==null?"":e instanceof Node?x(e):String(e).replaceAll("&","&amp;").replaceAll("<","&lt;").replaceAll(">","&gt;").replaceAll("'","&#x27;").replaceAll('"',"&quot;")}function N(e,...t){const n=document.createElement("template");return typeof e=="object"&&"raw"in e&&(e=String.raw(e,...t.map(b))),n.innerHTML=e,n.content}function O(e){return e instanceof HTMLElement?e:null}function P(e,t,n,r={}){return f("next",e,t,n,r)}function S(e,t,n,r={}){return f("previous",e,t,n,r)}function B(e){const l={},u=o=>~~(o.altKey&&1)|~~(o.ctrlKey&&2)|~~(o.metaKey&&4)|~~(o.shiftKey&&8),a=o=>{const s=o.split("+"),c=s.pop();let p=0;for(const m in s)switch(m.toLowerCase()){case"alt":p|=1;break;case"ctrl":p|=2;break;case"meta":p|=4;break;case"shift":p|=8;break}return[c,p]};for(const[o,s]of Object.entries(e)){const[c,p]=a(o);(l[c]??(l[c]=new Array(8)))[p]=s}return o=>l[o.key]?.[u(o)]?.(o)}function C(e,t,{mode:n="trailing"}={}){let r=null;return(...i)=>{r?clearTimeout(r):n==="leading"&&t(...i),r=setTimeout(()=>{n==="trailing"&&t(...i),r=null},e)}}function D(e,t){const n=new WeakSet;return(r=document,i={})=>{const l=r.getRootNode();g(r,e).forEach(u=>{n.has(u)||(n.add(u),t(u,{options:i,root:l}))})}}function K(e,t){return n=>{let r=null;const i=(...a)=>{const o=r;r=a.at(-1),r instanceof DocumentFragment&&(r=r.lastChild),o?o.after(...a):e.prepend(...a)},l=a=>{if(a)for(;a.nextSibling;)a.nextSibling.remove();else e.replaceChildren()},u=e.getRootNode();for(const a of n){const o=t.idOf(a),s=u.getElementById(o);i(s?t.update?.(s,a)??s:t.create(a,{id:o}))}l(r)}}export{d as $,g as $$,O as asHtml,k as attr,D as behavior,C as debounce,w as dispatch,y as halt,A as halts,B as hotkey,N as html,b as htmlescape,T as makelogger,P as next,v as off,L as on,S as prev,K as repeater,x as stringifyNode,f as traverse};
-
-/*# sourceMappingURL=./19.js.map */ \ No newline at end of file
diff --git a/www/releases/_artifacts/v1.0.8/missing-js/menu.js b/www/releases/_artifacts/v1.0.8/missing-js/menu.js
deleted file mode 100644
index 80c3830..0000000
--- a/www/releases/_artifacts/v1.0.8/missing-js/menu.js
+++ /dev/null
@@ -1,3 +0,0 @@
-import{$ as m,$$ as h,on as o,dispatch as c,halts as g,attr as i,next as E,prev as _,asHtml as a,hotkey as w,behavior as f,makelogger as k}from"./19.js";const l=k("menu"),x="[role=menu]",s="[role=menuitem]",p=e=>h(e,s),y=(e,{root:r})=>{const t=i(e,"aria-controls");return t===null?null:r.getElementById(t)},u=e=>m(e,s),v=e=>p(e).at(-1)??null,d=e=>!e.hidden,B=f(x,(e,{root:r})=>{if(!(e instanceof HTMLElement))return;let t;p(e).forEach(n=>n.setAttribute("tabindex","-1")),o(e,"menu:open",n=>{t=n.detail?.opener,t||l("Warning: Menu",e,"opened without passing an `opener` element"),e.hidden=!1,u(e)?.focus()}),o(e,"menu:close",n=>{l("menu:close",e.hidden=!0),t?.focus()}),o(e,"focusout",n=>{d(e)&&(e.contains(n.relatedTarget)||t!==n.relatedTarget&&c(e,"menu:close"))}),o(e,"keydown",g("default",w({ArrowUp:n=>a(_(e,s,r.activeElement,{}))?.focus(),ArrowDown:n=>a(E(e,s,r.activeElement,{}))?.focus(),Space:n=>a(r.activeElement?.closest(s))?.click(),Home:n=>u(e)?.focus(),End:n=>v(e)?.focus(),Escape:n=>c(e,"menu:close")}))),o(window,"click",n=>{d(e)&&t!==n.target&&c(e,"menu:close")},{addedBy:e})}),M=f("[aria-haspopup=menu]",(e,{root:r})=>{const t=y(e,{root:r});if(t===null)return l("Error: Menu button",e,"has no menu.");o(t,"menu:close",n=>i(e,"aria-expanded","false"),{addedBy:e}),o(t,"menu:open",n=>i(e,"aria-expanded","true"),{addedBy:e}),o(e,"click",()=>c(t,d(t)?"menu:close":"menu:open",{opener:e}))});B(document);M(document);export{B as menu,M as menuButton};
-
-/*# sourceMappingURL=./menu.js.map */ \ No newline at end of file
diff --git a/www/releases/_artifacts/v1.0.8/missing-js/overflow-nav.js b/www/releases/_artifacts/v1.0.8/missing-js/overflow-nav.js
deleted file mode 100644
index 8ede3f4..0000000
--- a/www/releases/_artifacts/v1.0.8/missing-js/overflow-nav.js
+++ /dev/null
@@ -1,3 +0,0 @@
-import{$ as f,asHtml as g,attr as d,behavior as p,makelogger as m,on as l}from"./19.js";const w=m("overflow-nav"),a=p("[data-overflow-nav]",(t,{options:{expandedClass:o="expanded"}})=>{const e=g(f(t,"[data-nav-expander]"));if(e===null)return w("Expand toggle missing from navbar ",t);const c=()=>t.scrollWidth>t.clientWidth,r=()=>t.classList.contains(o),n=(s=!r())=>{s?(t.classList.add(o),d(e,"aria-pressed",!0),e.textContent="\xD7"):(t.classList.remove(o),d(e,"aria-pressed",!1),e.textContent="\u2630")},i=()=>{const s=e.hidden;e.hidden=!c(),s!=e.hidden&&n(!1)};l(e,"click",()=>n()),i(),l(window,"resize",()=>i(),{addedBy:t})});var h=a;a(document);export{h as default};
-
-/*# sourceMappingURL=./overflow-nav.js.map */ \ No newline at end of file
diff --git a/www/releases/_artifacts/v1.0.8/missing-js/tabs.js b/www/releases/_artifacts/v1.0.8/missing-js/tabs.js
deleted file mode 100644
index 873a350..0000000
--- a/www/releases/_artifacts/v1.0.8/missing-js/tabs.js
+++ /dev/null
@@ -1,3 +0,0 @@
-import{$ as m,$$ as p,on as t,attr as s,next as x,prev as b,asHtml as r,hotkey as T,behavior as k,makelogger as w}from"./19.js";const E=w("tabs"),c=e=>p(e,"[role=tab]"),u=e=>m(e,"[role=tab][aria-selected=true]"),i=(e,n)=>{const o=s(e,"aria-controls");return o===null?(E("Tab",e,"has no associated tabpanel"),null):n.getElementById(o)},f=(e,n,o,{focusTab:h=!0}={})=>{if(!o)return;const a=u(n);if(a){s(a,{ariaSelected:!1,tabindex:-1});const l=i(a,e);l&&(l.hidden=!0)}s(o,{ariaSelected:!0,tabindex:0});const d=i(o,e);d&&(d.hidden=!1),h&&o.focus()},g=k("[role=tablist]",(e,{root:n})=>{e instanceof HTMLElement&&(e.tabIndex=0,c(e).forEach(o=>o.tabIndex=-1),f(n,e,u(e),{focusTab:!1}),t(e,"focus",o=>u(e)?.focus()),t(e,"click",o=>f(n,e,r(r(o.target)?.closest("[role=tab]")))),t(e,"focusin",o=>f(n,e,r(r(o.target)?.closest("[role=tab]")))),t(e,"keydown",T({ArrowRight:o=>r(x(e,"[role=tab]",r(o.target)))?.focus(),ArrowLeft:o=>r(b(e,"[role=tab]",r(o.target)))?.focus(),Home:o=>c(e).at(0)?.focus(),End:o=>c(e).at(-1)?.focus()})))});g(document);var H=g;export{H as default,g as tablist};
-
-/*# sourceMappingURL=./tabs.js.map */ \ No newline at end of file
diff --git a/www/releases/_artifacts/v1.0.8/missing-prism.css b/www/releases/_artifacts/v1.0.8/missing-prism.css
deleted file mode 100644
index 23e48b5..0000000
--- a/www/releases/_artifacts/v1.0.8/missing-prism.css
+++ /dev/null
@@ -1,62 +0,0 @@
-
-.token.comment,
-.token.prolog,
-.token.doctype,
-.token.cdata,
-.token.punctuation {
- color: var(--muted-fg);
-}
-
-.token.property,
-.token.tag,
-.token.boolean,
-.token.number,
-.token.constant,
-.token.symbol,
-.token.deleted {
- color: var(--bad-fg);
-}
-
-.token.selector,
-.token.attr-name,
-.token.string,
-.token.char,
-.token.builtin,
-.token.inserted {
- color: var(--ok-fg);
-}
-
-.token.operator,
-.token.entity,
-.token.url,
-.language-css .token.string,
-.style .token.string,
-.token.regex,
-.token.important,
-.token.variable {
- color: var(--warn-fg)
-}
-
-.token.atrule,
-.token.attr-value,
-.token.keyword {
- color: var(--info-fg);
-}
-
-.token.function {
- color: var(--bad-fg);
- font-style: italic;
-}
-
-.token.important,
-.token.bold {
- font-weight: bold;
-}
-
-.token.italic {
- font-style: italic;
-}
-
-.token.entity {
- cursor: help;
-}
diff --git a/www/releases/_artifacts/v1.0.8/missing-prism.min.css b/www/releases/_artifacts/v1.0.8/missing-prism.min.css
deleted file mode 100644
index 41c91b1..0000000
--- a/www/releases/_artifacts/v1.0.8/missing-prism.min.css
+++ /dev/null
@@ -1 +0,0 @@
-.token.cdata,.token.comment,.token.doctype,.token.prolog,.token.punctuation{color:var(--muted-fg)}.token.boolean,.token.constant,.token.deleted,.token.number,.token.property,.token.symbol,.token.tag{color:var(--bad-fg)}.token.attr-name,.token.builtin,.token.char,.token.inserted,.token.selector,.token.string{color:var(--ok-fg)}.language-css .token.string,.style .token.string,.token.entity,.token.important,.token.operator,.token.regex,.token.url,.token.variable{color:var(--warn-fg)}.token.atrule,.token.attr-value,.token.keyword{color:var(--info-fg)}.token.function{color:var(--bad-fg);font-style:italic}.token.bold,.token.important{font-weight:700}.token.italic{font-style:italic}.token.entity{cursor:help} \ No newline at end of file
diff --git a/www/releases/_artifacts/v1.0.8/missing.css b/www/releases/_artifacts/v1.0.8/missing.css
deleted file mode 100644
index 9ac5e36..0000000
--- a/www/releases/_artifacts/v1.0.8/missing.css
+++ /dev/null
@@ -1,2421 +0,0 @@
-/* Document
- * ========================================================================== */
-
-/**
- * 1. Add border box sizing in all browsers (opinionated).
- * 2. Backgrounds do not repeat by default (opinionated).
- */
-
-*,
-::before,
-::after {
- box-sizing: border-box; /* 1 */
- background-repeat: no-repeat; /* 2 */
-}
-
-/**
- * 1. Add text decoration inheritance in all browsers (opinionated).
- * 2. Add vertical alignment inheritance in all browsers (opinionated).
- */
-
-::before,
-::after {
- text-decoration: inherit; /* 1 */
- vertical-align: inherit; /* 2 */
-}
-
-/**
- * 1. Use the default cursor in all browsers (opinionated).
- * 3. Breaks words to prevent overflow in all browsers (opinionated).
- * 5. Remove the grey highlight on links in iOS (opinionated).
- * 6. Prevent adjustments of font size after orientation changes in iOS.
- */
-
-:root {
- cursor: default; /* 1 */
- overflow-wrap: break-word; /* 3 */
- -webkit-tap-highlight-color: transparent; /* 5 */
- text-size-adjust: none;
- -webkit-text-size-adjust: none;
-}
-
-/* Text-level semantics
- * ========================================================================== */
-
-/**
- * Add the correct text decoration in Safari.
- */
-
-abbr[title] {
- text-decoration: underline;
- -webkit-text-decoration: underline dotted;
- text-decoration: underline dotted;
-}
-
-/**
- * Add the correct font weight in Chrome, Edge, and Safari.
- */
-
-strong, b {
- font-weight: bolder;
-}
-
-/**
- * Add the correct font size in all browsers.
- */
-
-small {
- font-size: 80%;
-}
-
-/* Embedded content
- * ========================================================================== */
-
-/*
- * Change the alignment on media elements in all browsers (opinionated).
- */
-
-audio, canvas, iframe, img, svg, video {
- vertical-align: middle;
-}
-
-/**
- * Change the fill color to match the text color in all browsers (opinionated).
- */
-
-svg:not([fill]) {
- fill: currentColor;
-}
-
-/* Tabular data
- * ========================================================================== */
-
-/**
- * 1. Collapse border spacing in all browsers (opinionated).
- * 2. Correct table border color in Chrome, Edge, and Safari.
- * 3. Remove text indentation from table contents in Chrome, Edge, and Safari.
- */
-
-table {
- border-collapse: collapse; /* 1 */
- border-color: currentColor; /* 2 */
- text-indent: 0; /* 3 */
-}
-
-/* Forms
- * ========================================================================== */
-
-/**
- * Remove the margin on controls in Safari.
- */
-
-button, input, select {
- margin: 0;
-}
-
-/**
- * Correct the inability to style buttons in iOS and Safari.
- */
-
-button, [type="button"], [type="reset"], [type="submit"] {
- -webkit-appearance: button;
-}
-
-/**
- * Change the inconsistent appearance in all browsers (opinionated).
- */
-
-fieldset {
- border: 1px solid #a0a0a0;
-}
-
-/**
- * Add the correct vertical alignment in Chrome, Edge, and Firefox.
- */
-
-progress {
- vertical-align: baseline;
-}
-
-/**
- * 1. Remove the margin in Firefox and Safari.
- */
-
-textarea {
- margin: 0; /* 1 */
-}
-
-/**
- * 1. Correct the odd appearance in Chrome, Edge, and Safari.
- * 2. Correct the outline style in Safari.
- */
-
-[type="search"] {
- -webkit-appearance: textfield; /* 1 */
- outline-offset: -2px; /* 2 */
-}
-
-/**
- * Correct the cursor style of increment and decrement buttons in Safari.
- */
-
-::-webkit-inner-spin-button,
-::-webkit-outer-spin-button {
- block-size: auto;
-}
-
-/**
- * Correct the text style of placeholders in Chrome, Edge, and Safari.
- */
-
-::-webkit-input-placeholder {
- color: inherit;
- opacity: 0.54;
-}
-
-/**
- * Remove the inner padding in Chrome, Edge, and Safari on macOS.
- */
-
-::-webkit-search-decoration {
- -webkit-appearance: none;
-}
-
-/**
- * 1. Correct the inability to style upload buttons in iOS and Safari.
- * 2. Change font properties to `inherit` in Safari.
- */
-
-::-webkit-file-upload-button {
- -webkit-appearance: button; /* 1 */
- font: inherit; /* 2 */
-}
-
-/* Interactive
- * ========================================================================== */
-
-[hidden] {
- display: none !important;
-}
-
-:focus-visible {
- outline: .2em solid var(--accent);
- z-index: 32;
-}
-
-iframe:focus-visible,
- html:focus-visible,
- body:focus-visible {
- outline: none;
- }
-
-:target {
- outline: .2em solid var(--fg);
- z-index: 2;
-}
-
-/*
- * Add the correct display in Safari.
- */
-
-details > summary:first-of-type {
- display: list-item;
-}
-
-/* Accessibility
- * ========================================================================== */
-
-/**
- * Change the cursor on busy elements in all browsers (opinionated).
- */
-
-[aria-busy="true"] {
- cursor: progress;
-}
-
-/*
- * Change the cursor on disabled, not-editable, or otherwise
- * inoperable elements in all browsers (opinionated).
- */
-
-[aria-disabled="true"], [disabled] {
- cursor: not-allowed;
-}
-
-datalist {
- display: none !important;
-}
-
-/* https://github.com/fchristant/colar/ */
-
-:root {
- --gray-0: #f8fafb;
- --gray-1: #f2f4f6;
- --gray-2: #ebedef;
- --gray-3: #e0e4e5;
- --gray-4: #d1d6d8;
- --gray-5: #b1b6b9;
- --gray-6: #979b9d;
- --gray-7: #7e8282;
- --gray-8: #666968;
- --gray-9: #50514f;
- --gray-10: #3a3a37;
- --gray-11: #252521;
- --gray-12: #121210;
-
- --red-0: #fff5f5;
- --red-1: #ffe3e3;
- --red-2: #ffc9c9;
- --red-3: #ffa8a8;
- --red-4: #ff8787;
- --red-5: #ff6b6b;
- --red-6: #fa5252;
- --red-7: #f03e3e;
- --red-8: #e03131;
- --red-9: #c92a2a;
- --red-10: #b02525;
- --red-11: #962020;
- --red-12: #7d1a1a;
-
- --pink-0: #fff0f6;
- --pink-1: #ffdeeb;
- --pink-2: #fcc2d7;
- --pink-3: #faa2c1;
- --pink-4: #f783ac;
- --pink-5: #f06595;
- --pink-6: #e64980;
- --pink-7: #d6336c;
- --pink-8: #c2255c;
- --pink-9: #a61e4d;
- --pink-10: #8c1941;
- --pink-11: #731536;
- --pink-12: #59102a;
-
- --purple-0: #f8f0fc;
- --purple-1: #f3d9fa;
- --purple-2: #eebefa;
- --purple-3: #e599f7;
- --purple-4: #da77f2;
- --purple-5: #cc5de8;
- --purple-6: #be4bdb;
- --purple-7: #ae3ec9;
- --purple-8: #9c36b5;
- --purple-9: #862e9c;
- --purple-10: #702682;
- --purple-11: #5a1e69;
- --purple-12: #44174f;
-
- --violet-0: #f3f0ff;
- --violet-1: #e5dbff;
- --violet-2: #d0bfff;
- --violet-3: #b197fc;
- --violet-4: #9775fa;
- --violet-5: #845ef7;
- --violet-6: #7950f2;
- --violet-7: #7048e8;
- --violet-8: #6741d9;
- --violet-9: #5f3dc4;
- --violet-10: #5235ab;
- --violet-11: #462d91;
- --violet-12: #3a2578;
-
- --indigo-0: #edf2ff;
- --indigo-1: #dbe4ff;
- --indigo-2: #bac8ff;
- --indigo-3: #91a7ff;
- --indigo-4: #748ffc;
- --indigo-5: #5c7cfa;
- --indigo-6: #4c6ef5;
- --indigo-7: #4263eb;
- --indigo-8: #3b5bdb;
- --indigo-9: #364fc7;
- --indigo-10: #2f44ad;
- --indigo-11: #283a94;
- --indigo-12: #21307a;
-
- --blue-0: #e7f5ff;
- --blue-1: #d0ebff;
- --blue-2: #a5d8ff;
- --blue-3: #74c0fc;
- --blue-4: #4dabf7;
- --blue-5: #339af0;
- --blue-6: #228be6;
- --blue-7: #1c7ed6;
- --blue-8: #1971c2;
- --blue-9: #1864ab;
- --blue-10: #145591;
- --blue-11: #114678;
- --blue-12: #0d375e;
-
- --cyan-0: #e3fafc;
- --cyan-1: #c5f6fa;
- --cyan-2: #99e9f2;
- --cyan-3: #66d9e8;
- --cyan-4: #3bc9db;
- --cyan-5: #22b8cf;
- --cyan-6: #15aabf;
- --cyan-7: #1098ad;
- --cyan-8: #0c8599;
- --cyan-9: #0b7285;
- --cyan-10: #095c6b;
- --cyan-11: #074652;
- --cyan-12: #053038;
-
- --teal-0: #e6fcf5;
- --teal-1: #c3fae8;
- --teal-2: #96f2d7;
- --teal-3: #63e6be;
- --teal-4: #38d9a9;
- --teal-5: #20c997;
- --teal-6: #12b886;
- --teal-7: #0ca678;
- --teal-8: #099268;
- --teal-9: #087f5b;
- --teal-10: #066649;
- --teal-11: #054d37;
- --teal-12: #033325;
-
- --green-0: #ebfbee;
- --green-1: #d3f9d8;
- --green-2: #b2f2bb;
- --green-3: #8ce99a;
- --green-4: #69db7c;
- --green-5: #51cf66;
- --green-6: #40c057;
- --green-7: #37b24d;
- --green-8: #2f9e44;
- --green-9: #2b8a3e;
- --green-10: #237032;
- --green-11: #1b5727;
- --green-12: #133d1b;
-
- --lime-0: #f4fce3;
- --lime-1: #e9fac8;
- --lime-2: #d8f5a2;
- --lime-3: #c0eb75;
- --lime-4: #a9e34b;
- --lime-5: #94d82d;
- --lime-6: #82c91e;
- --lime-7: #74b816;
- --lime-8: #66a80f;
- --lime-9: #5c940d;
- --lime-10: #4c7a0b;
- --lime-11: #3c6109;
- --lime-12: #2c4706;
-
- --yellow-0: #fff9db;
- --yellow-1: #fff3bf;
- --yellow-2: #ffec99;
- --yellow-3: #ffe066;
- --yellow-4: #ffd43b;
- --yellow-5: #fcc419;
- --yellow-6: #fab005;
- --yellow-7: #f59f00;
- --yellow-8: #f08c00;
- --yellow-9: #e67700;
- --yellow-10: #b35c00;
- --yellow-11: #804200;
- --yellow-12: #663500;
-
- --orange-0: #fff4e6;
- --orange-1: #ffe8cc;
- --orange-2: #ffd8a8;
- --orange-3: #ffc078;
- --orange-4: #ffa94d;
- --orange-5: #ff922b;
- --orange-6: #fd7e14;
- --orange-7: #f76707;
- --orange-8: #e8590c;
- --orange-9: #d9480f;
- --orange-10: #bf400d;
- --orange-11: #99330b;
- --orange-12: #802b09;
-
- --choco-0: #fff8dc;
- --choco-1: #fce1bc;
- --choco-2: #f7ca9e;
- --choco-3: #f1b280;
- --choco-4: #e99b62;
- --choco-5: #df8545;
- --choco-6: #d46e25;
- --choco-7: #bd5f1b;
- --choco-8: #a45117;
- --choco-9: #8a4513;
- --choco-10: #703a13;
- --choco-11: #572f12;
- --choco-12: #3d210d;
-
- --brown-0: #faf4eb;
- --brown-1: #ede0d1;
- --brown-2: #e0cab7;
- --brown-3: #d3b79e;
- --brown-4: #c5a285;
- --brown-5: #b78f6d;
- --brown-6: #a87c56;
- --brown-7: #956b47;
- --brown-8: #825b3a;
- --brown-9: #6f4b2d;
- --brown-10:#5e3a21;
- --brown-11:#4e2b15;
- --brown-12: #422412;
-
- --sand-0: #f8fafb;
- --sand-1: #e6e4dc;
- --sand-2: #d5cfbd;
- --sand-3: #c2b9a0;
- --sand-4: #aea58c;
- --sand-5: #9a9178;
- --sand-6: #867c65;
- --sand-7: #736a53;
- --sand-8: #5f5746;
- --sand-9: #4b4639;
- --sand-10:#38352d;
- --sand-11:#252521;
- --sand-12: #121210;
-
- --camo-0: #f9fbe7;
- --camo-1: #e8ed9c;
- --camo-2: #d2df4e;
- --camo-3: #c2ce34;
- --camo-4: #b5bb2e;
- --camo-5: #a7a827;
- --camo-6: #999621;
- --camo-7: #8c851c;
- --camo-8: #7e7416;
- --camo-9: #6d6414;
- --camo-10: #5d5411;
- --camo-11: #4d460e;
- --camo-12: #36300a;
-
- --jungle-0: #ecfeb0;
- --jungle-1: #def39a;
- --jungle-2: #d0e884;
- --jungle-3: #c2dd6e;
- --jungle-4: #b5d15b;
- --jungle-5: #a8c648;
- --jungle-6: #9bbb36;
- --jungle-7: #8fb024;
- --jungle-8: #84a513;
- --jungle-9: #7a9908;
- --jungle-10: #658006;
- --jungle-11: #516605;
- --jungle-12: #3d4d04;
-}
-
-/***
- 4.1 The document element
- https://html.spec.whatwg.org/multipage/semantics.html#the-root-element
-
- 4.3 Sections
- https://html.spec.whatwg.org/multipage/sections.html
- ***/
-
-html {
- font-family: var(--main-font);
- line-height: var(--rhythm);
-
- background: var(--bg);
- color: var(--fg);
- scroll-padding-block-start: calc(4 * var(--gap));
-}
-
-body {
- margin: 0;
-}
-
-header, footer, section + section {
- margin-block: calc(2 * var(--gap));
-}
-
-nav a {
- text-decoration: none;
- color: var(--accent);
- }
-
-/* SEE components/box.css */
-
-aside h1,
- aside h2,
- aside h3,
- aside h4,
- aside h5,
- aside h6 {
- font-size: 1em;
- text-transform: none;
- letter-spacing: none;
- }
-
-aside.big {
- /* Pull quote */
- background: none;
- border: none;
- -webkit-border-start: 1px solid var(--muted-fg);
- border-inline-start: 1px solid var(--muted-fg);
- border-radius: 0;
- padding: 0;
- -webkit-padding-start: var(--rhythm);
- padding-inline-start: var(--rhythm);
- font-style: italic;
- color: var(--accent);
- }
-
-h1, h2, h3, h4, h5, h6,
-.\<h1\>, .\<h2\>, .\<h3\>, .\<h4\>, .\<h5\>, .\<h6\> {
- -webkit-margin-after: var(--gap);
- margin-block-end: var(--gap);
- font-family: var(--secondary-font);
- font-size: 1em;
- -webkit-margin-before: calc(2 * var(--gap));
- margin-block-start: calc(2 * var(--gap));
- position: relative;
-}
-
-h1, .\<h1\> {
- font-size: 2em;
- text-transform: none;
- line-height: calc(2 * var(--rhythm));
- letter-spacing: 0;
-}
-
-h2, .\<h2\> {
- font-size: 1.6em;
- text-transform: none;
- line-height: calc(1.5 * var(--rhythm));
- letter-spacing: 0;
-}
-
-h3, .\<h3\> {
- font-size: 1.17em;
- line-height: calc(1 * var(--rhythm));
-}
-
-h4, .\<h4\>, h5, .\<h5\>, h6, .\<h6\> {
- font-size: 1em;
- text-transform: none;
- line-height: calc(1 * var(--rhythm));
- letter-spacing: 0;
- -webkit-margin-before: var(--gap);
- margin-block-start: var(--gap);
-}
-
-h1 + h2,
-h2 + h3,
-h3 + h4,
-h4 + h5,
-h5 + h6,
-h1:first-child,
-h2:first-child,
-h3:first-child,
-h4:first-child,
-h5:first-child,
-h6:first-child {
- -webkit-margin-before: var(--gap);
- margin-block-start: var(--gap);
-}
-
-h1:target,
-h2:target,
-h3:target,
-h4:target,
-h5:target,
-h6:target {
- outline: none
-}
-
-h1:target::before, h2:target::before, h3:target::before, h4:target::before, h5:target::before, h6:target::before {
- content: "";
- display: block;
- position: absolute;
- left: -.5em;
- width: 4px;
- height: 100%;
- background: var(--accent);
- }
-
-header {
- font-family: var(--secondary-font);
- -webkit-border-after: 1px solid var(--graphical-fg);
- border-block-end: 1px solid var(--graphical-fg);
-}
-
-footer {
- font-family: var(--secondary-font);
- -webkit-border-before: 1px solid var(--graphical-fg);
- border-block-start: 1px solid var(--graphical-fg);
-}
-
-body > header,
-body > footer,
-main + footer {
- padding: var(--rhythm) calc((100% - var(--eff-line-length)) / 2)
-}
-
-address {
- --density: 0;
-}
-
-/***
- 4.4 Grouping content
- https://html.spec.whatwg.org/multipage/grouping-content.html
- ***/
-
-p {
- margin-block: var(--gap);
-}
-
-hr {
- color: inherit;
- margin-inline: 0;
- margin-block: var(--gap);
-
- flex: 0 1 0px;
- -webkit-border-start: 1px solid var(--accent);
- border-inline-start: 1px solid var(--accent);
- block-size: auto;
- -webkit-border-before: 1px solid var(--accent);
- border-block-start: 1px solid var(--accent);
- -webkit-border-after: none;
- border-block-end: none;
- -webkit-border-end: none;
- border-inline-end: none;
-}
-
-pre {
- font-family: var(--mono-font);
- font-size: .9em;
- line-height: var(--rhythm);
- tab-size: 2;
-
- margin: var(--gap) 0;
-
- overflow-x: auto;
- scrollbar-width: thin;
- scrollbar-color: var(--accent) transparent;
-}
-
-blockquote {
- margin-inline: 0 var(--gap);
- padding-inline: var(--gap) 0;
- margin-block: var(--gap);
-
- font-size: 1.1em;
- line-height: var(--rhythm);
- font-style: italic;
-
- -webkit-border-start: 1px solid var(--graphical-fg);
-
- border-inline-start: 1px solid var(--graphical-fg);
- color: var(--muted-fg)
-}
-
-blockquote em, blockquote cite, blockquote dfn, blockquote var, blockquote i, blockquote address {
- font-style: normal;
- }
-
-blockquote footer {
- text-align: right;
- text-align: end;
- }
-
-ul, ol {
- -webkit-padding-start: var(--rhythm);
- padding-inline-start: var(--rhythm)
-}
-
-ul ul, ul ol, ol ul, ol ol {
- -webkit-padding-start: var(--gap);
- padding-inline-start: var(--gap);
- }
-
-ul[role="list"], ol[role="list"], ul[role="listbox"], ol[role="listbox"] {
- -webkit-padding-start: 0;
- padding-inline-start: 0;
- list-style: none;
- }
-
-ul {
-}
-
-ol {
- list-style: decimal;
-}
-
-dl {
- margin-block: var(--gap);
-}
-
-dt {
- font-weight: bold;
- font-family: var(--secondary-font);
- }
-
-dd {
- -webkit-margin-start: var(--rhythm);
- margin-inline-start: var(--rhythm);
- }
-
-li::marker {
- font-family: var(--secondary-font);
-}
-
-figure {
- max-width: 100%;
- margin-inline: 0;
-
- /* SEE components/box.css */
-}
-
-figcaption {
- margin-block: var(--gap);
-
- font-family: var(--secondary-font);
-
- color: var(--muted-fg);
-}
-
-main {
- max-inline-size: var(--eff-line-length);
- inline-size: 100%;
- margin-inline: auto
-}
-
-main:first-child { padding-top: var(--gap); }
-
-/***
- 4.5 Text-level semantics
- https://html.spec.whatwg.org/multipage/text-level-semantics.html
-
- 4.7 Edits
- https://html.spec.whatwg.org/multipage/edits.html
- ***/
-
-/* Text-level semantics */
-
-a, .\<a\> {
- color: var(--link-fg, var(--accent));
- font-family: var(--secondary-font);
- border-radius: var(--border-radius);
- outline-offset: 1px;
- background: none;
- border: none;
- font-size: 1em;
- -webkit-text-decoration: 1px dashed underline;
- text-decoration: 1px dashed underline
-}
-
-.list-of-links :is(a,.\<a\>) {
- text-decoration: none
-}
-
-:is(a,.\<a\>):hover, :is(a,.\<a\>):focus {
- -webkit-text-decoration: 2px solid underline;
- text-decoration: 2px solid underline;
- cursor: pointer;
- outline: none;
- }
-
-small[role="note"] {
- /***
- Sidenote
- ***/
- display: block;
- float: inline-end;
- clear: inline-end;
-
- --sidenote-width: 20ch;
-
- max-inline-size: var(--sidenote-width);
- padding-inline: 1.5ch 1ch;
-
- -webkit-margin-end: calc(1em - var(--sidenote-width));
-
- margin-inline-end: calc(1em - var(--sidenote-width));
- -webkit-margin-after: var(--rhythm);
- margin-block-end: var(--rhythm);
-
- font-family: var(--secondary-font);
-
- background: var(--bg);
- border: 1px solid transparent;
-
- transition: transform .1s ease-in-out
- }
-
-small[role="note"]:hover, small[role="note"]:focus-within {
- border: 1px solid var(--graphical-fg);
- border-radius: var(--border-radius);
- transform: translateX(calc(
- 0px - var(--sidenote-width)
- + min(var(--gutter-width), var(--sidenote-width))
- ))
- }
-
-small, .\<small\> {
- font-size: .8em;
-}
-
-s {
- color: var(--bad-fg);
-}
-
-q {
- font-style: italic
-}
-
-q em, q cite, q dfn, q var, q i, q address {
- font-style: normal;
- }
-
-time {
- font-variant-numeric: tabular-nums;
-}
-
-code, samp, kbd {
- font-family: var(--mono-font);
- font-style: normal;
-}
-
-samp {
- color: var(--ok-fg);
-}
-
-kbd kbd /*
- We apply the key-like styling to a nested kbd element, a pattern shown in
- WHATWG HTML for marking up keyboard input:
-
- > Here the kbd element is used to indicate keys to press:
- > ~~~ html
- > <p>To make George eat an apple, press <kbd><kbd>Shift</kbd> + <kbd>F3</kbd></kbd></p>
- > ~~~
-
- The plain kbd element can also be used for clicking menus (<kbd>File |
- New...</kbd>) or voice input (<kbd>Hey Siri, </kbd>)
-*/ {
- display: inline-block;
-
- padding: 0 .3em;
- font-size: .8em;
- line-height: 1.1em;
-
- background: var(--interactive-bg);
- border: 1px outset var(--graphical-fg);
- border-block-end-width: 3px;
- border-radius: var(--border-radius);
-}
-
-sub {
- vertical-align: bottom;
- line-height: 1;
-}
-
-sup {
- vertical-align: top;
- line-height: 1;
-}
-
-mark {
- background: var(--warn-bg);
- color: var(--warn-fg);
-}
-
-/* Edits */
-
-ins {
- background: var(--ok-bg);
- color: var(--ok-fg);
-}
-
-del {
- background: var(--bad-bg);
- color: var(--bad-fg);
-}
-
-/***
- 4.8 Embedded content
- https://html.spec.whatwg.org/multipage/embedded-content.html
- ***/
-
-img, video, audio, iframe, object, embed {
- max-inline-size: 100%;
- inline-size: max-content;
- block-size: auto;
-}
-
-/***
- 4.9 Tabular data
- https://html.spec.whatwg.org/multipage/tables.html
- ***/
-
-table {
- font-variant-numeric: tabular-nums;
- font: inherit;
-}
-
-caption {
- text-align: start;
- font-family: var(--secondary-font);
- font-style: italic;
-}
-
-tbody {
- border-block: 1px solid var(--faded-fg);
-}
-
-thead {
-}
-
-tfoot {
-}
-
-tr {
-
-}
-
-td, th {
- vertical-align: top
-}
-
-td:not(:last-child), th:not(:last-child) {
- -webkit-padding-end: var(--rhythm);
- padding-inline-end: var(--rhythm);
- }
-
-td {
- }
-
-th {
- font-family: var(--secondary-font);
- text-align: start;
- }
-
-/***
- 4.10 Forms
- https://html.spec.whatwg.org/multipage/forms.html
- ***/
-
-input { display: block; }
-
-label input:not([specificity-hack]) { display: inline; padding-block: 0; }
-
-button,
-input[type="submit"],
-input[type="reset"],
-input[type="button"],
-input::file-selector-button,
-.\<button\> {
- display: inline-block;
- padding: 0 calc(var(--rhythm) / 4);
- vertical-align: middle;
- box-sizing: border-box;
-
- font-size: .8rem;
- line-height: 1.125em;
- font-family: var(--secondary-font);
- min-height: var(--rhythm);
-
- background: var(--interactive-bg);
- color: var(--fg);
- border: 1px solid var(--muted-fg);
- box-shadow: 0 2px 4px -2px var(--fg);
- border-radius: var(--border-radius);
-
- /* a-specific resets */
- color: var(--fg);
- text-decoration: none;
- display: inline-flex;
- place-items: center
-}
-
-:is(button,input[type="submit"],input[type="reset"],input[type="button"],input::file-selector-button,.\<button\>):hover, :is(button,input[type="submit"],input[type="reset"],input[type="button"],input::file-selector-button,.\<button\>):focus-visible {
- filter: brightness(1.1);
- box-shadow: 0 3px 6px -2px var(--fg);
-
- /* a-specific resets */
- text-decoration: none;
- }
-
-:is(button,input[type="submit"],input[type="reset"],input[type="button"],input::file-selector-button,.\<button\>):active {
- box-shadow: none;
- }
-
-:is(button,input[type="submit"],input[type="reset"],input[type="button"],input::file-selector-button,.\<button\>):where([aria-pressed="true"], [aria-expanded="true"]) {
- box-shadow: 0 2px 4px -1px var(--fg) inset;
- background: var(--pressed-interactive-bg)
- }
-
-:is(button,input[type="submit"],input[type="reset"],input[type="button"],input::file-selector-button,.\<button\>):where([aria-pressed="true"], [aria-expanded="true"]):hover, :is(button,input[type="submit"],input[type="reset"],input[type="button"],input::file-selector-button,.\<button\>):where([aria-pressed="true"], [aria-expanded="true"]):focus-visible {
- box-shadow: 0 1px 3px -1px var(--fg) inset;
- }
-
-[disabled]:is(button,input[type="submit"],input[type="reset"],input[type="button"],input::file-selector-button,.\<button\>) {
- color: var(--muted-fg);
- box-shadow: none;
- }
-
-strong > :is(button,input[type="submit"],input[type="reset"],input[type="button"],input::file-selector-button,.\<button\>) {
- background: var(--accent);
- color: var(--bg);
- border: none;
- font-weight: bold
-}
-
-strong > [disabled]:is(button,input[type="submit"],input[type="reset"],input[type="button"],input::file-selector-button,.\<button\>) {
- color: var(--muted-accent);
- }
-
-.big:is(button,input[type="submit"],input[type="reset"],input[type="button"],input::file-selector-button,.\<button\>) {
- min-block-size: calc(1.5 * var(--rhythm));
- font-size: 1rem;
- padding-inline: calc(.5 * var(--rhythm));
- line-height: var(--rhythm)
-}
-
-input:not([type]),
-input[type="text"],
-input[type="search"],
-input[type="tel"],
-input[type="url"],
-input[type="email"],
-input[type="password"],
-input[type="date"],
-input[type="month"],
-input[type="week"],
-input[type="time"],
-input[type="datetime"],
-input[type="datetime-local"],
-input[type="number"],
-select,
-textarea {
- padding: calc(var(--rhythm) / 4);
- vertical-align: top;
-
- font-size: 1rem;
- line-height: inherit;
- font-family: var(--main-font);
-
- background: var(--bg);
- color: var(--fg);
- border: 1px solid var(--graphical-fg);
- border-radius: var(--border-radius);
-
- vertical-align: top
-}
-
-:is(input:not([type]),input[type="text"],input[type="search"],input[type="tel"],input[type="url"],input[type="email"],input[type="password"],input[type="date"],input[type="month"],input[type="week"],input[type="time"],input[type="datetime"],input[type="datetime-local"],input[type="number"],select,textarea):focus-visible {
- border: 1px solid var(--accent);
- }
-
-:is(input:not([type]),input[type="text"],input[type="search"],input[type="tel"],input[type="url"],input[type="email"],input[type="password"],input[type="date"],input[type="month"],input[type="week"],input[type="time"],input[type="datetime"],input[type="datetime-local"],input[type="number"],select,textarea)::placeholder {
- color: var(--muted-fg);
- opacity: 1;
- text-align: end;
- }
-
-input[type="range"] {
- width: 100%;
- padding: calc(var(--gap) / 4);
-}
-
-input[type="color"] {
- padding: 0;
- margin: 0;
- height: calc(1.5 * var(--rhythm));
-
- border: none;
- background: none;
-}
-
-input[type="file"] {
- padding: calc(var(--gap) / 4) 0;
- font: inherit;
- line-height: calc(var(--rhythm) / 2)
-}
-
-input[type="file"]::file-selector-button {
- margin-block: .1em 0;
- -webkit-margin-end: 1ch;
- margin-inline-end: 1ch;
- }
-
-select[multiple] {
- vertical-align: top;
-}
-
-optgroup::before {
- color: var(--muted-fg);
- font-style: normal;
-}
-
-progress {
- /* TODO */
-}
-
-meter {
- /* TODO */
-}
-
-label[for] {
- display: block;
- padding-block: calc(var(--gap) / 4);
-}
-
-fieldset {
- position: relative;
-
- padding: var(--gap);
- margin: var(--gap) 0;
- width: 100%;
- border-radius: var(--border-radius);
-}
-
-fieldset > legend + * { -webkit-margin-before: 0; margin-block-start: 0 }
-
-fieldset {
-
- border: 1px solid var(--graphical-fg);
-}
-
-/***
- 4.11 Interactive elements
- https://html.spec.whatwg.org/multipage/interactive-elements.html#interactive-elements
- ***/
-
-details:not(specificity-hack) {
- /* SEE components/box.css */
-
- -webkit-padding-before: 0;
-
- padding-block-start: 0
-}
-
-details:not(specificity-hack):not([open]) { -webkit-padding-after: 0; padding-block-end: 0; }
-
-summary {
- margin: calc(0px - var(--gap));
- margin-top: calc(0px - var(--gap));
- margin-bottom: 0;
- padding-inline: var(--gap);
-
- font-family: var(--secondary-font);
- font-weight: bold;
-
- cursor: pointer
-}
-
-summary:focus-visible, summary:active {
- filter: brightness(.8);
- outline: none;
- }
-
-dialog {
- /* SEE components/box.css */
-
- inline-inset: 0;
-
- block-size: -moz-fit-content;
-
- block-size: fit-content;
- inline-size: -moz-fit-content;
- inline-size: fit-content;
-
- margin: auto !important;
-
- background-color: var(--bg);
- color: var(--fg);
- border-color: var(--accent);
-}
-
-dialog[open]::backdrop {
- display: block;
- background: black;
- opacity: .4;
- animation: bg 2s;
-}
-
-@keyframes bg {
- from { background: transparent; }
-}
-
-dialog:not([open]) {
- display: none;
-}
-
-.box,
-/* defined elsewhere */
-[role=menu],
-.sidebar-layout > header,
-[role=tabpanel],
-figure,
-details,
-dialog,
-aside {
- margin: var(--gap) 0;
- padding: var(--gap);
- overflow: clip;
-
- border-radius: var(--border-radius);
- background: var(--box-bg);
- border: 1px solid var(--graphical-fg);
-}
-
-.titlebar {
- margin-inline: calc(0px - var(--gap));
- -webkit-margin-after: calc(0px - var(--gap));
- margin-block-end: calc(0px - var(--gap));
- padding-inline: var(--gap);
-
- font: inherit;
- font-family: var(--secondary-font);
- font-weight: bold;
-
- translate: 0 calc(-1px - var(--gap));
-
- background: var(--graphical-fg);
- color: var(--bg);
-}
-
-.sub-title, sub-title {
- /***
- Meant for use in headings. Make sure to also use visually-hidden punctuation
- to mark the subtitle as shown below:
-
- 1 | <h1>
- 2 | Foo Bar<v-h>:</v-h>
- 3 | <sub-title>How I Learned To Stop Worrying and Love Baz</sub-title>
- 4 | </h1>
-
- 1 | <h1>
- 2 | <sub-title class="-allcaps">Breaking News</sub-title><v-h>:</v-h>
- 3 | Bad Thing Happens
- 4 | <h1>
- ***/
-
- display: block;
-
- font-weight: normal;
-
- color: var(--muted-fg);
-}
-
-.tool-bar, [role=toolbar] {
- display: flex;
- flex-flow: row wrap;
- gap: calc(var(--gap) / 2)
-}
-
-.tool-bar > *, [role=toolbar] > * { margin: 0; }
-
-.sidebar-layout header li {
- margin-block: calc(.5 * var(--gap));
- }
-
-.sidebar-layout header a {
- font-weight: bold;
- }
-
-@media (min-width: 75ch) {
-
-.sidebar-layout {
- display: grid;
- grid-template-columns: 25ch auto;
- inset: 0
-}
-
- .sidebar-layout > header {
- border-block: none;
- -webkit-border-start: none;
- border-inline-start: none;
- margin: 0;
- }
-
- .sidebar-layout > :nth-child(2) {
- overflow: auto;
- --full-width: calc(100vw - 25ch);
- margin-top: var(--gap);
- }
- }
-
-.breadcrumbs[aria-label] {
- font-family: var(--secondary-font)
-}
-
-.breadcrumbs[aria-label] ul, .breadcrumbs[aria-label] ol {
- list-style: none;
- -webkit-padding-start: 0;
- padding-inline-start: 0;
- }
-
-.breadcrumbs[aria-label] li {
- display: inline
- }
-
-:is(.breadcrumbs[aria-label] li)+li::before {
- content: ' / ' / '';
- content: ' / ';
- display: inline;
- }
-
-.breadcrumbs[aria-label] [aria-current="page"] {
- font-weight: bold;
- }
-
-.chip, chip {
- font-family: var(--secondary-font);
- border: 1px solid var(--accent);
- background: var(--box-bg);
- border-radius: calc(var(--rhythm) / 2);
- padding-inline: calc(var(--rhythm) / 2);
-}
-
-.navbar {
- padding: var(--rhythm);
-
- font-family: var(--secondary-font);
-
- background: var(--box-bg);
- -webkit-border-after: 1px solid var(--accent);
- border-block-end: 1px solid var(--accent);
-
- overflow-x: auto;
- scrollbar-width: thin;
-
- position: sticky;
- z-index: 5;
- top: 0;
- left: 0;
- right: 0;
-
- /* Inner layout */
- display: flex;
- flex-flow: row;
- align-items: center;
- gap: var(--gap)
-}
-
-.navbar.expanded {
- flex-flow: column;
- align-items: start;
-
- max-height: 90vh;
- overflow-y: auto
- }
-
-.navbar.expanded ul[role="list"] { flex-flow: column; }
-
-.navbar * {
- flex-shrink: 0;
- margin-block: 0;
- }
-
-.navbar:not(.expanded) > :first-child, .navbar:not(.expanded) nav > :first-child { -webkit-margin-start: auto; margin-inline-start: auto; }
-
-.navbar:not(.expanded) > :last-child, .navbar:not(.expanded) nav > :last-child { -webkit-margin-end: auto; margin-inline-end: auto; }
-
-.navbar hr { align-self: stretch; }
-
-.navbar nav ul[role="list"] {
- display: flex;
- flex-flow: row;
- gap: var(--rhythm)
- }
-
-.navbar nav ul[role="list"] * { flex-shrink: 0 }
-
-.navbar nav ul[role="list"] {
- -webkit-padding-start: 0;
- padding-inline-start: 0;
- }
-
-.navbar a {
- font-weight: bold;
- text-decoration: none;
- padding-inline: .2em;
- }
-
-.navbar a:hover, .navbar a:focus {
- text-decoration: underline;
- }
-
-.navbar [aria-current=page] {
- position: relative;
- }
-
-.navbar [aria-current=page]::after {
- width: 100%;
- height: 6px;
- content: "";
- display: block;
- position: absolute;
- bottom: calc(-1 * var(--gap));
- background: currentcolor;
- }
-
-.navbar.expanded [aria-current=page]::after {
- width: 6px;
- height: 100%;
- position: absolute;
- left: calc(-1 * var(--gap));
- top: 0;
- }
-
-.permalink-anchor {
- display: none
-}
-
-*:hover > .permalink-anchor {
- display: initial
-}
-
-button.iconbutton {
- border: none;
- background: none;
- color: currentcolor;
- padding: 0;
- line-height: var(--rhythm);
- font-size: 24px;
- width: 24px;
- height: 24px;
- display: inline-block;
- text-align: center;
- border-radius: 50%;
- transition: font-weight .2s ease-in-out
-}
-
-button.iconbutton:hover, button.iconbutton:focus-visible {
- outline: 1px solid var(--accent);
- outline-offset: 6px;
- }
-
-button.iconbutton:active {
- outline-offset: 3px;
- background: none;
- }
-
-button.iconbutton[aria-pressed=true] {
- box-shadow: none;
- transform: none;
- }
-
-[role="tablist"] {
- display: flex;
- gap: .5ch;
- scrollbar-width: thin;
-}
-
-[role="tab"][role="tab"] {
- all: initial;
-
- font-family: var(--secondary-font);
-
- padding: 0 calc(var(--rhythm) / 4);
- margin: 0;
- min-height: var(--rhythm);
- bottom: -1px;
- position: relative;
-
- color: var(--fg);
- border: solid var(--graphical-fg);
- border-width: 1px;
- background: var(--interactive-bg);
-
- border-start-start-radius: .4em;
- border-start-end-radius: .4em
-}
-
-[role="tab"][role="tab"]:active, [role="tab"][role="tab"][aria-selected="true"] {
- background: var(--box-bg);
- -webkit-border-after: 1px solid transparent;
- border-block-end: 1px solid transparent;
- }
-
-[role="tab"][role="tab"]:hover {
- background-color: var(--box-bg);
- box-shadow: none;
- }
-
-[role="tab"][role="tab"]:focus-visible {
- box-shadow: none;
- color: var(--accent);
- text-decoration: underline;
- }
-
-[role="tabpanel"] {
- /* SEE components/box.css */
-
- -webkit-margin-before: 0;
-
- margin-block-start: 0;
- border-start-start-radius: 0;
- border-start-end-radius: 0;
- z-index: 1;
-}
-
-[role="menu"] {
- /* SEE components/box.css */
- position: absolute;
-
- z-index: 10;
-
- padding: calc(var(--gap) / 2) 0;
- margin: 1px 0 0 0;
-
- display: flex;
- flex-flow: column nowrap;
-}
-
-[role=menuitem] {
- padding: 0 calc(var(--gap) / 2);
-
- display: block;
-
- text-decoration: none;
- border-radius: 0;
-
- color: var(--fg)
-}
-
-[role=menuitem]:focus, [role=menuitem]:active {
- background: var(--accent);
- color: var(--bg);
- }
-
-[role=listbox] {
- list-style: none
-}
-
-[role=listbox] [role=option] {
- margin-inline: calc(-1 * var(--gap));
- padding-inline: var(--gap);
- }
-
-[role=listbox] [role=option][aria-selected=true] {
- background: var(--interactive-bg);
- }
-
-[role=listbox] .active[role=option] {
- --temporary-bg: var(--accent);
- --temporary-fg: var(--bg);
- --temporary-accent: parent-var(--muted-accent);
- --temporary-muted-accent: parent-var(--box-bg);
-
- background: var(--temporary-bg);
- color: var(--temporary-fg)
- }
-
-[role=listbox] .active[role=option] > * {
- --bg: var(--temporary-bg);
- --fg: var(--temporary-fg);
- --accent: var(--temporary-accent);
- --muted-accent: var(--temporary-muted-accent);
- }
-
-[aria-orientation="vertical"] {
- flex-direction: column;
- width: -moz-fit-content;
- width: fit-content;
- text-align: center;
-}
-
-.plain {
- --box-bg: var(--plain-bg);
- --accent: var(--plain-fg);
- --graphical-fg: var(--plain-graphical-fg);
-}
-
-.info {
- --box-bg: var(--info-bg);
- --accent: var(--info-fg);
- --graphical-fg: var(--info-graphical-fg);
-}
-
-.ok {
- --box-bg: var(--ok-bg);
- --accent: var(--ok-fg);
- --graphical-fg: var(--ok-graphical-fg);
-}
-
-.warn {
- --box-bg: var(--warn-bg);
- --accent: var(--warn-fg);
- --graphical-fg: var(--warn-graphical-fg);
-}
-
-.bad {
- --box-bg: var(--bad-bg);
- --accent: var(--bad-fg);
- --graphical-fg: var(--bad-graphical-fg);
-}
-
-.color {
- color: var(--accent);
-}
-
-.bg {
- background: var(--box-bg);
-}
-
-.border {
- border-style: solid;
- border-color: var(--graphical-fg);
-}
-
-:root {
- /* Colors */
- --fg: var(--gray-12); /* Text. */
- --muted-fg: var(--gray-10); /* Secondary text color. Will be
- used with a background of --c-bg and --c-bg-2 -- check contrast! */
- --faded-fg: var(--gray-6); /* Disabled text color. */
- --graphical-fg: var(--plain-graphical-fg); /* Graphical elements. Will not
- be used as a text color. */
-
- --plain-fg: var(--blue-10);
- --info-fg: var(--blue-11);
- --ok-fg: var(--green-11);
- --bad-fg: var(--red-11);
- --warn-fg: var(--yellow-11);
-
- --plain-graphical-fg: var(--gray-6);
- --info-graphical-fg: var(--blue-6);
- --ok-graphical-fg: var(--green-6);
- --bad-graphical-fg: var(--red-6);
- --warn-graphical-fg: var(--yellow-6);
-
- --bg: var(--gray-0); /* Page background. */
- --box-bg: var(--plain-bg); /* Background for blocks: cards, admonitions etc. */
- --interactive-bg: var(--gray-4); /* Background for interactive elements */
-
- --plain-bg: var(--gray-1);
- --info-bg: var(--blue-1);
- --ok-bg: var(--green-1);
- --bad-bg: var(--red-1);
- --warn-bg: var(--yellow-1);
-
- --accent: var(--blue-10); /* Accent color. Will be used *as a text color* with a
- background of --c-bg and --c-bg-2 -- check contrast! */
- --muted-accent: var(--blue-7); /* Muted accent color. Will not be used for text. */
-
- /* Lengths */
- --rhythm: 1.4rem; /* Vertical rhythm, line height. */
- --line-length: 40rem; /* Maximum line length for prose. */
- --border-radius: .2rem;
-
- /* Fonts */
- --main-font: 'Source Sans 3', 'Source Sans Pro', -apple-system, system-ui, sans-serif;
- --secondary-font: var(--main-font); /* Headings etc. */
- --mono-font: 'M Plus Code Latin', monospace, monospace; /* monospace twice stops browsers from
- shrinking this */
-
- /* Density */
- --density: 1;
-
- /* Width */
- --full-width: 100vw;
-
- /* Do not set these. */
- --eff-line-length: /* Effective line length for prose. */
- min(
- calc( var(--full-width) - (2 * var(--rhythm)) ),
- var(--line-length)
- );
-
- --gutter-width: /* Width of spaces at each side of page content. */
- calc(
- (
- var(--full-width) /* Viewport width */
- - var(--eff-line-length) /* minus line width */
- ) / 2); /* Divide by 2: there are two page margins */
-}
-
-@media (prefers-color-scheme: dark) {
- :root:not(.-no-dark-theme) {
- --fg: var(--gray-0);
- --muted-fg: var(--gray-2);
- --faded-fg: var(--gray-7);
-
- --plain-bg: var(--gray-11);
- --info-bg: var(--blue-12);
- --ok-bg: var(--green-12);
- --bad-bg: var(--red-12);
- --warn-bg: var(--yellow-12);
-
- --plain-faded-fg: var(--blue-6);
- --info-faded-fg: var(--blue-6);
- --ok-faded-fg: var(--green-6);
- --bad-faded-fg: var(--red-6);
- --warn-faded-fg: var(--yellow-6);
-
- --bg: var(--gray-12);
- --box-bg: var(--gray-10);
- --interactive-bg: var(--gray-8);
-
- --plain-fg: (--blue-3);
- --info-fg: var(--blue-3);
- --ok-fg: var(--green-3);
- --bad-fg: var(--red-3);
- --warn-fg: var(--yellow-3);
-
- --accent: var(--blue-3);
- --muted-accent: var(--blue-5);
- }
-}
-
-* {
- --gap: calc(var(--rhythm) * var(--density));
- accent-color: var(--accent);
-}
-
-.textcolumns {
- --col-width: 30ch;
- column-width: var(--col-width);
- column-gap: var(--gap);
- margin-block: var(--gap)
-}
-
-.textcolumns :first-child { -webkit-margin-before: 0 !important; margin-block-start: 0 !important }
-
-.text-align\:center {
- text-align: center;
-}
-
-.center {
- display: grid;
- place-items: center;
-}
-
-/**/
-
-.container {
- max-inline-size: var(--eff-line-length);
- margin-inline: auto;
-}
-
-.fullbleed {
- position: relative;
- width: var(--full-width);
- left: 50%;
- transform: translateX(calc(-.5 * var(--full-width)));
-
- border-radius: 0;
- border-inline: none;
-}
-
-.fullscreen {
- height: 100vh;
-
- position: relative;
- width: 100vw;
- left: 50%;
- transform: translateX(-50vw);
-
- border-radius: 0;
- border-inline: none;
-}
-
-.width\:100\% { width:100%; max-width: 100% }
-
-.height\:100\% { height:100%; max-height: 100% }
-
-/**/
-
-/* margin-trim had better be implemented soon */
-
-:is(
- body,
- .box,
- [role=menu],
- .sidebar-layout > header,
- [role=tabpanel],
- figure,
- details,
- dialog,
- aside,
- fieldset,
- dd,
- td,
- th
-)>:first-child:first-child:first-child:first-child,
- :is(
- body,
- .box,
- [role=menu],
- .sidebar-layout > header,
- [role=tabpanel],
- figure,
- details,
- dialog,
- aside,
- fieldset,
- dd,
- td,
- th
-)>:first-child>:first-child:first-child:first-child,
- :is(
- body,
- .box,
- [role=menu],
- .sidebar-layout > header,
- [role=tabpanel],
- figure,
- details,
- dialog,
- aside,
- fieldset,
- dd,
- td,
- th
-)>:first-child>:first-child>:first-child:first-child,
- :is(
- body,
- .box,
- [role=menu],
- .sidebar-layout > header,
- [role=tabpanel],
- figure,
- details,
- dialog,
- aside,
- fieldset,
- dd,
- td,
- th
-)>:first-child>:first-child>:first-child>:first-child { -webkit-margin-before: 0; margin-block-start: 0; }
-
-:is(
- body,
- .box,
- [role=menu],
- .sidebar-layout > header,
- [role=tabpanel],
- figure,
- details,
- dialog,
- aside,
- fieldset,
- dd,
- td,
- th
-)>:last-child:last-child:last-child:last-child,
- :is(
- body,
- .box,
- [role=menu],
- .sidebar-layout > header,
- [role=tabpanel],
- figure,
- details,
- dialog,
- aside,
- fieldset,
- dd,
- td,
- th
-)>:last-child>:last-child:last-child:last-child,
- :is(
- body,
- .box,
- [role=menu],
- .sidebar-layout > header,
- [role=tabpanel],
- figure,
- details,
- dialog,
- aside,
- fieldset,
- dd,
- td,
- th
-)>:last-child>:last-child>:last-child:last-child,
- :is(
- body,
- .box,
- [role=menu],
- .sidebar-layout > header,
- [role=tabpanel],
- figure,
- details,
- dialog,
- aside,
- fieldset,
- dd,
- td,
- th
-)>:last-child>:last-child>:last-child>:last-child { -webkit-margin-after: 0; margin-block-end: 0; }
-
-/**/
-
-.padding { padding-inline: var(--gap) }
-
-.padding-block { padding-block: var(--gap) }
-
-.padding-block-start { -webkit-padding-before: var(--gap); padding-block-start: var(--gap) }
-
-.padding-block-end { -webkit-padding-after: var(--gap); padding-block-end: var(--gap) }
-
-.padding-inline { padding-inline: var(--gap) }
-
-.padding-inline-start { -webkit-padding-start: var(--gap); padding-inline-start: var(--gap) }
-
-.padding-inline-end { -webkit-padding-start: var(--gap); padding-inline-start: var(--gap) }
-
-.margin { margin: var(--gap) }
-
-.margin-block { margin-block: var(--gap) }
-
-.margin-block-start { -webkit-margin-before: var(--gap); margin-block-start: var(--gap) }
-
-.margin-block-end { -webkit-margin-after: var(--gap); margin-block-end: var(--gap) }
-
-.margin-inline { margin-inline: var(--gap) }
-
-.margin-inline-start { -webkit-margin-start: var(--gap); margin-inline-start: var(--gap) }
-
-.margin-inline-end { -webkit-margin-end: var(--gap); margin-inline-end: var(--gap) }
-
-.flow-gap > :not(:last-child) {
- margin-bottom: 1em;
- }
-
-/**/
-
-.inline { display: inline }
-
-.block { display: block }
-
-.contents { display: contents }
-
-.table {
- display: table;
- width: 100%;
- margin: 0;
-}
-
-.row, .rows > * {
- display: table-row
-}
-
-.row:not(:last-child):not([specificity-hack]) > *, .rows > *:not(:last-child):not([specificity-hack]) > * {
- margin-bottom: var(--gap);
- }
-
-.row > *:not([specificity-hack]), .rows > * > *:not([specificity-hack]) {
- display: table-cell;
- vertical-align: top;
- }
-
-.row > * + *:not([specificity-hack]), :is(.rows > *) > * + *:not([specificity-hack]) {
- -webkit-margin-start: var(--gap);
- margin-inline-start: var(--gap);
- display: inline-block;
- }
-
-/**/
-
-.big {
- font-size: 1.4em;
- line-height: calc(1.5 * var(--rhythm));
-}
-
-/**/
-
-.fixed { position: fixed }
-
-.sticky { position: sticky }
-
-.top { top: 0 }
-
-.right { right: 0 }
-
-.bottom { bottom: 0 }
-
-.left { left: 0 }
-
-.float\:left { float: left }
-
-.float\:right { float: right }
-
-.overflow\:auto { overflow: auto }
-
-.overflow\:scroll { overflow: scroll }
-
-.airy { --density: 3; }
-
-.spacious { --density: 2; }
-
-.dense { --density: 1; }
-
-.crowded { --density: .5; }
-
-.packed { --density: 0; }
-
-.autodensity {
- --density: 1
-}
-
-@media (min-width: 768px) {
-
-.autodensity { --density: 2
-}}
-
-@media (min-width: 1024px) {
-
-.autodensity { --density: 3
-}}
-
-.vh, v-h {
- clip: rect(0 0 0 0);
- -webkit-clip-path: inset(50%);
- clip-path: inset(50%);
- block-size: 1px;
- inline-size: 1px;
- overflow: hidden;
- white-space: nowrap;
-}
-
-.all\:initial {
- all: initial;
-}
-
-.bold { font-weight: bold }
-
-.italic {
- font-style: italic
-}
-
-.italic em, .italic cite, .italic dfn, .italic var, .italic i, .italic address {
- font-style: normal;
- }
-
-.allcaps {
- text-transform: uppercase;
- letter-spacing: .1rem;
-}
-
-.primary-font { font-family: var(--primary-font) }
-
-.secondary-font { font-family: var(--secondary-font) }
-
-.display-font { font-family: var(--display-font) }
-
-.mono-font, .monospace { font-family: var(--mono-font) }
-
-.massivetext {
- font-size: calc(.13 * var(--eff-line-length));
- line-height: 1em;
- letter-spacing: 0;
-}
-
-.aestheticbreak {
- display: block;
- margin: 0;
- padding: 0;
- height: calc(.5 * var(--gap));
-}
-
-.f-row {
- display: flex;
- flex-direction: row;
- gap: var(--gap)
-}
-
-.f-row > * { margin: 0 }
-
-.f-col {
- display: flex;
- flex-direction: column;
- gap: var(--gap)
-}
-
-.f-col > * { margin: 0 }
-
-.f-switch {
- display: flex;
- flex-wrap: wrap;
- gap: var(--gap);
- --f-switch-threshold: 55ch
-}
-
-.f-switch > * {
- margin: 0;
-
- flex-grow: 1;
- flex-basis: calc((var(--f-switch-threshold) - 100%) * 999);
- }
-
-.justify-content\:start { justify-content: start }
-
-.justify-content\:end { justify-content: end }
-
-.justify-content\:baseline { justify-content: baseline }
-
-.justify-content\:center { justify-content: center }
-
-.justify-content\:stretch { justify-content: stretch }
-
-.justify-content\:space-between { justify-content: space-between }
-
-.justify-content\:space-around { justify-content: space-around }
-
-.justify-content\:space-evenly { justify-content: space-evenly }
-
-.align-items\:start { align-items: start }
-
-.align-items\:end { align-items: end }
-
-.align-items\:baseline { align-items: baseline }
-
-.align-items\:center { align-items: center }
-
-.align-items\:stretch { align-items: stretch }
-
-.align-self\:start { align-self: start }
-
-.align-self\:end { align-self: end }
-
-.align-self\:baseline { align-self: baseline }
-
-.align-self\:center { align-self: center }
-
-.align-self\:stretch { align-self: stretch }
-
-.flex-grow\:0 { flex-grow: 0 }
-
-.flex-grow\:1 { flex-grow: 1 }
-
-.flex-grow\:2 { flex-grow: 2 }
-
-.flex-grow\:3 { flex-grow: 3 }
-
-.flex-grow\:4 { flex-grow: 4 }
-
-.flex-grow\:5 { flex-grow: 5 }
-
-.flex-grow\:6 { flex-grow: 6 }
-
-.flex-grow\:7 { flex-grow: 7 }
-
-.flex-grow\:8 { flex-grow: 8 }
-
-.flex-grow\:9 { flex-grow: 9 }
-
-.flex-grow\:10 { flex-grow: 10 }
-
-.flex-grow\:11 { flex-grow: 11 }
-
-.flex-grow\:12 { flex-grow: 12 }
-
-.flex-wrap\:wrap { flex-wrap: wrap }
-
-.flex-wrap\:nowrap { flex-wrap: nowrap }
-
-.grid {
- display: grid;
- grid-auto-columns: var(--grid-col-width, 1fr);
- grid-auto-rows: var(--grid-row-width, auto);
- gap: var(--gap)
-}
-
-.grid > * { margin: 0 }
-
-.grid-even-rows { --grid-row-width: 1fr; }
-
-.grid-variable-cols { --grid-column-width: auto; }
-
-[data-cols^="1 " ] { grid-column-start: 1 }
-
-[data-cols$=" 1" ] { grid-column-end: 2 }
-
-[data-cols="1" ] { grid-column: 1 }
-
-[data-cols^="2 " ] { grid-column-start: 2 }
-
-[data-cols$=" 2" ] { grid-column-end: 3 }
-
-[data-cols="2" ] { grid-column: 2 }
-
-[data-cols^="3 " ] { grid-column-start: 3 }
-
-[data-cols$=" 3" ] { grid-column-end: 4 }
-
-[data-cols="3" ] { grid-column: 3 }
-
-[data-cols^="4 " ] { grid-column-start: 4 }
-
-[data-cols$=" 4" ] { grid-column-end: 5 }
-
-[data-cols="4" ] { grid-column: 4 }
-
-[data-cols^="5 " ] { grid-column-start: 5 }
-
-[data-cols$=" 5" ] { grid-column-end: 6 }
-
-[data-cols="5" ] { grid-column: 5 }
-
-[data-cols^="6 " ] { grid-column-start: 6 }
-
-[data-cols$=" 6" ] { grid-column-end: 7 }
-
-[data-cols="6" ] { grid-column: 6 }
-
-[data-cols^="7 " ] { grid-column-start: 7 }
-
-[data-cols$=" 7" ] { grid-column-end: 8 }
-
-[data-cols="7" ] { grid-column: 7 }
-
-[data-cols^="8 " ] { grid-column-start: 8 }
-
-[data-cols$=" 8" ] { grid-column-end: 9 }
-
-[data-cols="8" ] { grid-column: 8 }
-
-[data-cols^="9 " ] { grid-column-start: 9 }
-
-[data-cols$=" 9" ] { grid-column-end: 10 }
-
-[data-cols="9" ] { grid-column: 9 }
-
-[data-cols^="10 "] { grid-column-start: 10 }
-
-[data-cols$=" 10"] { grid-column-end: 11 }
-
-[data-cols="10"] { grid-column: 10 }
-
-[data-cols^="11 "] { grid-column-start: 11 }
-
-[data-cols$=" 11"] { grid-column-end: 12 }
-
-[data-cols="11"] { grid-column: 11 }
-
-[data-cols^="12 "] { grid-column-start: 12 }
-
-[data-cols$=" 12"] { grid-column-end: 13 }
-
-[data-cols="12"] { grid-column: 12 }
-
-[data-rows^="1 " ] { grid-row-start: 1 }
-
-[data-rows$=" 1" ] { grid-row-end: 2 }
-
-[data-rows="1" ] { grid-row: 1 }
-
-[data-rows^="2 " ] { grid-row-start: 2 }
-
-[data-rows$=" 2" ] { grid-row-end: 3 }
-
-[data-rows="2" ] { grid-row: 2 }
-
-[data-rows^="3 " ] { grid-row-start: 3 }
-
-[data-rows$=" 3" ] { grid-row-end: 4 }
-
-[data-rows="3" ] { grid-row: 3 }
-
-[data-rows^="4 " ] { grid-row-start: 4 }
-
-[data-rows$=" 4" ] { grid-row-end: 5 }
-
-[data-rows="4" ] { grid-row: 4 }
-
-[data-rows^="5 " ] { grid-row-start: 5 }
-
-[data-rows$=" 5" ] { grid-row-end: 6 }
-
-[data-rows="5" ] { grid-row: 5 }
-
-[data-rows^="6 " ] { grid-row-start: 6 }
-
-[data-rows$=" 6" ] { grid-row-end: 7 }
-
-[data-rows="6" ] { grid-row: 6 }
-
-[data-rows^="7 " ] { grid-row-start: 7 }
-
-[data-rows$=" 7" ] { grid-row-end: 8 }
-
-[data-rows="7" ] { grid-row: 7 }
-
-[data-rows^="8 " ] { grid-row-start: 8 }
-
-[data-rows$=" 8" ] { grid-row-end: 9 }
-
-[data-rows="8" ] { grid-row: 8 }
-
-[data-rows^="9 " ] { grid-row-start: 9 }
-
-[data-rows$=" 9" ] { grid-row-end: 10 }
-
-[data-rows="9" ] { grid-row: 9 }
-
-[data-rows^="10 "] { grid-row-start: 10 }
-
-[data-rows$=" 10"] { grid-row-end: 11 }
-
-[data-rows="10"] { grid-row: 10 }
-
-[data-rows^="11 "] { grid-row-start: 11 }
-
-[data-rows$=" 11"] { grid-row-end: 12 }
-
-[data-rows="11"] { grid-row: 11 }
-
-[data-rows^="12 "] { grid-row-start: 12 }
-
-[data-rows$=" 12"] { grid-row-end: 13 }
-
-[data-rows="12"] { grid-row: 12 }
-
-@media (max-width: 768px) {
- [data-cols\@s^="1 " ] { grid-column-start: 1 } [data-cols\@s$=" 1" ] { grid-column-end: 2 } [data-cols\@s="1" ] { grid-column: 1 }
- [data-cols\@s^="2 " ] { grid-column-start: 2 } [data-cols\@s$=" 2" ] { grid-column-end: 3 } [data-cols\@s="2" ] { grid-column: 2 }
- [data-cols\@s^="3 " ] { grid-column-start: 3 } [data-cols\@s$=" 3" ] { grid-column-end: 4 } [data-cols\@s="3" ] { grid-column: 3 }
- [data-cols\@s^="4 " ] { grid-column-start: 4 } [data-cols\@s$=" 4" ] { grid-column-end: 5 } [data-cols\@s="4" ] { grid-column: 4 }
- [data-cols\@s^="5 " ] { grid-column-start: 5 } [data-cols\@s$=" 5" ] { grid-column-end: 6 } [data-cols\@s="5" ] { grid-column: 5 }
- [data-cols\@s^="6 " ] { grid-column-start: 6 } [data-cols\@s$=" 6" ] { grid-column-end: 7 } [data-cols\@s="6" ] { grid-column: 6 }
- [data-cols\@s^="7 " ] { grid-column-start: 7 } [data-cols\@s$=" 7" ] { grid-column-end: 8 } [data-cols\@s="7" ] { grid-column: 7 }
- [data-cols\@s^="8 " ] { grid-column-start: 8 } [data-cols\@s$=" 8" ] { grid-column-end: 9 } [data-cols\@s="8" ] { grid-column: 8 }
- [data-cols\@s^="9 " ] { grid-column-start: 9 } [data-cols\@s$=" 9" ] { grid-column-end: 10 } [data-cols\@s="9" ] { grid-column: 9 }
- [data-cols\@s^="10 "] { grid-column-start: 10 } [data-cols\@s$=" 10"] { grid-column-end: 11 } [data-cols\@s="10"] { grid-column: 10 }
- [data-cols\@s^="11 "] { grid-column-start: 11 } [data-cols\@s$=" 11"] { grid-column-end: 12 } [data-cols\@s="11"] { grid-column: 11 }
- [data-cols\@s^="12 "] { grid-column-start: 12 } [data-cols\@s$=" 12"] { grid-column-end: 13 } [data-cols\@s="12"] { grid-column: 12 }
-
- [data-rows\@s^="1 " ] { grid-row-start: 1 } [data-rows\@s$=" 1" ] { grid-row-end: 2 } [data-rows\@s="1" ] { grid-row: 1 }
- [data-rows\@s^="2 " ] { grid-row-start: 2 } [data-rows\@s$=" 2" ] { grid-row-end: 3 } [data-rows\@s="2" ] { grid-row: 2 }
- [data-rows\@s^="3 " ] { grid-row-start: 3 } [data-rows\@s$=" 3" ] { grid-row-end: 4 } [data-rows\@s="3" ] { grid-row: 3 }
- [data-rows\@s^="4 " ] { grid-row-start: 4 } [data-rows\@s$=" 4" ] { grid-row-end: 5 } [data-rows\@s="4" ] { grid-row: 4 }
- [data-rows\@s^="5 " ] { grid-row-start: 5 } [data-rows\@s$=" 5" ] { grid-row-end: 6 } [data-rows\@s="5" ] { grid-row: 5 }
- [data-rows\@s^="6 " ] { grid-row-start: 6 } [data-rows\@s$=" 6" ] { grid-row-end: 7 } [data-rows\@s="6" ] { grid-row: 6 }
- [data-rows\@s^="7 " ] { grid-row-start: 7 } [data-rows\@s$=" 7" ] { grid-row-end: 8 } [data-rows\@s="7" ] { grid-row: 7 }
- [data-rows\@s^="8 " ] { grid-row-start: 8 } [data-rows\@s$=" 8" ] { grid-row-end: 9 } [data-rows\@s="8" ] { grid-row: 8 }
- [data-rows\@s^="9 " ] { grid-row-start: 9 } [data-rows\@s$=" 9" ] { grid-row-end: 10 } [data-rows\@s="9" ] { grid-row: 9 }
- [data-rows\@s^="10 "] { grid-row-start: 10 } [data-rows\@s$=" 10"] { grid-row-end: 11 } [data-rows\@s="10"] { grid-row: 10 }
- [data-rows\@s^="11 "] { grid-row-start: 11 } [data-rows\@s$=" 11"] { grid-row-end: 12 } [data-rows\@s="11"] { grid-row: 11 }
- [data-rows\@s^="12 "] { grid-row-start: 12 } [data-rows\@s$=" 12"] { grid-row-end: 13 } [data-rows\@s="12"] { grid-row: 12 }
-}
-
-@media (min-width: 1024px) {
- [data-cols\@l^="1 " ] { grid-column-start: 1 } [data-cols\@l$=" 1" ] { grid-column-end: 2 } [data-cols\@l="1" ] { grid-column: 1 }
- [data-cols\@l^="2 " ] { grid-column-start: 2 } [data-cols\@l$=" 2" ] { grid-column-end: 3 } [data-cols\@l="2" ] { grid-column: 2 }
- [data-cols\@l^="3 " ] { grid-column-start: 3 } [data-cols\@l$=" 3" ] { grid-column-end: 4 } [data-cols\@l="3" ] { grid-column: 3 }
- [data-cols\@l^="4 " ] { grid-column-start: 4 } [data-cols\@l$=" 4" ] { grid-column-end: 5 } [data-cols\@l="4" ] { grid-column: 4 }
- [data-cols\@l^="5 " ] { grid-column-start: 5 } [data-cols\@l$=" 5" ] { grid-column-end: 6 } [data-cols\@l="5" ] { grid-column: 5 }
- [data-cols\@l^="6 " ] { grid-column-start: 6 } [data-cols\@l$=" 6" ] { grid-column-end: 7 } [data-cols\@l="6" ] { grid-column: 6 }
- [data-cols\@l^="7 " ] { grid-column-start: 7 } [data-cols\@l$=" 7" ] { grid-column-end: 8 } [data-cols\@l="7" ] { grid-column: 7 }
- [data-cols\@l^="8 " ] { grid-column-start: 8 } [data-cols\@l$=" 8" ] { grid-column-end: 9 } [data-cols\@l="8" ] { grid-column: 8 }
- [data-cols\@l^="9 " ] { grid-column-start: 9 } [data-cols\@l$=" 9" ] { grid-column-end: 10 } [data-cols\@l="9" ] { grid-column: 9 }
- [data-cols\@l^="10 "] { grid-column-start: 10 } [data-cols\@l$=" 10"] { grid-column-end: 11 } [data-cols\@l="10"] { grid-column: 10 }
- [data-cols\@l^="11 "] { grid-column-start: 11 } [data-cols\@l$=" 11"] { grid-column-end: 12 } [data-cols\@l="11"] { grid-column: 11 }
- [data-cols\@l^="12 "] { grid-column-start: 12 } [data-cols\@l$=" 12"] { grid-column-end: 13 } [data-cols\@l="12"] { grid-column: 12 }
-
- [data-rows\@l^="1 " ] { grid-row-start: 1 } [data-rows\@l$=" 1" ] { grid-row-end: 2 } [data-rows\@l="1" ] { grid-row: 1 }
- [data-rows\@l^="2 " ] { grid-row-start: 2 } [data-rows\@l$=" 2" ] { grid-row-end: 3 } [data-rows\@l="2" ] { grid-row: 2 }
- [data-rows\@l^="3 " ] { grid-row-start: 3 } [data-rows\@l$=" 3" ] { grid-row-end: 4 } [data-rows\@l="3" ] { grid-row: 3 }
- [data-rows\@l^="4 " ] { grid-row-start: 4 } [data-rows\@l$=" 4" ] { grid-row-end: 5 } [data-rows\@l="4" ] { grid-row: 4 }
- [data-rows\@l^="5 " ] { grid-row-start: 5 } [data-rows\@l$=" 5" ] { grid-row-end: 6 } [data-rows\@l="5" ] { grid-row: 5 }
- [data-rows\@l^="6 " ] { grid-row-start: 6 } [data-rows\@l$=" 6" ] { grid-row-end: 7 } [data-rows\@l="6" ] { grid-row: 6 }
- [data-rows\@l^="7 " ] { grid-row-start: 7 } [data-rows\@l$=" 7" ] { grid-row-end: 8 } [data-rows\@l="7" ] { grid-row: 7 }
- [data-rows\@l^="8 " ] { grid-row-start: 8 } [data-rows\@l$=" 8" ] { grid-row-end: 9 } [data-rows\@l="8" ] { grid-row: 8 }
- [data-rows\@l^="9 " ] { grid-row-start: 9 } [data-rows\@l$=" 9" ] { grid-row-end: 10 } [data-rows\@l="9" ] { grid-row: 9 }
- [data-rows\@l^="10 "] { grid-row-start: 10 } [data-rows\@l$=" 10"] { grid-row-end: 11 } [data-rows\@l="10"] { grid-row: 10 }
- [data-rows\@l^="11 "] { grid-row-start: 11 } [data-rows\@l$=" 11"] { grid-row-end: 12 } [data-rows\@l="11"] { grid-row: 11 }
- [data-rows\@l^="12 "] { grid-row-start: 12 } [data-rows\@l$=" 12"] { grid-row-end: 13 } [data-rows\@l="12"] { grid-row: 12 }
-}
diff --git a/www/releases/_artifacts/v1.0.8/missing.min.css b/www/releases/_artifacts/v1.0.8/missing.min.css
deleted file mode 100644
index ff2a1ac..0000000
--- a/www/releases/_artifacts/v1.0.8/missing.min.css
+++ /dev/null
@@ -1,126 +0,0 @@
-@keyframes bg{0%{background:0 0}}*,::after,::before{box-sizing:border-box;background-repeat:no-repeat}::after,::before{text-decoration:inherit;vertical-align:inherit}:root{cursor:default;overflow-wrap:break-word;-webkit-tap-highlight-color:transparent;text-size-adjust:none;-webkit-text-size-adjust:none}abbr[title]{-webkit-text-decoration:underline dotted;text-decoration:underline dotted}b,strong{font-weight:bolder}audio,canvas,iframe,img,svg,video{vertical-align:middle}svg:not([fill]){fill:currentColor}table{border-collapse:collapse;border-color:currentColor;text-indent:0;font-variant-numeric:tabular-nums;font:inherit}body,button,input,select,textarea{margin:0}[type=button],[type=reset],[type=submit],button{-webkit-appearance:button}fieldset{border:1px solid #a0a0a0;position:relative;padding:var(--gap);margin:var(--gap) 0;width:100%;border-radius:var(--border-radius);border:1px solid var(--graphical-fg)}progress{vertical-align:baseline}[type=search]{-webkit-appearance:textfield;outline-offset:-2px}::-webkit-inner-spin-button,::-webkit-outer-spin-button{block-size:auto}::-webkit-input-placeholder{color:inherit;opacity:.54}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{-webkit-appearance:button;font:inherit}[hidden],datalist{display:none!important}:focus-visible{outline:.2em solid var(--accent);z-index:32}body:focus-visible,html:focus-visible,iframe:focus-visible{outline:0}:target{outline:.2em solid var(--fg);z-index:2}details>summary:first-of-type{display:list-item}[aria-busy=true]{cursor:progress}[aria-disabled=true],[disabled]{cursor:not-allowed}:root{--gray-0: #f8fafb;--gray-1: #f2f4f6;--gray-2: #ebedef;--gray-3: #e0e4e5;--gray-4: #d1d6d8;--gray-5: #b1b6b9;--gray-6: #979b9d;--gray-7: #7e8282;--gray-8: #666968;--gray-9: #50514f;--gray-10: #3a3a37;--gray-11: #252521;--gray-12: #121210;--red-0: #fff5f5;--red-1: #ffe3e3;--red-2: #ffc9c9;--red-3: #ffa8a8;--red-4: #ff8787;--red-5: #ff6b6b;--red-6: #fa5252;--red-7: #f03e3e;--red-8: #e03131;--red-9: #c92a2a;--red-10: #b02525;--red-11: #962020;--red-12: #7d1a1a;--pink-0: #fff0f6;--pink-1: #ffdeeb;--pink-2: #fcc2d7;--pink-3: #faa2c1;--pink-4: #f783ac;--pink-5: #f06595;--pink-6: #e64980;--pink-7: #d6336c;--pink-8: #c2255c;--pink-9: #a61e4d;--pink-10: #8c1941;--pink-11: #731536;--pink-12: #59102a;--purple-0: #f8f0fc;--purple-1: #f3d9fa;--purple-2: #eebefa;--purple-3: #e599f7;--purple-4: #da77f2;--purple-5: #cc5de8;--purple-6: #be4bdb;--purple-7: #ae3ec9;--purple-8: #9c36b5;--purple-9: #862e9c;--purple-10: #702682;--purple-11: #5a1e69;--purple-12: #44174f;--violet-0: #f3f0ff;--violet-1: #e5dbff;--violet-2: #d0bfff;--violet-3: #b197fc;--violet-4: #9775fa;--violet-5: #845ef7;--violet-6: #7950f2;--violet-7: #7048e8;--violet-8: #6741d9;--violet-9: #5f3dc4;--violet-10: #5235ab;--violet-11: #462d91;--violet-12: #3a2578;--indigo-0: #edf2ff;--indigo-1: #dbe4ff;--indigo-2: #bac8ff;--indigo-3: #91a7ff;--indigo-4: #748ffc;--indigo-5: #5c7cfa;--indigo-6: #4c6ef5;--indigo-7: #4263eb;--indigo-8: #3b5bdb;--indigo-9: #364fc7;--indigo-10: #2f44ad;--indigo-11: #283a94;--indigo-12: #21307a;--blue-0: #e7f5ff;--blue-1: #d0ebff;--blue-2: #a5d8ff;--blue-3: #74c0fc;--blue-4: #4dabf7;--blue-5: #339af0;--blue-6: #228be6;--blue-7: #1c7ed6;--blue-8: #1971c2;--blue-9: #1864ab;--blue-10: #145591;--blue-11: #114678;--blue-12: #0d375e;--cyan-0: #e3fafc;--cyan-1: #c5f6fa;--cyan-2: #99e9f2;--cyan-3: #66d9e8;--cyan-4: #3bc9db;--cyan-5: #22b8cf;--cyan-6: #15aabf;--cyan-7: #1098ad;--cyan-8: #0c8599;--cyan-9: #0b7285;--cyan-10: #095c6b;--cyan-11: #074652;--cyan-12: #053038;--teal-0: #e6fcf5;--teal-1: #c3fae8;--teal-2: #96f2d7;--teal-3: #63e6be;--teal-4: #38d9a9;--teal-5: #20c997;--teal-6: #12b886;--teal-7: #0ca678;--teal-8: #099268;--teal-9: #087f5b;--teal-10: #066649;--teal-11: #054d37;--teal-12: #033325;--green-0: #ebfbee;--green-1: #d3f9d8;--green-2: #b2f2bb;--green-3: #8ce99a;--green-4: #69db7c;--green-5: #51cf66;--green-6: #40c057;--green-7: #37b24d;--green-8: #2f9e44;--green-9: #2b8a3e;--green-10: #237032;--green-11: #1b5727;--green-12: #133d1b;--lime-0: #f4fce3;--lime-1: #e9fac8;--lime-2: #d8f5a2;--lime-3: #c0eb75;--lime-4: #a9e34b;--lime-5: #94d82d;--lime-6: #82c91e;--lime-7: #74b816;--lime-8: #66a80f;--lime-9: #5c940d;--lime-10: #4c7a0b;--lime-11: #3c6109;--lime-12: #2c4706;--yellow-0: #fff9db;--yellow-1: #fff3bf;--yellow-2: #ffec99;--yellow-3: #ffe066;--yellow-4: #ffd43b;--yellow-5: #fcc419;--yellow-6: #fab005;--yellow-7: #f59f00;--yellow-8: #f08c00;--yellow-9: #e67700;--yellow-10: #b35c00;--yellow-11: #804200;--yellow-12: #663500;--orange-0: #fff4e6;--orange-1: #ffe8cc;--orange-2: #ffd8a8;--orange-3: #ffc078;--orange-4: #ffa94d;--orange-5: #ff922b;--orange-6: #fd7e14;--orange-7: #f76707;--orange-8: #e8590c;--orange-9: #d9480f;--orange-10: #bf400d;--orange-11: #99330b;--orange-12: #802b09;--choco-0: #fff8dc;--choco-1: #fce1bc;--choco-2: #f7ca9e;--choco-3: #f1b280;--choco-4: #e99b62;--choco-5: #df8545;--choco-6: #d46e25;--choco-7: #bd5f1b;--choco-8: #a45117;--choco-9: #8a4513;--choco-10: #703a13;--choco-11: #572f12;--choco-12: #3d210d;--brown-0: #faf4eb;--brown-1: #ede0d1;--brown-2: #e0cab7;--brown-3: #d3b79e;--brown-4: #c5a285;--brown-5: #b78f6d;--brown-6: #a87c56;--brown-7: #956b47;--brown-8: #825b3a;--brown-9: #6f4b2d;--brown-10:#5e3a21;--brown-11:#4e2b15;--brown-12: #422412;--sand-0: #f8fafb;--sand-1: #e6e4dc;--sand-2: #d5cfbd;--sand-3: #c2b9a0;--sand-4: #aea58c;--sand-5: #9a9178;--sand-6: #867c65;--sand-7: #736a53;--sand-8: #5f5746;--sand-9: #4b4639;--sand-10:#38352d;--sand-11:#252521;--sand-12: #121210;--camo-0: #f9fbe7;--camo-1: #e8ed9c;--camo-2: #d2df4e;--camo-3: #c2ce34;--camo-4: #b5bb2e;--camo-5: #a7a827;--camo-6: #999621;--camo-7: #8c851c;--camo-8: #7e7416;--camo-9: #6d6414;--camo-10: #5d5411;--camo-11: #4d460e;--camo-12: #36300a;--jungle-0: #ecfeb0;--jungle-1: #def39a;--jungle-2: #d0e884;--jungle-3: #c2dd6e;--jungle-4: #b5d15b;--jungle-5: #a8c648;--jungle-6: #9bbb36;--jungle-7: #8fb024;--jungle-8: #84a513;--jungle-9: #7a9908;--jungle-10: #658006;--jungle-11: #516605;--jungle-12: #3d4d04}html{font-family:var(--main-font);line-height:var(--rhythm);background:var(--bg);color:var(--fg);scroll-padding-block-start:calc(4*var(--gap))}footer,header,section+section{margin-block:calc(2*var(--gap))}aside.big,nav a{color:var(--accent)}nav a{text-decoration:none}aside h1,aside h2,aside h3,aside h4,aside h5,aside h6{font-size:1em;text-transform:none;letter-spacing:none}aside.big{background:0 0;border:0;-webkit-border-start:1px solid var(--muted-fg);border-inline-start:1px solid var(--muted-fg);border-radius:0;padding:0;-webkit-padding-start:var(--rhythm);padding-inline-start:var(--rhythm);font-style:italic}.\<h1\>,.\<h2\>,.\<h3\>,.\<h4\>,.\<h5\>,.\<h6\>,h1,h2,h3,h4,h5,h6{-webkit-margin-after:var(--gap);margin-block-end:var(--gap);font-family:var(--secondary-font);-webkit-margin-before:calc(2*var(--gap));margin-block-start:calc(2*var(--gap));position:relative}.\<h1\>,.\<h2\>,h1,h2{font-size:2em;text-transform:none;line-height:calc(2*var(--rhythm));letter-spacing:0}.\<h2\>,h2{font-size:1.6em;line-height:calc(1.5*var(--rhythm))}.\<h3\>,.\<h4\>,.\<h5\>,.\<h6\>,h3,h4,h5,h6{font-size:1.17em;line-height:calc(1*var(--rhythm))}.\<h4\>,.\<h5\>,.\<h6\>,h4,h5,h6{font-size:1em;text-transform:none;letter-spacing:0;-webkit-margin-before:var(--gap);margin-block-start:var(--gap)}h1+h2,h1:first-child,h2+h3,h2:first-child,h3+h4,h3:first-child,h4+h5,h4:first-child,h5+h6,h5:first-child,h6:first-child{-webkit-margin-before:var(--gap);margin-block-start:var(--gap)}h1:target,h2:target,h3:target,h4:target,h5:target,h6:target{outline:0}h1:target::before,h2:target::before,h3:target::before,h4:target::before,h5:target::before,h6:target::before{content:"";display:block;position:absolute;left:-.5em;width:4px;height:100%;background:var(--accent)}header{-webkit-border-after:1px solid var(--graphical-fg);border-block-end:1px solid var(--graphical-fg)}dt,footer,header{font-family:var(--secondary-font)}footer{-webkit-border-before:1px solid var(--graphical-fg);border-block-start:1px solid var(--graphical-fg)}body>footer,body>header,main+footer{padding:var(--rhythm) calc((100% - var(--eff-line-length))/2)}address{--density: 0}dl,hr,p{margin-block:var(--gap)}hr{color:inherit;margin-inline:0;flex:0 1 0px;-webkit-border-start:1px solid var(--accent);border-inline-start:1px solid var(--accent);block-size:auto;-webkit-border-before:1px solid var(--accent);border-block-start:1px solid var(--accent);-webkit-border-after:none;border-block-end:none;-webkit-border-end:none;border-inline-end:none}blockquote,pre{line-height:var(--rhythm)}pre{font-family:var(--mono-font);tab-size:2;margin:var(--gap) 0;overflow-x:auto;scrollbar-width:thin;scrollbar-color:var(--accent) transparent;font-size:.9em}blockquote{margin-inline:0 var(--gap);padding-inline:var(--gap) 0;margin-block:var(--gap);font-size:1.1em;font-style:italic;-webkit-border-start:1px solid var(--graphical-fg);border-inline-start:1px solid var(--graphical-fg);color:var(--muted-fg)}.italic address,.italic cite,.italic dfn,.italic em,.italic i,.italic var,blockquote address,blockquote cite,blockquote dfn,blockquote em,blockquote i,blockquote var,q address,q cite,q dfn,q em,q i,q var{font-style:normal}blockquote footer{text-align:right;text-align:end}ol,ul{-webkit-padding-start:var(--rhythm);padding-inline-start:var(--rhythm)}ol ol,ol ul,ul ol,ul ul{-webkit-padding-start:var(--gap);padding-inline-start:var(--gap)}ol[role=list],ol[role=listbox],ul[role=list],ul[role=listbox]{-webkit-padding-start:0;padding-inline-start:0;list-style:none}ol{list-style:decimal}dt{font-weight:700}dd{-webkit-margin-start:var(--rhythm);margin-inline-start:var(--rhythm)}li::marker{font-family:var(--secondary-font)}figure{max-width:100%;margin-inline:0}figcaption{margin-block:var(--gap);font-family:var(--secondary-font);color:var(--muted-fg)}main{max-inline-size:var(--eff-line-length);inline-size:100%;margin-inline:auto}main:first-child{padding-top:var(--gap)}.\<a\>,a{color:var(--link-fg, var(--accent));font-family:var(--secondary-font);border-radius:var(--border-radius);outline-offset:1px;background:0 0;border:0;font-size:1em;-webkit-text-decoration:1px dashed underline;text-decoration:1px dashed underline}.list-of-links :is(a,.\<a\>){text-decoration:none}:is(a,.\<a\>):focus,:is(a,.\<a\>):hover{-webkit-text-decoration:2px solid underline;text-decoration:2px solid underline;cursor:pointer;outline:0}small[role=note]{display:block;float:inline-end;clear:inline-end;--sidenote-width: 20ch;max-inline-size:var(--sidenote-width);padding-inline:1.5ch 1ch;-webkit-margin-end:calc(1em - var(--sidenote-width));margin-inline-end:calc(1em - var(--sidenote-width));-webkit-margin-after:var(--rhythm);margin-block-end:var(--rhythm);font-family:var(--secondary-font);background:var(--bg);border:1px solid transparent;transition:transform .1s ease-in-out}small[role=note]:focus-within,small[role=note]:hover{border:1px solid var(--graphical-fg);border-radius:var(--border-radius);transform:translateX(calc(0px - var(--sidenote-width) + min(var(--gutter-width),var(--sidenote-width))))}.\<small\>,kbd kbd,small{font-size:.8em}del,s{color:var(--bad-fg)}caption,q{font-style:italic}time{font-variant-numeric:tabular-nums}code,kbd,samp{font-family:var(--mono-font);font-style:normal}ins,samp{color:var(--ok-fg)}kbd kbd{display:inline-block;padding:0 .3em;line-height:1.1em;background:var(--interactive-bg);border:1px outset var(--graphical-fg);border-block-end-width:3px;border-radius:var(--border-radius)}sub{vertical-align:bottom}sub,sup{line-height:1}mark{background:var(--warn-bg);color:var(--warn-fg)}ins{background:var(--ok-bg)}del{background:var(--bad-bg)}audio,embed,iframe,img,object,video{max-inline-size:100%;inline-size:max-content;block-size:auto}caption{text-align:start;font-family:var(--secondary-font)}tbody{border-block:1px solid var(--faded-fg)}select[multiple],sup,td,th{vertical-align:top}td:not(:last-child),th:not(:last-child){-webkit-padding-end:var(--rhythm);padding-inline-end:var(--rhythm)}th{font-family:var(--secondary-font);text-align:start}input{display:block}label input:not([specificity-hack]){display:inline;padding-block:0}.\<button\>,button,input::file-selector-button,input[type=button],input[type=reset],input[type=submit]{display:inline-block;padding:0 calc(var(--rhythm)/4);vertical-align:middle;box-sizing:border-box;font-size:.8rem;line-height:1.125em;font-family:var(--secondary-font);min-height:var(--rhythm);background:var(--interactive-bg);border:1px solid var(--muted-fg);box-shadow:0 2px 4px -2px var(--fg);border-radius:var(--border-radius);color:var(--fg);text-decoration:none;display:inline-flex;place-items:center}:is(button,input[type="submit"],input[type="reset"],input[type="button"],input::file-selector-button,.\<button\>):focus-visible,:is(button,input[type="submit"],input[type="reset"],input[type="button"],input::file-selector-button,.\<button\>):hover{filter:brightness(1.1);box-shadow:0 3px 6px -2px var(--fg);text-decoration:none}:is(button,input[type="submit"],input[type="reset"],input[type="button"],input::file-selector-button,.\<button\>):active{box-shadow:none}:is(button,input[type="submit"],input[type="reset"],input[type="button"],input::file-selector-button,.\<button\>):where([aria-pressed="true"], [aria-expanded="true"]){box-shadow:0 2px 4px -1px var(--fg) inset;background:var(--pressed-interactive-bg)}:is(button,input[type="submit"],input[type="reset"],input[type="button"],input::file-selector-button,.\<button\>):where([aria-pressed="true"], [aria-expanded="true"]):focus-visible,:is(button,input[type="submit"],input[type="reset"],input[type="button"],input::file-selector-button,.\<button\>):where([aria-pressed="true"], [aria-expanded="true"]):hover{box-shadow:0 1px 3px -1px var(--fg) inset}[disabled]:is(button,input[type="submit"],input[type="reset"],input[type="button"],input::file-selector-button,.\<button\>){color:var(--muted-fg);box-shadow:none}strong>:is(button,input[type="submit"],input[type="reset"],input[type="button"],input::file-selector-button,.\<button\>){background:var(--accent);color:var(--bg);border:0;font-weight:700}strong>[disabled]:is(button,input[type="submit"],input[type="reset"],input[type="button"],input::file-selector-button,.\<button\>){color:var(--muted-accent)}.big:is(button,input[type="submit"],input[type="reset"],input[type="button"],input::file-selector-button,.\<button\>){min-block-size:calc(1.5*var(--rhythm));font-size:1rem;padding-inline:calc(.5*var(--rhythm));line-height:var(--rhythm)}input:not([type]),input[type=date],input[type=datetime-local],input[type=datetime],input[type=email],input[type=month],input[type=number],input[type=password],input[type=search],input[type=tel],input[type=text],input[type=time],input[type=url],input[type=week],select,textarea{padding:calc(var(--rhythm)/4);font-size:1rem;line-height:inherit;font-family:var(--main-font);background:var(--bg);color:var(--fg);border:1px solid var(--graphical-fg);border-radius:var(--border-radius);vertical-align:top}:is(input:not([type]),input[type="text"],input[type="search"],input[type="tel"],input[type="url"],input[type="email"],input[type="password"],input[type="date"],input[type="month"],input[type="week"],input[type="time"],input[type="datetime"],input[type="datetime-local"],input[type="number"],select,textarea):focus-visible{border:1px solid var(--accent)}:is(input:not([type]),input[type="text"],input[type="search"],input[type="tel"],input[type="url"],input[type="email"],input[type="password"],input[type="date"],input[type="month"],input[type="week"],input[type="time"],input[type="datetime"],input[type="datetime-local"],input[type="number"],select,textarea)::placeholder{color:var(--muted-fg);opacity:1;text-align:end}input[type=range]{width:100%;padding:calc(var(--gap)/4)}input[type=color]{padding:0;margin:0;height:calc(1.5*var(--rhythm));border:0;background:0 0}input[type=file]{padding:calc(var(--gap)/4) 0;font:inherit;line-height:calc(var(--rhythm)/2)}input[type=file]::file-selector-button{margin-block:.1em 0;-webkit-margin-end:1ch;margin-inline-end:1ch}optgroup::before{color:var(--muted-fg);font-style:normal}label[for]{display:block;padding-block:calc(var(--gap)/4)}fieldset>legend+*{-webkit-margin-before:0;margin-block-start:0}details:not(specificity-hack){-webkit-padding-before:0;padding-block-start:0}details:not(specificity-hack):not([open]){-webkit-padding-after:0;padding-block-end:0}summary{margin:calc(0px - var(--gap));margin-bottom:0;padding-inline:var(--gap);font-family:var(--secondary-font);font-weight:700;cursor:pointer}summary:active,summary:focus-visible{filter:brightness(.8);outline:0}dialog{inline-inset:0;block-size:-moz-fit-content;block-size:fit-content;inline-size:-moz-fit-content;inline-size:fit-content;margin:auto!important;background-color:var(--bg);color:var(--fg)}dialog[open]::backdrop{display:block;background:#000;opacity:.4;animation:bg 2s}dialog:not([open]){display:none}.box,.sidebar-layout>header,[role=menu],[role=tabpanel],aside,details,dialog,figure{margin:var(--gap) 0;padding:var(--gap);overflow:clip;border-radius:var(--border-radius);background:var(--box-bg);border:1px solid var(--graphical-fg)}.titlebar{margin-inline:calc(0px - var(--gap));-webkit-margin-after:calc(0px - var(--gap));margin-block-end:calc(0px - var(--gap));padding-inline:var(--gap);font:inherit;font-family:var(--secondary-font);font-weight:700;translate:0 calc(-1px - var(--gap));background:var(--graphical-fg);color:var(--bg)}.sub-title,sub-title{display:block;font-weight:400;color:var(--muted-fg)}.tool-bar,[role=toolbar]{display:flex;flex-flow:row wrap;gap:calc(var(--gap)/2)}.tool-bar>*,[role=toolbar]>*{margin:0}.sidebar-layout header li{margin-block:calc(.5*var(--gap))}.breadcrumbs[aria-label] [aria-current=page],.sidebar-layout header a{font-weight:700}@media (min-width:75ch){.sidebar-layout{display:grid;grid-template-columns:25ch auto;inset:0}.sidebar-layout>header{border-block:none;-webkit-border-start:none;border-inline-start:none;margin:0}.sidebar-layout>:nth-child(2){overflow:auto;--full-width: calc(100vw - 25ch);margin-top:var(--gap)}}.breadcrumbs[aria-label]{font-family:var(--secondary-font)}.breadcrumbs[aria-label] ol,.breadcrumbs[aria-label] ul{list-style:none;-webkit-padding-start:0;padding-inline-start:0}.breadcrumbs[aria-label] li{display:inline}:is(.breadcrumbs[aria-label] li)+li::before{content:' / ';display:inline}.chip,.navbar,chip{font-family:var(--secondary-font);background:var(--box-bg)}.chip,chip{border:1px solid var(--accent);border-radius:calc(var(--rhythm)/2);padding-inline:calc(var(--rhythm)/2)}.navbar{padding:var(--rhythm);-webkit-border-after:1px solid var(--accent);border-block-end:1px solid var(--accent);overflow-x:auto;scrollbar-width:thin;position:sticky;z-index:5;top:0;left:0;right:0;display:flex;flex-flow:row;align-items:center;gap:var(--gap)}.navbar.expanded{flex-flow:column;align-items:start;max-height:90vh;overflow-y:auto}.navbar.expanded ul[role=list]{flex-flow:column}.navbar *{flex-shrink:0;margin-block:0}.navbar:not(.expanded) nav>:first-child,.navbar:not(.expanded)>:first-child{-webkit-margin-start:auto;margin-inline-start:auto}.navbar:not(.expanded) nav>:last-child,.navbar:not(.expanded)>:last-child{-webkit-margin-end:auto;margin-inline-end:auto}.navbar hr{align-self:stretch}.navbar nav ul[role=list]{display:flex;flex-flow:row;gap:var(--rhythm);-webkit-padding-start:0;padding-inline-start:0}.navbar nav ul[role=list] *{flex-shrink:0}.navbar a{font-weight:700;text-decoration:none;padding-inline:.2em}.navbar a:focus,.navbar a:hover{text-decoration:underline}.navbar [aria-current=page]{position:relative}.navbar [aria-current=page]::after{width:100%;height:6px;content:"";display:block;position:absolute;bottom:calc(-1*var(--gap));background:currentcolor}.navbar.expanded [aria-current=page]::after{width:6px;height:100%;position:absolute;left:calc(-1*var(--gap));top:0}.permalink-anchor{display:none}:hover>.permalink-anchor{display:initial}button.iconbutton{border:0;background:0 0;color:currentcolor;padding:0;line-height:var(--rhythm);font-size:24px;width:24px;height:24px;display:inline-block;text-align:center;border-radius:50%;transition:font-weight .2s ease-in-out}button.iconbutton:focus-visible,button.iconbutton:hover{outline:1px solid var(--accent);outline-offset:6px}button.iconbutton:active{outline-offset:3px;background:0 0}button.iconbutton[aria-pressed=true]{box-shadow:none;transform:none}[role=tablist]{display:flex;gap:.5ch;scrollbar-width:thin}[role=tab][role=tab]{all:initial;font-family:var(--secondary-font);padding:0 calc(var(--rhythm)/4);margin:0;min-height:var(--rhythm);bottom:-1px;position:relative;color:var(--fg);border:solid var(--graphical-fg);border-width:1px;background:var(--interactive-bg);border-start-start-radius:.4em;border-start-end-radius:.4em}[role=tab][role=tab]:active,[role=tab][role=tab][aria-selected=true]{background:var(--box-bg);-webkit-border-after:1px solid transparent;border-block-end:1px solid transparent}[role=tab][role=tab]:hover{background-color:var(--box-bg);box-shadow:none}[role=tab][role=tab]:focus-visible{box-shadow:none;color:var(--accent);text-decoration:underline}[role=tabpanel]{-webkit-margin-before:0;margin-block-start:0;border-start-start-radius:0;border-start-end-radius:0;z-index:1}[role=menu]{position:absolute;z-index:10;padding:calc(var(--gap)/2) 0;margin:1px 0 0;display:flex;flex-flow:column nowrap}[role=menuitem]{padding:0 calc(var(--gap)/2);display:block;text-decoration:none;border-radius:0;color:var(--fg)}[role=menuitem]:active,[role=menuitem]:focus{background:var(--accent);color:var(--bg)}[role=listbox]{list-style:none}[role=listbox] [role=option]{margin-inline:calc(-1*var(--gap));padding-inline:var(--gap)}[role=listbox] [role=option][aria-selected=true]{background:var(--interactive-bg)}[role=listbox] .active[role=option]{--temporary-bg: var(--accent);--temporary-fg: var(--bg);--temporary-accent: parent-var(--muted-accent);--temporary-muted-accent: parent-var(--box-bg);background:var(--temporary-bg);color:var(--temporary-fg)}[role=listbox] .active[role=option]>*{--bg: var(--temporary-bg);--fg: var(--temporary-fg);--accent: var(--temporary-accent);--muted-accent: var(--temporary-muted-accent)}[aria-orientation=vertical]{flex-direction:column;width:-moz-fit-content;width:fit-content;text-align:center}.plain{--box-bg: var(--plain-bg);--accent: var(--plain-fg);--graphical-fg: var(--plain-graphical-fg)}.info{--box-bg: var(--info-bg);--accent: var(--info-fg);--graphical-fg: var(--info-graphical-fg)}.ok{--box-bg: var(--ok-bg);--accent: var(--ok-fg);--graphical-fg: var(--ok-graphical-fg)}.warn{--box-bg: var(--warn-bg);--accent: var(--warn-fg);--graphical-fg: var(--warn-graphical-fg)}.bad{--box-bg: var(--bad-bg);--accent: var(--bad-fg);--graphical-fg: var(--bad-graphical-fg)}.color{color:var(--accent)}.bg{background:var(--box-bg)}.border{border-style:solid;border-color:var(--graphical-fg)}:root{--fg: var(--gray-12);--muted-fg: var(--gray-10);--faded-fg: var(--gray-6);--graphical-fg: var(--plain-graphical-fg);--plain-fg: var(--blue-10);--info-fg: var(--blue-11);--ok-fg: var(--green-11);--bad-fg: var(--red-11);--warn-fg: var(--yellow-11);--plain-graphical-fg: var(--gray-6);--info-graphical-fg: var(--blue-6);--ok-graphical-fg: var(--green-6);--bad-graphical-fg: var(--red-6);--warn-graphical-fg: var(--yellow-6);--bg: var(--gray-0);--box-bg: var(--plain-bg);--interactive-bg: var(--gray-4);--plain-bg: var(--gray-1);--info-bg: var(--blue-1);--ok-bg: var(--green-1);--bad-bg: var(--red-1);--warn-bg: var(--yellow-1);--accent: var(--blue-10);--muted-accent: var(--blue-7);--rhythm: 1.4rem;--line-length: 40rem;--border-radius: .2rem;--main-font: 'Source Sans 3', 'Source Sans Pro', -apple-system, system-ui, sans-serif;--secondary-font: var(--main-font);--mono-font: 'M Plus Code Latin', monospace, monospace;--density: 1;--full-width: 100vw;--eff-line-length: /* Effective line length for prose. */
- min(
- calc( var(--full-width) - (2 * var(--rhythm)) ),
- var(--line-length)
- );--gutter-width: /* Width of spaces at each side of page content. */
- calc(
- (
- var(--full-width) /* Viewport width */
- - var(--eff-line-length) /* minus line width */
- ) / 2)}@media (prefers-color-scheme:dark){:root:not(.-no-dark-theme){--fg: var(--gray-0);--muted-fg: var(--gray-2);--faded-fg: var(--gray-7);--plain-bg: var(--gray-11);--info-bg: var(--blue-12);--ok-bg: var(--green-12);--bad-bg: var(--red-12);--warn-bg: var(--yellow-12);--plain-faded-fg: var(--blue-6);--info-faded-fg: var(--blue-6);--ok-faded-fg: var(--green-6);--bad-faded-fg: var(--red-6);--warn-faded-fg: var(--yellow-6);--bg: var(--gray-12);--box-bg: var(--gray-10);--interactive-bg: var(--gray-8);--plain-fg: (--blue-3);--info-fg: var(--blue-3);--ok-fg: var(--green-3);--bad-fg: var(--red-3);--warn-fg: var(--yellow-3);--accent: var(--blue-3);--muted-accent: var(--blue-5)}}*{--gap: calc(var(--rhythm) * var(--density));accent-color:var(--accent)}.textcolumns{--col-width: 30ch;column-width:var(--col-width);column-gap:var(--gap);margin-block:var(--gap)}.textcolumns :first-child{-webkit-margin-before:0!important;margin-block-start:0!important}.text-align\:center{text-align:center}.center{display:grid;place-items:center}.container{max-inline-size:var(--eff-line-length);margin-inline:auto}.fullbleed,.fullscreen{position:relative;left:50%;border-radius:0;border-inline:none}.fullbleed{width:var(--full-width);transform:translateX(calc(-.5*var(--full-width)))}.fullscreen{height:100vh;width:100vw;transform:translateX(-50vw)}.width\:100\%{width:100%;max-width:100%}.height\:100\%{height:100%;max-height:100%}:is(
- body,
- .box,
- [role=menu],
- .sidebar-layout > header,
- [role=tabpanel],
- figure,
- details,
- dialog,
- aside,
- fieldset,
- dd,
- td,
- th
-)>:first-child:first-child:first-child:first-child,:is(
- body,
- .box,
- [role=menu],
- .sidebar-layout > header,
- [role=tabpanel],
- figure,
- details,
- dialog,
- aside,
- fieldset,
- dd,
- td,
- th
-)>:first-child>:first-child:first-child:first-child,:is(
- body,
- .box,
- [role=menu],
- .sidebar-layout > header,
- [role=tabpanel],
- figure,
- details,
- dialog,
- aside,
- fieldset,
- dd,
- td,
- th
-)>:first-child>:first-child>:first-child:first-child,:is(
- body,
- .box,
- [role=menu],
- .sidebar-layout > header,
- [role=tabpanel],
- figure,
- details,
- dialog,
- aside,
- fieldset,
- dd,
- td,
- th
-)>:first-child>:first-child>:first-child>:first-child{-webkit-margin-before:0;margin-block-start:0}:is(
- body,
- .box,
- [role=menu],
- .sidebar-layout > header,
- [role=tabpanel],
- figure,
- details,
- dialog,
- aside,
- fieldset,
- dd,
- td,
- th
-)>:last-child:last-child:last-child:last-child,:is(
- body,
- .box,
- [role=menu],
- .sidebar-layout > header,
- [role=tabpanel],
- figure,
- details,
- dialog,
- aside,
- fieldset,
- dd,
- td,
- th
-)>:last-child>:last-child:last-child:last-child,:is(
- body,
- .box,
- [role=menu],
- .sidebar-layout > header,
- [role=tabpanel],
- figure,
- details,
- dialog,
- aside,
- fieldset,
- dd,
- td,
- th
-)>:last-child>:last-child>:last-child:last-child,:is(
- body,
- .box,
- [role=menu],
- .sidebar-layout > header,
- [role=tabpanel],
- figure,
- details,
- dialog,
- aside,
- fieldset,
- dd,
- td,
- th
-)>:last-child>:last-child>:last-child>:last-child{-webkit-margin-after:0;margin-block-end:0}.padding{padding-inline:var(--gap)}.padding-block{padding-block:var(--gap)}.padding-block-start{-webkit-padding-before:var(--gap);padding-block-start:var(--gap)}.padding-block-end{-webkit-padding-after:var(--gap);padding-block-end:var(--gap)}.padding-inline{padding-inline:var(--gap)}.padding-inline-end,.padding-inline-start{-webkit-padding-start:var(--gap);padding-inline-start:var(--gap)}.margin{margin:var(--gap)}.margin-block{margin-block:var(--gap)}.margin-block-start{-webkit-margin-before:var(--gap);margin-block-start:var(--gap)}.margin-block-end{-webkit-margin-after:var(--gap);margin-block-end:var(--gap)}.margin-inline{margin-inline:var(--gap)}.margin-inline-start{-webkit-margin-start:var(--gap);margin-inline-start:var(--gap)}.margin-inline-end{-webkit-margin-end:var(--gap);margin-inline-end:var(--gap)}.flow-gap>:not(:last-child){margin-bottom:1em}.inline{display:inline}.block{display:block}.contents{display:contents}.table{display:table;width:100%;margin:0}.row,.rows>*{display:table-row}.row:not(:last-child):not([specificity-hack])>*,.rows>:not(:last-child):not([specificity-hack])>*{margin-bottom:var(--gap)}.row>:not([specificity-hack]),.rows>*>:not([specificity-hack]){display:table-cell;vertical-align:top}.row>*+:not([specificity-hack]),:is(.rows > *)>*+:not([specificity-hack]){-webkit-margin-start:var(--gap);margin-inline-start:var(--gap);display:inline-block}.big{font-size:1.4em;line-height:calc(1.5*var(--rhythm))}.fixed{position:fixed}.sticky{position:sticky}.top{top:0}.right{right:0}.bottom{bottom:0}.left{left:0}.float\:left{float:left}.float\:right{float:right}.overflow\:auto{overflow:auto}.overflow\:scroll{overflow:scroll}.airy{--density: 3}.spacious{--density: 2}.dense{--density: 1}.crowded{--density: .5}.packed{--density: 0}.autodensity{--density: 1
-}@media (min-width:768px){.autodensity{--density: 2
-}}@media (min-width:1024px){.autodensity{--density: 3
-}}.vh,v-h{clip:rect(0 0 0 0);-webkit-clip-path:inset(50%);clip-path:inset(50%);block-size:1px;inline-size:1px;overflow:hidden;white-space:nowrap}.all\:initial{all:initial}.bold{font-weight:700}.italic{font-style:italic}.allcaps{text-transform:uppercase;letter-spacing:.1rem}.primary-font{font-family:var(--primary-font)}.secondary-font{font-family:var(--secondary-font)}.display-font{font-family:var(--display-font)}.mono-font,.monospace{font-family:var(--mono-font)}.massivetext{font-size:calc(.13*var(--eff-line-length));line-height:1em;letter-spacing:0}.aestheticbreak{display:block;margin:0;padding:0;height:calc(.5*var(--gap))}.f-row{display:flex;flex-direction:row;gap:var(--gap)}.f-row>*{margin:0}.f-col{display:flex;flex-direction:column;gap:var(--gap)}.f-col>*{margin:0}.f-switch{display:flex;flex-wrap:wrap;gap:var(--gap);--f-switch-threshold: 55ch
-}.f-switch>*{margin:0;flex-grow:1;flex-basis:calc((var(--f-switch-threshold) - 100%)*999)}.justify-content\:start{justify-content:start}.justify-content\:end{justify-content:end}.justify-content\:baseline{justify-content:baseline}.justify-content\:center{justify-content:center}.justify-content\:stretch{justify-content:stretch}.justify-content\:space-between{justify-content:space-between}.justify-content\:space-around{justify-content:space-around}.justify-content\:space-evenly{justify-content:space-evenly}.align-items\:start{align-items:start}.align-items\:end{align-items:end}.align-items\:baseline{align-items:baseline}.align-items\:center{align-items:center}.align-items\:stretch{align-items:stretch}.align-self\:start{align-self:start}.align-self\:end{align-self:end}.align-self\:baseline{align-self:baseline}.align-self\:center{align-self:center}.align-self\:stretch{align-self:stretch}.flex-grow\:0{flex-grow:0}.flex-grow\:1{flex-grow:1}.flex-grow\:2{flex-grow:2}.flex-grow\:3{flex-grow:3}.flex-grow\:4{flex-grow:4}.flex-grow\:5{flex-grow:5}.flex-grow\:6{flex-grow:6}.flex-grow\:7{flex-grow:7}.flex-grow\:8{flex-grow:8}.flex-grow\:9{flex-grow:9}.flex-grow\:10{flex-grow:10}.flex-grow\:11{flex-grow:11}.flex-grow\:12{flex-grow:12}.flex-wrap\:wrap{flex-wrap:wrap}.flex-wrap\:nowrap{flex-wrap:nowrap}.grid{display:grid;grid-auto-columns:var(--grid-col-width, 1fr);grid-auto-rows:var(--grid-row-width, auto);gap:var(--gap)}.grid>*{margin:0}.grid-even-rows{--grid-row-width: 1fr}.grid-variable-cols{--grid-column-width: auto}[data-cols^="1 "]{grid-column-start:1}[data-cols$=" 1"]{grid-column-end:2}[data-cols="1"]{grid-column:1}[data-cols^="2 "]{grid-column-start:2}[data-cols$=" 2"]{grid-column-end:3}[data-cols="2"]{grid-column:2}[data-cols^="3 "]{grid-column-start:3}[data-cols$=" 3"]{grid-column-end:4}[data-cols="3"]{grid-column:3}[data-cols^="4 "]{grid-column-start:4}[data-cols$=" 4"]{grid-column-end:5}[data-cols="4"]{grid-column:4}[data-cols^="5 "]{grid-column-start:5}[data-cols$=" 5"]{grid-column-end:6}[data-cols="5"]{grid-column:5}[data-cols^="6 "]{grid-column-start:6}[data-cols$=" 6"]{grid-column-end:7}[data-cols="6"]{grid-column:6}[data-cols^="7 "]{grid-column-start:7}[data-cols$=" 7"]{grid-column-end:8}[data-cols="7"]{grid-column:7}[data-cols^="8 "]{grid-column-start:8}[data-cols$=" 8"]{grid-column-end:9}[data-cols="8"]{grid-column:8}[data-cols^="9 "]{grid-column-start:9}[data-cols$=" 9"]{grid-column-end:10}[data-cols="9"]{grid-column:9}[data-cols^="10 "]{grid-column-start:10}[data-cols$=" 10"]{grid-column-end:11}[data-cols="10"]{grid-column:10}[data-cols^="11 "]{grid-column-start:11}[data-cols$=" 11"]{grid-column-end:12}[data-cols="11"]{grid-column:11}[data-cols^="12 "]{grid-column-start:12}[data-cols$=" 12"]{grid-column-end:13}[data-cols="12"]{grid-column:12}[data-rows^="1 "]{grid-row-start:1}[data-rows$=" 1"]{grid-row-end:2}[data-rows="1"]{grid-row:1}[data-rows^="2 "]{grid-row-start:2}[data-rows$=" 2"]{grid-row-end:3}[data-rows="2"]{grid-row:2}[data-rows^="3 "]{grid-row-start:3}[data-rows$=" 3"]{grid-row-end:4}[data-rows="3"]{grid-row:3}[data-rows^="4 "]{grid-row-start:4}[data-rows$=" 4"]{grid-row-end:5}[data-rows="4"]{grid-row:4}[data-rows^="5 "]{grid-row-start:5}[data-rows$=" 5"]{grid-row-end:6}[data-rows="5"]{grid-row:5}[data-rows^="6 "]{grid-row-start:6}[data-rows$=" 6"]{grid-row-end:7}[data-rows="6"]{grid-row:6}[data-rows^="7 "]{grid-row-start:7}[data-rows$=" 7"]{grid-row-end:8}[data-rows="7"]{grid-row:7}[data-rows^="8 "]{grid-row-start:8}[data-rows$=" 8"]{grid-row-end:9}[data-rows="8"]{grid-row:8}[data-rows^="9 "]{grid-row-start:9}[data-rows$=" 9"]{grid-row-end:10}[data-rows="9"]{grid-row:9}[data-rows^="10 "]{grid-row-start:10}[data-rows$=" 10"]{grid-row-end:11}[data-rows="10"]{grid-row:10}[data-rows^="11 "]{grid-row-start:11}[data-rows$=" 11"]{grid-row-end:12}[data-rows="11"]{grid-row:11}[data-rows^="12 "]{grid-row-start:12}[data-rows$=" 12"]{grid-row-end:13}[data-rows="12"]{grid-row:12}@media (max-width:768px){[data-cols\@s^="1 "]{grid-column-start:1}[data-cols\@s$=" 1"]{grid-column-end:2}[data-cols\@s="1"]{grid-column:1}[data-cols\@s^="2 "]{grid-column-start:2}[data-cols\@s$=" 2"]{grid-column-end:3}[data-cols\@s="2"]{grid-column:2}[data-cols\@s^="3 "]{grid-column-start:3}[data-cols\@s$=" 3"]{grid-column-end:4}[data-cols\@s="3"]{grid-column:3}[data-cols\@s^="4 "]{grid-column-start:4}[data-cols\@s$=" 4"]{grid-column-end:5}[data-cols\@s="4"]{grid-column:4}[data-cols\@s^="5 "]{grid-column-start:5}[data-cols\@s$=" 5"]{grid-column-end:6}[data-cols\@s="5"]{grid-column:5}[data-cols\@s^="6 "]{grid-column-start:6}[data-cols\@s$=" 6"]{grid-column-end:7}[data-cols\@s="6"]{grid-column:6}[data-cols\@s^="7 "]{grid-column-start:7}[data-cols\@s$=" 7"]{grid-column-end:8}[data-cols\@s="7"]{grid-column:7}[data-cols\@s^="8 "]{grid-column-start:8}[data-cols\@s$=" 8"]{grid-column-end:9}[data-cols\@s="8"]{grid-column:8}[data-cols\@s^="9 "]{grid-column-start:9}[data-cols\@s$=" 9"]{grid-column-end:10}[data-cols\@s="9"]{grid-column:9}[data-cols\@s^="10 "]{grid-column-start:10}[data-cols\@s$=" 10"]{grid-column-end:11}[data-cols\@s="10"]{grid-column:10}[data-cols\@s^="11 "]{grid-column-start:11}[data-cols\@s$=" 11"]{grid-column-end:12}[data-cols\@s="11"]{grid-column:11}[data-cols\@s^="12 "]{grid-column-start:12}[data-cols\@s$=" 12"]{grid-column-end:13}[data-cols\@s="12"]{grid-column:12}[data-rows\@s^="1 "]{grid-row-start:1}[data-rows\@s$=" 1"]{grid-row-end:2}[data-rows\@s="1"]{grid-row:1}[data-rows\@s^="2 "]{grid-row-start:2}[data-rows\@s$=" 2"]{grid-row-end:3}[data-rows\@s="2"]{grid-row:2}[data-rows\@s^="3 "]{grid-row-start:3}[data-rows\@s$=" 3"]{grid-row-end:4}[data-rows\@s="3"]{grid-row:3}[data-rows\@s^="4 "]{grid-row-start:4}[data-rows\@s$=" 4"]{grid-row-end:5}[data-rows\@s="4"]{grid-row:4}[data-rows\@s^="5 "]{grid-row-start:5}[data-rows\@s$=" 5"]{grid-row-end:6}[data-rows\@s="5"]{grid-row:5}[data-rows\@s^="6 "]{grid-row-start:6}[data-rows\@s$=" 6"]{grid-row-end:7}[data-rows\@s="6"]{grid-row:6}[data-rows\@s^="7 "]{grid-row-start:7}[data-rows\@s$=" 7"]{grid-row-end:8}[data-rows\@s="7"]{grid-row:7}[data-rows\@s^="8 "]{grid-row-start:8}[data-rows\@s$=" 8"]{grid-row-end:9}[data-rows\@s="8"]{grid-row:8}[data-rows\@s^="9 "]{grid-row-start:9}[data-rows\@s$=" 9"]{grid-row-end:10}[data-rows\@s="9"]{grid-row:9}[data-rows\@s^="10 "]{grid-row-start:10}[data-rows\@s$=" 10"]{grid-row-end:11}[data-rows\@s="10"]{grid-row:10}[data-rows\@s^="11 "]{grid-row-start:11}[data-rows\@s$=" 11"]{grid-row-end:12}[data-rows\@s="11"]{grid-row:11}[data-rows\@s^="12 "]{grid-row-start:12}[data-rows\@s$=" 12"]{grid-row-end:13}[data-rows\@s="12"]{grid-row:12}}@media (min-width:1024px){[data-cols\@l^="1 "]{grid-column-start:1}[data-cols\@l$=" 1"]{grid-column-end:2}[data-cols\@l="1"]{grid-column:1}[data-cols\@l^="2 "]{grid-column-start:2}[data-cols\@l$=" 2"]{grid-column-end:3}[data-cols\@l="2"]{grid-column:2}[data-cols\@l^="3 "]{grid-column-start:3}[data-cols\@l$=" 3"]{grid-column-end:4}[data-cols\@l="3"]{grid-column:3}[data-cols\@l^="4 "]{grid-column-start:4}[data-cols\@l$=" 4"]{grid-column-end:5}[data-cols\@l="4"]{grid-column:4}[data-cols\@l^="5 "]{grid-column-start:5}[data-cols\@l$=" 5"]{grid-column-end:6}[data-cols\@l="5"]{grid-column:5}[data-cols\@l^="6 "]{grid-column-start:6}[data-cols\@l$=" 6"]{grid-column-end:7}[data-cols\@l="6"]{grid-column:6}[data-cols\@l^="7 "]{grid-column-start:7}[data-cols\@l$=" 7"]{grid-column-end:8}[data-cols\@l="7"]{grid-column:7}[data-cols\@l^="8 "]{grid-column-start:8}[data-cols\@l$=" 8"]{grid-column-end:9}[data-cols\@l="8"]{grid-column:8}[data-cols\@l^="9 "]{grid-column-start:9}[data-cols\@l$=" 9"]{grid-column-end:10}[data-cols\@l="9"]{grid-column:9}[data-cols\@l^="10 "]{grid-column-start:10}[data-cols\@l$=" 10"]{grid-column-end:11}[data-cols\@l="10"]{grid-column:10}[data-cols\@l^="11 "]{grid-column-start:11}[data-cols\@l$=" 11"]{grid-column-end:12}[data-cols\@l="11"]{grid-column:11}[data-cols\@l^="12 "]{grid-column-start:12}[data-cols\@l$=" 12"]{grid-column-end:13}[data-cols\@l="12"]{grid-column:12}[data-rows\@l^="1 "]{grid-row-start:1}[data-rows\@l$=" 1"]{grid-row-end:2}[data-rows\@l="1"]{grid-row:1}[data-rows\@l^="2 "]{grid-row-start:2}[data-rows\@l$=" 2"]{grid-row-end:3}[data-rows\@l="2"]{grid-row:2}[data-rows\@l^="3 "]{grid-row-start:3}[data-rows\@l$=" 3"]{grid-row-end:4}[data-rows\@l="3"]{grid-row:3}[data-rows\@l^="4 "]{grid-row-start:4}[data-rows\@l$=" 4"]{grid-row-end:5}[data-rows\@l="4"]{grid-row:4}[data-rows\@l^="5 "]{grid-row-start:5}[data-rows\@l$=" 5"]{grid-row-end:6}[data-rows\@l="5"]{grid-row:5}[data-rows\@l^="6 "]{grid-row-start:6}[data-rows\@l$=" 6"]{grid-row-end:7}[data-rows\@l="6"]{grid-row:6}[data-rows\@l^="7 "]{grid-row-start:7}[data-rows\@l$=" 7"]{grid-row-end:8}[data-rows\@l="7"]{grid-row:7}[data-rows\@l^="8 "]{grid-row-start:8}[data-rows\@l$=" 8"]{grid-row-end:9}[data-rows\@l="8"]{grid-row:8}[data-rows\@l^="9 "]{grid-row-start:9}[data-rows\@l$=" 9"]{grid-row-end:10}[data-rows\@l="9"]{grid-row:9}[data-rows\@l^="10 "]{grid-row-start:10}[data-rows\@l$=" 10"]{grid-row-end:11}[data-rows\@l="10"]{grid-row:10}[data-rows\@l^="11 "]{grid-row-start:11}[data-rows\@l$=" 11"]{grid-row-end:12}[data-rows\@l="11"]{grid-row:11}[data-rows\@l^="12 "]{grid-row-start:12}[data-rows\@l$=" 12"]{grid-row-end:13}[data-rows\@l="12"]{grid-row:12}} \ No newline at end of file
diff --git a/www/releases/_artifacts/v1.0.9/missing-js/19.js b/www/releases/_artifacts/v1.0.9/missing-js/19.js
deleted file mode 100644
index 1e034eb..0000000
--- a/www/releases/_artifacts/v1.0.9/missing-js/19.js
+++ /dev/null
@@ -1,3 +0,0 @@
-function T(e){return(...t)=>(console.log("%c%s","color:green",e,...t),t.at(-1))}const h=T("19.js");function E(e){return e.replace(/[A-Z]/g,t=>"-"+t.toLowerCase())}function f(e,t,n,r,i={}){const{wrap:l=!0}=i,u=e+"ElementSibling",a=()=>l?e==="next"?d(t,n):g(t,n).at(-1):null;if(!r)return a();let o=r;for(;;){for(;o[u]===null;)if(o=o.parentElement,o===t)return a();o=o[u];const s=o.matches(n)?o:d(o,n);if(s)return s}}function d(e,t){return e.querySelector(t)}function g(e,t){return Array.from(e.querySelectorAll(t))}function L(e,t,n,r={}){const i=l=>(r.addedBy&&!r.addedBy.isConnected&&v({target:e,type:t,listener:i,options:r}),n(l));return e.addEventListener(t,i,r),{target:e,type:t,options:r,listener:i}}function v({target:e,type:t,listener:n,options:r}){return e.removeEventListener(t,n,r)}function y(e,t){for(const n of e.split(" "))n==="default"&&t.preventDefault(),n==="bubbling"&&t.stopPropagation(),n==="propagation"&&t.stopImmediatePropagation()}function A(e,t){return n=>{y(e,n),t(n)}}function w(e,t,n){return e.dispatchEvent(new CustomEvent(t,{detail:n}))}function k(e,t,n=void 0){if(typeof t=="object"){for(const i in t)e.setAttribute(E(i),t[i]);return null}const r=e.getAttribute(t);return n===void 0?e.getAttribute(t):n===null?(e.removeAttribute(t),r):(e.setAttribute(t,n),n)}function x(e){const t=document.createElement("div");return t.append(e),t.innerHTML}function b(e){return e==null?"":e instanceof Node?x(e):String(e).replaceAll("&","&amp;").replaceAll("<","&lt;").replaceAll(">","&gt;").replaceAll("'","&#x27;").replaceAll('"',"&quot;")}function N(e,...t){const n=document.createElement("template");return typeof e=="object"&&"raw"in e&&(e=String.raw(e,...t.map(b))),n.innerHTML=e,n.content}function O(e){return e instanceof HTMLElement?e:null}function P(e,t,n,r={}){return f("next",e,t,n,r)}function S(e,t,n,r={}){return f("previous",e,t,n,r)}function B(e){const l={},u=o=>~~(o.altKey&&1)|~~(o.ctrlKey&&2)|~~(o.metaKey&&4)|~~(o.shiftKey&&8),a=o=>{const s=o.split("+"),c=s.pop();let p=0;for(const m in s)switch(m.toLowerCase()){case"alt":p|=1;break;case"ctrl":p|=2;break;case"meta":p|=4;break;case"shift":p|=8;break}return[c,p]};for(const[o,s]of Object.entries(e)){const[c,p]=a(o);(l[c]??(l[c]=new Array(8)))[p]=s}return o=>l[o.key]?.[u(o)]?.(o)}function C(e,t,{mode:n="trailing"}={}){let r=null;return(...i)=>{r?clearTimeout(r):n==="leading"&&t(...i),r=setTimeout(()=>{n==="trailing"&&t(...i),r=null},e)}}function D(e,t){const n=new WeakSet;return(r=document,i={})=>{const l=r.getRootNode();g(r,e).forEach(u=>{n.has(u)||(n.add(u),t(u,{options:i,root:l}))})}}function K(e,t){return n=>{let r=null;const i=(...a)=>{const o=r;r=a.at(-1),r instanceof DocumentFragment&&(r=r.lastChild),o?o.after(...a):e.prepend(...a)},l=a=>{if(a)for(;a.nextSibling;)a.nextSibling.remove();else e.replaceChildren()},u=e.getRootNode();for(const a of n){const o=t.idOf(a),s=u.getElementById(o);i(s?t.update?.(s,a)??s:t.create(a,{id:o}))}l(r)}}export{d as $,g as $$,O as asHtml,k as attr,D as behavior,C as debounce,w as dispatch,y as halt,A as halts,B as hotkey,N as html,b as htmlescape,T as makelogger,P as next,v as off,L as on,S as prev,K as repeater,x as stringifyNode,f as traverse};
-
-/*# sourceMappingURL=./19.js.map */ \ No newline at end of file
diff --git a/www/releases/_artifacts/v1.0.9/missing-js/menu.js b/www/releases/_artifacts/v1.0.9/missing-js/menu.js
deleted file mode 100644
index 80c3830..0000000
--- a/www/releases/_artifacts/v1.0.9/missing-js/menu.js
+++ /dev/null
@@ -1,3 +0,0 @@
-import{$ as m,$$ as h,on as o,dispatch as c,halts as g,attr as i,next as E,prev as _,asHtml as a,hotkey as w,behavior as f,makelogger as k}from"./19.js";const l=k("menu"),x="[role=menu]",s="[role=menuitem]",p=e=>h(e,s),y=(e,{root:r})=>{const t=i(e,"aria-controls");return t===null?null:r.getElementById(t)},u=e=>m(e,s),v=e=>p(e).at(-1)??null,d=e=>!e.hidden,B=f(x,(e,{root:r})=>{if(!(e instanceof HTMLElement))return;let t;p(e).forEach(n=>n.setAttribute("tabindex","-1")),o(e,"menu:open",n=>{t=n.detail?.opener,t||l("Warning: Menu",e,"opened without passing an `opener` element"),e.hidden=!1,u(e)?.focus()}),o(e,"menu:close",n=>{l("menu:close",e.hidden=!0),t?.focus()}),o(e,"focusout",n=>{d(e)&&(e.contains(n.relatedTarget)||t!==n.relatedTarget&&c(e,"menu:close"))}),o(e,"keydown",g("default",w({ArrowUp:n=>a(_(e,s,r.activeElement,{}))?.focus(),ArrowDown:n=>a(E(e,s,r.activeElement,{}))?.focus(),Space:n=>a(r.activeElement?.closest(s))?.click(),Home:n=>u(e)?.focus(),End:n=>v(e)?.focus(),Escape:n=>c(e,"menu:close")}))),o(window,"click",n=>{d(e)&&t!==n.target&&c(e,"menu:close")},{addedBy:e})}),M=f("[aria-haspopup=menu]",(e,{root:r})=>{const t=y(e,{root:r});if(t===null)return l("Error: Menu button",e,"has no menu.");o(t,"menu:close",n=>i(e,"aria-expanded","false"),{addedBy:e}),o(t,"menu:open",n=>i(e,"aria-expanded","true"),{addedBy:e}),o(e,"click",()=>c(t,d(t)?"menu:close":"menu:open",{opener:e}))});B(document);M(document);export{B as menu,M as menuButton};
-
-/*# sourceMappingURL=./menu.js.map */ \ No newline at end of file
diff --git a/www/releases/_artifacts/v1.0.9/missing-js/overflow-nav.js b/www/releases/_artifacts/v1.0.9/missing-js/overflow-nav.js
deleted file mode 100644
index 8ede3f4..0000000
--- a/www/releases/_artifacts/v1.0.9/missing-js/overflow-nav.js
+++ /dev/null
@@ -1,3 +0,0 @@
-import{$ as f,asHtml as g,attr as d,behavior as p,makelogger as m,on as l}from"./19.js";const w=m("overflow-nav"),a=p("[data-overflow-nav]",(t,{options:{expandedClass:o="expanded"}})=>{const e=g(f(t,"[data-nav-expander]"));if(e===null)return w("Expand toggle missing from navbar ",t);const c=()=>t.scrollWidth>t.clientWidth,r=()=>t.classList.contains(o),n=(s=!r())=>{s?(t.classList.add(o),d(e,"aria-pressed",!0),e.textContent="\xD7"):(t.classList.remove(o),d(e,"aria-pressed",!1),e.textContent="\u2630")},i=()=>{const s=e.hidden;e.hidden=!c(),s!=e.hidden&&n(!1)};l(e,"click",()=>n()),i(),l(window,"resize",()=>i(),{addedBy:t})});var h=a;a(document);export{h as default};
-
-/*# sourceMappingURL=./overflow-nav.js.map */ \ No newline at end of file
diff --git a/www/releases/_artifacts/v1.0.9/missing-js/tabs.js b/www/releases/_artifacts/v1.0.9/missing-js/tabs.js
deleted file mode 100644
index 873a350..0000000
--- a/www/releases/_artifacts/v1.0.9/missing-js/tabs.js
+++ /dev/null
@@ -1,3 +0,0 @@
-import{$ as m,$$ as p,on as t,attr as s,next as x,prev as b,asHtml as r,hotkey as T,behavior as k,makelogger as w}from"./19.js";const E=w("tabs"),c=e=>p(e,"[role=tab]"),u=e=>m(e,"[role=tab][aria-selected=true]"),i=(e,n)=>{const o=s(e,"aria-controls");return o===null?(E("Tab",e,"has no associated tabpanel"),null):n.getElementById(o)},f=(e,n,o,{focusTab:h=!0}={})=>{if(!o)return;const a=u(n);if(a){s(a,{ariaSelected:!1,tabindex:-1});const l=i(a,e);l&&(l.hidden=!0)}s(o,{ariaSelected:!0,tabindex:0});const d=i(o,e);d&&(d.hidden=!1),h&&o.focus()},g=k("[role=tablist]",(e,{root:n})=>{e instanceof HTMLElement&&(e.tabIndex=0,c(e).forEach(o=>o.tabIndex=-1),f(n,e,u(e),{focusTab:!1}),t(e,"focus",o=>u(e)?.focus()),t(e,"click",o=>f(n,e,r(r(o.target)?.closest("[role=tab]")))),t(e,"focusin",o=>f(n,e,r(r(o.target)?.closest("[role=tab]")))),t(e,"keydown",T({ArrowRight:o=>r(x(e,"[role=tab]",r(o.target)))?.focus(),ArrowLeft:o=>r(b(e,"[role=tab]",r(o.target)))?.focus(),Home:o=>c(e).at(0)?.focus(),End:o=>c(e).at(-1)?.focus()})))});g(document);var H=g;export{H as default,g as tablist};
-
-/*# sourceMappingURL=./tabs.js.map */ \ No newline at end of file
diff --git a/www/releases/_artifacts/v1.0.9/missing-prism.css b/www/releases/_artifacts/v1.0.9/missing-prism.css
deleted file mode 100644
index 23e48b5..0000000
--- a/www/releases/_artifacts/v1.0.9/missing-prism.css
+++ /dev/null
@@ -1,62 +0,0 @@
-
-.token.comment,
-.token.prolog,
-.token.doctype,
-.token.cdata,
-.token.punctuation {
- color: var(--muted-fg);
-}
-
-.token.property,
-.token.tag,
-.token.boolean,
-.token.number,
-.token.constant,
-.token.symbol,
-.token.deleted {
- color: var(--bad-fg);
-}
-
-.token.selector,
-.token.attr-name,
-.token.string,
-.token.char,
-.token.builtin,
-.token.inserted {
- color: var(--ok-fg);
-}
-
-.token.operator,
-.token.entity,
-.token.url,
-.language-css .token.string,
-.style .token.string,
-.token.regex,
-.token.important,
-.token.variable {
- color: var(--warn-fg)
-}
-
-.token.atrule,
-.token.attr-value,
-.token.keyword {
- color: var(--info-fg);
-}
-
-.token.function {
- color: var(--bad-fg);
- font-style: italic;
-}
-
-.token.important,
-.token.bold {
- font-weight: bold;
-}
-
-.token.italic {
- font-style: italic;
-}
-
-.token.entity {
- cursor: help;
-}
diff --git a/www/releases/_artifacts/v1.0.9/missing-prism.min.css b/www/releases/_artifacts/v1.0.9/missing-prism.min.css
deleted file mode 100644
index 41c91b1..0000000
--- a/www/releases/_artifacts/v1.0.9/missing-prism.min.css
+++ /dev/null
@@ -1 +0,0 @@
-.token.cdata,.token.comment,.token.doctype,.token.prolog,.token.punctuation{color:var(--muted-fg)}.token.boolean,.token.constant,.token.deleted,.token.number,.token.property,.token.symbol,.token.tag{color:var(--bad-fg)}.token.attr-name,.token.builtin,.token.char,.token.inserted,.token.selector,.token.string{color:var(--ok-fg)}.language-css .token.string,.style .token.string,.token.entity,.token.important,.token.operator,.token.regex,.token.url,.token.variable{color:var(--warn-fg)}.token.atrule,.token.attr-value,.token.keyword{color:var(--info-fg)}.token.function{color:var(--bad-fg);font-style:italic}.token.bold,.token.important{font-weight:700}.token.italic{font-style:italic}.token.entity{cursor:help} \ No newline at end of file
diff --git a/www/releases/_artifacts/v1.0.9/missing.css b/www/releases/_artifacts/v1.0.9/missing.css
deleted file mode 100644
index 3960dad..0000000
--- a/www/releases/_artifacts/v1.0.9/missing.css
+++ /dev/null
@@ -1,2435 +0,0 @@
-/* Document
- * ========================================================================== */
-
-/**
- * 1. Add border box sizing in all browsers (opinionated).
- * 2. Backgrounds do not repeat by default (opinionated).
- */
-
-*,
-::before,
-::after {
- box-sizing: border-box; /* 1 */
- background-repeat: no-repeat; /* 2 */
-}
-
-/**
- * 1. Add text decoration inheritance in all browsers (opinionated).
- * 2. Add vertical alignment inheritance in all browsers (opinionated).
- */
-
-::before,
-::after {
- text-decoration: inherit; /* 1 */
- vertical-align: inherit; /* 2 */
-}
-
-/**
- * 1. Use the default cursor in all browsers (opinionated).
- * 3. Breaks words to prevent overflow in all browsers (opinionated).
- * 5. Remove the grey highlight on links in iOS (opinionated).
- * 6. Prevent adjustments of font size after orientation changes in iOS.
- */
-
-:root {
- cursor: default; /* 1 */
- overflow-wrap: break-word; /* 3 */
- -webkit-tap-highlight-color: transparent; /* 5 */
- text-size-adjust: none;
- -webkit-text-size-adjust: none;
-}
-
-/* Text-level semantics
- * ========================================================================== */
-
-/**
- * Add the correct text decoration in Safari.
- */
-
-abbr[title] {
- text-decoration: underline;
- -webkit-text-decoration: underline dotted;
- text-decoration: underline dotted;
-}
-
-/**
- * Add the correct font weight in Chrome, Edge, and Safari.
- */
-
-strong, b {
- font-weight: bolder;
-}
-
-/**
- * Add the correct font size in all browsers.
- */
-
-small {
- font-size: 80%;
-}
-
-/* Embedded content
- * ========================================================================== */
-
-/*
- * Change the alignment on media elements in all browsers (opinionated).
- */
-
-audio, canvas, iframe, img, svg, video {
- vertical-align: middle;
-}
-
-/**
- * Change the fill color to match the text color in all browsers (opinionated).
- */
-
-svg:not([fill]) {
- fill: currentColor;
-}
-
-/* Tabular data
- * ========================================================================== */
-
-/**
- * 1. Collapse border spacing in all browsers (opinionated).
- * 2. Correct table border color in Chrome, Edge, and Safari.
- * 3. Remove text indentation from table contents in Chrome, Edge, and Safari.
- */
-
-table {
- border-collapse: collapse; /* 1 */
- border-color: currentColor; /* 2 */
- text-indent: 0; /* 3 */
-}
-
-/* Forms
- * ========================================================================== */
-
-/**
- * Remove the margin on controls in Safari.
- */
-
-button, input, select {
- margin: 0;
-}
-
-/**
- * Correct the inability to style buttons in iOS and Safari.
- */
-
-button, [type="button"], [type="reset"], [type="submit"] {
- -webkit-appearance: button;
-}
-
-/**
- * Change the inconsistent appearance in all browsers (opinionated).
- */
-
-fieldset {
- border: 1px solid #a0a0a0;
-}
-
-/**
- * Add the correct vertical alignment in Chrome, Edge, and Firefox.
- */
-
-progress {
- vertical-align: baseline;
-}
-
-/**
- * 1. Remove the margin in Firefox and Safari.
- */
-
-textarea {
- margin: 0; /* 1 */
-}
-
-/**
- * 1. Correct the odd appearance in Chrome, Edge, and Safari.
- * 2. Correct the outline style in Safari.
- */
-
-[type="search"] {
- -webkit-appearance: textfield; /* 1 */
- outline-offset: -2px; /* 2 */
-}
-
-/**
- * Correct the cursor style of increment and decrement buttons in Safari.
- */
-
-::-webkit-inner-spin-button,
-::-webkit-outer-spin-button {
- block-size: auto;
-}
-
-/**
- * Correct the text style of placeholders in Chrome, Edge, and Safari.
- */
-
-::-webkit-input-placeholder {
- color: inherit;
- opacity: 0.54;
-}
-
-/**
- * Remove the inner padding in Chrome, Edge, and Safari on macOS.
- */
-
-::-webkit-search-decoration {
- -webkit-appearance: none;
-}
-
-/**
- * 1. Correct the inability to style upload buttons in iOS and Safari.
- * 2. Change font properties to `inherit` in Safari.
- */
-
-::-webkit-file-upload-button {
- -webkit-appearance: button; /* 1 */
- font: inherit; /* 2 */
-}
-
-/* Interactive
- * ========================================================================== */
-
-[hidden] {
- display: none !important;
-}
-
-:focus-visible {
- outline: .2em solid var(--accent);
- z-index: 32;
-}
-
-iframe:focus-visible,
- html:focus-visible,
- body:focus-visible {
- outline: none;
- }
-
-:target {
- outline: .2em solid var(--fg);
- z-index: 2;
-}
-
-/*
- * Add the correct display in Safari.
- */
-
-details > summary:first-of-type {
- display: list-item;
-}
-
-/* Accessibility
- * ========================================================================== */
-
-/**
- * Change the cursor on busy elements in all browsers (opinionated).
- */
-
-[aria-busy="true"] {
- cursor: progress;
-}
-
-/*
- * Change the cursor on disabled, not-editable, or otherwise
- * inoperable elements in all browsers (opinionated).
- */
-
-[aria-disabled="true"], [disabled] {
- cursor: not-allowed;
-}
-
-datalist {
- display: none !important;
-}
-
-/* https://github.com/fchristant/colar/ */
-
-:root {
- --gray-0: #f8fafb;
- --gray-1: #f2f4f6;
- --gray-2: #ebedef;
- --gray-3: #e0e4e5;
- --gray-4: #d1d6d8;
- --gray-5: #b1b6b9;
- --gray-6: #979b9d;
- --gray-7: #7e8282;
- --gray-8: #666968;
- --gray-9: #50514f;
- --gray-10: #3a3a37;
- --gray-11: #252521;
- --gray-12: #121210;
-
- --red-0: #fff5f5;
- --red-1: #ffe3e3;
- --red-2: #ffc9c9;
- --red-3: #ffa8a8;
- --red-4: #ff8787;
- --red-5: #ff6b6b;
- --red-6: #fa5252;
- --red-7: #f03e3e;
- --red-8: #e03131;
- --red-9: #c92a2a;
- --red-10: #b02525;
- --red-11: #962020;
- --red-12: #7d1a1a;
-
- --pink-0: #fff0f6;
- --pink-1: #ffdeeb;
- --pink-2: #fcc2d7;
- --pink-3: #faa2c1;
- --pink-4: #f783ac;
- --pink-5: #f06595;
- --pink-6: #e64980;
- --pink-7: #d6336c;
- --pink-8: #c2255c;
- --pink-9: #a61e4d;
- --pink-10: #8c1941;
- --pink-11: #731536;
- --pink-12: #59102a;
-
- --purple-0: #f8f0fc;
- --purple-1: #f3d9fa;
- --purple-2: #eebefa;
- --purple-3: #e599f7;
- --purple-4: #da77f2;
- --purple-5: #cc5de8;
- --purple-6: #be4bdb;
- --purple-7: #ae3ec9;
- --purple-8: #9c36b5;
- --purple-9: #862e9c;
- --purple-10: #702682;
- --purple-11: #5a1e69;
- --purple-12: #44174f;
-
- --violet-0: #f3f0ff;
- --violet-1: #e5dbff;
- --violet-2: #d0bfff;
- --violet-3: #b197fc;
- --violet-4: #9775fa;
- --violet-5: #845ef7;
- --violet-6: #7950f2;
- --violet-7: #7048e8;
- --violet-8: #6741d9;
- --violet-9: #5f3dc4;
- --violet-10: #5235ab;
- --violet-11: #462d91;
- --violet-12: #3a2578;
-
- --indigo-0: #edf2ff;
- --indigo-1: #dbe4ff;
- --indigo-2: #bac8ff;
- --indigo-3: #91a7ff;
- --indigo-4: #748ffc;
- --indigo-5: #5c7cfa;
- --indigo-6: #4c6ef5;
- --indigo-7: #4263eb;
- --indigo-8: #3b5bdb;
- --indigo-9: #364fc7;
- --indigo-10: #2f44ad;
- --indigo-11: #283a94;
- --indigo-12: #21307a;
-
- --blue-0: #e7f5ff;
- --blue-1: #d0ebff;
- --blue-2: #a5d8ff;
- --blue-3: #74c0fc;
- --blue-4: #4dabf7;
- --blue-5: #339af0;
- --blue-6: #228be6;
- --blue-7: #1c7ed6;
- --blue-8: #1971c2;
- --blue-9: #1864ab;
- --blue-10: #145591;
- --blue-11: #114678;
- --blue-12: #0d375e;
-
- --cyan-0: #e3fafc;
- --cyan-1: #c5f6fa;
- --cyan-2: #99e9f2;
- --cyan-3: #66d9e8;
- --cyan-4: #3bc9db;
- --cyan-5: #22b8cf;
- --cyan-6: #15aabf;
- --cyan-7: #1098ad;
- --cyan-8: #0c8599;
- --cyan-9: #0b7285;
- --cyan-10: #095c6b;
- --cyan-11: #074652;
- --cyan-12: #053038;
-
- --teal-0: #e6fcf5;
- --teal-1: #c3fae8;
- --teal-2: #96f2d7;
- --teal-3: #63e6be;
- --teal-4: #38d9a9;
- --teal-5: #20c997;
- --teal-6: #12b886;
- --teal-7: #0ca678;
- --teal-8: #099268;
- --teal-9: #087f5b;
- --teal-10: #066649;
- --teal-11: #054d37;
- --teal-12: #033325;
-
- --green-0: #ebfbee;
- --green-1: #d3f9d8;
- --green-2: #b2f2bb;
- --green-3: #8ce99a;
- --green-4: #69db7c;
- --green-5: #51cf66;
- --green-6: #40c057;
- --green-7: #37b24d;
- --green-8: #2f9e44;
- --green-9: #2b8a3e;
- --green-10: #237032;
- --green-11: #1b5727;
- --green-12: #133d1b;
-
- --lime-0: #f4fce3;
- --lime-1: #e9fac8;
- --lime-2: #d8f5a2;
- --lime-3: #c0eb75;
- --lime-4: #a9e34b;
- --lime-5: #94d82d;
- --lime-6: #82c91e;
- --lime-7: #74b816;
- --lime-8: #66a80f;
- --lime-9: #5c940d;
- --lime-10: #4c7a0b;
- --lime-11: #3c6109;
- --lime-12: #2c4706;
-
- --yellow-0: #fff9db;
- --yellow-1: #fff3bf;
- --yellow-2: #ffec99;
- --yellow-3: #ffe066;
- --yellow-4: #ffd43b;
- --yellow-5: #fcc419;
- --yellow-6: #fab005;
- --yellow-7: #f59f00;
- --yellow-8: #f08c00;
- --yellow-9: #e67700;
- --yellow-10: #b35c00;
- --yellow-11: #804200;
- --yellow-12: #663500;
-
- --orange-0: #fff4e6;
- --orange-1: #ffe8cc;
- --orange-2: #ffd8a8;
- --orange-3: #ffc078;
- --orange-4: #ffa94d;
- --orange-5: #ff922b;
- --orange-6: #fd7e14;
- --orange-7: #f76707;
- --orange-8: #e8590c;
- --orange-9: #d9480f;
- --orange-10: #bf400d;
- --orange-11: #99330b;
- --orange-12: #802b09;
-
- --choco-0: #fff8dc;
- --choco-1: #fce1bc;
- --choco-2: #f7ca9e;
- --choco-3: #f1b280;
- --choco-4: #e99b62;
- --choco-5: #df8545;
- --choco-6: #d46e25;
- --choco-7: #bd5f1b;
- --choco-8: #a45117;
- --choco-9: #8a4513;
- --choco-10: #703a13;
- --choco-11: #572f12;
- --choco-12: #3d210d;
-
- --brown-0: #faf4eb;
- --brown-1: #ede0d1;
- --brown-2: #e0cab7;
- --brown-3: #d3b79e;
- --brown-4: #c5a285;
- --brown-5: #b78f6d;
- --brown-6: #a87c56;
- --brown-7: #956b47;
- --brown-8: #825b3a;
- --brown-9: #6f4b2d;
- --brown-10:#5e3a21;
- --brown-11:#4e2b15;
- --brown-12: #422412;
-
- --sand-0: #f8fafb;
- --sand-1: #e6e4dc;
- --sand-2: #d5cfbd;
- --sand-3: #c2b9a0;
- --sand-4: #aea58c;
- --sand-5: #9a9178;
- --sand-6: #867c65;
- --sand-7: #736a53;
- --sand-8: #5f5746;
- --sand-9: #4b4639;
- --sand-10:#38352d;
- --sand-11:#252521;
- --sand-12: #121210;
-
- --camo-0: #f9fbe7;
- --camo-1: #e8ed9c;
- --camo-2: #d2df4e;
- --camo-3: #c2ce34;
- --camo-4: #b5bb2e;
- --camo-5: #a7a827;
- --camo-6: #999621;
- --camo-7: #8c851c;
- --camo-8: #7e7416;
- --camo-9: #6d6414;
- --camo-10: #5d5411;
- --camo-11: #4d460e;
- --camo-12: #36300a;
-
- --jungle-0: #ecfeb0;
- --jungle-1: #def39a;
- --jungle-2: #d0e884;
- --jungle-3: #c2dd6e;
- --jungle-4: #b5d15b;
- --jungle-5: #a8c648;
- --jungle-6: #9bbb36;
- --jungle-7: #8fb024;
- --jungle-8: #84a513;
- --jungle-9: #7a9908;
- --jungle-10: #658006;
- --jungle-11: #516605;
- --jungle-12: #3d4d04;
-}
-
-/***
- 4.1 The document element
- https://html.spec.whatwg.org/multipage/semantics.html#the-root-element
-
- 4.3 Sections
- https://html.spec.whatwg.org/multipage/sections.html
- ***/
-
-html {
- font-family: var(--main-font);
- line-height: var(--rhythm);
-
- background: var(--bg);
- color: var(--fg);
- scroll-padding-block-start: calc(4 * var(--gap));
-}
-
-body {
- margin: 0;
-}
-
-header, footer, section + section {
- margin-block: calc(2 * var(--gap));
-}
-
-nav a {
- text-decoration: none;
- color: var(--accent);
- }
-
-aside {
- /* SEE components/box.css */
-
- font-size: .8em;
- line-height: calc(var(--rhythm) * 2 / 3)
-}
-
-aside h1,
- aside h2,
- aside h3,
- aside h4,
- aside h5,
- aside h6 {
- font-size: 1em;
- text-transform: none;
- letter-spacing: none;
- }
-
-aside.big {
- /* Pull quote */
- background: none;
- border: none;
- -webkit-border-start: 1px solid var(--muted-fg);
- border-inline-start: 1px solid var(--muted-fg);
- border-radius: 0;
- padding: 0;
- -webkit-padding-start: var(--rhythm);
- padding-inline-start: var(--rhythm);
- font-style: italic;
- color: var(--accent);
- }
-
-h1, h2, h3, h4, h5, h6,
-.\<h1\>, .\<h2\>, .\<h3\>, .\<h4\>, .\<h5\>, .\<h6\> {
- -webkit-margin-after: var(--gap);
- margin-block-end: var(--gap);
- font-family: var(--secondary-font);
- font-size: 1em;
- -webkit-margin-before: calc(2 * var(--gap));
- margin-block-start: calc(2 * var(--gap));
- position: relative;
-}
-
-h1, .\<h1\> {
- font-size: 2em;
- text-transform: none;
- line-height: calc(2 * var(--rhythm));
- letter-spacing: 0;
-}
-
-h2, .\<h2\> {
- font-size: 1.6em;
- text-transform: none;
- line-height: calc(1.5 * var(--rhythm));
- letter-spacing: 0;
-}
-
-h3, .\<h3\> {
- font-size: 1.17em;
- line-height: calc(1 * var(--rhythm));
-}
-
-h4, .\<h4\>, h5, .\<h5\>, h6, .\<h6\> {
- font-size: 1em;
- text-transform: none;
- line-height: calc(1 * var(--rhythm));
- letter-spacing: 0;
- -webkit-margin-before: var(--gap);
- margin-block-start: var(--gap);
-}
-
-h1 + h2,
-h2 + h3,
-h3 + h4,
-h4 + h5,
-h5 + h6,
-h1:first-child,
-h2:first-child,
-h3:first-child,
-h4:first-child,
-h5:first-child,
-h6:first-child {
- -webkit-margin-before: var(--gap);
- margin-block-start: var(--gap);
-}
-
-h1:target,
-h2:target,
-h3:target,
-h4:target,
-h5:target,
-h6:target {
- outline: none
-}
-
-h1:target::before, h2:target::before, h3:target::before, h4:target::before, h5:target::before, h6:target::before {
- content: "";
- display: block;
- position: absolute;
- left: -.5em;
- width: 4px;
- height: 100%;
- background: var(--accent);
- }
-
-header {
- font-family: var(--secondary-font);
- -webkit-border-after: 1px solid var(--graphical-fg);
- border-block-end: 1px solid var(--graphical-fg);
-}
-
-footer {
- font-family: var(--secondary-font);
- font-size: .8em;
- line-height: calc(var(--rhythm) * 2 / 3);
- -webkit-border-before: 1px solid var(--graphical-fg);
- border-block-start: 1px solid var(--graphical-fg);
-}
-
-body > header,
-body > footer,
-main + footer {
- padding: var(--rhythm) calc((100% - var(--eff-line-length)) / 2)
-}
-
-address {
- --density: 0;
-}
-
-/***
- 4.4 Grouping content
- https://html.spec.whatwg.org/multipage/grouping-content.html
- ***/
-
-p {
- margin-block: var(--gap);
-}
-
-hr {
- color: inherit;
- margin-inline: 0;
- margin-block: var(--gap);
-
- flex: 0 1 0px;
- -webkit-border-start: 1px solid var(--accent);
- border-inline-start: 1px solid var(--accent);
- block-size: auto;
- -webkit-border-before: 1px solid var(--accent);
- border-block-start: 1px solid var(--accent);
- -webkit-border-after: none;
- border-block-end: none;
- -webkit-border-end: none;
- border-inline-end: none;
-}
-
-pre {
- font-family: var(--mono-font);
- font-size: .9em;
- line-height: var(--rhythm);
- tab-size: 2;
-
- margin: var(--gap) 0;
-
- overflow-x: auto;
- scrollbar-width: thin;
- scrollbar-color: var(--accent) transparent;
-}
-
-blockquote {
- margin-inline: 0 var(--gap);
- padding-inline: var(--gap) 0;
- margin-block: var(--gap);
-
- font-size: 1.1em;
- line-height: var(--rhythm);
- font-style: italic;
-
- -webkit-border-start: 1px solid var(--graphical-fg);
-
- border-inline-start: 1px solid var(--graphical-fg);
- color: var(--muted-fg)
-}
-
-blockquote em, blockquote cite, blockquote dfn, blockquote var, blockquote i, blockquote address {
- font-style: normal;
- }
-
-blockquote footer {
- text-align: right;
- text-align: end;
- }
-
-ul, ol {
- -webkit-padding-start: var(--rhythm);
- padding-inline-start: var(--rhythm)
-}
-
-ul ul, ul ol, ol ul, ol ol {
- -webkit-padding-start: var(--gap);
- padding-inline-start: var(--gap);
- }
-
-ul[role="list"], ol[role="list"], ul[role="listbox"], ol[role="listbox"] {
- -webkit-padding-start: 0;
- padding-inline-start: 0;
- list-style: none;
- }
-
-ul {
-}
-
-ol {
- list-style: decimal;
-}
-
-dl {
- margin-block: var(--gap);
-}
-
-dt {
- font-weight: bold;
- font-family: var(--secondary-font);
- }
-
-dd {
- -webkit-margin-start: var(--rhythm);
- margin-inline-start: var(--rhythm);
- }
-
-li::marker {
- font-family: var(--secondary-font);
-}
-
-figure {
- max-width: 100%;
- margin-inline: 0;
-
- /* SEE components/box.css */
-}
-
-figcaption {
- margin-block: var(--gap);
-
- font-family: var(--secondary-font);
-
- color: var(--muted-fg);
-}
-
-main {
- max-inline-size: var(--eff-line-length);
- inline-size: 100%;
- margin-inline: auto
-}
-
-main:first-child { padding-top: var(--gap); }
-
-/***
- 4.5 Text-level semantics
- https://html.spec.whatwg.org/multipage/text-level-semantics.html
-
- 4.7 Edits
- https://html.spec.whatwg.org/multipage/edits.html
- ***/
-
-/* Text-level semantics */
-
-a, .\<a\> {
- color: var(--link-fg, var(--accent));
- border-radius: var(--border-radius);
- outline-offset: 1px;
- background: none;
- border: none;
- font-size: 1em;
- -webkit-text-decoration: 1px dotted underline;
- text-decoration: 1px dotted underline
-}
-
-.list-of-links :is(a,.\<a\>) {
- text-decoration: none
-}
-
-:is(a,.\<a\>):hover, :is(a,.\<a\>):focus {
- -webkit-text-decoration: 2px solid underline;
- text-decoration: 2px solid underline;
- cursor: pointer;
- outline: none;
- }
-
-small[role="note"] {
- /***
- Sidenote
- ***/
- display: block;
- float: inline-end;
- clear: inline-end;
-
- --sidenote-width: 20ch;
-
- max-inline-size: var(--sidenote-width);
- padding-inline: 1.5ch 1ch;
-
- -webkit-margin-end: calc(1em - var(--sidenote-width));
-
- margin-inline-end: calc(1em - var(--sidenote-width));
- -webkit-margin-after: var(--rhythm);
- margin-block-end: var(--rhythm);
-
- font-family: var(--secondary-font);
-
- background: var(--bg);
- border: 1px solid transparent;
-
- transition: transform .1s ease-in-out
-}
-
-small[role="note"]:hover, small[role="note"]:focus-within {
- border: 1px solid var(--graphical-fg);
- border-radius: var(--border-radius);
- transform: translateX(calc(
- 0px - var(--sidenote-width)
- + min(var(--gutter-width), var(--sidenote-width))
- ))
- }
-
-small, .\<small\> {
- font-size: .8em;
- line-height: calc(var(--rhythm) * 2 / 3);
-}
-
-s {
- color: var(--bad-fg);
-}
-
-q {
- font-style: italic
-}
-
-q em, q cite, q dfn, q var, q i, q address {
- font-style: normal;
- }
-
-time {
- font-variant-numeric: tabular-nums;
-}
-
-code, samp, kbd {
- font-family: var(--mono-font);
- font-style: normal;
-}
-
-samp {
- color: var(--ok-fg);
-}
-
-kbd kbd /*
- We apply the key-like styling to a nested kbd element, a pattern shown in
- WHATWG HTML for marking up keyboard input:
-
- > Here the kbd element is used to indicate keys to press:
- > ~~~ html
- > <p>To make George eat an apple, press <kbd><kbd>Shift</kbd> + <kbd>F3</kbd></kbd></p>
- > ~~~
-
- The plain kbd element can also be used for clicking menus (<kbd>File |
- New...</kbd>) or voice input (<kbd>Hey Siri, </kbd>)
-*/ {
- display: inline-block;
-
- padding: 0 .3em;
- font-size: .8em;
- line-height: 1.1em;
-
- background: var(--interactive-bg);
- border: 1px outset var(--graphical-fg);
- border-block-end-width: 3px;
- border-radius: var(--border-radius);
-}
-
-sub {
- vertical-align: bottom;
- line-height: 1;
-}
-
-sup {
- vertical-align: top;
- line-height: 1;
-}
-
-mark {
- background: var(--warn-bg);
- color: var(--warn-fg);
-}
-
-/* Edits */
-
-ins {
- background: var(--ok-bg);
- color: var(--ok-fg);
-}
-
-del {
- background: var(--bad-bg);
- color: var(--bad-fg);
-}
-
-/***
- 4.8 Embedded content
- https://html.spec.whatwg.org/multipage/embedded-content.html
- ***/
-
-img, video, audio, iframe, object, embed {
- max-inline-size: 100%;
- inline-size: max-content;
- block-size: auto;
-}
-
-/***
- 4.9 Tabular data
- https://html.spec.whatwg.org/multipage/tables.html
- ***/
-
-table {
- font-variant-numeric: tabular-nums;
- font: inherit;
-}
-
-caption {
- text-align: start;
- font-family: var(--secondary-font);
- font-style: italic;
-}
-
-tbody {
- border-block: 1px solid var(--faded-fg);
-}
-
-thead {
-}
-
-tfoot {
-}
-
-tr {
-
-}
-
-td, th {
- vertical-align: top
-}
-
-td:not(:last-child), th:not(:last-child) {
- -webkit-padding-end: var(--rhythm);
- padding-inline-end: var(--rhythm);
- }
-
-td {
- }
-
-th {
- font-family: var(--secondary-font);
- text-align: start;
- }
-
-/***
- 4.10 Forms
- https://html.spec.whatwg.org/multipage/forms.html
- ***/
-
-input { display: block; }
-
-label input:not([specificity-hack]) { display: inline; padding-block: 0; }
-
-button,
-input[type="submit"],
-input[type="reset"],
-input[type="button"],
-input::file-selector-button,
-.\<button\> {
- display: inline-block;
- padding: 0 calc(var(--rhythm) / 4);
- vertical-align: middle;
- box-sizing: border-box;
-
- font-size: .8rem;
- line-height: 1.125em;
- font-family: var(--secondary-font);
- min-height: var(--rhythm);
-
- background: var(--interactive-bg);
- color: var(--fg);
- border: 1px solid var(--muted-fg);
- box-shadow: 0 2px 4px -2px var(--fg);
- border-radius: var(--border-radius);
-
- /* a-specific resets */
- color: var(--fg);
- text-decoration: none;
- display: inline-flex;
- justify-content: center;
- align-items: center
-}
-
-:is(button,input[type="submit"],input[type="reset"],input[type="button"],input::file-selector-button,.\<button\>):hover, :is(button,input[type="submit"],input[type="reset"],input[type="button"],input::file-selector-button,.\<button\>):focus-visible {
- filter: brightness(1.1);
- box-shadow: 0 3px 6px -2px var(--fg);
-
- /* a-specific resets */
- text-decoration: none;
- }
-
-:is(button,input[type="submit"],input[type="reset"],input[type="button"],input::file-selector-button,.\<button\>):active {
- box-shadow: none
- }
-
-:is(button,input[type="submit"],input[type="reset"],input[type="button"],input::file-selector-button,.\<button\>):active:is([aria-pressed], [aria-expanded]) {
- color: var(--accent);
- box-shadow: 0 1px 5px -1px var(--fg) inset;
- }
-
-:is(button,input[type="submit"],input[type="reset"],input[type="button"],input::file-selector-button,.\<button\>):where([aria-pressed="true"], [aria-expanded="true"]) {
- box-shadow: 0 2px 4px -1px var(--fg) inset;
- background: var(--pressed-interactive-bg);
- color: var(--accent)
- }
-
-:is(button,input[type="submit"],input[type="reset"],input[type="button"],input::file-selector-button,.\<button\>):where([aria-pressed="true"], [aria-expanded="true"]):hover, :is(button,input[type="submit"],input[type="reset"],input[type="button"],input::file-selector-button,.\<button\>):where([aria-pressed="true"], [aria-expanded="true"]):focus-visible {
- box-shadow: 0 1px 3px -1px var(--fg) inset;
- }
-
-[disabled]:is(button,input[type="submit"],input[type="reset"],input[type="button"],input::file-selector-button,.\<button\>) {
- color: var(--muted-fg);
- box-shadow: none;
- }
-
-strong > :is(button,input[type="submit"],input[type="reset"],input[type="button"],input::file-selector-button,.\<button\>) {
- background: var(--accent);
- color: var(--bg);
- border: none;
- font-weight: bold
-}
-
-strong > [disabled]:is(button,input[type="submit"],input[type="reset"],input[type="button"],input::file-selector-button,.\<button\>) {
- color: var(--muted-accent);
- }
-
-.big:is(button,input[type="submit"],input[type="reset"],input[type="button"],input::file-selector-button,.\<button\>) {
- min-block-size: calc(1.5 * var(--rhythm));
- font-size: 1rem;
- padding-inline: calc(.5 * var(--rhythm));
- line-height: var(--rhythm)
-}
-
-input:not([type]),
-input[type="text"],
-input[type="search"],
-input[type="tel"],
-input[type="url"],
-input[type="email"],
-input[type="password"],
-input[type="date"],
-input[type="month"],
-input[type="week"],
-input[type="time"],
-input[type="datetime"],
-input[type="datetime-local"],
-input[type="number"],
-select,
-textarea {
- padding: calc(var(--rhythm) / 4);
- vertical-align: top;
-
- font-size: 1rem;
- line-height: inherit;
- font-family: var(--main-font);
-
- background: var(--bg);
- color: var(--fg);
- border: 1px solid var(--graphical-fg);
- border-radius: var(--border-radius);
-
- vertical-align: top
-}
-
-:is(input:not([type]),input[type="text"],input[type="search"],input[type="tel"],input[type="url"],input[type="email"],input[type="password"],input[type="date"],input[type="month"],input[type="week"],input[type="time"],input[type="datetime"],input[type="datetime-local"],input[type="number"],select,textarea):focus-visible {
- border: 1px solid var(--accent);
- }
-
-:is(input:not([type]),input[type="text"],input[type="search"],input[type="tel"],input[type="url"],input[type="email"],input[type="password"],input[type="date"],input[type="month"],input[type="week"],input[type="time"],input[type="datetime"],input[type="datetime-local"],input[type="number"],select,textarea)::placeholder {
- color: var(--muted-fg);
- opacity: 1;
- text-align: end;
- }
-
-input[type="range"] {
- width: 100%;
- padding: calc(var(--gap) / 4);
-}
-
-input[type="color"] {
- padding: 0;
- margin: 0;
- height: calc(1.5 * var(--rhythm));
-
- border: none;
- background: none;
-}
-
-input[type="file"] {
- padding: calc(var(--gap) / 4) 0;
- font: inherit;
- line-height: calc(var(--rhythm) / 2)
-}
-
-input[type="file"]::file-selector-button {
- margin-block: .1em 0;
- -webkit-margin-end: 1ch;
- margin-inline-end: 1ch;
- }
-
-select[multiple] {
- vertical-align: top;
-}
-
-optgroup::before {
- color: var(--muted-fg);
- font-style: normal;
-}
-
-progress {
- /* TODO */
-}
-
-meter {
- /* TODO */
-}
-
-label[for] {
- display: block;
- padding-block: calc(var(--gap) / 4);
-}
-
-fieldset {
- position: relative;
-
- padding: var(--gap);
- margin: var(--gap) 0;
- width: 100%;
- border-radius: var(--border-radius);
-}
-
-fieldset > legend + * { -webkit-margin-before: 0; margin-block-start: 0 }
-
-fieldset {
-
- border: 1px solid var(--graphical-fg);
-}
-
-/***
- 4.11 Interactive elements
- https://html.spec.whatwg.org/multipage/interactive-elements.html#interactive-elements
- ***/
-
-details:not(specificity-hack) {
- /* SEE components/box.css */
-
- -webkit-padding-before: 0;
-
- padding-block-start: 0
-}
-
-details:not(specificity-hack):not([open]) { -webkit-padding-after: 0; padding-block-end: 0; }
-
-summary {
- margin: calc(0px - var(--gap));
- margin-top: calc(0px - var(--gap));
- margin-bottom: 0;
- padding-inline: var(--gap);
-
- font-family: var(--secondary-font);
- font-weight: bold;
-
- cursor: pointer
-}
-
-summary:focus-visible, summary:active {
- filter: brightness(.8);
- outline: none;
- }
-
-dialog {
- /* SEE components/box.css */
-
- inline-inset: 0;
-
- block-size: -moz-fit-content;
-
- block-size: fit-content;
- inline-size: -moz-fit-content;
- inline-size: fit-content;
-
- margin: auto !important;
-
- background-color: var(--bg);
- color: var(--fg);
- border-color: var(--accent);
-}
-
-dialog[open]::backdrop {
- display: block;
- background: black;
- opacity: .4;
- animation: bg 2s;
-}
-
-@keyframes bg {
- from { background: transparent; }
-}
-
-dialog:not([open]) {
- display: none;
-}
-
-.box,
-/* defined elsewhere */
-[role=menu],
-.sidebar-layout > header,
-[role=tabpanel],
-figure,
-details,
-dialog,
-aside {
- margin: var(--gap) 0;
- padding: var(--gap);
- overflow: clip;
-
- border-radius: var(--border-radius);
- background: var(--box-bg);
- border: 1px solid var(--graphical-fg);
-}
-
-.titlebar {
- margin-inline: calc(0px - var(--gap));
- -webkit-margin-after: calc(0px - var(--gap));
- margin-block-end: calc(0px - var(--gap));
- padding-inline: var(--gap);
-
- font: inherit;
- font-family: var(--secondary-font);
- font-weight: bold;
-
- translate: 0 calc(-1px - var(--gap));
-
- background: var(--graphical-fg);
- color: var(--bg);
-}
-
-.sub-title, sub-title {
- /***
- Meant for use in headings. Make sure to also use visually-hidden punctuation
- to mark the subtitle as shown below:
-
- 1 | <h1>
- 2 | Foo Bar<v-h>:</v-h>
- 3 | <sub-title>How I Learned To Stop Worrying and Love Baz</sub-title>
- 4 | </h1>
-
- 1 | <h1>
- 2 | <sub-title class="-allcaps">Breaking News</sub-title><v-h>:</v-h>
- 3 | Bad Thing Happens
- 4 | <h1>
- ***/
-
- display: block;
-
- font-weight: normal;
-
- color: var(--muted-fg);
-}
-
-.tool-bar, [role=toolbar] {
- display: flex;
- flex-flow: row wrap;
- gap: calc(var(--gap) / 2)
-}
-
-.tool-bar > *, [role=toolbar] > * { margin: 0; }
-
-.sidebar-layout header li {
- margin-block: calc(.5 * var(--gap));
- }
-
-.sidebar-layout header a {
- font-weight: bold;
- }
-
-@media (min-width: 75ch) {
-
-.sidebar-layout {
- display: grid;
- grid-template-columns: 25ch auto;
- inset: 0
-}
-
- .sidebar-layout > header {
- border-block: none;
- -webkit-border-start: none;
- border-inline-start: none;
- margin: 0;
- }
-
- .sidebar-layout > :nth-child(2) {
- overflow: auto;
- --full-width: calc(100vw - 25ch);
- margin-top: var(--gap);
- }
- }
-
-.breadcrumbs[aria-label] {
- font-family: var(--secondary-font)
-}
-
-.breadcrumbs[aria-label] ul, .breadcrumbs[aria-label] ol {
- list-style: none;
- -webkit-padding-start: 0;
- padding-inline-start: 0;
- }
-
-.breadcrumbs[aria-label] li {
- display: inline
- }
-
-:is(.breadcrumbs[aria-label] li)+li::before {
- content: ' / ' / '';
- content: ' / ';
- display: inline;
- }
-
-.breadcrumbs[aria-label] [aria-current="page"] {
- font-weight: bold;
- }
-
-.chip, chip {
- font-family: var(--secondary-font);
- border: 1px solid var(--accent);
- background: var(--box-bg);
- border-radius: calc(var(--rhythm) / 2);
- padding-inline: calc(var(--rhythm) / 2);
-}
-
-.navbar {
- padding: var(--rhythm);
-
- font-family: var(--secondary-font);
-
- background: var(--box-bg);
- -webkit-border-after: 1px solid var(--accent);
- border-block-end: 1px solid var(--accent);
-
- overflow-x: auto;
- scrollbar-width: thin;
-
- position: sticky;
- z-index: 5;
- top: 0;
- left: 0;
- right: 0;
-
- /* Inner layout */
- display: flex;
- flex-flow: row;
- align-items: center;
- gap: var(--gap)
-}
-
-.navbar.expanded {
- flex-flow: column;
- align-items: start;
-
- max-height: 90vh;
- overflow-y: auto
- }
-
-.navbar.expanded ul[role="list"] { flex-flow: column; }
-
-.navbar * {
- flex-shrink: 0;
- margin-block: 0;
- }
-
-.navbar:not(.expanded) > :first-child, .navbar:not(.expanded) nav > :first-child { -webkit-margin-start: auto; margin-inline-start: auto; }
-
-.navbar:not(.expanded) > :last-child, .navbar:not(.expanded) nav > :last-child { -webkit-margin-end: auto; margin-inline-end: auto; }
-
-.navbar hr { align-self: stretch; }
-
-.navbar nav ul[role="list"] {
- display: flex;
- flex-flow: row;
- gap: var(--rhythm)
- }
-
-.navbar nav ul[role="list"] * { flex-shrink: 0 }
-
-.navbar nav ul[role="list"] {
- -webkit-padding-start: 0;
- padding-inline-start: 0;
- }
-
-.navbar a {
- font-weight: bold;
- text-decoration: none;
- padding-inline: .2em;
- }
-
-.navbar a:hover, .navbar a:focus {
- text-decoration: underline;
- }
-
-.navbar [aria-current=page] {
- position: relative;
- }
-
-.navbar [aria-current=page]::after {
- width: 100%;
- height: 6px;
- content: "";
- display: block;
- position: absolute;
- bottom: calc(-1 * var(--gap));
- background: currentcolor;
- }
-
-.navbar.expanded [aria-current=page]::after {
- width: 6px;
- height: 100%;
- position: absolute;
- left: calc(-1 * var(--gap));
- top: 0;
- }
-
-.permalink-anchor {
- display: none
-}
-
-*:hover > .permalink-anchor {
- display: initial
-}
-
-button.iconbutton {
- border: none;
- background: none;
- color: currentcolor;
- padding: 0;
- line-height: var(--rhythm);
- font-size: 24px;
- width: 24px;
- height: 24px;
- display: inline-block;
- text-align: center;
- border-radius: 50%;
- transition: font-weight .2s ease-in-out
-}
-
-button.iconbutton:hover, button.iconbutton:focus-visible {
- outline: 1px solid var(--accent);
- outline-offset: 6px;
- }
-
-button.iconbutton:active {
- outline-offset: 3px;
- background: none;
- }
-
-button.iconbutton[aria-pressed=true] {
- box-shadow: none;
- transform: none;
- }
-
-[role="tablist"] {
- display: flex;
- gap: .5ch;
- scrollbar-width: thin;
-}
-
-[role="tab"][role="tab"] {
- all: initial;
-
- font-family: var(--secondary-font);
-
- padding: 0 calc(var(--rhythm) / 4);
- margin: 0;
- min-height: var(--rhythm);
- bottom: -1px;
- position: relative;
-
- color: var(--fg);
- border: solid var(--graphical-fg);
- border-width: 1px;
- background: var(--interactive-bg);
-
- border-start-start-radius: .4em;
- border-start-end-radius: .4em
-}
-
-[role="tab"][role="tab"]:active, [role="tab"][role="tab"][aria-selected="true"] {
- background: var(--box-bg);
- -webkit-border-after: 1px solid transparent;
- border-block-end: 1px solid transparent;
- }
-
-[role="tab"][role="tab"]:hover {
- background-color: var(--box-bg);
- box-shadow: none;
- }
-
-[role="tab"][role="tab"]:focus-visible {
- box-shadow: none;
- color: var(--accent);
- text-decoration: underline;
- }
-
-[role="tabpanel"] {
- /* SEE components/box.css */
-
- -webkit-margin-before: 0;
-
- margin-block-start: 0;
- border-start-start-radius: 0;
- border-start-end-radius: 0;
- z-index: 1;
-}
-
-[role="menu"] {
- /* SEE components/box.css */
- position: absolute;
-
- z-index: 10;
-
- padding: calc(var(--gap) / 2) 0;
- margin: 1px 0 0 0;
-
- display: flex;
- flex-flow: column nowrap;
-}
-
-[role=menuitem] {
- padding: 0 calc(var(--gap) / 2);
-
- display: block;
-
- text-decoration: none;
- border-radius: 0;
-
- color: var(--fg)
-}
-
-[role=menuitem]:focus, [role=menuitem]:active {
- background: var(--accent);
- color: var(--bg);
- }
-
-[role=listbox] {
- list-style: none
-}
-
-[role=listbox] [role=option] {
- margin-inline: calc(-1 * var(--gap));
- padding-inline: var(--gap);
- }
-
-[role=listbox] [role=option][aria-selected=true] {
- background: var(--interactive-bg);
- }
-
-[role=listbox] .active[role=option] {
- --temporary-bg: var(--accent);
- --temporary-fg: var(--bg);
- --temporary-accent: parent-var(--muted-accent);
- --temporary-muted-accent: parent-var(--box-bg);
-
- background: var(--temporary-bg);
- color: var(--temporary-fg)
- }
-
-[role=listbox] .active[role=option] > * {
- --bg: var(--temporary-bg);
- --fg: var(--temporary-fg);
- --accent: var(--temporary-accent);
- --muted-accent: var(--temporary-muted-accent);
- }
-
-[aria-orientation="vertical"] {
- flex-direction: column;
- width: -moz-fit-content;
- width: fit-content;
- text-align: center;
-}
-
-.plain {
- --box-bg: var(--plain-bg);
- --accent: var(--plain-fg);
- --graphical-fg: var(--plain-graphical-fg);
-}
-
-.info {
- --box-bg: var(--info-bg);
- --accent: var(--info-fg);
- --graphical-fg: var(--info-graphical-fg);
-}
-
-.ok {
- --box-bg: var(--ok-bg);
- --accent: var(--ok-fg);
- --graphical-fg: var(--ok-graphical-fg);
-}
-
-.warn {
- --box-bg: var(--warn-bg);
- --accent: var(--warn-fg);
- --graphical-fg: var(--warn-graphical-fg);
-}
-
-.bad {
- --box-bg: var(--bad-bg);
- --accent: var(--bad-fg);
- --graphical-fg: var(--bad-graphical-fg);
-}
-
-.color {
- color: var(--accent);
-}
-
-.bg {
- background: var(--box-bg);
-}
-
-.border {
- border-style: solid;
- border-color: var(--graphical-fg);
-}
-
-:root {
- /* Colors */
- --fg: var(--gray-12); /* Text. */
- --muted-fg: var(--gray-10); /* Secondary text color. Will be
- used with a background of --c-bg and --c-bg-2 -- check contrast! */
- --faded-fg: var(--gray-6); /* Disabled text color. */
- --graphical-fg: var(--plain-graphical-fg); /* Graphical elements. Will not
- be used as a text color. */
-
- --plain-fg: var(--blue-10);
- --info-fg: var(--blue-11);
- --ok-fg: var(--green-11);
- --bad-fg: var(--red-11);
- --warn-fg: var(--yellow-11);
-
- --plain-graphical-fg: var(--gray-6);
- --info-graphical-fg: var(--blue-6);
- --ok-graphical-fg: var(--green-6);
- --bad-graphical-fg: var(--red-6);
- --warn-graphical-fg: var(--yellow-6);
-
- --bg: var(--gray-0); /* Page background. */
- --box-bg: var(--plain-bg); /* Background for blocks: cards, admonitions etc. */
- --interactive-bg: var(--gray-4); /* Background for interactive elements */
-
- --plain-bg: var(--gray-1);
- --info-bg: var(--blue-1);
- --ok-bg: var(--green-1);
- --bad-bg: var(--red-1);
- --warn-bg: var(--yellow-1);
-
- --accent: var(--blue-10); /* Accent color. Will be used *as a text color* with a
- background of --c-bg and --c-bg-2 -- check contrast! */
- --muted-accent: var(--blue-7); /* Muted accent color. Will not be used for text. */
-
- /* Lengths */
- --rhythm: 1.4rem; /* Vertical rhythm, line height. */
- --line-length: 40rem; /* Maximum line length for prose. */
- --border-radius: .2rem;
-
- /* Fonts */
- --main-font: 'Source Sans 3', 'Source Sans Pro', -apple-system, system-ui, sans-serif;
- --secondary-font: var(--main-font); /* Headings etc. */
- --mono-font: 'M Plus Code Latin', monospace, monospace; /* monospace twice stops browsers from
- shrinking this */
-
- /* Density */
- --density: 1;
-
- /* Width */
- --full-width: 100vw;
-
- /* Do not set these. */
- --eff-line-length: /* Effective line length for prose. */
- min(
- calc( var(--full-width) - (2 * var(--rhythm)) ),
- var(--line-length)
- );
-
- --gutter-width: /* Width of spaces at each side of page content. */
- calc(
- (
- var(--full-width) /* Viewport width */
- - var(--eff-line-length) /* minus line width */
- ) / 2); /* Divide by 2: there are two page margins */
-}
-
-@media (prefers-color-scheme: dark) {
- :root:not(.-no-dark-theme) {
- --fg: var(--gray-0);
- --muted-fg: var(--gray-2);
- --faded-fg: var(--gray-7);
-
- --plain-bg: var(--gray-11);
- --info-bg: var(--blue-12);
- --ok-bg: var(--green-12);
- --bad-bg: var(--red-12);
- --warn-bg: var(--yellow-12);
-
- --plain-faded-fg: var(--blue-6);
- --info-faded-fg: var(--blue-6);
- --ok-faded-fg: var(--green-6);
- --bad-faded-fg: var(--red-6);
- --warn-faded-fg: var(--yellow-6);
-
- --bg: var(--gray-12);
- --box-bg: var(--gray-10);
- --interactive-bg: var(--gray-8);
-
- --plain-fg: (--blue-3);
- --info-fg: var(--blue-3);
- --ok-fg: var(--green-3);
- --bad-fg: var(--red-3);
- --warn-fg: var(--yellow-3);
-
- --accent: var(--blue-3);
- --muted-accent: var(--blue-5);
- }
-}
-
-* {
- --gap: calc(var(--rhythm) * var(--density));
- accent-color: var(--accent);
-}
-
-.textcolumns {
- --col-width: 30ch;
- column-width: var(--col-width);
- column-gap: var(--gap);
- margin-block: var(--gap)
-}
-
-.textcolumns :first-child { -webkit-margin-before: 0 !important; margin-block-start: 0 !important }
-
-.text-align\:center {
- text-align: center;
-}
-
-.center {
- display: grid;
- place-items: center;
-}
-
-/**/
-
-.container {
- max-inline-size: var(--eff-line-length);
- margin-inline: auto;
-}
-
-.fullbleed {
- position: relative;
- width: var(--full-width);
- left: 50%;
- transform: translateX(calc(-.5 * var(--full-width)));
-
- border-radius: 0;
- border-inline: none;
-}
-
-.fullscreen {
- height: 100vh;
-
- position: relative;
- width: 100vw;
- left: 50%;
- transform: translateX(-50vw);
-
- border-radius: 0;
- border-inline: none;
-}
-
-.width\:100\% { width:100%; max-width: 100% }
-
-.height\:100\% { height:100%; max-height: 100% }
-
-/**/
-
-/* margin-trim had better be implemented soon */
-
-:is(
- body,
- .box,
- [role=menu],
- .sidebar-layout > header,
- [role=tabpanel],
- figure,
- details,
- dialog,
- aside,
- fieldset,
- dd,
- td,
- th
-)>:first-child:first-child:first-child:first-child,
- :is(
- body,
- .box,
- [role=menu],
- .sidebar-layout > header,
- [role=tabpanel],
- figure,
- details,
- dialog,
- aside,
- fieldset,
- dd,
- td,
- th
-)>:first-child>:first-child:first-child:first-child,
- :is(
- body,
- .box,
- [role=menu],
- .sidebar-layout > header,
- [role=tabpanel],
- figure,
- details,
- dialog,
- aside,
- fieldset,
- dd,
- td,
- th
-)>:first-child>:first-child>:first-child:first-child,
- :is(
- body,
- .box,
- [role=menu],
- .sidebar-layout > header,
- [role=tabpanel],
- figure,
- details,
- dialog,
- aside,
- fieldset,
- dd,
- td,
- th
-)>:first-child>:first-child>:first-child>:first-child { -webkit-margin-before: 0; margin-block-start: 0; }
-
-:is(
- body,
- .box,
- [role=menu],
- .sidebar-layout > header,
- [role=tabpanel],
- figure,
- details,
- dialog,
- aside,
- fieldset,
- dd,
- td,
- th
-)>:last-child:last-child:last-child:last-child,
- :is(
- body,
- .box,
- [role=menu],
- .sidebar-layout > header,
- [role=tabpanel],
- figure,
- details,
- dialog,
- aside,
- fieldset,
- dd,
- td,
- th
-)>:last-child>:last-child:last-child:last-child,
- :is(
- body,
- .box,
- [role=menu],
- .sidebar-layout > header,
- [role=tabpanel],
- figure,
- details,
- dialog,
- aside,
- fieldset,
- dd,
- td,
- th
-)>:last-child>:last-child>:last-child:last-child,
- :is(
- body,
- .box,
- [role=menu],
- .sidebar-layout > header,
- [role=tabpanel],
- figure,
- details,
- dialog,
- aside,
- fieldset,
- dd,
- td,
- th
-)>:last-child>:last-child>:last-child>:last-child { -webkit-margin-after: 0; margin-block-end: 0; }
-
-/**/
-
-.padding { padding-inline: var(--gap) }
-
-.padding-block { padding-block: var(--gap) }
-
-.padding-block-start { -webkit-padding-before: var(--gap); padding-block-start: var(--gap) }
-
-.padding-block-end { -webkit-padding-after: var(--gap); padding-block-end: var(--gap) }
-
-.padding-inline { padding-inline: var(--gap) }
-
-.padding-inline-start { -webkit-padding-start: var(--gap); padding-inline-start: var(--gap) }
-
-.padding-inline-end { -webkit-padding-start: var(--gap); padding-inline-start: var(--gap) }
-
-.margin { margin: var(--gap) }
-
-.margin-block { margin-block: var(--gap) }
-
-.margin-block-start { -webkit-margin-before: var(--gap); margin-block-start: var(--gap) }
-
-.margin-block-end { -webkit-margin-after: var(--gap); margin-block-end: var(--gap) }
-
-.margin-inline { margin-inline: var(--gap) }
-
-.margin-inline-start { -webkit-margin-start: var(--gap); margin-inline-start: var(--gap) }
-
-.margin-inline-end { -webkit-margin-end: var(--gap); margin-inline-end: var(--gap) }
-
-.flow-gap > :not(:last-child) {
- margin-bottom: var(--gap);
- }
-
-/**/
-
-.inline { display: inline }
-
-.block { display: block }
-
-.contents { display: contents }
-
-.table {
- display: table;
- width: 100%;
- margin: 0;
-}
-
-.row, .rows > * {
- display: table-row
-}
-
-.row:not(:last-child):not([specificity-hack]) > *, .rows > *:not(:last-child):not([specificity-hack]) > * {
- margin-bottom: var(--gap);
- }
-
-.row > *:not([specificity-hack]), .rows > * > *:not([specificity-hack]) {
- display: table-cell;
- vertical-align: top;
- }
-
-.row > * + *:not([specificity-hack]), :is(.rows > *) > * + *:not([specificity-hack]) {
- -webkit-margin-start: var(--gap);
- margin-inline-start: var(--gap);
- display: inline-block;
- }
-
-/**/
-
-.big {
- font-size: 1.4em;
- line-height: calc(1.5 * var(--rhythm));
-}
-
-/**/
-
-.fixed { position: fixed }
-
-.sticky { position: sticky }
-
-.top { top: 0 }
-
-.right { right: 0 }
-
-.bottom { bottom: 0 }
-
-.left { left: 0 }
-
-.float\:left { float: left }
-
-.float\:right { float: right }
-
-.overflow\:auto { overflow: auto }
-
-.overflow\:scroll { overflow: scroll }
-
-.airy { --density: 3; }
-
-.spacious { --density: 2; }
-
-.dense { --density: 1; }
-
-.crowded { --density: .5; }
-
-.packed { --density: 0; }
-
-.autodensity {
- --density: 1
-}
-
-@media (min-width: 768px) {
-
-.autodensity { --density: 2
-}}
-
-@media (min-width: 1024px) {
-
-.autodensity { --density: 3
-}}
-
-.vh, v-h {
- clip: rect(0 0 0 0);
- -webkit-clip-path: inset(50%);
- clip-path: inset(50%);
- block-size: 1px;
- inline-size: 1px;
- overflow: hidden;
- white-space: nowrap;
-}
-
-.all\:initial {
- all: initial;
-}
-
-.bold { font-weight: bold }
-
-.italic {
- font-style: italic
-}
-
-.italic em, .italic cite, .italic dfn, .italic var, .italic i, .italic address {
- font-style: normal;
- }
-
-.allcaps {
- text-transform: uppercase;
- letter-spacing: .1rem;
-}
-
-.primary-font { font-family: var(--primary-font) }
-
-.secondary-font { font-family: var(--secondary-font) }
-
-.display-font { font-family: var(--display-font) }
-
-.mono-font, .monospace { font-family: var(--mono-font) }
-
-.massivetext {
- font-size: calc(.13 * var(--eff-line-length));
- line-height: 1em;
- letter-spacing: 0;
-}
-
-.aestheticbreak {
- display: block;
- margin: 0;
- padding: 0;
- height: calc(.5 * var(--gap));
-}
-
-.f-row {
- display: flex;
- flex-direction: row;
- gap: var(--gap)
-}
-
-.f-row > * { margin: 0 }
-
-.f-col {
- display: flex;
- flex-direction: column;
- gap: var(--gap)
-}
-
-.f-col > * { margin: 0 }
-
-.f-switch {
- display: flex;
- flex-wrap: wrap;
- gap: var(--gap);
- --f-switch-threshold: 55ch
-}
-
-.f-switch > * {
- margin: 0;
-
- flex-grow: 1;
- flex-basis: calc((var(--f-switch-threshold) - 100%) * 999);
- }
-
-.justify-content\:start { justify-content: start }
-
-.justify-content\:end { justify-content: end }
-
-.justify-content\:baseline { justify-content: baseline }
-
-.justify-content\:center { justify-content: center }
-
-.justify-content\:stretch { justify-content: stretch }
-
-.justify-content\:space-between { justify-content: space-between }
-
-.justify-content\:space-around { justify-content: space-around }
-
-.justify-content\:space-evenly { justify-content: space-evenly }
-
-.align-items\:start { align-items: start }
-
-.align-items\:end { align-items: end }
-
-.align-items\:baseline { align-items: baseline }
-
-.align-items\:center { align-items: center }
-
-.align-items\:stretch { align-items: stretch }
-
-.align-self\:start { align-self: start }
-
-.align-self\:end { align-self: end }
-
-.align-self\:baseline { align-self: baseline }
-
-.align-self\:center { align-self: center }
-
-.align-self\:stretch { align-self: stretch }
-
-.flex-grow\:0 { flex-grow: 0 }
-
-.flex-grow\:1 { flex-grow: 1 }
-
-.flex-grow\:2 { flex-grow: 2 }
-
-.flex-grow\:3 { flex-grow: 3 }
-
-.flex-grow\:4 { flex-grow: 4 }
-
-.flex-grow\:5 { flex-grow: 5 }
-
-.flex-grow\:6 { flex-grow: 6 }
-
-.flex-grow\:7 { flex-grow: 7 }
-
-.flex-grow\:8 { flex-grow: 8 }
-
-.flex-grow\:9 { flex-grow: 9 }
-
-.flex-grow\:10 { flex-grow: 10 }
-
-.flex-grow\:11 { flex-grow: 11 }
-
-.flex-grow\:12 { flex-grow: 12 }
-
-.flex-wrap\:wrap { flex-wrap: wrap }
-
-.flex-wrap\:nowrap { flex-wrap: nowrap }
-
-.grid {
- display: grid;
- grid-auto-columns: var(--grid-col-width, 1fr);
- grid-auto-rows: var(--grid-row-width, auto);
- gap: var(--gap)
-}
-
-.grid > * { margin: 0 }
-
-.grid-even-rows { --grid-row-width: 1fr; }
-
-.grid-variable-cols { --grid-column-width: auto; }
-
-[data-cols^="1 " ] { grid-column-start: 1 }
-
-[data-cols$=" 1" ] { grid-column-end: 2 }
-
-[data-cols="1" ] { grid-column: 1 }
-
-[data-cols^="2 " ] { grid-column-start: 2 }
-
-[data-cols$=" 2" ] { grid-column-end: 3 }
-
-[data-cols="2" ] { grid-column: 2 }
-
-[data-cols^="3 " ] { grid-column-start: 3 }
-
-[data-cols$=" 3" ] { grid-column-end: 4 }
-
-[data-cols="3" ] { grid-column: 3 }
-
-[data-cols^="4 " ] { grid-column-start: 4 }
-
-[data-cols$=" 4" ] { grid-column-end: 5 }
-
-[data-cols="4" ] { grid-column: 4 }
-
-[data-cols^="5 " ] { grid-column-start: 5 }
-
-[data-cols$=" 5" ] { grid-column-end: 6 }
-
-[data-cols="5" ] { grid-column: 5 }
-
-[data-cols^="6 " ] { grid-column-start: 6 }
-
-[data-cols$=" 6" ] { grid-column-end: 7 }
-
-[data-cols="6" ] { grid-column: 6 }
-
-[data-cols^="7 " ] { grid-column-start: 7 }
-
-[data-cols$=" 7" ] { grid-column-end: 8 }
-
-[data-cols="7" ] { grid-column: 7 }
-
-[data-cols^="8 " ] { grid-column-start: 8 }
-
-[data-cols$=" 8" ] { grid-column-end: 9 }
-
-[data-cols="8" ] { grid-column: 8 }
-
-[data-cols^="9 " ] { grid-column-start: 9 }
-
-[data-cols$=" 9" ] { grid-column-end: 10 }
-
-[data-cols="9" ] { grid-column: 9 }
-
-[data-cols^="10 "] { grid-column-start: 10 }
-
-[data-cols$=" 10"] { grid-column-end: 11 }
-
-[data-cols="10"] { grid-column: 10 }
-
-[data-cols^="11 "] { grid-column-start: 11 }
-
-[data-cols$=" 11"] { grid-column-end: 12 }
-
-[data-cols="11"] { grid-column: 11 }
-
-[data-cols^="12 "] { grid-column-start: 12 }
-
-[data-cols$=" 12"] { grid-column-end: 13 }
-
-[data-cols="12"] { grid-column: 12 }
-
-[data-rows^="1 " ] { grid-row-start: 1 }
-
-[data-rows$=" 1" ] { grid-row-end: 2 }
-
-[data-rows="1" ] { grid-row: 1 }
-
-[data-rows^="2 " ] { grid-row-start: 2 }
-
-[data-rows$=" 2" ] { grid-row-end: 3 }
-
-[data-rows="2" ] { grid-row: 2 }
-
-[data-rows^="3 " ] { grid-row-start: 3 }
-
-[data-rows$=" 3" ] { grid-row-end: 4 }
-
-[data-rows="3" ] { grid-row: 3 }
-
-[data-rows^="4 " ] { grid-row-start: 4 }
-
-[data-rows$=" 4" ] { grid-row-end: 5 }
-
-[data-rows="4" ] { grid-row: 4 }
-
-[data-rows^="5 " ] { grid-row-start: 5 }
-
-[data-rows$=" 5" ] { grid-row-end: 6 }
-
-[data-rows="5" ] { grid-row: 5 }
-
-[data-rows^="6 " ] { grid-row-start: 6 }
-
-[data-rows$=" 6" ] { grid-row-end: 7 }
-
-[data-rows="6" ] { grid-row: 6 }
-
-[data-rows^="7 " ] { grid-row-start: 7 }
-
-[data-rows$=" 7" ] { grid-row-end: 8 }
-
-[data-rows="7" ] { grid-row: 7 }
-
-[data-rows^="8 " ] { grid-row-start: 8 }
-
-[data-rows$=" 8" ] { grid-row-end: 9 }
-
-[data-rows="8" ] { grid-row: 8 }
-
-[data-rows^="9 " ] { grid-row-start: 9 }
-
-[data-rows$=" 9" ] { grid-row-end: 10 }
-
-[data-rows="9" ] { grid-row: 9 }
-
-[data-rows^="10 "] { grid-row-start: 10 }
-
-[data-rows$=" 10"] { grid-row-end: 11 }
-
-[data-rows="10"] { grid-row: 10 }
-
-[data-rows^="11 "] { grid-row-start: 11 }
-
-[data-rows$=" 11"] { grid-row-end: 12 }
-
-[data-rows="11"] { grid-row: 11 }
-
-[data-rows^="12 "] { grid-row-start: 12 }
-
-[data-rows$=" 12"] { grid-row-end: 13 }
-
-[data-rows="12"] { grid-row: 12 }
-
-@media (max-width: 768px) {
- [data-cols\@s^="1 " ] { grid-column-start: 1 } [data-cols\@s$=" 1" ] { grid-column-end: 2 } [data-cols\@s="1" ] { grid-column: 1 }
- [data-cols\@s^="2 " ] { grid-column-start: 2 } [data-cols\@s$=" 2" ] { grid-column-end: 3 } [data-cols\@s="2" ] { grid-column: 2 }
- [data-cols\@s^="3 " ] { grid-column-start: 3 } [data-cols\@s$=" 3" ] { grid-column-end: 4 } [data-cols\@s="3" ] { grid-column: 3 }
- [data-cols\@s^="4 " ] { grid-column-start: 4 } [data-cols\@s$=" 4" ] { grid-column-end: 5 } [data-cols\@s="4" ] { grid-column: 4 }
- [data-cols\@s^="5 " ] { grid-column-start: 5 } [data-cols\@s$=" 5" ] { grid-column-end: 6 } [data-cols\@s="5" ] { grid-column: 5 }
- [data-cols\@s^="6 " ] { grid-column-start: 6 } [data-cols\@s$=" 6" ] { grid-column-end: 7 } [data-cols\@s="6" ] { grid-column: 6 }
- [data-cols\@s^="7 " ] { grid-column-start: 7 } [data-cols\@s$=" 7" ] { grid-column-end: 8 } [data-cols\@s="7" ] { grid-column: 7 }
- [data-cols\@s^="8 " ] { grid-column-start: 8 } [data-cols\@s$=" 8" ] { grid-column-end: 9 } [data-cols\@s="8" ] { grid-column: 8 }
- [data-cols\@s^="9 " ] { grid-column-start: 9 } [data-cols\@s$=" 9" ] { grid-column-end: 10 } [data-cols\@s="9" ] { grid-column: 9 }
- [data-cols\@s^="10 "] { grid-column-start: 10 } [data-cols\@s$=" 10"] { grid-column-end: 11 } [data-cols\@s="10"] { grid-column: 10 }
- [data-cols\@s^="11 "] { grid-column-start: 11 } [data-cols\@s$=" 11"] { grid-column-end: 12 } [data-cols\@s="11"] { grid-column: 11 }
- [data-cols\@s^="12 "] { grid-column-start: 12 } [data-cols\@s$=" 12"] { grid-column-end: 13 } [data-cols\@s="12"] { grid-column: 12 }
-
- [data-rows\@s^="1 " ] { grid-row-start: 1 } [data-rows\@s$=" 1" ] { grid-row-end: 2 } [data-rows\@s="1" ] { grid-row: 1 }
- [data-rows\@s^="2 " ] { grid-row-start: 2 } [data-rows\@s$=" 2" ] { grid-row-end: 3 } [data-rows\@s="2" ] { grid-row: 2 }
- [data-rows\@s^="3 " ] { grid-row-start: 3 } [data-rows\@s$=" 3" ] { grid-row-end: 4 } [data-rows\@s="3" ] { grid-row: 3 }
- [data-rows\@s^="4 " ] { grid-row-start: 4 } [data-rows\@s$=" 4" ] { grid-row-end: 5 } [data-rows\@s="4" ] { grid-row: 4 }
- [data-rows\@s^="5 " ] { grid-row-start: 5 } [data-rows\@s$=" 5" ] { grid-row-end: 6 } [data-rows\@s="5" ] { grid-row: 5 }
- [data-rows\@s^="6 " ] { grid-row-start: 6 } [data-rows\@s$=" 6" ] { grid-row-end: 7 } [data-rows\@s="6" ] { grid-row: 6 }
- [data-rows\@s^="7 " ] { grid-row-start: 7 } [data-rows\@s$=" 7" ] { grid-row-end: 8 } [data-rows\@s="7" ] { grid-row: 7 }
- [data-rows\@s^="8 " ] { grid-row-start: 8 } [data-rows\@s$=" 8" ] { grid-row-end: 9 } [data-rows\@s="8" ] { grid-row: 8 }
- [data-rows\@s^="9 " ] { grid-row-start: 9 } [data-rows\@s$=" 9" ] { grid-row-end: 10 } [data-rows\@s="9" ] { grid-row: 9 }
- [data-rows\@s^="10 "] { grid-row-start: 10 } [data-rows\@s$=" 10"] { grid-row-end: 11 } [data-rows\@s="10"] { grid-row: 10 }
- [data-rows\@s^="11 "] { grid-row-start: 11 } [data-rows\@s$=" 11"] { grid-row-end: 12 } [data-rows\@s="11"] { grid-row: 11 }
- [data-rows\@s^="12 "] { grid-row-start: 12 } [data-rows\@s$=" 12"] { grid-row-end: 13 } [data-rows\@s="12"] { grid-row: 12 }
-}
-
-@media (min-width: 1024px) {
- [data-cols\@l^="1 " ] { grid-column-start: 1 } [data-cols\@l$=" 1" ] { grid-column-end: 2 } [data-cols\@l="1" ] { grid-column: 1 }
- [data-cols\@l^="2 " ] { grid-column-start: 2 } [data-cols\@l$=" 2" ] { grid-column-end: 3 } [data-cols\@l="2" ] { grid-column: 2 }
- [data-cols\@l^="3 " ] { grid-column-start: 3 } [data-cols\@l$=" 3" ] { grid-column-end: 4 } [data-cols\@l="3" ] { grid-column: 3 }
- [data-cols\@l^="4 " ] { grid-column-start: 4 } [data-cols\@l$=" 4" ] { grid-column-end: 5 } [data-cols\@l="4" ] { grid-column: 4 }
- [data-cols\@l^="5 " ] { grid-column-start: 5 } [data-cols\@l$=" 5" ] { grid-column-end: 6 } [data-cols\@l="5" ] { grid-column: 5 }
- [data-cols\@l^="6 " ] { grid-column-start: 6 } [data-cols\@l$=" 6" ] { grid-column-end: 7 } [data-cols\@l="6" ] { grid-column: 6 }
- [data-cols\@l^="7 " ] { grid-column-start: 7 } [data-cols\@l$=" 7" ] { grid-column-end: 8 } [data-cols\@l="7" ] { grid-column: 7 }
- [data-cols\@l^="8 " ] { grid-column-start: 8 } [data-cols\@l$=" 8" ] { grid-column-end: 9 } [data-cols\@l="8" ] { grid-column: 8 }
- [data-cols\@l^="9 " ] { grid-column-start: 9 } [data-cols\@l$=" 9" ] { grid-column-end: 10 } [data-cols\@l="9" ] { grid-column: 9 }
- [data-cols\@l^="10 "] { grid-column-start: 10 } [data-cols\@l$=" 10"] { grid-column-end: 11 } [data-cols\@l="10"] { grid-column: 10 }
- [data-cols\@l^="11 "] { grid-column-start: 11 } [data-cols\@l$=" 11"] { grid-column-end: 12 } [data-cols\@l="11"] { grid-column: 11 }
- [data-cols\@l^="12 "] { grid-column-start: 12 } [data-cols\@l$=" 12"] { grid-column-end: 13 } [data-cols\@l="12"] { grid-column: 12 }
-
- [data-rows\@l^="1 " ] { grid-row-start: 1 } [data-rows\@l$=" 1" ] { grid-row-end: 2 } [data-rows\@l="1" ] { grid-row: 1 }
- [data-rows\@l^="2 " ] { grid-row-start: 2 } [data-rows\@l$=" 2" ] { grid-row-end: 3 } [data-rows\@l="2" ] { grid-row: 2 }
- [data-rows\@l^="3 " ] { grid-row-start: 3 } [data-rows\@l$=" 3" ] { grid-row-end: 4 } [data-rows\@l="3" ] { grid-row: 3 }
- [data-rows\@l^="4 " ] { grid-row-start: 4 } [data-rows\@l$=" 4" ] { grid-row-end: 5 } [data-rows\@l="4" ] { grid-row: 4 }
- [data-rows\@l^="5 " ] { grid-row-start: 5 } [data-rows\@l$=" 5" ] { grid-row-end: 6 } [data-rows\@l="5" ] { grid-row: 5 }
- [data-rows\@l^="6 " ] { grid-row-start: 6 } [data-rows\@l$=" 6" ] { grid-row-end: 7 } [data-rows\@l="6" ] { grid-row: 6 }
- [data-rows\@l^="7 " ] { grid-row-start: 7 } [data-rows\@l$=" 7" ] { grid-row-end: 8 } [data-rows\@l="7" ] { grid-row: 7 }
- [data-rows\@l^="8 " ] { grid-row-start: 8 } [data-rows\@l$=" 8" ] { grid-row-end: 9 } [data-rows\@l="8" ] { grid-row: 8 }
- [data-rows\@l^="9 " ] { grid-row-start: 9 } [data-rows\@l$=" 9" ] { grid-row-end: 10 } [data-rows\@l="9" ] { grid-row: 9 }
- [data-rows\@l^="10 "] { grid-row-start: 10 } [data-rows\@l$=" 10"] { grid-row-end: 11 } [data-rows\@l="10"] { grid-row: 10 }
- [data-rows\@l^="11 "] { grid-row-start: 11 } [data-rows\@l$=" 11"] { grid-row-end: 12 } [data-rows\@l="11"] { grid-row: 11 }
- [data-rows\@l^="12 "] { grid-row-start: 12 } [data-rows\@l$=" 12"] { grid-row-end: 13 } [data-rows\@l="12"] { grid-row: 12 }
-}
diff --git a/www/releases/_artifacts/v1.0.9/missing.min.css b/www/releases/_artifacts/v1.0.9/missing.min.css
deleted file mode 100644
index d4f60a9..0000000
--- a/www/releases/_artifacts/v1.0.9/missing.min.css
+++ /dev/null
@@ -1,126 +0,0 @@
-@keyframes bg{0%{background:0 0}}*,::after,::before{box-sizing:border-box;background-repeat:no-repeat}::after,::before{text-decoration:inherit;vertical-align:inherit}:root{cursor:default;overflow-wrap:break-word;-webkit-tap-highlight-color:transparent;text-size-adjust:none;-webkit-text-size-adjust:none}abbr[title]{-webkit-text-decoration:underline dotted;text-decoration:underline dotted}b,strong{font-weight:bolder}audio,canvas,iframe,img,svg,video{vertical-align:middle}svg:not([fill]){fill:currentColor}table{border-collapse:collapse;border-color:currentColor;text-indent:0;font-variant-numeric:tabular-nums;font:inherit}body,button,input,select,textarea{margin:0}[type=button],[type=reset],[type=submit],button{-webkit-appearance:button}fieldset{border:1px solid #a0a0a0;position:relative;padding:var(--gap);margin:var(--gap) 0;width:100%;border-radius:var(--border-radius);border:1px solid var(--graphical-fg)}progress{vertical-align:baseline}[type=search]{-webkit-appearance:textfield;outline-offset:-2px}::-webkit-inner-spin-button,::-webkit-outer-spin-button{block-size:auto}::-webkit-input-placeholder{color:inherit;opacity:.54}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{-webkit-appearance:button;font:inherit}[hidden],datalist{display:none!important}:focus-visible{outline:.2em solid var(--accent);z-index:32}body:focus-visible,html:focus-visible,iframe:focus-visible{outline:0}:target{outline:.2em solid var(--fg);z-index:2}details>summary:first-of-type{display:list-item}[aria-busy=true]{cursor:progress}[aria-disabled=true],[disabled]{cursor:not-allowed}:root{--gray-0: #f8fafb;--gray-1: #f2f4f6;--gray-2: #ebedef;--gray-3: #e0e4e5;--gray-4: #d1d6d8;--gray-5: #b1b6b9;--gray-6: #979b9d;--gray-7: #7e8282;--gray-8: #666968;--gray-9: #50514f;--gray-10: #3a3a37;--gray-11: #252521;--gray-12: #121210;--red-0: #fff5f5;--red-1: #ffe3e3;--red-2: #ffc9c9;--red-3: #ffa8a8;--red-4: #ff8787;--red-5: #ff6b6b;--red-6: #fa5252;--red-7: #f03e3e;--red-8: #e03131;--red-9: #c92a2a;--red-10: #b02525;--red-11: #962020;--red-12: #7d1a1a;--pink-0: #fff0f6;--pink-1: #ffdeeb;--pink-2: #fcc2d7;--pink-3: #faa2c1;--pink-4: #f783ac;--pink-5: #f06595;--pink-6: #e64980;--pink-7: #d6336c;--pink-8: #c2255c;--pink-9: #a61e4d;--pink-10: #8c1941;--pink-11: #731536;--pink-12: #59102a;--purple-0: #f8f0fc;--purple-1: #f3d9fa;--purple-2: #eebefa;--purple-3: #e599f7;--purple-4: #da77f2;--purple-5: #cc5de8;--purple-6: #be4bdb;--purple-7: #ae3ec9;--purple-8: #9c36b5;--purple-9: #862e9c;--purple-10: #702682;--purple-11: #5a1e69;--purple-12: #44174f;--violet-0: #f3f0ff;--violet-1: #e5dbff;--violet-2: #d0bfff;--violet-3: #b197fc;--violet-4: #9775fa;--violet-5: #845ef7;--violet-6: #7950f2;--violet-7: #7048e8;--violet-8: #6741d9;--violet-9: #5f3dc4;--violet-10: #5235ab;--violet-11: #462d91;--violet-12: #3a2578;--indigo-0: #edf2ff;--indigo-1: #dbe4ff;--indigo-2: #bac8ff;--indigo-3: #91a7ff;--indigo-4: #748ffc;--indigo-5: #5c7cfa;--indigo-6: #4c6ef5;--indigo-7: #4263eb;--indigo-8: #3b5bdb;--indigo-9: #364fc7;--indigo-10: #2f44ad;--indigo-11: #283a94;--indigo-12: #21307a;--blue-0: #e7f5ff;--blue-1: #d0ebff;--blue-2: #a5d8ff;--blue-3: #74c0fc;--blue-4: #4dabf7;--blue-5: #339af0;--blue-6: #228be6;--blue-7: #1c7ed6;--blue-8: #1971c2;--blue-9: #1864ab;--blue-10: #145591;--blue-11: #114678;--blue-12: #0d375e;--cyan-0: #e3fafc;--cyan-1: #c5f6fa;--cyan-2: #99e9f2;--cyan-3: #66d9e8;--cyan-4: #3bc9db;--cyan-5: #22b8cf;--cyan-6: #15aabf;--cyan-7: #1098ad;--cyan-8: #0c8599;--cyan-9: #0b7285;--cyan-10: #095c6b;--cyan-11: #074652;--cyan-12: #053038;--teal-0: #e6fcf5;--teal-1: #c3fae8;--teal-2: #96f2d7;--teal-3: #63e6be;--teal-4: #38d9a9;--teal-5: #20c997;--teal-6: #12b886;--teal-7: #0ca678;--teal-8: #099268;--teal-9: #087f5b;--teal-10: #066649;--teal-11: #054d37;--teal-12: #033325;--green-0: #ebfbee;--green-1: #d3f9d8;--green-2: #b2f2bb;--green-3: #8ce99a;--green-4: #69db7c;--green-5: #51cf66;--green-6: #40c057;--green-7: #37b24d;--green-8: #2f9e44;--green-9: #2b8a3e;--green-10: #237032;--green-11: #1b5727;--green-12: #133d1b;--lime-0: #f4fce3;--lime-1: #e9fac8;--lime-2: #d8f5a2;--lime-3: #c0eb75;--lime-4: #a9e34b;--lime-5: #94d82d;--lime-6: #82c91e;--lime-7: #74b816;--lime-8: #66a80f;--lime-9: #5c940d;--lime-10: #4c7a0b;--lime-11: #3c6109;--lime-12: #2c4706;--yellow-0: #fff9db;--yellow-1: #fff3bf;--yellow-2: #ffec99;--yellow-3: #ffe066;--yellow-4: #ffd43b;--yellow-5: #fcc419;--yellow-6: #fab005;--yellow-7: #f59f00;--yellow-8: #f08c00;--yellow-9: #e67700;--yellow-10: #b35c00;--yellow-11: #804200;--yellow-12: #663500;--orange-0: #fff4e6;--orange-1: #ffe8cc;--orange-2: #ffd8a8;--orange-3: #ffc078;--orange-4: #ffa94d;--orange-5: #ff922b;--orange-6: #fd7e14;--orange-7: #f76707;--orange-8: #e8590c;--orange-9: #d9480f;--orange-10: #bf400d;--orange-11: #99330b;--orange-12: #802b09;--choco-0: #fff8dc;--choco-1: #fce1bc;--choco-2: #f7ca9e;--choco-3: #f1b280;--choco-4: #e99b62;--choco-5: #df8545;--choco-6: #d46e25;--choco-7: #bd5f1b;--choco-8: #a45117;--choco-9: #8a4513;--choco-10: #703a13;--choco-11: #572f12;--choco-12: #3d210d;--brown-0: #faf4eb;--brown-1: #ede0d1;--brown-2: #e0cab7;--brown-3: #d3b79e;--brown-4: #c5a285;--brown-5: #b78f6d;--brown-6: #a87c56;--brown-7: #956b47;--brown-8: #825b3a;--brown-9: #6f4b2d;--brown-10:#5e3a21;--brown-11:#4e2b15;--brown-12: #422412;--sand-0: #f8fafb;--sand-1: #e6e4dc;--sand-2: #d5cfbd;--sand-3: #c2b9a0;--sand-4: #aea58c;--sand-5: #9a9178;--sand-6: #867c65;--sand-7: #736a53;--sand-8: #5f5746;--sand-9: #4b4639;--sand-10:#38352d;--sand-11:#252521;--sand-12: #121210;--camo-0: #f9fbe7;--camo-1: #e8ed9c;--camo-2: #d2df4e;--camo-3: #c2ce34;--camo-4: #b5bb2e;--camo-5: #a7a827;--camo-6: #999621;--camo-7: #8c851c;--camo-8: #7e7416;--camo-9: #6d6414;--camo-10: #5d5411;--camo-11: #4d460e;--camo-12: #36300a;--jungle-0: #ecfeb0;--jungle-1: #def39a;--jungle-2: #d0e884;--jungle-3: #c2dd6e;--jungle-4: #b5d15b;--jungle-5: #a8c648;--jungle-6: #9bbb36;--jungle-7: #8fb024;--jungle-8: #84a513;--jungle-9: #7a9908;--jungle-10: #658006;--jungle-11: #516605;--jungle-12: #3d4d04}html{font-family:var(--main-font);line-height:var(--rhythm);background:var(--bg);color:var(--fg);scroll-padding-block-start:calc(4*var(--gap))}footer,header,section+section{margin-block:calc(2*var(--gap))}aside.big,nav a{color:var(--accent)}nav a{text-decoration:none}aside{font-size:.8em;line-height:calc(var(--rhythm)*2/3)}aside h1,aside h2,aside h3,aside h4,aside h5,aside h6{font-size:1em;text-transform:none;letter-spacing:none}aside.big{background:0 0;border:0;-webkit-border-start:1px solid var(--muted-fg);border-inline-start:1px solid var(--muted-fg);border-radius:0;padding:0;-webkit-padding-start:var(--rhythm);padding-inline-start:var(--rhythm);font-style:italic}.\<h1\>,.\<h2\>,.\<h3\>,.\<h4\>,.\<h5\>,.\<h6\>,h1,h2,h3,h4,h5,h6{-webkit-margin-after:var(--gap);margin-block-end:var(--gap);font-family:var(--secondary-font);-webkit-margin-before:calc(2*var(--gap));margin-block-start:calc(2*var(--gap));position:relative}.\<h1\>,.\<h2\>,h1,h2{font-size:2em;text-transform:none;line-height:calc(2*var(--rhythm));letter-spacing:0}.\<h2\>,h2{font-size:1.6em;line-height:calc(1.5*var(--rhythm))}.\<h3\>,.\<h4\>,.\<h5\>,.\<h6\>,h3,h4,h5,h6{font-size:1.17em;line-height:calc(1*var(--rhythm))}.\<h4\>,.\<h5\>,.\<h6\>,h4,h5,h6{font-size:1em;text-transform:none;letter-spacing:0;-webkit-margin-before:var(--gap);margin-block-start:var(--gap)}h1+h2,h1:first-child,h2+h3,h2:first-child,h3+h4,h3:first-child,h4+h5,h4:first-child,h5+h6,h5:first-child,h6:first-child{-webkit-margin-before:var(--gap);margin-block-start:var(--gap)}h1:target,h2:target,h3:target,h4:target,h5:target,h6:target{outline:0}h1:target::before,h2:target::before,h3:target::before,h4:target::before,h5:target::before,h6:target::before{content:"";display:block;position:absolute;left:-.5em;width:4px;height:100%;background:var(--accent)}header{-webkit-border-after:1px solid var(--graphical-fg);border-block-end:1px solid var(--graphical-fg)}dt,footer,header{font-family:var(--secondary-font)}footer{font-size:.8em;line-height:calc(var(--rhythm)*2/3);-webkit-border-before:1px solid var(--graphical-fg);border-block-start:1px solid var(--graphical-fg)}body>footer,body>header,main+footer{padding:var(--rhythm) calc((100% - var(--eff-line-length))/2)}address{--density: 0}dl,hr,p{margin-block:var(--gap)}hr{color:inherit;margin-inline:0;flex:0 1 0px;-webkit-border-start:1px solid var(--accent);border-inline-start:1px solid var(--accent);block-size:auto;-webkit-border-before:1px solid var(--accent);border-block-start:1px solid var(--accent);-webkit-border-after:none;border-block-end:none;-webkit-border-end:none;border-inline-end:none}blockquote,pre{line-height:var(--rhythm)}pre{font-family:var(--mono-font);tab-size:2;margin:var(--gap) 0;overflow-x:auto;scrollbar-width:thin;scrollbar-color:var(--accent) transparent;font-size:.9em}blockquote{margin-inline:0 var(--gap);padding-inline:var(--gap) 0;margin-block:var(--gap);font-size:1.1em;font-style:italic;-webkit-border-start:1px solid var(--graphical-fg);border-inline-start:1px solid var(--graphical-fg);color:var(--muted-fg)}.italic address,.italic cite,.italic dfn,.italic em,.italic i,.italic var,blockquote address,blockquote cite,blockquote dfn,blockquote em,blockquote i,blockquote var,q address,q cite,q dfn,q em,q i,q var{font-style:normal}blockquote footer{text-align:right;text-align:end}ol,ul{-webkit-padding-start:var(--rhythm);padding-inline-start:var(--rhythm)}ol ol,ol ul,ul ol,ul ul{-webkit-padding-start:var(--gap);padding-inline-start:var(--gap)}ol[role=list],ol[role=listbox],ul[role=list],ul[role=listbox]{-webkit-padding-start:0;padding-inline-start:0;list-style:none}ol{list-style:decimal}dt{font-weight:700}dd{-webkit-margin-start:var(--rhythm);margin-inline-start:var(--rhythm)}li::marker{font-family:var(--secondary-font)}figure{max-width:100%;margin-inline:0}figcaption{margin-block:var(--gap);font-family:var(--secondary-font);color:var(--muted-fg)}main{max-inline-size:var(--eff-line-length);inline-size:100%;margin-inline:auto}main:first-child{padding-top:var(--gap)}.\<a\>,a{color:var(--link-fg, var(--accent));border-radius:var(--border-radius);outline-offset:1px;background:0 0;border:0;font-size:1em;-webkit-text-decoration:1px dotted underline;text-decoration:1px dotted underline}.list-of-links :is(a,.\<a\>){text-decoration:none}:is(a,.\<a\>):focus,:is(a,.\<a\>):hover{-webkit-text-decoration:2px solid underline;text-decoration:2px solid underline;cursor:pointer;outline:0}small[role=note]{display:block;float:inline-end;clear:inline-end;--sidenote-width: 20ch;max-inline-size:var(--sidenote-width);padding-inline:1.5ch 1ch;-webkit-margin-end:calc(1em - var(--sidenote-width));margin-inline-end:calc(1em - var(--sidenote-width));-webkit-margin-after:var(--rhythm);margin-block-end:var(--rhythm);font-family:var(--secondary-font);background:var(--bg);border:1px solid transparent;transition:transform .1s ease-in-out}small[role=note]:focus-within,small[role=note]:hover{border:1px solid var(--graphical-fg);border-radius:var(--border-radius);transform:translateX(calc(0px - var(--sidenote-width) + min(var(--gutter-width),var(--sidenote-width))))}.\<small\>,small{font-size:.8em;line-height:calc(var(--rhythm)*2/3)}del,s{color:var(--bad-fg)}caption,q{font-style:italic}time{font-variant-numeric:tabular-nums}code,kbd,samp{font-family:var(--mono-font);font-style:normal}ins,samp{color:var(--ok-fg)}kbd kbd{display:inline-block;padding:0 .3em;font-size:.8em;line-height:1.1em;background:var(--interactive-bg);border:1px outset var(--graphical-fg);border-block-end-width:3px;border-radius:var(--border-radius)}sub{vertical-align:bottom}sub,sup{line-height:1}mark{background:var(--warn-bg);color:var(--warn-fg)}ins{background:var(--ok-bg)}del{background:var(--bad-bg)}audio,embed,iframe,img,object,video{max-inline-size:100%;inline-size:max-content;block-size:auto}caption{text-align:start;font-family:var(--secondary-font)}tbody{border-block:1px solid var(--faded-fg)}select[multiple],sup,td,th{vertical-align:top}td:not(:last-child),th:not(:last-child){-webkit-padding-end:var(--rhythm);padding-inline-end:var(--rhythm)}th{font-family:var(--secondary-font);text-align:start}input{display:block}label input:not([specificity-hack]){display:inline;padding-block:0}.\<button\>,button,input::file-selector-button,input[type=button],input[type=reset],input[type=submit]{display:inline-block;padding:0 calc(var(--rhythm)/4);vertical-align:middle;box-sizing:border-box;font-size:.8rem;line-height:1.125em;font-family:var(--secondary-font);min-height:var(--rhythm);background:var(--interactive-bg);border:1px solid var(--muted-fg);box-shadow:0 2px 4px -2px var(--fg);border-radius:var(--border-radius);color:var(--fg);text-decoration:none;display:inline-flex;justify-content:center;align-items:center}:is(button,input[type="submit"],input[type="reset"],input[type="button"],input::file-selector-button,.\<button\>):focus-visible,:is(button,input[type="submit"],input[type="reset"],input[type="button"],input::file-selector-button,.\<button\>):hover{filter:brightness(1.1);box-shadow:0 3px 6px -2px var(--fg);text-decoration:none}:is(button,input[type="submit"],input[type="reset"],input[type="button"],input::file-selector-button,.\<button\>):active{box-shadow:none}:is(button,input[type="submit"],input[type="reset"],input[type="button"],input::file-selector-button,.\<button\>):active:is([aria-pressed], [aria-expanded]){color:var(--accent);box-shadow:0 1px 5px -1px var(--fg) inset}:is(button,input[type="submit"],input[type="reset"],input[type="button"],input::file-selector-button,.\<button\>):where([aria-pressed="true"], [aria-expanded="true"]){box-shadow:0 2px 4px -1px var(--fg) inset;background:var(--pressed-interactive-bg);color:var(--accent)}:is(button,input[type="submit"],input[type="reset"],input[type="button"],input::file-selector-button,.\<button\>):where([aria-pressed="true"], [aria-expanded="true"]):focus-visible,:is(button,input[type="submit"],input[type="reset"],input[type="button"],input::file-selector-button,.\<button\>):where([aria-pressed="true"], [aria-expanded="true"]):hover{box-shadow:0 1px 3px -1px var(--fg) inset}[disabled]:is(button,input[type="submit"],input[type="reset"],input[type="button"],input::file-selector-button,.\<button\>){color:var(--muted-fg);box-shadow:none}strong>:is(button,input[type="submit"],input[type="reset"],input[type="button"],input::file-selector-button,.\<button\>){background:var(--accent);color:var(--bg);border:0;font-weight:700}strong>[disabled]:is(button,input[type="submit"],input[type="reset"],input[type="button"],input::file-selector-button,.\<button\>){color:var(--muted-accent)}.big:is(button,input[type="submit"],input[type="reset"],input[type="button"],input::file-selector-button,.\<button\>){min-block-size:calc(1.5*var(--rhythm));font-size:1rem;padding-inline:calc(.5*var(--rhythm));line-height:var(--rhythm)}input:not([type]),input[type=date],input[type=datetime-local],input[type=datetime],input[type=email],input[type=month],input[type=number],input[type=password],input[type=search],input[type=tel],input[type=text],input[type=time],input[type=url],input[type=week],select,textarea{padding:calc(var(--rhythm)/4);font-size:1rem;line-height:inherit;font-family:var(--main-font);background:var(--bg);color:var(--fg);border:1px solid var(--graphical-fg);border-radius:var(--border-radius);vertical-align:top}:is(input:not([type]),input[type="text"],input[type="search"],input[type="tel"],input[type="url"],input[type="email"],input[type="password"],input[type="date"],input[type="month"],input[type="week"],input[type="time"],input[type="datetime"],input[type="datetime-local"],input[type="number"],select,textarea):focus-visible{border:1px solid var(--accent)}:is(input:not([type]),input[type="text"],input[type="search"],input[type="tel"],input[type="url"],input[type="email"],input[type="password"],input[type="date"],input[type="month"],input[type="week"],input[type="time"],input[type="datetime"],input[type="datetime-local"],input[type="number"],select,textarea)::placeholder{color:var(--muted-fg);opacity:1;text-align:end}input[type=range]{width:100%;padding:calc(var(--gap)/4)}input[type=color]{padding:0;margin:0;height:calc(1.5*var(--rhythm));border:0;background:0 0}input[type=file]{padding:calc(var(--gap)/4) 0;font:inherit;line-height:calc(var(--rhythm)/2)}input[type=file]::file-selector-button{margin-block:.1em 0;-webkit-margin-end:1ch;margin-inline-end:1ch}optgroup::before{color:var(--muted-fg);font-style:normal}label[for]{display:block;padding-block:calc(var(--gap)/4)}fieldset>legend+*{-webkit-margin-before:0;margin-block-start:0}details:not(specificity-hack){-webkit-padding-before:0;padding-block-start:0}details:not(specificity-hack):not([open]){-webkit-padding-after:0;padding-block-end:0}summary{margin:calc(0px - var(--gap));margin-bottom:0;padding-inline:var(--gap);font-family:var(--secondary-font);font-weight:700;cursor:pointer}summary:active,summary:focus-visible{filter:brightness(.8);outline:0}dialog{inline-inset:0;block-size:-moz-fit-content;block-size:fit-content;inline-size:-moz-fit-content;inline-size:fit-content;margin:auto!important;background-color:var(--bg);color:var(--fg)}dialog[open]::backdrop{display:block;background:#000;opacity:.4;animation:bg 2s}dialog:not([open]){display:none}.box,.sidebar-layout>header,[role=menu],[role=tabpanel],aside,details,dialog,figure{margin:var(--gap) 0;padding:var(--gap);overflow:clip;border-radius:var(--border-radius);background:var(--box-bg);border:1px solid var(--graphical-fg)}.titlebar{margin-inline:calc(0px - var(--gap));-webkit-margin-after:calc(0px - var(--gap));margin-block-end:calc(0px - var(--gap));padding-inline:var(--gap);font:inherit;font-family:var(--secondary-font);font-weight:700;translate:0 calc(-1px - var(--gap));background:var(--graphical-fg);color:var(--bg)}.sub-title,sub-title{display:block;font-weight:400;color:var(--muted-fg)}.tool-bar,[role=toolbar]{display:flex;flex-flow:row wrap;gap:calc(var(--gap)/2)}.tool-bar>*,[role=toolbar]>*{margin:0}.sidebar-layout header li{margin-block:calc(.5*var(--gap))}.breadcrumbs[aria-label] [aria-current=page],.sidebar-layout header a{font-weight:700}@media (min-width:75ch){.sidebar-layout{display:grid;grid-template-columns:25ch auto;inset:0}.sidebar-layout>header{border-block:none;-webkit-border-start:none;border-inline-start:none;margin:0}.sidebar-layout>:nth-child(2){overflow:auto;--full-width: calc(100vw - 25ch);margin-top:var(--gap)}}.breadcrumbs[aria-label]{font-family:var(--secondary-font)}.breadcrumbs[aria-label] ol,.breadcrumbs[aria-label] ul{list-style:none;-webkit-padding-start:0;padding-inline-start:0}.breadcrumbs[aria-label] li{display:inline}:is(.breadcrumbs[aria-label] li)+li::before{content:' / ';display:inline}.chip,.navbar,chip{font-family:var(--secondary-font);background:var(--box-bg)}.chip,chip{border:1px solid var(--accent);border-radius:calc(var(--rhythm)/2);padding-inline:calc(var(--rhythm)/2)}.navbar{padding:var(--rhythm);-webkit-border-after:1px solid var(--accent);border-block-end:1px solid var(--accent);overflow-x:auto;scrollbar-width:thin;position:sticky;z-index:5;top:0;left:0;right:0;display:flex;flex-flow:row;align-items:center;gap:var(--gap)}.navbar.expanded{flex-flow:column;align-items:start;max-height:90vh;overflow-y:auto}.navbar.expanded ul[role=list]{flex-flow:column}.navbar *{flex-shrink:0;margin-block:0}.navbar:not(.expanded) nav>:first-child,.navbar:not(.expanded)>:first-child{-webkit-margin-start:auto;margin-inline-start:auto}.navbar:not(.expanded) nav>:last-child,.navbar:not(.expanded)>:last-child{-webkit-margin-end:auto;margin-inline-end:auto}.navbar hr{align-self:stretch}.navbar nav ul[role=list]{display:flex;flex-flow:row;gap:var(--rhythm);-webkit-padding-start:0;padding-inline-start:0}.navbar nav ul[role=list] *{flex-shrink:0}.navbar a{font-weight:700;text-decoration:none;padding-inline:.2em}.navbar a:focus,.navbar a:hover{text-decoration:underline}.navbar [aria-current=page]{position:relative}.navbar [aria-current=page]::after{width:100%;height:6px;content:"";display:block;position:absolute;bottom:calc(-1*var(--gap));background:currentcolor}.navbar.expanded [aria-current=page]::after{width:6px;height:100%;position:absolute;left:calc(-1*var(--gap));top:0}.permalink-anchor{display:none}:hover>.permalink-anchor{display:initial}button.iconbutton{border:0;background:0 0;color:currentcolor;padding:0;line-height:var(--rhythm);font-size:24px;width:24px;height:24px;display:inline-block;text-align:center;border-radius:50%;transition:font-weight .2s ease-in-out}button.iconbutton:focus-visible,button.iconbutton:hover{outline:1px solid var(--accent);outline-offset:6px}button.iconbutton:active{outline-offset:3px;background:0 0}button.iconbutton[aria-pressed=true]{box-shadow:none;transform:none}[role=tablist]{display:flex;gap:.5ch;scrollbar-width:thin}[role=tab][role=tab]{all:initial;font-family:var(--secondary-font);padding:0 calc(var(--rhythm)/4);margin:0;min-height:var(--rhythm);bottom:-1px;position:relative;color:var(--fg);border:solid var(--graphical-fg);border-width:1px;background:var(--interactive-bg);border-start-start-radius:.4em;border-start-end-radius:.4em}[role=tab][role=tab]:active,[role=tab][role=tab][aria-selected=true]{background:var(--box-bg);-webkit-border-after:1px solid transparent;border-block-end:1px solid transparent}[role=tab][role=tab]:hover{background-color:var(--box-bg);box-shadow:none}[role=tab][role=tab]:focus-visible{box-shadow:none;color:var(--accent);text-decoration:underline}[role=tabpanel]{-webkit-margin-before:0;margin-block-start:0;border-start-start-radius:0;border-start-end-radius:0;z-index:1}[role=menu]{position:absolute;z-index:10;padding:calc(var(--gap)/2) 0;margin:1px 0 0;display:flex;flex-flow:column nowrap}[role=menuitem]{padding:0 calc(var(--gap)/2);display:block;text-decoration:none;border-radius:0;color:var(--fg)}[role=menuitem]:active,[role=menuitem]:focus{background:var(--accent);color:var(--bg)}[role=listbox]{list-style:none}[role=listbox] [role=option]{margin-inline:calc(-1*var(--gap));padding-inline:var(--gap)}[role=listbox] [role=option][aria-selected=true]{background:var(--interactive-bg)}[role=listbox] .active[role=option]{--temporary-bg: var(--accent);--temporary-fg: var(--bg);--temporary-accent: parent-var(--muted-accent);--temporary-muted-accent: parent-var(--box-bg);background:var(--temporary-bg);color:var(--temporary-fg)}[role=listbox] .active[role=option]>*{--bg: var(--temporary-bg);--fg: var(--temporary-fg);--accent: var(--temporary-accent);--muted-accent: var(--temporary-muted-accent)}[aria-orientation=vertical]{flex-direction:column;width:-moz-fit-content;width:fit-content;text-align:center}.plain{--box-bg: var(--plain-bg);--accent: var(--plain-fg);--graphical-fg: var(--plain-graphical-fg)}.info{--box-bg: var(--info-bg);--accent: var(--info-fg);--graphical-fg: var(--info-graphical-fg)}.ok{--box-bg: var(--ok-bg);--accent: var(--ok-fg);--graphical-fg: var(--ok-graphical-fg)}.warn{--box-bg: var(--warn-bg);--accent: var(--warn-fg);--graphical-fg: var(--warn-graphical-fg)}.bad{--box-bg: var(--bad-bg);--accent: var(--bad-fg);--graphical-fg: var(--bad-graphical-fg)}.color{color:var(--accent)}.bg{background:var(--box-bg)}.border{border-style:solid;border-color:var(--graphical-fg)}:root{--fg: var(--gray-12);--muted-fg: var(--gray-10);--faded-fg: var(--gray-6);--graphical-fg: var(--plain-graphical-fg);--plain-fg: var(--blue-10);--info-fg: var(--blue-11);--ok-fg: var(--green-11);--bad-fg: var(--red-11);--warn-fg: var(--yellow-11);--plain-graphical-fg: var(--gray-6);--info-graphical-fg: var(--blue-6);--ok-graphical-fg: var(--green-6);--bad-graphical-fg: var(--red-6);--warn-graphical-fg: var(--yellow-6);--bg: var(--gray-0);--box-bg: var(--plain-bg);--interactive-bg: var(--gray-4);--plain-bg: var(--gray-1);--info-bg: var(--blue-1);--ok-bg: var(--green-1);--bad-bg: var(--red-1);--warn-bg: var(--yellow-1);--accent: var(--blue-10);--muted-accent: var(--blue-7);--rhythm: 1.4rem;--line-length: 40rem;--border-radius: .2rem;--main-font: 'Source Sans 3', 'Source Sans Pro', -apple-system, system-ui, sans-serif;--secondary-font: var(--main-font);--mono-font: 'M Plus Code Latin', monospace, monospace;--density: 1;--full-width: 100vw;--eff-line-length: /* Effective line length for prose. */
- min(
- calc( var(--full-width) - (2 * var(--rhythm)) ),
- var(--line-length)
- );--gutter-width: /* Width of spaces at each side of page content. */
- calc(
- (
- var(--full-width) /* Viewport width */
- - var(--eff-line-length) /* minus line width */
- ) / 2)}@media (prefers-color-scheme:dark){:root:not(.-no-dark-theme){--fg: var(--gray-0);--muted-fg: var(--gray-2);--faded-fg: var(--gray-7);--plain-bg: var(--gray-11);--info-bg: var(--blue-12);--ok-bg: var(--green-12);--bad-bg: var(--red-12);--warn-bg: var(--yellow-12);--plain-faded-fg: var(--blue-6);--info-faded-fg: var(--blue-6);--ok-faded-fg: var(--green-6);--bad-faded-fg: var(--red-6);--warn-faded-fg: var(--yellow-6);--bg: var(--gray-12);--box-bg: var(--gray-10);--interactive-bg: var(--gray-8);--plain-fg: (--blue-3);--info-fg: var(--blue-3);--ok-fg: var(--green-3);--bad-fg: var(--red-3);--warn-fg: var(--yellow-3);--accent: var(--blue-3);--muted-accent: var(--blue-5)}}*{--gap: calc(var(--rhythm) * var(--density));accent-color:var(--accent)}.textcolumns{--col-width: 30ch;column-width:var(--col-width);column-gap:var(--gap);margin-block:var(--gap)}.textcolumns :first-child{-webkit-margin-before:0!important;margin-block-start:0!important}.text-align\:center{text-align:center}.center{display:grid;place-items:center}.container{max-inline-size:var(--eff-line-length);margin-inline:auto}.fullbleed,.fullscreen{position:relative;left:50%;border-radius:0;border-inline:none}.fullbleed{width:var(--full-width);transform:translateX(calc(-.5*var(--full-width)))}.fullscreen{height:100vh;width:100vw;transform:translateX(-50vw)}.width\:100\%{width:100%;max-width:100%}.height\:100\%{height:100%;max-height:100%}:is(
- body,
- .box,
- [role=menu],
- .sidebar-layout > header,
- [role=tabpanel],
- figure,
- details,
- dialog,
- aside,
- fieldset,
- dd,
- td,
- th
-)>:first-child:first-child:first-child:first-child,:is(
- body,
- .box,
- [role=menu],
- .sidebar-layout > header,
- [role=tabpanel],
- figure,
- details,
- dialog,
- aside,
- fieldset,
- dd,
- td,
- th
-)>:first-child>:first-child:first-child:first-child,:is(
- body,
- .box,
- [role=menu],
- .sidebar-layout > header,
- [role=tabpanel],
- figure,
- details,
- dialog,
- aside,
- fieldset,
- dd,
- td,
- th
-)>:first-child>:first-child>:first-child:first-child,:is(
- body,
- .box,
- [role=menu],
- .sidebar-layout > header,
- [role=tabpanel],
- figure,
- details,
- dialog,
- aside,
- fieldset,
- dd,
- td,
- th
-)>:first-child>:first-child>:first-child>:first-child{-webkit-margin-before:0;margin-block-start:0}:is(
- body,
- .box,
- [role=menu],
- .sidebar-layout > header,
- [role=tabpanel],
- figure,
- details,
- dialog,
- aside,
- fieldset,
- dd,
- td,
- th
-)>:last-child:last-child:last-child:last-child,:is(
- body,
- .box,
- [role=menu],
- .sidebar-layout > header,
- [role=tabpanel],
- figure,
- details,
- dialog,
- aside,
- fieldset,
- dd,
- td,
- th
-)>:last-child>:last-child:last-child:last-child,:is(
- body,
- .box,
- [role=menu],
- .sidebar-layout > header,
- [role=tabpanel],
- figure,
- details,
- dialog,
- aside,
- fieldset,
- dd,
- td,
- th
-)>:last-child>:last-child>:last-child:last-child,:is(
- body,
- .box,
- [role=menu],
- .sidebar-layout > header,
- [role=tabpanel],
- figure,
- details,
- dialog,
- aside,
- fieldset,
- dd,
- td,
- th
-)>:last-child>:last-child>:last-child>:last-child{-webkit-margin-after:0;margin-block-end:0}.padding{padding-inline:var(--gap)}.padding-block{padding-block:var(--gap)}.padding-block-start{-webkit-padding-before:var(--gap);padding-block-start:var(--gap)}.padding-block-end{-webkit-padding-after:var(--gap);padding-block-end:var(--gap)}.padding-inline{padding-inline:var(--gap)}.padding-inline-end,.padding-inline-start{-webkit-padding-start:var(--gap);padding-inline-start:var(--gap)}.margin{margin:var(--gap)}.margin-block{margin-block:var(--gap)}.margin-block-start{-webkit-margin-before:var(--gap);margin-block-start:var(--gap)}.margin-block-end{-webkit-margin-after:var(--gap);margin-block-end:var(--gap)}.margin-inline{margin-inline:var(--gap)}.margin-inline-start{-webkit-margin-start:var(--gap);margin-inline-start:var(--gap)}.margin-inline-end{-webkit-margin-end:var(--gap);margin-inline-end:var(--gap)}.flow-gap>:not(:last-child),.row:not(:last-child):not([specificity-hack])>*,.rows>:not(:last-child):not([specificity-hack])>*{margin-bottom:var(--gap)}.inline{display:inline}.block{display:block}.contents{display:contents}.table{display:table;width:100%;margin:0}.row,.rows>*{display:table-row}.row>:not([specificity-hack]),.rows>*>:not([specificity-hack]){display:table-cell;vertical-align:top}.row>*+:not([specificity-hack]),:is(.rows > *)>*+:not([specificity-hack]){-webkit-margin-start:var(--gap);margin-inline-start:var(--gap);display:inline-block}.big{font-size:1.4em;line-height:calc(1.5*var(--rhythm))}.fixed{position:fixed}.sticky{position:sticky}.top{top:0}.right{right:0}.bottom{bottom:0}.left{left:0}.float\:left{float:left}.float\:right{float:right}.overflow\:auto{overflow:auto}.overflow\:scroll{overflow:scroll}.airy{--density: 3}.spacious{--density: 2}.dense{--density: 1}.crowded{--density: .5}.packed{--density: 0}.autodensity{--density: 1
-}@media (min-width:768px){.autodensity{--density: 2
-}}@media (min-width:1024px){.autodensity{--density: 3
-}}.vh,v-h{clip:rect(0 0 0 0);-webkit-clip-path:inset(50%);clip-path:inset(50%);block-size:1px;inline-size:1px;overflow:hidden;white-space:nowrap}.all\:initial{all:initial}.bold{font-weight:700}.italic{font-style:italic}.allcaps{text-transform:uppercase;letter-spacing:.1rem}.primary-font{font-family:var(--primary-font)}.secondary-font{font-family:var(--secondary-font)}.display-font{font-family:var(--display-font)}.mono-font,.monospace{font-family:var(--mono-font)}.massivetext{font-size:calc(.13*var(--eff-line-length));line-height:1em;letter-spacing:0}.aestheticbreak{display:block;margin:0;padding:0;height:calc(.5*var(--gap))}.f-row{display:flex;flex-direction:row;gap:var(--gap)}.f-row>*{margin:0}.f-col{display:flex;flex-direction:column;gap:var(--gap)}.f-col>*{margin:0}.f-switch{display:flex;flex-wrap:wrap;gap:var(--gap);--f-switch-threshold: 55ch
-}.f-switch>*{margin:0;flex-grow:1;flex-basis:calc((var(--f-switch-threshold) - 100%)*999)}.justify-content\:start{justify-content:start}.justify-content\:end{justify-content:end}.justify-content\:baseline{justify-content:baseline}.justify-content\:center{justify-content:center}.justify-content\:stretch{justify-content:stretch}.justify-content\:space-between{justify-content:space-between}.justify-content\:space-around{justify-content:space-around}.justify-content\:space-evenly{justify-content:space-evenly}.align-items\:start{align-items:start}.align-items\:end{align-items:end}.align-items\:baseline{align-items:baseline}.align-items\:center{align-items:center}.align-items\:stretch{align-items:stretch}.align-self\:start{align-self:start}.align-self\:end{align-self:end}.align-self\:baseline{align-self:baseline}.align-self\:center{align-self:center}.align-self\:stretch{align-self:stretch}.flex-grow\:0{flex-grow:0}.flex-grow\:1{flex-grow:1}.flex-grow\:2{flex-grow:2}.flex-grow\:3{flex-grow:3}.flex-grow\:4{flex-grow:4}.flex-grow\:5{flex-grow:5}.flex-grow\:6{flex-grow:6}.flex-grow\:7{flex-grow:7}.flex-grow\:8{flex-grow:8}.flex-grow\:9{flex-grow:9}.flex-grow\:10{flex-grow:10}.flex-grow\:11{flex-grow:11}.flex-grow\:12{flex-grow:12}.flex-wrap\:wrap{flex-wrap:wrap}.flex-wrap\:nowrap{flex-wrap:nowrap}.grid{display:grid;grid-auto-columns:var(--grid-col-width, 1fr);grid-auto-rows:var(--grid-row-width, auto);gap:var(--gap)}.grid>*{margin:0}.grid-even-rows{--grid-row-width: 1fr}.grid-variable-cols{--grid-column-width: auto}[data-cols^="1 "]{grid-column-start:1}[data-cols$=" 1"]{grid-column-end:2}[data-cols="1"]{grid-column:1}[data-cols^="2 "]{grid-column-start:2}[data-cols$=" 2"]{grid-column-end:3}[data-cols="2"]{grid-column:2}[data-cols^="3 "]{grid-column-start:3}[data-cols$=" 3"]{grid-column-end:4}[data-cols="3"]{grid-column:3}[data-cols^="4 "]{grid-column-start:4}[data-cols$=" 4"]{grid-column-end:5}[data-cols="4"]{grid-column:4}[data-cols^="5 "]{grid-column-start:5}[data-cols$=" 5"]{grid-column-end:6}[data-cols="5"]{grid-column:5}[data-cols^="6 "]{grid-column-start:6}[data-cols$=" 6"]{grid-column-end:7}[data-cols="6"]{grid-column:6}[data-cols^="7 "]{grid-column-start:7}[data-cols$=" 7"]{grid-column-end:8}[data-cols="7"]{grid-column:7}[data-cols^="8 "]{grid-column-start:8}[data-cols$=" 8"]{grid-column-end:9}[data-cols="8"]{grid-column:8}[data-cols^="9 "]{grid-column-start:9}[data-cols$=" 9"]{grid-column-end:10}[data-cols="9"]{grid-column:9}[data-cols^="10 "]{grid-column-start:10}[data-cols$=" 10"]{grid-column-end:11}[data-cols="10"]{grid-column:10}[data-cols^="11 "]{grid-column-start:11}[data-cols$=" 11"]{grid-column-end:12}[data-cols="11"]{grid-column:11}[data-cols^="12 "]{grid-column-start:12}[data-cols$=" 12"]{grid-column-end:13}[data-cols="12"]{grid-column:12}[data-rows^="1 "]{grid-row-start:1}[data-rows$=" 1"]{grid-row-end:2}[data-rows="1"]{grid-row:1}[data-rows^="2 "]{grid-row-start:2}[data-rows$=" 2"]{grid-row-end:3}[data-rows="2"]{grid-row:2}[data-rows^="3 "]{grid-row-start:3}[data-rows$=" 3"]{grid-row-end:4}[data-rows="3"]{grid-row:3}[data-rows^="4 "]{grid-row-start:4}[data-rows$=" 4"]{grid-row-end:5}[data-rows="4"]{grid-row:4}[data-rows^="5 "]{grid-row-start:5}[data-rows$=" 5"]{grid-row-end:6}[data-rows="5"]{grid-row:5}[data-rows^="6 "]{grid-row-start:6}[data-rows$=" 6"]{grid-row-end:7}[data-rows="6"]{grid-row:6}[data-rows^="7 "]{grid-row-start:7}[data-rows$=" 7"]{grid-row-end:8}[data-rows="7"]{grid-row:7}[data-rows^="8 "]{grid-row-start:8}[data-rows$=" 8"]{grid-row-end:9}[data-rows="8"]{grid-row:8}[data-rows^="9 "]{grid-row-start:9}[data-rows$=" 9"]{grid-row-end:10}[data-rows="9"]{grid-row:9}[data-rows^="10 "]{grid-row-start:10}[data-rows$=" 10"]{grid-row-end:11}[data-rows="10"]{grid-row:10}[data-rows^="11 "]{grid-row-start:11}[data-rows$=" 11"]{grid-row-end:12}[data-rows="11"]{grid-row:11}[data-rows^="12 "]{grid-row-start:12}[data-rows$=" 12"]{grid-row-end:13}[data-rows="12"]{grid-row:12}@media (max-width:768px){[data-cols\@s^="1 "]{grid-column-start:1}[data-cols\@s$=" 1"]{grid-column-end:2}[data-cols\@s="1"]{grid-column:1}[data-cols\@s^="2 "]{grid-column-start:2}[data-cols\@s$=" 2"]{grid-column-end:3}[data-cols\@s="2"]{grid-column:2}[data-cols\@s^="3 "]{grid-column-start:3}[data-cols\@s$=" 3"]{grid-column-end:4}[data-cols\@s="3"]{grid-column:3}[data-cols\@s^="4 "]{grid-column-start:4}[data-cols\@s$=" 4"]{grid-column-end:5}[data-cols\@s="4"]{grid-column:4}[data-cols\@s^="5 "]{grid-column-start:5}[data-cols\@s$=" 5"]{grid-column-end:6}[data-cols\@s="5"]{grid-column:5}[data-cols\@s^="6 "]{grid-column-start:6}[data-cols\@s$=" 6"]{grid-column-end:7}[data-cols\@s="6"]{grid-column:6}[data-cols\@s^="7 "]{grid-column-start:7}[data-cols\@s$=" 7"]{grid-column-end:8}[data-cols\@s="7"]{grid-column:7}[data-cols\@s^="8 "]{grid-column-start:8}[data-cols\@s$=" 8"]{grid-column-end:9}[data-cols\@s="8"]{grid-column:8}[data-cols\@s^="9 "]{grid-column-start:9}[data-cols\@s$=" 9"]{grid-column-end:10}[data-cols\@s="9"]{grid-column:9}[data-cols\@s^="10 "]{grid-column-start:10}[data-cols\@s$=" 10"]{grid-column-end:11}[data-cols\@s="10"]{grid-column:10}[data-cols\@s^="11 "]{grid-column-start:11}[data-cols\@s$=" 11"]{grid-column-end:12}[data-cols\@s="11"]{grid-column:11}[data-cols\@s^="12 "]{grid-column-start:12}[data-cols\@s$=" 12"]{grid-column-end:13}[data-cols\@s="12"]{grid-column:12}[data-rows\@s^="1 "]{grid-row-start:1}[data-rows\@s$=" 1"]{grid-row-end:2}[data-rows\@s="1"]{grid-row:1}[data-rows\@s^="2 "]{grid-row-start:2}[data-rows\@s$=" 2"]{grid-row-end:3}[data-rows\@s="2"]{grid-row:2}[data-rows\@s^="3 "]{grid-row-start:3}[data-rows\@s$=" 3"]{grid-row-end:4}[data-rows\@s="3"]{grid-row:3}[data-rows\@s^="4 "]{grid-row-start:4}[data-rows\@s$=" 4"]{grid-row-end:5}[data-rows\@s="4"]{grid-row:4}[data-rows\@s^="5 "]{grid-row-start:5}[data-rows\@s$=" 5"]{grid-row-end:6}[data-rows\@s="5"]{grid-row:5}[data-rows\@s^="6 "]{grid-row-start:6}[data-rows\@s$=" 6"]{grid-row-end:7}[data-rows\@s="6"]{grid-row:6}[data-rows\@s^="7 "]{grid-row-start:7}[data-rows\@s$=" 7"]{grid-row-end:8}[data-rows\@s="7"]{grid-row:7}[data-rows\@s^="8 "]{grid-row-start:8}[data-rows\@s$=" 8"]{grid-row-end:9}[data-rows\@s="8"]{grid-row:8}[data-rows\@s^="9 "]{grid-row-start:9}[data-rows\@s$=" 9"]{grid-row-end:10}[data-rows\@s="9"]{grid-row:9}[data-rows\@s^="10 "]{grid-row-start:10}[data-rows\@s$=" 10"]{grid-row-end:11}[data-rows\@s="10"]{grid-row:10}[data-rows\@s^="11 "]{grid-row-start:11}[data-rows\@s$=" 11"]{grid-row-end:12}[data-rows\@s="11"]{grid-row:11}[data-rows\@s^="12 "]{grid-row-start:12}[data-rows\@s$=" 12"]{grid-row-end:13}[data-rows\@s="12"]{grid-row:12}}@media (min-width:1024px){[data-cols\@l^="1 "]{grid-column-start:1}[data-cols\@l$=" 1"]{grid-column-end:2}[data-cols\@l="1"]{grid-column:1}[data-cols\@l^="2 "]{grid-column-start:2}[data-cols\@l$=" 2"]{grid-column-end:3}[data-cols\@l="2"]{grid-column:2}[data-cols\@l^="3 "]{grid-column-start:3}[data-cols\@l$=" 3"]{grid-column-end:4}[data-cols\@l="3"]{grid-column:3}[data-cols\@l^="4 "]{grid-column-start:4}[data-cols\@l$=" 4"]{grid-column-end:5}[data-cols\@l="4"]{grid-column:4}[data-cols\@l^="5 "]{grid-column-start:5}[data-cols\@l$=" 5"]{grid-column-end:6}[data-cols\@l="5"]{grid-column:5}[data-cols\@l^="6 "]{grid-column-start:6}[data-cols\@l$=" 6"]{grid-column-end:7}[data-cols\@l="6"]{grid-column:6}[data-cols\@l^="7 "]{grid-column-start:7}[data-cols\@l$=" 7"]{grid-column-end:8}[data-cols\@l="7"]{grid-column:7}[data-cols\@l^="8 "]{grid-column-start:8}[data-cols\@l$=" 8"]{grid-column-end:9}[data-cols\@l="8"]{grid-column:8}[data-cols\@l^="9 "]{grid-column-start:9}[data-cols\@l$=" 9"]{grid-column-end:10}[data-cols\@l="9"]{grid-column:9}[data-cols\@l^="10 "]{grid-column-start:10}[data-cols\@l$=" 10"]{grid-column-end:11}[data-cols\@l="10"]{grid-column:10}[data-cols\@l^="11 "]{grid-column-start:11}[data-cols\@l$=" 11"]{grid-column-end:12}[data-cols\@l="11"]{grid-column:11}[data-cols\@l^="12 "]{grid-column-start:12}[data-cols\@l$=" 12"]{grid-column-end:13}[data-cols\@l="12"]{grid-column:12}[data-rows\@l^="1 "]{grid-row-start:1}[data-rows\@l$=" 1"]{grid-row-end:2}[data-rows\@l="1"]{grid-row:1}[data-rows\@l^="2 "]{grid-row-start:2}[data-rows\@l$=" 2"]{grid-row-end:3}[data-rows\@l="2"]{grid-row:2}[data-rows\@l^="3 "]{grid-row-start:3}[data-rows\@l$=" 3"]{grid-row-end:4}[data-rows\@l="3"]{grid-row:3}[data-rows\@l^="4 "]{grid-row-start:4}[data-rows\@l$=" 4"]{grid-row-end:5}[data-rows\@l="4"]{grid-row:4}[data-rows\@l^="5 "]{grid-row-start:5}[data-rows\@l$=" 5"]{grid-row-end:6}[data-rows\@l="5"]{grid-row:5}[data-rows\@l^="6 "]{grid-row-start:6}[data-rows\@l$=" 6"]{grid-row-end:7}[data-rows\@l="6"]{grid-row:6}[data-rows\@l^="7 "]{grid-row-start:7}[data-rows\@l$=" 7"]{grid-row-end:8}[data-rows\@l="7"]{grid-row:7}[data-rows\@l^="8 "]{grid-row-start:8}[data-rows\@l$=" 8"]{grid-row-end:9}[data-rows\@l="8"]{grid-row:8}[data-rows\@l^="9 "]{grid-row-start:9}[data-rows\@l$=" 9"]{grid-row-end:10}[data-rows\@l="9"]{grid-row:9}[data-rows\@l^="10 "]{grid-row-start:10}[data-rows\@l$=" 10"]{grid-row-end:11}[data-rows\@l="10"]{grid-row:10}[data-rows\@l^="11 "]{grid-row-start:11}[data-rows\@l$=" 11"]{grid-row-end:12}[data-rows\@l="11"]{grid-row:11}[data-rows\@l^="12 "]{grid-row-start:12}[data-rows\@l$=" 12"]{grid-row-end:13}[data-rows\@l="12"]{grid-row:12}} \ No newline at end of file
diff --git a/www/releases/_data.js b/www/releases/_data.js
deleted file mode 100644
index bd43cc0..0000000
--- a/www/releases/_data.js
+++ /dev/null
@@ -1,3 +0,0 @@
-export default {
- url: ({ data: { release } }) => `./${release}/`
-} \ No newline at end of file
diff --git a/www/releases/index.md b/www/releases/index.md
index 39fb17c..a718455 100644
--- a/www/releases/index.md
+++ b/www/releases/index.md
@@ -13,7 +13,9 @@ backTo: / Missing.css
|> sortSemVer(page => page.data.release)
|> reverse }}
-{{ for releasePage of releases }}
- * [v{{ releasePage.data.release }}]({{ releasePage.data.url }})
+<ul role="list" class="list-of-links f-row flex-wrap:wrap">
+{{ for rel of releases }}
+<li class="mono-font" style="flex-basis:18ch">
+ <a href="{{ rel.data.url }}">{{ rel.data.release }}</a>
{{ /for }}
-{.list-of-links .flow-gap} \ No newline at end of file
+</ul> \ No newline at end of file