diff --git a/public/reset.css b/public/reset.css
new file mode 100644
index 0000000..59d3063
--- /dev/null
+++ b/public/reset.css
@@ -0,0 +1,137 @@
+*,
+*::after,
+*::before {
+ font-feature-settings: "kern";
+ font-kerning: normal;
+ -moz-osx-font-smoothing: grayscale;
+ -webkit-font-smoothing: antialiased;
+ box-sizing: border-box;
+ margin: 0;
+ padding: 0;
+}
+
+input:is([type="checkbox"], [type="radio"], [type="file"]),
+select,
+label,
+button,
+a {
+ cursor: pointer;
+}
+
+:where(html) {
+ color-scheme: light dark;
+ hanging-punctuation: first allow-end last;
+ interpolate-size: allow-keywords;
+ scroll-behavior: smooth;
+ scrollbar-gutter: stable;
+ text-size-adjust: none;
+ -webkit-text-size-adjust: none;
+ -webkit-tap-highlight-color: transparent;
+ -webkit-font-smoothing: antialiased;
+}
+
+:where(html.translated-rtl) {
+ direction: rtl;
+}
+
+@media (prefers-reduced-motion: reduce) {
+ :where(html) {
+ scroll-behavior: auto;
+ }
+}
+
+:where(body) {
+ min-block-size: 100svb;
+ min-inline-size: 300px;
+}
+
+:where(canvas, img, picture, svg, video) {
+ block-size: auto;
+ border: none;
+ display: block;
+ max-inline-size: 100%;
+}
+
+:where(svg) {
+ fill: currentcolor;
+}
+
+:where(button, input, progress, select, textarea) {
+ appearance: none;
+ background: transparent;
+ border: none;
+ color: inherit;
+ font: inherit;
+ hanging-punctuation: none;
+ line-height: inherit;
+ text-align: start;
+ touch-action: manipulation;
+}
+
+:where(button) {
+ cursor: pointer;
+ user-select: none;
+}
+
+:where(textarea) {
+ resize: vertical;
+}
+
+:where(textarea:not([rows])) {
+ field-sizing: content;
+}
+
+:where(fieldset, iframe) {
+ border: none;
+}
+
+:where(p, li, h1, h2, h3, h4, h5, h6) {
+ overflow-wrap: break-word;
+ text-wrap: pretty;
+}
+
+:where(abbr[title]) {
+ border: none;
+ text-decoration: none;
+}
+
+:where(cite) {
+ font-style: inherit;
+}
+
+:where(small) {
+ font-size: inherit;
+}
+
+:where(li, ol, ul) {
+ list-style: none;
+}
+
+:where(dialog, [popover]) {
+ background: transparent;
+ border: none;
+ color: inherit;
+ margin: auto;
+ max-block-size: none;
+ max-inline-size: none;
+ position: fixed;
+}
+
+:where([popover]) {
+ inset: auto;
+}
+
+:where(dialog:not([open], [popover]), [popover]:not(:popover-open)) {
+ display: none;
+}
+
+:where([hidden]:not([hidden="until-found"])) {
+ display: none !important;
+}
+
+/* For Windows High Contrast Mode */
+@media (forced-colors: active) {
+ button {
+ border: 1px solid;
+ }
+}
diff --git a/public/rss.css b/public/rss.css
new file mode 100644
index 0000000..db40b97
--- /dev/null
+++ b/public/rss.css
@@ -0,0 +1,74 @@
+:root {
+ --db-light: 98.62% 0.014 84.58;
+ --db-dark: 40.05% 0.014 17.74;
+ --db-pink: 70.27% 0.192 13.7;
+ --db-blue: 62.78% 0.12 226;
+}
+
+* {
+ box-sizing: border-box;
+ font-family: sans-serif;
+ line-height: 1.4;
+ margin: 0;
+ padding: 0;
+}
+
+html {
+ background: oklch(var(--db-light));
+ color: oklch(var(--db-dark));
+}
+
+body {
+ padding: 1.5rem;
+}
+
+a {
+ color: oklch(var(--db-blue));
+}
+
+a:hover {
+ color: oklch(var(--db-pink));
+ text-decoration: none;
+}
+
+a:focus-visible {
+ color: oklch(var(--db-pink));
+ outline: 0.125rem solid oklch(var(--db-pink));
+ outline-offset: 0.125rem;
+}
+
+main,
+header {
+ margin-block-end: 3rem;
+ margin-inline: auto;
+ max-inline-size: 80ch;
+}
+
+article {
+ margin-block-end: 3rem;
+}
+
+h1 {
+ font-size: 2.5rem;
+ line-height: 1.2;
+ margin-block: 1rem;
+}
+
+h2 {
+ font-size: 1.75rem;
+ margin-block: 2rem;
+}
+
+h3 {
+ font-size: 1.5rem;
+ margin-block: 1rem;
+}
+
+p {
+ font-size: 1.25rem;
+ margin-block-end: 1rem;
+}
+
+small {
+ font-size: 1rem;
+}
diff --git a/public/rss.xsl b/public/rss.xsl
new file mode 100644
index 0000000..74cab1d
--- /dev/null
+++ b/public/rss.xsl
@@ -0,0 +1,49 @@
+
+
+
+
+
+
+ RSS –
+
+
+
+
+
+
+
+ Recent Posts
+
+
+
+
+
+
+
+ Published:
+
+
+
+
+
+
+
+
diff --git a/public/snes.min.css b/public/snes.min.css
deleted file mode 100644
index 6d86523..0000000
--- a/public/snes.min.css
+++ /dev/null
@@ -1,8 +0,0 @@
-@import url(https://fonts.googleapis.com/css2?family=Press+Start+2P&display=swap);
-/*!
- * SNES.css v0.0.1 (https://github.com/devMiguelCarrero/snes.css)
- * A retro-themed CSS framework inspired by the aesthetics of 16bit consoles.
- * Created by devMiguelCarrero
- * Licensed under MIT (https://github.com/devMiguelCarrero/snes.css/blob/master/LICENSE)
- */:root{--border-image:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAB4AAAAeCAMAAAAM7l6QAAAACXBIWXMAAA7EAAAOxAGVKw4bAAA4JGlUWHRYTUw6Y29tLmFkb2JlLnhtcAAAAAAAPD94cGFja2V0IGJlZ2luPSLvu78iIGlkPSJXNU0wTXBDZWhpSHpyZVN6TlRjemtjOWQiPz4KPHg6eG1wbWV0YSB4bWxuczp4PSJhZG9iZTpuczptZXRhLyIgeDp4bXB0az0iQWRvYmUgWE1QIENvcmUgNS41LWMwMjEgNzkuMTU1NzcyLCAyMDE0LzAxLzEzLTE5OjQ0OjAwICAgICAgICAiPgogICA8cmRmOlJERiB4bWxuczpyZGY9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkvMDIvMjItcmRmLXN5bnRheC1ucyMiPgogICAgICA8cmRmOkRlc2NyaXB0aW9uIHJkZjphYm91dD0iIgogICAgICAgICAgICB4bWxuczp4bXA9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC8iCiAgICAgICAgICAgIHhtbG5zOmRjPSJodHRwOi8vcHVybC5vcmcvZGMvZWxlbWVudHMvMS4xLyIKICAgICAgICAgICAgeG1sbnM6cGhvdG9zaG9wPSJodHRwOi8vbnMuYWRvYmUuY29tL3Bob3Rvc2hvcC8xLjAvIgogICAgICAgICAgICB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL21tLyIKICAgICAgICAgICAgeG1sbnM6c3RFdnQ9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlwZS9SZXNvdXJjZUV2ZW50IyIKICAgICAgICAgICAgeG1sbnM6dGlmZj0iaHR0cDovL25zLmFkb2JlLmNvbS90aWZmLzEuMC8iCiAgICAgICAgICAgIHhtbG5zOmV4aWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20vZXhpZi8xLjAvIj4KICAgICAgICAgPHhtcDpDcmVhdG9yVG9vbD5BZG9iZSBQaG90b3Nob3AgQ0MgMjAxNCAoV2luZG93cyk8L3htcDpDcmVhdG9yVG9vbD4KICAgICAgICAgPHhtcDpDcmVhdGVEYXRlPjIwMjQtMDEtMjhUMTk6Mzg6NDUtMDU6MDA8L3htcDpDcmVhdGVEYXRlPgogICAgICAgICA8eG1wOk1vZGlmeURhdGU+MjAyNC0wMS0yOFQyMDowNjo1Mi0wNTowMDwveG1wOk1vZGlmeURhdGU+CiAgICAgICAgIDx4bXA6TWV0YWRhdGFEYXRlPjIwMjQtMDEtMjhUMjA6MDY6NTItMDU6MDA8L3htcDpNZXRhZGF0YURhdGU+CiAgICAgICAgIDxkYzpmb3JtYXQ+aW1hZ2UvcG5nPC9kYzpmb3JtYXQ+CiAgICAgICAgIDxwaG90b3Nob3A6Q29sb3JNb2RlPjI8L3Bob3Rvc2hvcDpDb2xvck1vZGU+CiAgICAgICAgIDx4bXBNTTpJbnN0YW5jZUlEPnhtcC5paWQ6MzExYjY5MGQtNGYzNy01MDQ1LThmYWUtZTFiNDc2MTExZDNlPC94bXBNTTpJbnN0YW5jZUlEPgogICAgICAgICA8eG1wTU06RG9jdW1lbnRJRD54bXAuZGlkOjMxMWI2OTBkLTRmMzctNTA0NS04ZmFlLWUxYjQ3NjExMWQzZTwveG1wTU06RG9jdW1lbnRJRD4KICAgICAgICAgPHhtcE1NOk9yaWdpbmFsRG9jdW1lbnRJRD54bXAuZGlkOjMxMWI2OTBkLTRmMzctNTA0NS04ZmFlLWUxYjQ3NjExMWQzZTwveG1wTU06T3JpZ2luYWxEb2N1bWVudElEPgogICAgICAgICA8eG1wTU06SGlzdG9yeT4KICAgICAgICAgICAgPHJkZjpTZXE+CiAgICAgICAgICAgICAgIDxyZGY6bGkgcmRmOnBhcnNlVHlwZT0iUmVzb3VyY2UiPgogICAgICAgICAgICAgICAgICA8c3RFdnQ6YWN0aW9uPmNyZWF0ZWQ8L3N0RXZ0OmFjdGlvbj4KICAgICAgICAgICAgICAgICAgPHN0RXZ0Omluc3RhbmNlSUQ+eG1wLmlpZDozMTFiNjkwZC00ZjM3LTUwNDUtOGZhZS1lMWI0NzYxMTFkM2U8L3N0RXZ0Omluc3RhbmNlSUQ+CiAgICAgICAgICAgICAgICAgIDxzdEV2dDp3aGVuPjIwMjQtMDEtMjhUMTk6Mzg6NDUtMDU6MDA8L3N0RXZ0OndoZW4+CiAgICAgICAgICAgICAgICAgIDxzdEV2dDpzb2Z0d2FyZUFnZW50PkFkb2JlIFBob3Rvc2hvcCBDQyAyMDE0IChXaW5kb3dzKTwvc3RFdnQ6c29mdHdhcmVBZ2VudD4KICAgICAgICAgICAgICAgPC9yZGY6bGk+CiAgICAgICAgICAgIDwvcmRmOlNlcT4KICAgICAgICAgPC94bXBNTTpIaXN0b3J5PgogICAgICAgICA8dGlmZjpPcmllbnRhdGlvbj4xPC90aWZmOk9yaWVudGF0aW9uPgogICAgICAgICA8dGlmZjpYUmVzb2x1dGlvbj45NjAwMDAvMTAwMDA8L3RpZmY6WFJlc29sdXRpb24+CiAgICAgICAgIDx0aWZmOllSZXNvbHV0aW9uPjk2MDAwMC8xMDAwMDwvdGlmZjpZUmVzb2x1dGlvbj4KICAgICAgICAgPHRpZmY6UmVzb2x1dGlvblVuaXQ+MjwvdGlmZjpSZXNvbHV0aW9uVW5pdD4KICAgICAgICAgPGV4aWY6Q29sb3JTcGFjZT42NTUzNTwvZXhpZjpDb2xvclNwYWNlPgogICAgICAgICA8ZXhpZjpQaXhlbFhEaW1lbnNpb24+MzA8L2V4aWY6UGl4ZWxYRGltZW5zaW9uPgogICAgICAgICA8ZXhpZjpQaXhlbFlEaW1lbnNpb24+MzA8L2V4aWY6UGl4ZWxZRGltZW5zaW9uPgogICAgICA8L3JkZjpEZXNjcmlwdGlvbj4KICAgPC9yZGY6UkRGPgo8L3g6eG1wbWV0YT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAKPD94cGFja2V0IGVuZD0idyI/Pp5QhtQAAAAgY0hSTQAAeiUAAICDAAD5/wAAgOkAAHUwAADqYAAAOpgAABdvkl/FRgAAAwBQTFRFAAAAGBAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAwzw+4wAAAQB0Uk5T////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////AFP3ByUAAAAxSURBVHjaYviPBBgZGRkZGZFFGAa9NLIEMnswS2N6BlnRYJYeumE+ZNM5AAAA//8DAJwZYttr8iGXAAAAAElFTkSuQmCC)}html{box-sizing:border-box}body,html{background-color:#e5e5e5;font-family:Press Start\ 2P,system-ui;font-size:16px;letter-spacing:.05em;line-height:1.5;max-width:100vw;word-spacing:-.3em}@media(max-width:992px){body,html{font-size:12px}}*{box-sizing:border-box;font-family:Press Start\ 2P,system-ui;padding:0}*,body{margin:0}body{line-height:1.5}a{color:inherit;text-decoration:none}p{font-family:Press Start\ 2P,system-ui;font-size:16px;letter-spacing:.05em;line-height:1.5;word-spacing:-.3em}@media(max-width:992px){p{font-size:12px}}pre{font-family:Press Start\ 2P,system-ui;font-size:16px;letter-spacing:.05em;line-height:1.5;white-space:pre-line;word-spacing:-.3em}@media(max-width:992px){pre{font-size:12px}}pre code{font-family:Press Start\ 2P,system-ui;font-size:16px;letter-spacing:.05em;line-height:1.5;white-space:pre-wrap;word-spacing:-.3em}@media(max-width:992px){pre code{font-size:12px}}.snes-container{background-color:transparent;border:solid;-o-border-image:var(--border-image);border-image:var(--border-image);border-image-outset:6px;border-image-repeat:initial;border-image-slice:12;border-width:12px;padding:48px;position:relative}.snes-container:after,.snes-container:before{content:"";display:block;height:18px;position:absolute;width:calc(100% + 18px);z-index:0}.snes-container:before{background-color:rgba(0,0,0,.2);left:-6px;top:calc(100% - 6px)}.snes-container:after,.snes-container:before{-webkit-clip-path:polygon(0 12px,calc(100% - 12px) 12px,calc(100% - 12px) 6px,calc(100% - 6px) 6px,calc(100% - 6px) 0,100% 0,100% 12px,calc(100% - 6px) 12px,calc(100% - 6px) 100%,0 100%);clip-path:polygon(0 12px,calc(100% - 12px) 12px,calc(100% - 12px) 6px,calc(100% - 6px) 6px,calc(100% - 6px) 0,100% 0,100% 12px,calc(100% - 6px) 12px,calc(100% - 6px) 100%,0 100%)}.snes-container:after{background-color:hsla(0,0%,100%,.3);bottom:calc(100% - 6px);right:-6px;transform:rotate(.5turn)}.snes-container:not(:disabled):hover:before{background-color:rgba(0,0,0,.3)}.snes-container:not(:disabled):hover:after{background-color:hsla(0,0%,100%,.4)}.snes-container:disabled:before{background-color:hsla(0,0%,100%,.3)}.snes-container:disabled:after{background-color:rgba(0,0,0,.2)}.snes-container.has-white-bg{background-color:#fff}.snes-container.has-grey-bg{background-color:#e5e5e5}.snes-container.has-aged-yellow-bg{background-color:#fcf4d9}.snes-container.has-secondary-purple-bg{background-color:#f0e4ff}.snes-container.has-soft-green-bg{background-color:#e2f4ea}@media screen and (max-width:992px){.snes-container{padding:8px}}.snes-container>:not(:last-child){margin-bottom:32px}.snes-container-title{font-family:Press Start\ 2P,system-ui;font-size:30px;font-weight:400;letter-spacing:.05em;line-height:1;position:relative;width:-moz-fit-content;width:fit-content;word-spacing:-.3em}@media(max-width:992px){.snes-container-title{font-size:18px}}.snes-container-title:after{background-color:#f22561;bottom:-6px;content:"";height:6px;left:0;position:absolute;width:100%}.snes-container-title.has-plumber-underline:after{background-color:#f22561}.snes-container-title.has-nature-underline:after{background-color:#4bb244}.snes-container-title.has-sunshine-underline:after{background-color:#f2c019}.snes-container-title.has-ocean-underline:after{background-color:#4eb6d9}.snes-container-title.has-turquoise-underline:after{background-color:#40e0d0}.snes-container-title.has-phantom-underline:after{background-color:#9b5de5}.snes-container-title.has-rose-underline:after{background-color:#f784b2}.snes-container-title.has-galaxy-underline:after{background-color:#5a7d9a}.snes-container-title.has-ember-underline:after{background-color:#ff6f00}.snes-link{cursor:pointer;position:relative}.snes-link:after{background-color:#f22561;content:"";height:.2em;left:0;position:absolute;top:100%;transition:width .4s cubic-bezier(.075,.82,.165,1) 0s;width:0}.snes-link:hover:after{width:100%}@media screen and (max-width:992px){.snes-link:after{width:100%}}.snes-link.has-plumber-underline:after{background-color:#f22561}.snes-link.has-nature-underline:after{background-color:#4bb244}.snes-link.has-sunshine-underline:after{background-color:#f2c019}.snes-link.has-ocean-underline:after{background-color:#4eb6d9}.snes-link.has-turquoise-underline:after{background-color:#40e0d0}.snes-link.has-phantom-underline:after{background-color:#9b5de5}.snes-link.has-rose-underline:after{background-color:#f784b2}.snes-link.has-galaxy-underline:after{background-color:#5a7d9a}.snes-link.has-ember-underline:after{background-color:#ff6f00}.snes-form-group{display:flex;flex-direction:column;gap:14px}.snes-form-group label{font-family:Press Start\ 2P,system-ui;font-size:16px;letter-spacing:.05em;line-height:1;word-spacing:-.3em}@media(max-width:992px){.snes-form-group label{font-size:11px}}.snes-form-group:has(input[type=radio]){gap:20px}.snes-form-group:has(input[type=range]){gap:24px}.snes-input{background-color:#fff;border:solid;-o-border-image:var(--border-image);border-image:var(--border-image);border-image-outset:6px;border-image-repeat:initial;border-image-slice:12;border-width:12px;color:#fff;display:flex;position:relative}.snes-input input,.snes-input select,.snes-input textarea{background-color:transparent;border:none;color:#2c3e50;font-family:Press Start\ 2P,system-ui;font-size:18px;letter-spacing:.05em;line-height:1.5;outline:none;width:100%;word-spacing:-.3em}@media(max-width:992px){.snes-input input,.snes-input select,.snes-input textarea{font-size:12px;word-spacing:-.65em}}.snes-input input[type=date]::-webkit-calendar-picker-indicator{display:none}.snes-input select{-webkit-appearance:none;-moz-appearance:none;appearance:none;cursor:pointer}.snes-input select option{background-color:#fff;padding:8px}.snes-input:before{color:#f22561;content:"";position:absolute;z-index:10}.snes-input.is-success{background-color:#aedcab;color:#4bb244}.snes-input.is-warning{background-color:#f9e398;color:#f2c019}.snes-input.is-error{background-color:#f99db8;color:#f22561}.snes-input:has(select):before{box-shadow:2px 2px #000,4px 2px #000,26px 2px #000,28px 2px #000,2px 4px #000,4px 4px color-mix(in srgb,currentColor,#fff 35%),6px 4px #000,24px 4px #000,26px 4px color-mix(in srgb,currentColor,#000 15%),28px 4px #000,2px 6px #000,4px 6px color-mix(in srgb,currentColor,#fff 15%),6px 6px color-mix(in srgb,currentColor,#fff 35%),8px 6px #000,22px 6px #000,24px 6px color-mix(in srgb,currentColor,#000 15%),26px 6px currentColor,28px 6px #000,2px 8px #000,4px 8px color-mix(in srgb,currentColor,#fff 15%),6px 8px color-mix(in srgb,currentColor,#fff 15%),8px 8px color-mix(in srgb,currentColor,#fff 35%),10px 8px #000,20px 8px #000,22px 8px color-mix(in srgb,currentColor,#000 15%),24px 8px currentColor,26px 8px currentColor,28px 8px #000,2px 10px #000,4px 10px color-mix(in srgb,currentColor,#000 10%),6px 10px color-mix(in srgb,currentColor,#fff 15%),8px 10px color-mix(in srgb,currentColor,#fff 15%),10px 10px color-mix(in srgb,currentColor,#fff 35%),12px 10px #000,18px 10px #000,20px 10px color-mix(in srgb,currentColor,#000 15%),22px 10px currentColor,24px 10px currentColor,26px 10px color-mix(in srgb,currentColor,#000 35%),28px 10px #000,4px 12px #000,6px 12px color-mix(in srgb,currentColor,#000 10%),8px 12px color-mix(in srgb,currentColor,#fff 15%),10px 12px color-mix(in srgb,currentColor,#fff 15%),12px 12px color-mix(in srgb,currentColor,#fff 35%),14px 12px #000,16px 12px #000,18px 12px color-mix(in srgb,currentColor,#000 15%),20px 12px currentColor,22px 12px currentColor,24px 12px color-mix(in srgb,currentColor,#000 35%),26px 12px #000,6px 14px #000,8px 14px color-mix(in srgb,currentColor,#000 10%),10px 14px color-mix(in srgb,currentColor,#fff 15%),12px 14px color-mix(in srgb,currentColor,#fff 15%),14px 14px color-mix(in srgb,currentColor,#fff 35%),16px 14px color-mix(in srgb,currentColor,#000 15%),18px 14px currentColor,20px 14px currentColor,22px 14px color-mix(in srgb,currentColor,#000 35%),24px 14px #000,8px 16px #000,10px 16px color-mix(in srgb,currentColor,#000 10%),12px 16px color-mix(in srgb,currentColor,#fff 15%),14px 16px color-mix(in srgb,currentColor,#fff 15%),16px 16px currentColor,18px 16px currentColor,20px 16px color-mix(in srgb,currentColor,#000 35%),22px 16px #000,10px 18px #000,12px 18px color-mix(in srgb,currentColor,#000 10%),14px 18px color-mix(in srgb,currentColor,#fff 15%),16px 18px currentColor,18px 18px color-mix(in srgb,currentColor,#000 35%),20px 18px #000,12px 20px #000,14px 20px color-mix(in srgb,currentColor,#000 10%),16px 20px color-mix(in srgb,currentColor,#000 35%),18px 20px #000,14px 22px #000,16px 22px #000;color:#9b5de5;content:"";height:2px;margin:9px 13px;right:20px;top:calc(50% - 22px);width:2px}.snes-input:has(select).is-success:before{color:#4bb244}.snes-input:has(select).is-warning:before{color:#f2c019}.snes-input:has(select).is-error:before{color:#f22561}.snes-input:has(input,textarea).is-error:before{box-shadow:12px 2px #000,14px 2px #000,16px 2px #000,18px 2px #000,20px 2px #000,22px 2px #000,24px 2px #000,8px 4px #000,10px 4px #000,12px 4px color-mix(in srgb,#f22561,#fff 55%),14px 4px color-mix(in srgb,#f22561,#fff 55%),16px 4px color-mix(in srgb,#f22561,#fff 55%),18px 4px color-mix(in srgb,#f22561,#fff 55%),20px 4px #f22561,22px 4px color-mix(in srgb,#f22561,#fff 55%),24px 4px #f22561,26px 4px #000,28px 4px #000,6px 6px #000,8px 6px color-mix(in srgb,#f22561,#fff 55%),10px 6px color-mix(in srgb,#f22561,#fff 55%),12px 6px #f22561,14px 6px #f22561,16px 6px #f22561,18px 6px #f22561,20px 6px #f22561,22px 6px #f22561,24px 6px #f22561,26px 6px #f22561,28px 6px #f22561,30px 6px #000,4px 8px #000,6px 8px color-mix(in srgb,#f22561,#fff 55%),8px 8px #f22561,10px 8px #f22561,12px 8px #f22561,14px 8px #f22561,16px 8px #f22561,18px 8px #f22561,20px 8px #f22561,22px 8px #f22561,24px 8px #f22561,26px 8px #f22561,28px 8px #f22561,30px 8px #f22561,32px 8px #000,4px 10px #000,6px 10px color-mix(in srgb,#f22561,#fff 55%),8px 10px #f22561,10px 10px #f22561,12px 10px #f22561,14px 10px #f22561,16px 10px #f22561,18px 10px #f22561,20px 10px #f22561,22px 10px #f22561,24px 10px #f22561,26px 10px #f22561,28px 10px #f22561,30px 10px #f22561,32px 10px #000,2px 12px #000,4px 12px color-mix(in srgb,#f22561,#fff 55%),6px 12px #f22561,8px 12px #f22561,10px 12px #fff,12px 12px #fff,14px 12px #fff,16px 12px #f22561,18px 12px #f22561,20px 12px #f22561,22px 12px #fff,24px 12px #fff,26px 12px #fff,28px 12px #f22561,30px 12px #f22561,32px 12px #f22561,34px 12px #000,2px 14px #000,4px 14px color-mix(in srgb,#f22561,#fff 55%),6px 14px #f22561,8px 14px #f22561,10px 14px #f22561,12px 14px #fff,14px 14px #fff,16px 14px #fff,18px 14px #f22561,20px 14px #fff,22px 14px #fff,24px 14px #fff,26px 14px #f22561,28px 14px #f22561,30px 14px #f22561,32px 14px color-mix(in srgb,#f22561,#000 50%),34px 14px #000,2px 16px #000,4px 16px color-mix(in srgb,#f22561,#fff 55%),6px 16px #f22561,8px 16px #f22561,10px 16px #f22561,12px 16px #f22561,14px 16px #fff,16px 16px #fff,18px 16px #fff,20px 16px #fff,22px 16px #fff,24px 16px #f22561,26px 16px #f22561,28px 16px #f22561,30px 16px #f22561,32px 16px #f22561,34px 16px #000,2px 18px #000,4px 18px color-mix(in srgb,#f22561,#fff 55%),6px 18px #f22561,8px 18px #f22561,10px 18px #f22561,12px 18px #f22561,14px 18px #f22561,16px 18px #fff,18px 18px #fff,20px 18px #fff,22px 18px #f22561,24px 18px #f22561,26px 18px #f22561,28px 18px #f22561,30px 18px #f22561,32px 18px color-mix(in srgb,#f22561,#000 50%),34px 18px #000,2px 20px #000,4px 20px #f22561,6px 20px #f22561,8px 20px #f22561,10px 20px #f22561,12px 20px #f22561,14px 20px #f22561,16px 20px #fff,18px 20px #fff,20px 20px #fff,22px 20px #f22561,24px 20px #f22561,26px 20px #f22561,28px 20px #f22561,30px 20px #f22561,32px 20px color-mix(in srgb,#f22561,#000 50%),34px 20px #000,2px 22px #000,4px 22px color-mix(in srgb,#f22561,#fff 55%),6px 22px #f22561,8px 22px #f22561,10px 22px #f22561,12px 22px #f22561,14px 22px #fff,16px 22px #fff,18px 22px #fff,20px 22px #fff,22px 22px #fff,24px 22px #f22561,26px 22px #f22561,28px 22px #f22561,30px 22px #f22561,32px 22px color-mix(in srgb,#f22561,#000 50%),34px 22px #000,2px 24px #000,4px 24px #f22561,6px 24px #f22561,8px 24px #f22561,10px 24px #f22561,12px 24px #fff,14px 24px #fff,16px 24px #fff,18px 24px #f22561,20px 24px #fff,22px 24px #fff,24px 24px #fff,26px 24px #f22561,28px 24px #f22561,30px 24px #f22561,32px 24px color-mix(in srgb,#f22561,#000 50%),34px 24px #000,4px 26px #000,6px 26px #f22561,8px 26px #f22561,10px 26px #fff,12px 26px #fff,14px 26px #fff,16px 26px #f22561,18px 26px #f22561,20px 26px #f22561,22px 26px #fff,24px 26px #fff,26px 26px #fff,28px 26px #f22561,30px 26px color-mix(in srgb,#f22561,#000 50%),32px 26px #000,4px 28px #000,6px 28px #f22561,8px 28px #f22561,10px 28px #f22561,12px 28px #f22561,14px 28px #f22561,16px 28px #f22561,18px 28px #f22561,20px 28px #f22561,22px 28px #f22561,24px 28px #f22561,26px 28px #f22561,28px 28px #f22561,30px 28px color-mix(in srgb,#f22561,#000 50%),32px 28px #000,6px 30px #000,8px 30px #f22561,10px 30px #f22561,12px 30px #f22561,14px 30px #f22561,16px 30px #f22561,18px 30px #f22561,20px 30px #f22561,22px 30px #f22561,24px 30px #f22561,26px 30px color-mix(in srgb,#f22561,#000 50%),28px 30px color-mix(in srgb,#f22561,#000 50%),30px 30px #000,8px 32px #000,10px 32px #000,12px 32px #f22561,14px 32px color-mix(in srgb,#f22561,#000 50%),16px 32px #f22561,18px 32px color-mix(in srgb,#f22561,#000 50%),20px 32px color-mix(in srgb,#f22561,#000 50%),22px 32px color-mix(in srgb,#f22561,#000 50%),24px 32px color-mix(in srgb,#f22561,#000 50%),26px 32px #000,28px 32px #000,12px 34px #000,14px 34px #000,16px 34px #000,18px 34px #000,20px 34px #000,22px 34px #000,24px 34px #000;content:"";height:2px;margin:15px;right:22.66667px;top:calc(50% - 34px);width:2px}.snes-input:has(input,textarea).is-success:before{box-shadow:12px 2px #000,14px 2px #000,16px 2px #000,18px 2px #000,20px 2px #000,22px 2px #000,24px 2px #000,8px 4px #000,10px 4px #000,12px 4px color-mix(in srgb,#4bb244,#fff 55%),14px 4px color-mix(in srgb,#4bb244,#fff 55%),16px 4px color-mix(in srgb,#4bb244,#fff 55%),18px 4px color-mix(in srgb,#4bb244,#fff 55%),20px 4px #4bb244,22px 4px color-mix(in srgb,#4bb244,#fff 55%),24px 4px #4bb244,26px 4px #000,28px 4px #000,6px 6px #000,8px 6px color-mix(in srgb,#4bb244,#fff 55%),10px 6px color-mix(in srgb,#4bb244,#fff 55%),12px 6px #4bb244,14px 6px #4bb244,16px 6px #4bb244,18px 6px #4bb244,20px 6px #4bb244,22px 6px #4bb244,24px 6px #4bb244,26px 6px #4bb244,28px 6px #4bb244,30px 6px #000,4px 8px #000,6px 8px color-mix(in srgb,#4bb244,#fff 55%),8px 8px #4bb244,10px 8px #4bb244,12px 8px #4bb244,14px 8px #4bb244,16px 8px #4bb244,18px 8px #4bb244,20px 8px #4bb244,22px 8px #4bb244,24px 8px #4bb244,26px 8px #4bb244,28px 8px #4bb244,30px 8px #4bb244,32px 8px #000,4px 10px #000,6px 10px color-mix(in srgb,#4bb244,#fff 55%),8px 10px #4bb244,10px 10px #4bb244,12px 10px #4bb244,14px 10px #4bb244,16px 10px #4bb244,18px 10px #4bb244,20px 10px #4bb244,22px 10px #4bb244,24px 10px #4bb244,26px 10px #4bb244,28px 10px #4bb244,30px 10px #4bb244,32px 10px #000,2px 12px #000,4px 12px color-mix(in srgb,#4bb244,#fff 55%),6px 12px #4bb244,8px 12px #4bb244,10px 12px #4bb244,12px 12px #4bb244,14px 12px #4bb244,16px 12px #4bb244,18px 12px #4bb244,20px 12px #4bb244,22px 12px #4bb244,24px 12px #fff,26px 12px #fff,28px 12px #fff,30px 12px #4bb244,32px 12px #4bb244,34px 12px #000,2px 14px #000,4px 14px color-mix(in srgb,#4bb244,#fff 55%),6px 14px #4bb244,8px 14px #4bb244,10px 14px #4bb244,12px 14px #4bb244,14px 14px #4bb244,16px 14px #4bb244,18px 14px #4bb244,20px 14px #4bb244,22px 14px #fff,24px 14px #fff,26px 14px #fff,28px 14px #fff,30px 14px #4bb244,32px 14px color-mix(in srgb,#4bb244,#000 50%),34px 14px #000,2px 16px #000,4px 16px color-mix(in srgb,#4bb244,#fff 55%),6px 16px #4bb244,8px 16px #fff,10px 16px #fff,12px 16px #4bb244,14px 16px #4bb244,16px 16px #4bb244,18px 16px #4bb244,20px 16px #fff,22px 16px #fff,24px 16px #fff,26px 16px #fff,28px 16px #4bb244,30px 16px #4bb244,32px 16px #4bb244,34px 16px #000,2px 18px #000,4px 18px color-mix(in srgb,#4bb244,#fff 55%),6px 18px #4bb244,8px 18px #fff,10px 18px #fff,12px 18px #fff,14px 18px #4bb244,16px 18px #4bb244,18px 18px #fff,20px 18px #fff,22px 18px #fff,24px 18px #fff,26px 18px #4bb244,28px 18px #4bb244,30px 18px #4bb244,32px 18px color-mix(in srgb,#4bb244,#000 50%),34px 18px #000,2px 20px #000,4px 20px #4bb244,6px 20px #4bb244,8px 20px #fff,10px 20px #fff,12px 20px #fff,14px 20px #fff,16px 20px #fff,18px 20px #fff,20px 20px #fff,22px 20px #fff,24px 20px #4bb244,26px 20px #4bb244,28px 20px #4bb244,30px 20px #4bb244,32px 20px color-mix(in srgb,#4bb244,#000 50%),34px 20px #000,2px 22px #000,4px 22px color-mix(in srgb,#4bb244,#fff 55%),6px 22px #4bb244,8px 22px #4bb244,10px 22px #fff,12px 22px #fff,14px 22px #fff,16px 22px #fff,18px 22px #fff,20px 22px #fff,22px 22px #4bb244,24px 22px #4bb244,26px 22px #4bb244,28px 22px #4bb244,30px 22px #4bb244,32px 22px color-mix(in srgb,#4bb244,#000 50%),34px 22px #000,2px 24px #000,4px 24px #4bb244,6px 24px #4bb244,8px 24px #4bb244,10px 24px #4bb244,12px 24px #fff,14px 24px #fff,16px 24px #fff,18px 24px #fff,20px 24px #4bb244,22px 24px #4bb244,24px 24px #4bb244,26px 24px #4bb244,28px 24px #4bb244,30px 24px #4bb244,32px 24px color-mix(in srgb,#4bb244,#000 50%),34px 24px #000,4px 26px #000,6px 26px #4bb244,8px 26px #4bb244,10px 26px #4bb244,12px 26px #4bb244,14px 26px #fff,16px 26px #fff,18px 26px #4bb244,20px 26px #4bb244,22px 26px #4bb244,24px 26px #4bb244,26px 26px #4bb244,28px 26px #4bb244,30px 26px color-mix(in srgb,#4bb244,#000 50%),32px 26px #000,4px 28px #000,6px 28px #4bb244,8px 28px #4bb244,10px 28px #4bb244,12px 28px #4bb244,14px 28px #4bb244,16px 28px #4bb244,18px 28px #4bb244,20px 28px #4bb244,22px 28px #4bb244,24px 28px #4bb244,26px 28px #4bb244,28px 28px #4bb244,30px 28px color-mix(in srgb,#4bb244,#000 50%),32px 28px #000,6px 30px #000,8px 30px #4bb244,10px 30px #4bb244,12px 30px #4bb244,14px 30px #4bb244,16px 30px #4bb244,18px 30px #4bb244,20px 30px #4bb244,22px 30px #4bb244,24px 30px #4bb244,26px 30px color-mix(in srgb,#4bb244,#000 50%),28px 30px color-mix(in srgb,#4bb244,#000 50%),30px 30px #000,8px 32px #000,10px 32px #000,12px 32px #4bb244,14px 32px color-mix(in srgb,#4bb244,#000 50%),16px 32px #4bb244,18px 32px color-mix(in srgb,#4bb244,#000 50%),20px 32px color-mix(in srgb,#4bb244,#000 50%),22px 32px color-mix(in srgb,#4bb244,#000 50%),24px 32px color-mix(in srgb,#4bb244,#000 50%),26px 32px #000,28px 32px #000,12px 34px #000,14px 34px #000,16px 34px #000,18px 34px #000,20px 34px #000,22px 34px #000,24px 34px #000;content:"";height:2px;margin:15px;right:22.66667px;top:calc(50% - 34px);width:2px}.snes-input:has(input,textarea).is-warning:before{box-shadow:16px 2px #000,18px 2px #000,14px 4px #000,16px 4px color-mix(in srgb,#f2c019,#fff 55%),18px 4px #ff6f00,20px 4px #000,14px 6px #000,16px 6px color-mix(in srgb,#f2c019,#fff 55%),18px 6px #ff6f00,20px 6px #000,12px 8px #000,14px 8px color-mix(in srgb,#f2c019,#fff 55%),16px 8px #f2c019,18px 8px #f2c019,20px 8px #ff6f00,22px 8px #000,12px 10px #000,14px 10px color-mix(in srgb,#f2c019,#fff 55%),16px 10px #f2c019,18px 10px #f2c019,20px 10px #ff6f00,22px 10px #000,10px 12px #000,12px 12px color-mix(in srgb,#f2c019,#fff 55%),14px 12px #f2c019,16px 12px #000,18px 12px #000,20px 12px #f2c019,22px 12px #ff6f00,24px 12px #000,10px 14px #000,12px 14px color-mix(in srgb,#f2c019,#fff 55%),14px 14px #f2c019,16px 14px #000,18px 14px #000,20px 14px #f2c019,22px 14px #ff6f00,24px 14px #000,8px 16px #000,10px 16px color-mix(in srgb,#f2c019,#fff 55%),12px 16px #f2c019,14px 16px #f2c019,16px 16px #000,18px 16px #000,20px 16px #f2c019,22px 16px #f2c019,24px 16px #ff6f00,26px 16px #000,8px 18px #000,10px 18px color-mix(in srgb,#f2c019,#fff 55%),12px 18px #f2c019,14px 18px #f2c019,16px 18px #000,18px 18px #000,20px 18px #f2c019,22px 18px #f2c019,24px 18px #ff6f00,26px 18px #000,6px 20px #000,8px 20px color-mix(in srgb,#f2c019,#fff 55%),10px 20px #f2c019,12px 20px #f2c019,14px 20px #f2c019,16px 20px #000,18px 20px #000,20px 20px #f2c019,22px 20px #f2c019,24px 20px #f2c019,26px 20px #ff6f00,28px 20px #000,6px 22px #000,8px 22px color-mix(in srgb,#f2c019,#fff 55%),10px 22px #f2c019,12px 22px #f2c019,14px 22px #f2c019,16px 22px #000,18px 22px #000,20px 22px #f2c019,22px 22px #f2c019,24px 22px #f2c019,26px 22px #ff6f00,28px 22px #000,4px 24px #000,6px 24px color-mix(in srgb,#f2c019,#fff 55%),8px 24px #f2c019,10px 24px #f2c019,12px 24px #f2c019,14px 24px #f2c019,16px 24px #f2c019,18px 24px #f2c019,20px 24px #f2c019,22px 24px #f2c019,24px 24px #f2c019,26px 24px #f2c019,28px 24px #ff6f00,30px 24px #000,4px 26px #000,6px 26px color-mix(in srgb,#f2c019,#fff 55%),8px 26px #f2c019,10px 26px #f2c019,12px 26px #f2c019,14px 26px #f2c019,16px 26px #000,18px 26px #000,20px 26px #f2c019,22px 26px #f2c019,24px 26px #f2c019,26px 26px #f2c019,28px 26px #ff6f00,30px 26px #000,2px 28px #000,4px 28px color-mix(in srgb,#f2c019,#fff 55%),6px 28px #f2c019,8px 28px #f2c019,10px 28px #f2c019,12px 28px #f2c019,14px 28px #f2c019,16px 28px #000,18px 28px #000,20px 28px #f2c019,22px 28px #f2c019,24px 28px #f2c019,26px 28px #f2c019,28px 28px #f2c019,30px 28px #ff6f00,32px 28px #000,2px 30px #000,4px 30px color-mix(in srgb,#f2c019,#fff 55%),6px 30px #f2c019,8px 30px #f2c019,10px 30px #f2c019,12px 30px #f2c019,14px 30px #f2c019,16px 30px #f2c019,18px 30px #f2c019,20px 30px #f2c019,22px 30px #f2c019,24px 30px #ff6f00,26px 30px #ff6f00,28px 30px #ff6f00,30px 30px #ff6f00,32px 30px #000,4px 32px #000,6px 32px #000,8px 32px #000,10px 32px #000,12px 32px #000,14px 32px #000,16px 32px #000,18px 32px #000,20px 32px #000,22px 32px #000,24px 32px #000,26px 32px #000,28px 32px #000,30px 32px #000;content:"";height:2px;margin:14px;right:21.33333px;top:calc(50% - 32px);width:2px}.snes-input:has(input:disabled,select:disabled,textarea:disabled){background-color:#b5ced1;cursor:not-allowed}.snes-input:has(input:disabled,select:disabled,textarea:disabled)>*{color:#566573;cursor:not-allowed}.snes-button{background-color:#4bb244;border:solid;-o-border-image:var(--border-image);border-image:var(--border-image);border-image-outset:6px;border-image-repeat:initial;border-image-slice:12;border-width:12px;color:#2c3e50;cursor:pointer;display:inline-block;font-family:Press Start\ 2P,system-ui;font-size:18px;letter-spacing:.05em;line-height:.6;padding:4px 18px;position:relative;word-spacing:-.3em}@media(max-width:992px){.snes-button{font-size:16px}}.snes-button.has-plumber-color{background-color:#f22561}.snes-button.has-nature-color{background-color:#4bb244}.snes-button.has-sunshine-color{background-color:#f2c019}.snes-button.has-ocean-color{background-color:#4eb6d9}.snes-button.has-turquoise-color{background-color:#40e0d0}.snes-button.has-phantom-color{background-color:#9b5de5}.snes-button.has-rose-color{background-color:#f784b2}.snes-button.has-galaxy-color{background-color:#5a7d9a}.snes-button.has-ember-color{background-color:#ff6f00}.snes-button:after,.snes-button:before{content:"";display:block;height:18px;position:absolute;width:calc(100% + 18px);z-index:0}.snes-button:before{background-color:rgba(0,0,0,.2);left:-6px;top:calc(100% - 6px)}.snes-button:after,.snes-button:before{-webkit-clip-path:polygon(0 12px,calc(100% - 12px) 12px,calc(100% - 12px) 6px,calc(100% - 6px) 6px,calc(100% - 6px) 0,100% 0,100% 12px,calc(100% - 6px) 12px,calc(100% - 6px) 100%,0 100%);clip-path:polygon(0 12px,calc(100% - 12px) 12px,calc(100% - 12px) 6px,calc(100% - 6px) 6px,calc(100% - 6px) 0,100% 0,100% 12px,calc(100% - 6px) 12px,calc(100% - 6px) 100%,0 100%)}.snes-button:after{background-color:hsla(0,0%,100%,.3);bottom:calc(100% - 6px);right:-6px;transform:rotate(.5turn)}.snes-button:not(:disabled):hover:before{background-color:rgba(0,0,0,.3)}.snes-button:not(:disabled):hover:after{background-color:hsla(0,0%,100%,.4)}.snes-button:disabled:before{background-color:hsla(0,0%,100%,.3)}.snes-button:disabled:after{background-color:rgba(0,0,0,.2)}.snes-button:not(:disabled):active:before{background-color:hsla(0,0%,100%,.3)}.snes-button:not(:disabled):active:after{background-color:rgba(0,0,0,.2)}.snes-button:disabled{background-color:#b5ced1;color:#566573;cursor:not-allowed}.snes-list{list-style-type:none;padding-inline-start:32px;position:relative}.snes-list li{font-family:Press Start\ 2P,system-ui;font-size:16px;letter-spacing:.05em;line-height:1.5;margin-bottom:8px;position:relative;word-spacing:-.3em}@media(max-width:992px){.snes-list li{font-size:12px}}.snes-list li:before{box-shadow:.48em .12em #000,.6em .12em #000,.72em .12em #000,.84em .12em #000,.36em .24em #000,.48em .24em color-mix(in srgb,currentColor,#fff 55%),.6em .24em color-mix(in srgb,currentColor,#fff 55%),.72em .24em color-mix(in srgb,currentColor,#fff 55%),.84em .24em color-mix(in srgb,currentColor,#fff 55%),.96em .24em #000,.24em .36em #000,.36em .36em color-mix(in srgb,currentColor,#fff 55%),.48em .36em #fff,.6em .36em currentColor,.72em .36em currentColor,.84em .36em currentColor,.96em .36em color-mix(in srgb,currentColor,#fff 55%),1.08em .36em #000,.12em .48em #000,.24em .48em color-mix(in srgb,currentColor,#fff 55%),.36em .48em #fff,.48em .48em currentColor,.6em .48em currentColor,.72em .48em currentColor,.84em .48em currentColor,.96em .48em currentColor,1.08em .48em color-mix(in srgb,currentColor,#fff 55%),1.2em .48em #000,.12em .6em #000,.24em .6em currentColor,.36em .6em currentColor,.48em .6em currentColor,.6em .6em currentColor,.72em .6em currentColor,.84em .6em currentColor,.96em .6em currentColor,1.08em .6em currentColor,1.2em .6em #000,.12em .72em #000,.24em .72em color-mix(in srgb,currentColor,#000 70%),.36em .72em currentColor,.48em .72em currentColor,.6em .72em currentColor,.72em .72em currentColor,.84em .72em currentColor,.96em .72em currentColor,1.08em .72em color-mix(in srgb,currentColor,#000 70%),1.2em .72em #000,.24em .84em #000,.36em .84em currentColor,.48em .84em currentColor,.6em .84em currentColor,.72em .84em currentColor,.84em .84em currentColor,.96em .84em currentColor,1.08em .84em #000,.36em .96em #000,.48em .96em color-mix(in srgb,currentColor,#000 70%),.6em .96em color-mix(in srgb,currentColor,#000 70%),.72em .96em color-mix(in srgb,currentColor,#000 70%),.84em .96em color-mix(in srgb,currentColor,#000 70%),.96em .96em #000,.48em 1.08em #000,.6em 1.08em #000,.72em 1.08em #000,.84em 1.08em #000;color:#f22561;content:"";height:.12em;left:-2.4em;margin:.42em .48em;position:absolute;top:-.33333em;width:.12em}@media screen and (max-width:992px){.snes-list{padding-inline-start:20px}}.snes-list.is-plumber-list-color li:before{color:#f22561}.snes-list.is-nature-list-color li:before{color:#4bb244}.snes-list.is-sunshine-list-color li:before{color:#f2c019}.snes-list.is-ocean-list-color li:before{color:#4eb6d9}.snes-list.is-turquoise-list-color li:before{color:#40e0d0}.snes-list.is-phantom-list-color li:before{color:#9b5de5}.snes-list.is-rose-list-color li:before{color:#f784b2}.snes-list.is-galaxy-list-color li:before{color:#5a7d9a}.snes-list.is-ember-list-color li:before{color:#ff6f00}.snes-range{-webkit-appearance:none;-moz-appearance:none;appearance:none;background:#f22561;border:solid;-o-border-image:var(--border-image);border-image:var(--border-image);border-image-outset:6px;border-image-repeat:initial;border-image-slice:12;border-width:12px;flex:0;height:10px;padding:0;position:relative;width:100%}.snes-range:after,.snes-range:before{content:"";display:block;height:18px;position:absolute;width:calc(100% + 18px);z-index:0}.snes-range:before{background-color:rgba(0,0,0,.2);left:-6px;top:calc(100% - 6px)}.snes-range:after,.snes-range:before{-webkit-clip-path:polygon(0 12px,calc(100% - 12px) 12px,calc(100% - 12px) 6px,calc(100% - 6px) 6px,calc(100% - 6px) 0,100% 0,100% 12px,calc(100% - 6px) 12px,calc(100% - 6px) 100%,0 100%);clip-path:polygon(0 12px,calc(100% - 12px) 12px,calc(100% - 12px) 6px,calc(100% - 6px) 6px,calc(100% - 6px) 0,100% 0,100% 12px,calc(100% - 6px) 12px,calc(100% - 6px) 100%,0 100%)}.snes-range:after{background-color:hsla(0,0%,100%,.3);bottom:calc(100% - 6px);right:-6px;transform:rotate(.5turn)}.snes-range:not(:disabled):hover:before{background-color:rgba(0,0,0,.3)}.snes-range:not(:disabled):hover:after{background-color:hsla(0,0%,100%,.4)}.snes-range:disabled:before{background-color:hsla(0,0%,100%,.3)}.snes-range:disabled:after{background-color:rgba(0,0,0,.2)}.snes-range::-webkit-slider-runnable-track{cursor:pointer;margin-left:-18px;margin-right:-18px;position:relative;z-index:1}.snes-range::-webkit-slider-thumb{-webkit-appearance:none;appearance:none;background-color:#fcf4d9;border:solid;border-image:var(--border-image);border-image-outset:6px;border-image-repeat:initial;border-image-slice:12;border-width:12px;cursor:grab;height:40px;position:relative;-webkit-transition:all .3s;transition:all .3s;width:48px;z-index:5}.snes-range::-webkit-slider-thumb:hover{background-color:#e3dcc3}.snes-range.has-white-thumb::-webkit-slider-thumb{background-color:#fff}.snes-range.has-white-thumb::-webkit-slider-thumb:hover{background-color:#e6e6e6}.snes-range.has-grey-thumb::-webkit-slider-thumb{background-color:#e5e5e5}.snes-range.has-grey-thumb::-webkit-slider-thumb:hover{background-color:#cecece}.snes-range.has-aged-yellow-thumb::-webkit-slider-thumb{background-color:#fcf4d9}.snes-range.has-aged-yellow-thumb::-webkit-slider-thumb:hover{background-color:#e3dcc3}.snes-range.has-secondary-purple-thumb::-webkit-slider-thumb{background-color:#f0e4ff}.snes-range.has-secondary-purple-thumb::-webkit-slider-thumb:hover{background-color:#d8cde6}.snes-range.has-soft-green-thumb::-webkit-slider-thumb{background-color:#e2f4ea}.snes-range.has-soft-green-thumb::-webkit-slider-thumb:hover{background-color:#cbdcd3}.snes-range.has-plumber-bg{background:#f22561}.snes-range.has-nature-bg{background:#4bb244}.snes-range.has-sunshine-bg{background:#f2c019}.snes-range.has-ocean-bg{background:#4eb6d9}.snes-range.has-turquoise-bg{background:#40e0d0}.snes-range.has-phantom-bg{background:#9b5de5}.snes-range.has-rose-bg{background:#f784b2}.snes-range.has-galaxy-bg{background:#5a7d9a}.snes-range.has-ember-bg{background:#ff6f00}.snes-radio{cursor:pointer;display:flex;flex-direction:row;gap:16px}.snes-radio--vertical{flex-direction:column}.snes-radio input{display:none}.snes-radio input:checked~.snes-radio__item__content:before{visibility:visible}.snes-radio__item{cursor:pointer;display:flex;flex-direction:row;gap:20px;position:relative}.snes-radio__item__content{align-items:center;display:flex;flex-direction:row;font-family:Press Start\ 2P,system-ui;font-size:18px;gap:calc(1em + 8px);justify-content:center;letter-spacing:.05em;line-height:1.5;text-transform:uppercase;-webkit-user-select:none;-moz-user-select:none;user-select:none;word-spacing:-.3em}@media(max-width:992px){.snes-radio__item__content{font-size:12px;word-spacing:-.65em}}.snes-radio__item__content:before{box-shadow:.375em .125em color-mix(in srgb,currentColor,#000 30%),.5em .125em color-mix(in srgb,currentColor,#000 30%),.625em .125em color-mix(in srgb,currentColor,#000 30%),.75em .125em color-mix(in srgb,currentColor,#000 30%),.875em .125em color-mix(in srgb,currentColor,#000 30%),1em .125em color-mix(in srgb,currentColor,#000 30%),1.125em .125em color-mix(in srgb,currentColor,#000 30%),1.25em .125em color-mix(in srgb,currentColor,#000 30%),1.375em .125em color-mix(in srgb,currentColor,#000 30%),1.5em .125em color-mix(in srgb,currentColor,#000 70%),1.625em .125em color-mix(in srgb,currentColor,#000 70%),1.75em .125em color-mix(in srgb,currentColor,#000 70%),.25em .25em color-mix(in srgb,currentColor,#000 30%),.375em .25em currentColor,.5em .25em color-mix(in srgb,currentColor,#fff 55%),.625em .25em color-mix(in srgb,currentColor,#fff 55%),.75em .25em #fff,.875em .25em #fff,1em .25em #fff,1.125em .25em #fff,1.25em .25em color-mix(in srgb,currentColor,#fff 55%),1.375em .25em color-mix(in srgb,currentColor,#fff 55%),1.5em .25em color-mix(in srgb,currentColor,#fff 55%),1.625em .25em currentColor,1.75em .25em color-mix(in srgb,currentColor,#000 30%),1.875em .25em color-mix(in srgb,currentColor,#000 70%),.125em .375em color-mix(in srgb,currentColor,#000 30%),.25em .375em currentColor,.375em .375em color-mix(in srgb,currentColor,#fff 55%),.5em .375em color-mix(in srgb,currentColor,#fff 55%),.625em .375em #fff,.75em .375em #fff,.875em .375em #fff,1em .375em #fff,1.125em .375em #fff,1.25em .375em #fff,1.375em .375em color-mix(in srgb,currentColor,#fff 55%),1.5em .375em color-mix(in srgb,currentColor,#fff 55%),1.625em .375em color-mix(in srgb,currentColor,#fff 55%),1.75em .375em currentColor,1.875em .375em color-mix(in srgb,currentColor,#000 30%),2em .375em color-mix(in srgb,currentColor,#000 70%),.125em .5em color-mix(in srgb,currentColor,#000 70%),.25em .5em currentColor,.375em .5em color-mix(in srgb,currentColor,#000 30%),.5em .5em color-mix(in srgb,currentColor,#000 30%),.625em .5em currentColor,.75em .5em currentColor,.875em .5em currentColor,1em .5em currentColor,1.125em .5em currentColor,1.25em .5em currentColor,1.375em .5em currentColor,1.5em .5em currentColor,1.625em .5em color-mix(in srgb,currentColor,#000 30%),1.75em .5em color-mix(in srgb,currentColor,#000 30%),1.875em .5em currentColor,2em .5em #000,.125em .625em color-mix(in srgb,currentColor,#000 70%),.25em .625em currentColor,.375em .625em color-mix(in srgb,currentColor,#000 30%),.5em .625em color-mix(in srgb,currentColor,#000 70%),.625em .625em currentColor,.75em .625em currentColor,.875em .625em currentColor,1em .625em color-mix(in srgb,currentColor,#000 30%),1.125em .625em color-mix(in srgb,currentColor,#000 30%),1.25em .625em color-mix(in srgb,currentColor,#000 30%),1.375em .625em color-mix(in srgb,currentColor,#000 70%),1.5em .625em color-mix(in srgb,currentColor,#000 70%),1.625em .625em color-mix(in srgb,currentColor,#000 30%),1.75em .625em color-mix(in srgb,currentColor,#000 30%),1.875em .625em currentColor,2em .625em #000,.125em .75em color-mix(in srgb,currentColor,#000 70%),.25em .75em color-mix(in srgb,currentColor,#000 30%),.375em .75em currentColor,.5em .75em color-mix(in srgb,currentColor,#000 70%),.625em .75em color-mix(in srgb,currentColor,#000 30%),.75em .75em color-mix(in srgb,currentColor,#fff 55%),.875em .75em color-mix(in srgb,currentColor,#fff 55%),1em .75em color-mix(in srgb,currentColor,#000 30%),1.125em .75em color-mix(in srgb,currentColor,#000 30%),1.25em .75em color-mix(in srgb,currentColor,#000 70%),1.375em .75em color-mix(in srgb,currentColor,#000 70%),1.5em .75em color-mix(in srgb,currentColor,#000 70%),1.625em .75em color-mix(in srgb,currentColor,#000 70%),1.75em .75em currentColor,1.875em .75em color-mix(in srgb,currentColor,#000 30%),2em .75em #000,.25em .875em color-mix(in srgb,currentColor,#000 70%),.375em .875em currentColor,.5em .875em color-mix(in srgb,currentColor,#000 30%),.625em .875em color-mix(in srgb,currentColor,#000 70%),.75em .875em currentColor,.875em .875em color-mix(in srgb,currentColor,#fff 55%),1em .875em currentColor,1.125em .875em color-mix(in srgb,currentColor,#000 30%),1.25em .875em color-mix(in srgb,currentColor,#000 70%),1.375em .875em color-mix(in srgb,currentColor,#000 70%),1.5em .875em color-mix(in srgb,currentColor,#000 70%),1.625em .875em currentColor,1.75em .875em color-mix(in srgb,currentColor,#000 30%),1.875em .875em #000,.375em 1em #000,.5em 1em currentColor,.625em 1em color-mix(in srgb,currentColor,#000 30%),.75em 1em color-mix(in srgb,currentColor,#000 30%),.875em 1em currentColor,1em 1em currentColor,1.125em 1em color-mix(in srgb,currentColor,#000 70%),1.25em 1em color-mix(in srgb,currentColor,#000 70%),1.375em 1em color-mix(in srgb,currentColor,#000 70%),1.5em 1em currentColor,1.625em 1em color-mix(in srgb,currentColor,#000 30%),1.75em 1em #000,.5em 1.125em #000,.625em 1.125em currentColor,.75em 1.125em color-mix(in srgb,currentColor,#000 30%),.875em 1.125em currentColor,1em 1.125em currentColor,1.125em 1.125em color-mix(in srgb,currentColor,#000 70%),1.25em 1.125em color-mix(in srgb,currentColor,#000 70%),1.375em 1.125em currentColor,1.5em 1.125em color-mix(in srgb,currentColor,#000 30%),1.625em 1.125em #000,.625em 1.25em #000,.75em 1.25em currentColor,.875em 1.25em color-mix(in srgb,currentColor,#000 30%),1em 1.25em currentColor,1.125em 1.25em color-mix(in srgb,currentColor,#000 30%),1.25em 1.25em currentColor,1.375em 1.25em color-mix(in srgb,currentColor,#000 30%),1.5em 1.25em #000,.75em 1.375em #000,.875em 1.375em currentColor,1em 1.375em currentColor,1.125em 1.375em currentColor,1.25em 1.375em color-mix(in srgb,currentColor,#000 30%),1.375em 1.375em #000,.875em 1.5em #000,1em 1.5em currentColor,1.125em 1.5em color-mix(in srgb,currentColor,#000 30%),1.25em 1.5em #000,1em 1.625em #000,1.125em 1.625em #000;color:#4bb244;content:"";display:block;height:.125em;margin:.6875em .875em;transform:translateY(-1em);visibility:hidden;width:.125em}.snes-radio__item__content:hover{color:#566573}.snes-radio__item.has-plumber-icon .snes-radio__item__content:before{color:#f22561}.snes-radio__item.has-nature-icon .snes-radio__item__content:before{color:#4bb244}.snes-radio__item.has-sunshine-icon .snes-radio__item__content:before{color:#f2c019}.snes-radio__item.has-ocean-icon .snes-radio__item__content:before{color:#4eb6d9}.snes-radio__item.has-turquoise-icon .snes-radio__item__content:before{color:#40e0d0}.snes-radio__item.has-phantom-icon .snes-radio__item__content:before{color:#9b5de5}.snes-radio__item.has-rose-icon .snes-radio__item__content:before{color:#f784b2}.snes-radio__item.has-galaxy-icon .snes-radio__item__content:before{color:#5a7d9a}.snes-radio__item.has-ember-icon .snes-radio__item__content:before{color:#ff6f00}.snes-radio.has-plumber-icons .snes-radio__item .snes-radio__item__content:before{color:#f22561}.snes-radio.has-nature-icons .snes-radio__item .snes-radio__item__content:before{color:#4bb244}.snes-radio.has-sunshine-icons .snes-radio__item .snes-radio__item__content:before{color:#f2c019}.snes-radio.has-ocean-icons .snes-radio__item .snes-radio__item__content:before{color:#4eb6d9}.snes-radio.has-turquoise-icons .snes-radio__item .snes-radio__item__content:before{color:#40e0d0}.snes-radio.has-phantom-icons .snes-radio__item .snes-radio__item__content:before{color:#9b5de5}.snes-radio.has-rose-icons .snes-radio__item .snes-radio__item__content:before{color:#f784b2}.snes-radio.has-galaxy-icons .snes-radio__item .snes-radio__item__content:before{color:#5a7d9a}.snes-radio.has-ember-icons .snes-radio__item .snes-radio__item__content:before{color:#ff6f00}.snes-checkbox{cursor:pointer;display:flex;flex-direction:row;flex-wrap:wrap;gap:16px}.snes-checkbox--vertical{flex-direction:column}.snes-checkbox input{display:none}.snes-checkbox input:checked~.snes-checkbox__item__content:before{box-shadow:.375em .25em #000,.5em .25em #000,.625em .25em #000,.75em .25em #000,.875em .25em #000,1em .25em #000,1.125em .25em #000,1.25em .25em #000,1.5em .25em #000,1.625em .25em #000,1.75em .25em #000,.25em .375em #000,.375em .375em color-mix(in srgb,currentColor,#fff 55%),.5em .375em color-mix(in srgb,currentColor,#fff 55%),.625em .375em color-mix(in srgb,currentColor,#fff 55%),.75em .375em color-mix(in srgb,currentColor,#fff 55%),.875em .375em color-mix(in srgb,currentColor,#fff 55%),1em .375em color-mix(in srgb,currentColor,#fff 55%),1.125em .375em currentColor,1.25em .375em currentColor,1.375em .375em #000,1.5em .375em #fff,1.625em .375em #fff,1.75em .375em #fff,1.875em .375em #000,.125em .5em #000,.25em .5em color-mix(in srgb,currentColor,#fff 55%),.375em .5em currentColor,.5em .5em #000,.625em .5em #000,.75em .5em currentColor,.875em .5em currentColor,1em .5em currentColor,1.125em .5em currentColor,1.25em .5em #000,1.375em .5em #fff,1.5em .5em #fff,1.625em .5em #fff,1.75em .5em #fff,1.875em .5em #000,.125em .625em #000,.25em .625em currentColor,.375em .625em #000,.5em .625em #fff,.625em .625em #fff,.75em .625em #000,.875em .625em currentColor,1em .625em currentColor,1.125em .625em #000,1.25em .625em #fff,1.375em .625em #fff,1.5em .625em #fff,1.625em .625em #fff,1.75em .625em #000,.125em .75em #000,.25em .75em currentColor,.375em .75em #000,.5em .75em #fff,.625em .75em #fff,.75em .75em #fff,.875em .75em #000,1em .75em #000,1.125em .75em #fff,1.25em .75em #fff,1.375em .75em #fff,1.5em .75em #fff,1.625em .75em #000,.125em .875em #000,.25em .875em currentColor,.375em .875em #000,.5em .875em #fff,.625em .875em #fff,.75em .875em #fff,.875em .875em #fff,1em .875em #fff,1.125em .875em #fff,1.25em .875em #fff,1.375em .875em #fff,1.5em .875em #000,.125em 1em #000,.25em 1em currentColor,.375em 1em currentColor,.5em 1em #000,.625em 1em #fff,.75em 1em #fff,.875em 1em #fff,1em 1em #fff,1.125em 1em #fff,1.25em 1em #fff,1.375em 1em #000,1.5em 1em #000,.125em 1.125em #000,.25em 1.125em currentColor,.375em 1.125em currentColor,.5em 1.125em currentColor,.625em 1.125em #000,.75em 1.125em #fff,.875em 1.125em #fff,1em 1.125em #fff,1.125em 1.125em #fff,1.25em 1.125em #000,1.375em 1.125em currentColor,1.5em 1.125em #000,.125em 1.25em #000,.25em 1.25em currentColor,.375em 1.25em currentColor,.5em 1.25em currentColor,.625em 1.25em currentColor,.75em 1.25em #000,.875em 1.25em #fff,1em 1.25em #fff,1.125em 1.25em #000,1.25em 1.25em currentColor,1.375em 1.25em currentColor,1.5em 1.25em #000,.125em 1.375em #000,.25em 1.375em currentColor,.375em 1.375em currentColor,.5em 1.375em currentColor,.625em 1.375em currentColor,.75em 1.375em currentColor,.875em 1.375em #000,1em 1.375em #000,1.125em 1.375em currentColor,1.25em 1.375em currentColor,1.375em 1.375em color-mix(in srgb,currentColor,#000 35%),1.5em 1.375em #000,.25em 1.5em #000,.375em 1.5em currentColor,.5em 1.5em currentColor,.625em 1.5em color-mix(in srgb,currentColor,#000 35%),.75em 1.5em color-mix(in srgb,currentColor,#000 35%),.875em 1.5em color-mix(in srgb,currentColor,#000 35%),1em 1.5em color-mix(in srgb,currentColor,#000 35%),1.125em 1.5em color-mix(in srgb,currentColor,#000 35%),1.25em 1.5em color-mix(in srgb,currentColor,#000 35%),1.375em 1.5em #000,.375em 1.625em #000,.5em 1.625em #000,.625em 1.625em #000,.75em 1.625em #000,.875em 1.625em #000,1em 1.625em #000,1.125em 1.625em #000,1.25em 1.625em #000;content:"";height:.125em;margin:.6875em .8125em;width:.125em}.snes-checkbox__item{cursor:pointer;display:flex;flex-direction:row;gap:20px;position:relative}.snes-checkbox__item__content{align-items:center;display:flex;flex-direction:row;font-family:Press Start\ 2P,system-ui;font-size:18px;gap:calc(1em + 7.5px);justify-content:center;letter-spacing:.05em;line-height:1.5;text-transform:uppercase;-webkit-user-select:none;-moz-user-select:none;user-select:none;word-spacing:-.3em}@media(max-width:992px){.snes-checkbox__item__content{font-size:12px;word-spacing:-.65em}}.snes-checkbox__item__content:before{box-shadow:.375em .25em #000,.5em .25em #000,.625em .25em #000,.75em .25em #000,.875em .25em #000,1em .25em #000,1.125em .25em #000,1.25em .25em #000,.25em .375em #000,1.375em .375em #000,.125em .5em #000,1.5em .5em #000,.125em .625em #000,1.5em .625em #000,.125em .75em #000,1.5em .75em #000,.125em .875em #000,1.5em .875em #000,.125em 1em #000,1.5em 1em #000,.125em 1.125em #000,1.5em 1.125em #000,.125em 1.25em #000,1.5em 1.25em #000,.125em 1.375em #000,1.5em 1.375em #000,.25em 1.5em #000,1.375em 1.5em #000,.375em 1.625em #000,.5em 1.625em #000,.625em 1.625em #000,.75em 1.625em #000,.875em 1.625em #000,1em 1.625em #000,1.125em 1.625em #000,1.25em 1.625em #000;color:#4bb244;content:"";display:block;height:.125em;margin:.6875em .8125em;transform:translateY(-1.07692em);width:.125em}.snes-checkbox__item__content:hover{color:#566573}.snes-checkbox__item.has-plumber-icon .snes-checkbox__item__content:before{color:#f22561}.snes-checkbox__item.has-nature-icon .snes-checkbox__item__content:before{color:#4bb244}.snes-checkbox__item.has-sunshine-icon .snes-checkbox__item__content:before{color:#f2c019}.snes-checkbox__item.has-ocean-icon .snes-checkbox__item__content:before{color:#4eb6d9}.snes-checkbox__item.has-turquoise-icon .snes-checkbox__item__content:before{color:#40e0d0}.snes-checkbox__item.has-phantom-icon .snes-checkbox__item__content:before{color:#9b5de5}.snes-checkbox__item.has-rose-icon .snes-checkbox__item__content:before{color:#f784b2}.snes-checkbox__item.has-galaxy-icon .snes-checkbox__item__content:before{color:#5a7d9a}.snes-checkbox__item.has-ember-icon .snes-checkbox__item__content:before{color:#ff6f00}.snes-checkbox.has-plumber-icons .snes-checkbox__item .snes-checkbox__item__content:before{color:#f22561}.snes-checkbox.has-nature-icons .snes-checkbox__item .snes-checkbox__item__content:before{color:#4bb244}.snes-checkbox.has-sunshine-icons .snes-checkbox__item .snes-checkbox__item__content:before{color:#f2c019}.snes-checkbox.has-ocean-icons .snes-checkbox__item .snes-checkbox__item__content:before{color:#4eb6d9}.snes-checkbox.has-turquoise-icons .snes-checkbox__item .snes-checkbox__item__content:before{color:#40e0d0}.snes-checkbox.has-phantom-icons .snes-checkbox__item .snes-checkbox__item__content:before{color:#9b5de5}.snes-checkbox.has-rose-icons .snes-checkbox__item .snes-checkbox__item__content:before{color:#f784b2}.snes-checkbox.has-galaxy-icons .snes-checkbox__item .snes-checkbox__item__content:before{color:#5a7d9a}.snes-checkbox.has-ember-icons .snes-checkbox__item .snes-checkbox__item__content:before{color:#ff6f00}.snes-blockquote{background-color:color-mix(in srgb,#e5e5e5,#000 55%);border:solid;-o-border-image:var(--border-image);border-image:var(--border-image);border-image-outset:6px;border-image-repeat:initial;border-image-slice:12;border-width:12px;color:#fff;display:block;padding:32px;position:relative;text-align:center;width:100%}.snes-blockquote:after,.snes-blockquote:before{content:"";display:block;height:18px;position:absolute;width:calc(100% + 18px);z-index:0}.snes-blockquote:before{background-color:rgba(0,0,0,.2);left:-6px;top:calc(100% - 6px)}.snes-blockquote:after,.snes-blockquote:before{-webkit-clip-path:polygon(0 12px,calc(100% - 12px) 12px,calc(100% - 12px) 6px,calc(100% - 6px) 6px,calc(100% - 6px) 0,100% 0,100% 12px,calc(100% - 6px) 12px,calc(100% - 6px) 100%,0 100%);clip-path:polygon(0 12px,calc(100% - 12px) 12px,calc(100% - 12px) 6px,calc(100% - 6px) 6px,calc(100% - 6px) 0,100% 0,100% 12px,calc(100% - 6px) 12px,calc(100% - 6px) 100%,0 100%)}.snes-blockquote:after{background-color:hsla(0,0%,100%,.3);bottom:calc(100% - 6px);right:-6px;transform:rotate(.5turn)}.snes-blockquote:not(:disabled):hover:before{background-color:rgba(0,0,0,.3)}.snes-blockquote:not(:disabled):hover:after{background-color:hsla(0,0%,100%,.4)}.snes-blockquote:disabled:before{background-color:hsla(0,0%,100%,.3)}.snes-blockquote:disabled:after{background-color:rgba(0,0,0,.2)}@media screen and (max-width:992px){.snes-blockquote{padding:8px}}.snes-blockquote.has-plumber-bg{background-color:color-mix(in srgb,#f22561,#000 55%)}.snes-blockquote.has-nature-bg{background-color:color-mix(in srgb,#4bb244,#000 55%)}.snes-blockquote.has-sunshine-bg{background-color:color-mix(in srgb,#f2c019,#000 55%)}.snes-blockquote.has-ocean-bg{background-color:color-mix(in srgb,#4eb6d9,#000 55%)}.snes-blockquote.has-turquoise-bg{background-color:color-mix(in srgb,#40e0d0,#000 55%)}.snes-blockquote.has-phantom-bg{background-color:color-mix(in srgb,#9b5de5,#000 55%)}.snes-blockquote.has-rose-bg{background-color:color-mix(in srgb,#f784b2,#000 55%)}.snes-blockquote.has-galaxy-bg{background-color:color-mix(in srgb,#5a7d9a,#000 55%)}.snes-blockquote.has-ember-bg{background-color:color-mix(in srgb,#ff6f00,#000 55%)}.text-plumber-color{color:#f22561}.text-nature-color{color:#4bb244}.text-sunshine-color{color:#f2c019}.text-ocean-color{color:#4eb6d9}.text-turquoise-color{color:#40e0d0}.text-phantom-color{color:#9b5de5}.text-rose-color{color:#f784b2}.text-galaxy-color{color:#5a7d9a}.text-ember-color{color:#ff6f00}.snes-image{border:solid;-o-border-image:var(--border-image);border-image:var(--border-image);border-image-outset:6px;border-image-outset:0;border-image-repeat:initial;border-image-slice:12;border-width:12px;height:auto;max-width:100%}
-/*# sourceMappingURL=snes.min.css.map*/
\ No newline at end of file
diff --git a/public/style.css b/public/style.css
index 9ecde32..e37dc32 100644
--- a/public/style.css
+++ b/public/style.css
@@ -1,1172 +1,144 @@
-/* Global reset */
-* {
- margin: 0;
- padding: 0;
- box-sizing: border-box;
+/*
+Inspired by:
+ - Mike Mai @ https://mikemai.net/
+ - David Bushell @ https://dbushell.com/
+ - Viznut @ http://viznut.fi/
+*/
+@layer reset, config, font, utilities, theme;
+@import "reset.css" layer(reset);
+@import "theme.css" layer(theme);
+
+@font-face {
+ font-family: "unscii16";
+ src:
+ url("unscii-16.woff") format("woff"),
+ url("unscii-16.ttf") format("ttf");
+}
+@font-face {
+ font-family: "unscii8";
+ src:
+ url("unscii-8.woff") format("woff"),
+ url("unscii-8.ttf") format("ttf");
}
-/* Base styles */
-body {
- /*font-family: "Courier New", Courier, monospace;*/
- background-color: var(--bg-color);
- color: var(--text-color);
- line-height: 1.6;
- transition:
- background-color 0.3s,
- color 0.3s;
-}
-
-header,
-main,
-footer {
- width: 100%;
- max-width: 800px;
- padding: 20px;
-}
-
-/* Containers */
-.container {
- padding: 20px;
- border: 2px solid var(--accent-color);
- background-color: var(--section-bg);
- max-width: 800px;
- margin: 20px;
- border-radius: 6px;
- box-shadow: 0 4px 6px var(--shadow-color);
-}
-
-/* Headers */
-h1,
-h2,
-h3,
-h4,
-h5,
-h6 {
- margin-bottom: 10px;
- font-weight: normal;
- text-transform: uppercase;
- border-bottom: 1px solid var(--border-color);
- padding-bottom: 5px;
- color: var(--text-color);
-}
-
-h1 {
- font-size: 2rem;
-}
-h2 {
- font-size: 1.8rem;
-}
-h3 {
- font-size: 1.5rem;
-}
-h4 {
- font-size: 1.2rem;
-}
-h5 {
- font-size: 1rem;
-}
-h6 {
- font-size: 0.8rem;
-}
-
-/* Paragraphs */
-p,
-label {
- font-size: 1rem;
- margin-bottom: 15px;
- text-align: justify;
-}
-
-/* Links */
-a {
- color: var(--text-color);
- text-decoration: none;
- border-bottom: 1px dashed var(--border-color);
- transition:
- color 0.3s ease,
- border-color 0.3s ease;
-}
-
-a:hover {
- color: var(--accent-color);
- border-color: var(--accent-color);
-}
-
-/* Lists */
-ul,
-ol {
- margin: 15px;
- padding-left: 20px;
-}
-
-li {
- margin-bottom: 10px;
- font-size: 1rem;
-}
-
-/* Buttons */
-button {
- padding: 10px 20px;
- font-size: 1rem;
- border: 1px solid var(--accent-color);
- background-color: var(--accent-color);
- color: var(--bg-color);
- cursor: pointer;
- transition:
- background-color 0.3s ease,
- transform 0.2s ease;
-}
-
-button:hover {
- background-color: var(--text-color);
- transform: scale(1.05);
-}
-
-/* Inputs */
-input[type="text"],
-input[type="email"],
-input[type="password"],
-input[type="search"],
-input[type="file"],
-input[type="date"],
-input[type="time"],
-input[type="color"],
-textarea,
-select {
- width: 100%;
- padding: 10px;
- margin: 10px 0;
- font-size: 1rem;
- border: 1px solid var(--border-color);
- border-radius: 4px;
- background-color: var(--input-bg);
-}
-
-input[type="range"] {
- width: 100%;
- margin: 10px 0;
-}
-
-/* Form */
-form {
- display: flex;
- flex-direction: column;
- gap: 15px;
- max-width: 600px;
-}
-
-fieldset {
- border: 1px solid var(--border-color);
- padding: 15px;
- margin: 10px 0;
-}
-
-legend {
- font-weight: bold;
- padding: 0 5px;
-}
-
-/* Code blocks */
-pre,
-code {
- background-color: var(--code-bg);
- border: 1px solid var(--border-color);
- padding: 10px;
- border-radius: 4px;
- font-size: 0.8rem;
- overflow-x: auto;
- color: var(--text-color);
- white-space: pre-wrap;
- word-break: break-word;
- word-wrap: break-word;
-}
-
-/* Inline code elements */
-code {
- padding: 2px 4px;
- white-space: normal;
-}
-
-/* Blockquote */
-blockquote {
- border-left: 3px solid var(--accent-color);
- padding-left: 10px;
- margin: 20px 0;
- font-style: italic;
- color: var(--blockquote-color);
-}
-
-footer {
- margin-top: 40px;
- font-size: 0.6rem;
- text-align: center;
- color: var(--text-muted);
-}
-
-/* Tables */
-table {
- width: 100%;
- border-collapse: collapse;
- margin: 20px 0;
-}
-
-table,
-th,
-td {
- border: 1px solid var(--border-color);
-}
-
-th,
-td {
- padding: 10px;
- text-align: left;
-}
-
-/* Figures */
-figure {
- margin: 20px 0;
-}
-
-figcaption {
- font-size: 0.8rem;
- text-align: center;
- color: var(--figcaption-color);
- margin-top: 5px;
-}
-
-img {
- max-width: 100%;
- border-radius: 4px;
-}
-
-/* Inline elements */
-strong {
- font-weight: bold;
-}
-em {
- font-style: italic;
-}
-u {
- text-decoration: underline;
-}
-abbr,
-kbd,
-mark {
- font-size: 0.8rem;
- font-style: italic;
-}
-
-/* Progress bar */
-progress {
- width: 100%;
- height: 15px;
-}
-
-/* Details (accordion) */
-details {
- margin: 15px 0;
- padding: 10px;
- border: 1px solid var(--border-color);
- border-radius: 4px;
- background-color: var(--section-bg);
-}
-
-summary {
- cursor: pointer;
- font-weight: bold;
- padding: 5px;
-}
-
-/* Modals */
-dialog {
- border: 1px solid var(--dialog-border);
- padding: 20px;
- border-radius: 4px;
- max-width: 500px;
-}
-
-dialog::backdrop {
- background-color: var(--dialog-backdrop);
-}
-
-/* Section styling */
-section {
- margin: 20px 0;
- padding: 15px;
- border: 1px solid var(--border-color);
- background-color: var(--section-bg);
- border-radius: 4px;
-}
-
-/* Header styling */
-header {
- margin-bottom: 20px;
- padding: 10px 0;
- border-bottom: 2px solid var(--border-color);
- text-align: center;
-}
-
-/* Main content styling */
-main {
- width: 100%;
- padding: 20px;
- flex-grow: 1;
-}
-
-/* Horizontal rule */
-hr {
- border: 0;
- height: 1px;
- background: var(--border-color);
- margin: 20px 0;
-}
-
-/* Mobile adjustments */
-@media (max-width: 600px) {
- .container {
- padding: 15px;
- margin: 10px;
- }
-
- h1 {
- font-size: 1.8rem;
- }
-
- button {
- padding: 8px 16px;
- font-size: 0.8rem;
- }
-
- input[type="text"],
- input[type="email"],
- input[type="password"],
- textarea,
- select {
- font-size: 0.8rem;
- padding: 8px;
+@layer font {
+ :root {
+ /* Traditional point sizes for 16px font */
+ --pt-double-canon: 3.75rem; /*60px*/
+ --pt-canon: 3.25rem; /*52px*/
+ --pt-double-great-primer: 2.5rem; /*40px*/
+ --pt-double-english: 2rem; /*32px*/
+ --pt-double-pica: 1.75rem; /*28px*/
+ --pt-paragon: 1.5rem; /*24px*/
+ --pt-great-primer: 1.375rem; /*22px*/
+ --pt-english: 1.125rem; /*18px*/
+ --pt-pica: 1rem; /*16px*/
+ --pt-small-pica: 0.875rem; /*14px*/
+ --pt-long-primer: 0.75rem; /*12px*/
+ --pt-bourgeois: 0.625rem; /*10px*/
+ --pt-minion: 0.5rem; /*8px*/
}
}
-/* Links Section */
-.links-section {
- margin-top: 30px;
- text-align: center;
-}
-
-.links-section ul {
- list-style-type: none;
- padding: 0;
-}
-
-.links-section li {
- display: inline;
- margin-right: 15px;
-}
-
-.links-section a {
- color: var(--text-color);
- text-decoration: none;
- border-bottom: 1px solid;
-}
-
-.links-section a:hover {
- color: var(--link-hover);
-}
-
-/* Additional Styling for Install Section */
-.install-section {
- margin-top: 20px;
- text-align: left;
-}
-
-.install-section pre {
- background-color: var(--code-bg);
- border: 1px solid var(--border-color);
- padding: 10px;
- border-radius: 4px;
- font-size: 0.8rem;
- overflow-x: auto;
-}
-
-/* Definition Lists */
-dl {
- margin: 15px 0;
-}
-
-dt {
- font-weight: bold;
- margin-top: 10px;
-}
-
-dd {
- margin-left: 20px;
- color: var(--text-muted);
-}
-
-/* Article styling */
-article {
- margin: 25px 0;
- padding: 20px;
- background-color: var(--section-bg);
- border: 1px solid var(--border-color);
- border-radius: 4px;
-}
-
-/* Aside styling */
-aside {
- padding: 15px;
- margin: 15px 0;
- background-color: var(--aside-bg);
- border-left: 3px solid var(--aside-border);
- font-size: 0.9em;
-}
-
-/* Navigation enhancements */
-nav {
- padding: 10px 0;
- width: 100%;
-}
-
-nav ul {
- list-style: none;
- padding: 0;
- margin: 0;
- display: flex;
- gap: 20px;
- justify-content: center;
- flex-wrap: wrap;
- row-gap: 10px;
-}
-
-nav li {
- margin: 0;
- white-space: nowrap;
-}
-
-/* Mark styling */
-mark {
- background-color: var(--mark-bg);
- color: var(--mark-color);
-}
-
-/* Keyboard styling */
-kbd {
- background-color: var(--input-bg);
- border: 1px solid var(--border-color);
- box-shadow: 0 1px 0 var(--border-color);
- color: var(--text-color);
-}
-
-/* Time and small elements */
-time,
-small {
- color: var(--text-muted);
-}
-
-/* Address styling */
-address {
- font-style: normal;
- margin: 15px 0;
- padding: 10px;
- border-left: 2px solid var(--border-color);
-}
-
-/* Description list improvements */
-dl {
- display: grid;
- grid-template-columns: auto 1fr;
- gap: 10px 20px;
- align-items: start;
-}
-
-dt {
- grid-column: 1;
- font-weight: bold;
-}
-
-dd {
- grid-column: 2;
- margin: 0;
-}
-
-/* Form elements base styling */
-form {
- display: flex;
- flex-direction: column;
- gap: 20px;
- max-width: 600px;
- margin: 20px 0;
-}
-
-/* Fieldset styling */
-fieldset {
- border: 2px solid var(--border-color);
- padding: 20px;
- margin: 0;
- border-radius: 4px;
- background-color: var(--section-bg);
-}
-
-legend {
- font-weight: bold;
- padding: 0 10px;
- background-color: var(--accent-color);
- color: var(--bg-color);
- border-radius: 2px;
-}
-
-/* Label styling */
-label {
- display: block;
- margin-bottom: 5px;
- font-weight: bold;
- color: var(--text-color);
-}
-
-/* Checkbox and radio container */
-label:has(> input[type="checkbox"]),
-label:has(> input[type="radio"]) {
- display: flex;
- align-items: center;
- gap: 8px;
- margin: 8px 0;
- cursor: pointer;
-}
-
-/* Input fields */
-input[type="text"],
-input[type="email"],
-input[type="password"],
-input[type="search"],
-input[type="url"],
-input[type="tel"],
-input[type="number"],
-input[type="date"],
-input[type="time"],
-input[type="datetime-local"],
-textarea,
-select {
- width: 100%;
- padding: 8px 12px;
- margin: 4px 0 12px;
- border: 2px solid var(--border-color);
- border-radius: 4px;
- background-color: var(--input-bg);
- font-family: "Courier New", Courier, monospace;
- font-size: 1rem;
- transition:
- border-color 0.2s,
- box-shadow 0.2s;
-}
-
-/* Input focus states */
-input:focus,
-textarea:focus,
-select:focus {
- outline: none;
- border-color: var(--accent-color);
- box-shadow: 0 0 0 2px var(--shadow-color);
-}
-
-/* Checkbox and radio styling */
-input[type="checkbox"],
-input[type="radio"] {
- appearance: none;
- width: 18px;
- height: 18px;
- border: 2px solid var(--border-color);
- background-color: var(--input-bg);
- cursor: pointer;
- position: relative;
- vertical-align: middle;
-}
-
-input[type="checkbox"] {
- border-radius: 3px;
-}
-
-input[type="radio"] {
- border-radius: 50%;
-}
-
-/* Checkbox and radio checked states */
-input[type="checkbox"]:checked,
-input[type="radio"]:checked {
- background-color: var(--accent-color);
-}
-
-input[type="checkbox"]:checked::after {
- content: "✓";
- position: absolute;
- color: var(--checkbox-check-color);
- font-size: 0.8rem;
- left: 2px;
- top: -1px;
-}
-
-input[type="radio"]:checked::after {
- content: "";
- position: absolute;
- width: 8px;
- height: 8px;
- background-color: var(--radio-dot-color);
- border-radius: 50%;
- left: 3px;
- top: 3px;
-}
-
-/* Select styling */
-select {
- appearance: none;
- padding-right: 30px;
- background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' fill='%23333' viewBox='0 0 16 16'%3E%3Cpath d='M7.247 11.14L2.451 5.658C1.885 5.013 2.345 4 3.204 4h9.592a1 1 0 0 1 .753 1.659l-4.796 5.48a1 1 0 0 1-1.506 0z'/%3E%3C/svg%3E");
- background-repeat: no-repeat;
- background-position: calc(100% - 8px) center;
-}
-
-/* File input styling */
-input[type="file"] {
- border: 2px dashed var(--border-color);
- padding: 20px;
- text-align: center;
- cursor: pointer;
- background-color: var(--input-bg);
-}
-
-input[type="file"]::file-selector-button {
- background-color: var(--accent-color);
- color: var(--bg-color);
- padding: 8px 16px;
- border: none;
- border-radius: 4px;
- cursor: pointer;
- margin-right: 10px;
- font-family: inherit;
-}
-
-/* Range input styling */
-input[type="range"] {
- appearance: none;
- width: 100%;
- height: 6px;
- background-color: var(--border-color);
- border-radius: 3px;
- margin: 10px 0;
-}
-
-input[type="range"]::-webkit-slider-thumb {
- appearance: none;
- width: 18px;
- height: 18px;
- background-color: var(--accent-color);
- border: 2px solid var(--bg-color);
- border-radius: 50%;
- cursor: pointer;
-}
-
-/* Color input styling */
-input[type="color"] {
- width: 60px;
- height: 40px;
- padding: 2px;
- border: 2px solid var(--border-color);
- border-radius: 4px;
- cursor: pointer;
-}
-
-/* Textarea styling */
-textarea {
- min-height: 100px;
- resize: vertical;
- line-height: 1.5;
-}
-
-/* Form validation styling */
-input:invalid,
-textarea:invalid,
-select:invalid {
- border-color: var(--error-color);
-}
-
-/* Required field indicator */
-label.required::after {
- content: "*";
- color: var(--required-color);
- margin-left: 4px;
-}
-
-/* Disabled state */
-input:disabled,
-textarea:disabled,
-select:disabled,
-button:disabled {
- opacity: 0.6;
- cursor: not-allowed;
-}
-
-/* Button styling (submit, reset, etc.) */
-button,
-input[type="submit"],
-input[type="reset"] {
- padding: 10px 20px;
- background-color: var(--accent-color);
- color: var(--bg-color);
- border: 2px solid var(--accent-color);
- border-radius: 4px;
- cursor: pointer;
- font-family: inherit;
- font-size: 1rem;
- transition: all 0.2s;
-}
-
-button:hover,
-input[type="submit"]:hover,
-input[type="reset"]:hover {
- background-color: var(--text-color);
- border-color: var(--text-color);
- transform: translateY(-1px);
-}
-
-button:active,
-input[type="submit"]:active,
-input[type="reset"]:active {
- transform: translateY(1px);
-}
-
-/* Progress element styling */
-progress {
- width: 100%;
- height: 20px;
- border: 2px solid var(--border-color);
- border-radius: 4px;
- background-color: var(--input-bg);
-}
-
-progress::-webkit-progress-bar {
- background-color: var(--input-bg);
- border-radius: 2px;
-}
-
-progress::-webkit-progress-value {
- background-color: var(--accent-color);
- border-radius: 2px;
-}
-
-/* Mobile adjustments */
-@media (max-width: 600px) {
- fieldset {
- padding: 15px;
- }
-
- input[type="file"] {
- padding: 15px;
- }
-
- button,
- input[type="submit"],
- input[type="reset"] {
- width: 100%;
+@layer utilities {
+ .hidden {
+ display: none;
+ visibility: hidden;
}
}
-/* Base text size adjustments */
-p,
-label,
-li,
-td,
-th,
-input,
-select,
-textarea,
-button {
- font-size: 1rem;
-}
+@layer config {
+ :root {
+ /* Color */
+ --color-fg: oklch(1 0 0);
+ --color-mg: oklch(0.5 0 0);
+ --color-bg: oklch(0 0 0);
+ --color-accent: oklch(0.6 0.18 142.5);
+ --color-accent-bright: oklch(0.8 0.18 142.5);
+ --color-glow: oklch(0.8328 0 0);
+ --color-accent-transparent: oklch(0.6 0.18 142.5 / 50%);
-small,
-figcaption,
-time,
-.small-text {
- font-size: 0.8rem;
-}
+ /* Spacing */
+ --gutter-large: clamp(3ch, 2.5vmax, 3.75ch);
+ --stack-large: clamp(1.25ex, 2.5vmax, 1.75ex);
+ --gutter-small: clamp(0.5ch, 1vmax, 1ch);
+ --stack-small: clamp(0.25ex, 0.5vmax, 0.5ex);
+ --line-length: 75ch;
+ --page-max-inline-size: min(
+ var(--line-length),
+ 100dvi - var(--gutter-large) * 2
+ );
+ --page-padding-inline: calc((100dvi - var(--page-max-inline-size)) / 2);
-code,
-pre {
- font-size: 0.8rem;
-}
+ /* Typography */
+ --font: unscii16, "Courier New", monospace;
+ --font-alternative: unscii8, "Courier New", monospace;
+ --font-weight: 400;
+ --font-weight-semibold: 600;
+ --font-weight-bold: 900;
+ --font-size-min: 100%;
+ --font-size-max: 150%;
+ --font-size-clamp: clamp(
+ var(--font-size-min),
+ var(--font-size-min) * 0.9 + 0.5dvi,
+ var(--font-size-max)
+ );
+ --leading: 1.4;
-/* Form elements text color fix */
-input[type="text"],
-input[type="email"],
-input[type="password"],
-input[type="search"],
-input[type="url"],
-input[type="tel"],
-input[type="number"],
-input[type="date"],
-input[type="time"],
-input[type="datetime-local"],
-textarea,
-select {
- color: var(--text-color);
-}
+ /* Traditional point sizes for 12px font */
+ --pt-double-canon: 4.666rem; /*56px*/
+ --pt-canon: 3.999rem; /*48px*/
+ --pt-double-great-primer: 2.999rem; /*36px*/
+ --pt-double-english: 2.333rem; /*28px*/
+ --pt-double-pica: 2rem; /*24px*/
+ --pt-paragon: 1.666rem; /*20px*/
+ --pt-great-primer: 1.5rem; /*18px*/
+ --pt-english: 1.166rem; /*14px*/
+ --pt-pica: 1rem; /*12px*/
+ --pt-small-pica: 0.916rem; /*11px*/
+ --pt-long-primer: 0.833rem; /*10px*/
+ --pt-bourgeois: 0.75rem; /*9px*/
+ --pt-minion: 0.583rem; /*7px*/
-/* Placeholder text color */
-::placeholder {
- color: var(--blockquote-color);
- opacity: 0.7;
-}
-
-/* Select option text color */
-option {
- color: var(--text-color);
-}
-
-/* Mobile adjustments */
-@media (max-width: 600px) {
- p,
- label,
- li,
- td,
- th,
- input,
- select,
- textarea,
- button {
- font-size: 0.8rem;
+ font-size: var(--font-size-clamp);
+ font: -apple-system-body;
+ font-family: var(--font);
+ font-weight: var(--font-weight);
+ line-height: var(--leading);
+ color: var(--color-fg);
+ background-color: var(--color-bg);
+ accent-color: var(--color-accent);
+ color-scheme: dark light;
}
- small,
- figcaption,
- time,
- .small-text {
- font-size: 0.6rem;
+ @supports (font: -apple-system-body) and
+ (not (-webkit-touch-callout: default)) {
+ :root {
+ font-size: var(--font-size-clamp);
+ }
+ }
+
+ @media (prefers-color-scheme: light) {
+ :root {
+ --color-fg: #404040;
+ --color-bg: #f4f4f4;
+ --color-accent: crimson;
+ }
+ }
+
+ @media (prefers-contrast: more) {
+ :root {
+ --color-fg: white;
+ --color-bg: black;
+ --color-accent: cyan;
+ }
+ }
+
+ @media (prefers-color-scheme: light) and (prefers-contrast: more) {
+ :root {
+ --color-fg: black;
+ --color-bg: white;
+ --color-accent: firebrick;
+ }
}
}
-
-/* Theme toggle button */
-#theme-toggle {
- display: none;
-}
-
-/* Theme-specific variables */
-:root {
- /* Light theme (default) */
- --bg-color: #f4f4f4;
- --text-color: #333;
- --text-muted: #666;
- --text-light: #555;
- --link-color: #333;
- --link-hover: #000;
- --heading-color: #333;
- --blockquote-color: #666;
- --code-color: #333;
- --label-color: #333;
- --small-color: #666;
- --figcaption-color: #555;
- --time-color: #666;
- --border-color: #ddd;
- --hover-color: #f0f0f0;
- --input-bg: #fff;
- --section-bg: #fafafa;
- --code-bg: #f0f0f0;
- --shadow-color: rgba(0, 0, 0, 0.1);
- --accent-color: #333;
- --error-color: #d32f2f;
- --mark-bg: #fff3bf;
- --mark-color: #333;
- --intro-bg: var(--section-bg);
- --aside-bg: #f0f0f0;
- --aside-border: var(--accent-color);
- --dialog-border: var(--border-color);
- --dialog-backdrop: rgba(0, 0, 0, 0.3);
- --required-color: var(--error-color);
- --checkbox-check-color: var(--bg-color);
- --radio-dot-color: var(--bg-color);
- --kbd-bg: #f5f5f5;
- --kbd-border: #ccc;
- --kbd-shadow: rgba(0, 0, 0, 0.1);
- --progress-bg: #f0f0f0;
- --progress-value: var(--accent-color);
- --button-hover-bg: var(--hover-color);
- --button-active-shadow: rgba(0, 0, 0, 0.2);
- --file-button-hover: var(--hover-color);
- --range-thumb-bg: var(--accent-color);
- --range-track-bg: var(--border-color);
- --dropdown-shadow: rgba(0, 0, 0, 0.1);
-}
-
-/* Update dark theme variables */
-[data-theme="dark"] {
- --bg-color: #1a1a1a;
- --text-color: #f4f4f4;
- --text-muted: #ccc;
- --text-light: #ddd;
- --link-color: #f4f4f4;
- --link-hover: #fff;
- --heading-color: #f4f4f4;
- --blockquote-color: #ccc;
- --code-color: #f4f4f4;
- --label-color: #f4f4f4;
- --small-color: #ccc;
- --figcaption-color: #ccc;
- --time-color: #ccc;
- --border-color: #404040;
- --hover-color: #333;
- --input-bg: #262626;
- --section-bg: #262626;
- --code-bg: #333;
- --shadow-color: rgba(0, 0, 0, 0.3);
- --accent-color: #f4f4f4;
- --error-color: #ff5252;
- --mark-bg: #665c00;
- --mark-color: #f4f4f4;
- --intro-bg: #1a1a1a;
- --aside-bg: var(--section-bg);
- --aside-border: var(--accent-color);
- --dialog-border: var(--border-color);
- --dialog-backdrop: rgba(0, 0, 0, 0.5);
- --required-color: var(--error-color);
- --checkbox-check-color: var(--bg-color);
- --radio-dot-color: var(--bg-color);
- --kbd-bg: #333;
- --kbd-border: #444;
- --kbd-shadow: rgba(0, 0, 0, 0.2);
- --progress-bg: #333;
- --progress-value: var(--accent-color);
- --button-hover-bg: #444;
- --button-active-shadow: rgba(0, 0, 0, 0.4);
- --file-button-hover: #444;
- --range-thumb-bg: var(--accent-color);
- --range-track-bg: #444;
- --dropdown-shadow: rgba(0, 0, 0, 0.3);
-}
-
-/* Fix hardcoded colors */
-/* Remove these hardcoded colors */
-section {
- margin: 20px 0;
- padding: 15px;
- border: 1px solid var(--border-color);
- background-color: var(--section-bg);
-}
-
-header {
- margin-bottom: 20px;
- padding: 10px 0;
- border-bottom: 2px solid var(--border-color);
- text-align: center;
-}
-
-hr {
- border: 0;
- height: 1px;
- background: var(--border-color);
- margin: 20px 0;
-}
-
-fieldset {
- border: 2px solid var(--border-color);
- padding: 20px;
- margin: 0;
- border-radius: 4px;
- background-color: var(--section-bg);
-}
-
-legend {
- font-weight: bold;
- padding: 0 10px;
- background-color: var(--accent-color);
- color: var(--bg-color);
- border-radius: 2px;
-}
-
-label {
- color: var(--text-color);
-}
-
-address {
- border-left: 2px solid var(--border-color);
-}
-
-input[type="file"] {
- border: 2px dashed var(--border-color);
- background-color: var(--input-bg);
-}
-
-input[type="file"]::file-selector-button {
- background-color: var(--accent-color);
- color: var(--bg-color);
-}
-
-input[type="color"] {
- border: 2px solid var(--border-color);
-}
-
-/* Fix time and small elements */
-time,
-small {
- color: var(--text-muted);
-}
-
-/* Remove old theme toggle button styles */
-#theme-toggle {
- display: none;
-}
-
-/* Update links section */
-.links-section a {
- color: var(--text-color);
-}
-
-.links-section a:hover {
- color: var(--link-hover);
-}
-
-/* Fix install section */
-.install-section pre {
- background-color: var(--code-bg);
- border: 1px solid var(--border-color);
- padding: 10px;
- border-radius: 4px;
- font-size: 0.8rem;
- overflow-x: auto;
-}
-
-/* Update theme switcher dropdown styles */
-details.dropdown {
- position: absolute;
- top: 20px;
- right: 20px;
- z-index: 1000;
-}
-
-details.dropdown summary {
- padding: 8px 12px;
- cursor: pointer;
- border: 1px solid var(--border-color);
- border-radius: 4px;
- background-color: var(--section-bg);
- color: var(--text-color);
-}
-
-details.dropdown ul {
- position: absolute;
- right: 0;
- min-width: 120px;
- margin: 4px 0;
- padding: 0;
- background: var(--section-bg);
- border: 1px solid var(--border-color);
- border-radius: 4px;
- list-style: none;
- box-shadow: 0 2px 4px var(--shadow-color);
-}
-
-details.dropdown ul a {
- display: block;
- padding: 8px 12px;
- border: none;
- color: var(--text-color);
- text-decoration: none;
-}
-
-details.dropdown ul a:hover {
- background: var(--hover-color);
-}
-
-/* Update section styling for better dark mode contrast */
-section {
- margin: 20px 0;
- padding: 15px;
- border: 1px solid var(--border-color);
- background-color: var(--section-bg);
- border-radius: 4px;
-}
-
-/* Add specific styling for the introduction section */
-#introduction {
- margin: 20px 0;
- padding: 15px;
- border: 1px solid var(--border-color);
- background-color: var(--intro-bg) !important;
- border-radius: 4px;
- color: var(--text-color);
-}
-
-[data-theme="dark"] #introduction {
- background-color: var(--intro-bg) !important;
-}
-
-/* Update the aside within introduction */
-#introduction aside {
- background-color: var(--section-bg);
- padding: 15px;
- margin: 10px 0;
- border-left: 2px solid var(--accent-color);
- border-radius: 0 4px 4px 0;
-}
-
-/* Update kbd elements in introduction */
-#introduction kbd {
- background-color: var(--section-bg);
- border: 1px solid var(--border-color);
- border-radius: 3px;
- box-shadow: 0 1px 0 var(--border-color);
- color: var(--text-color);
- display: inline-block;
- font-size: 0.85em;
- padding: 2px 4px;
- margin: 0 2px;
-}
-
-/* Ensure proper contrast for strong elements */
-#introduction strong {
- color: var(--text-color);
-}
-
-/* Update blockquote styling */
-blockquote {
- border-left: 3px solid var(--accent-color);
- color: var(--blockquote-color);
- background-color: var(--section-bg);
-}
-
-/* Update code block styling */
-pre,
-code {
- background-color: var(--code-bg);
- border-color: var(--border-color);
- color: var(--code-color);
-}
-
-/* Update table styling */
-table {
- border-color: var(--border-color);
-}
-
-th,
-td {
- border-color: var(--border-color);
-}
-
-tr:nth-child(even) {
- background-color: var(--section-bg);
-}
-
-/* Update form elements */
-select option {
- background-color: var(--input-bg);
- color: var(--text-color);
-}
-
-input::placeholder {
- color: var(--text-muted);
-}
-
-/* Update focus states */
-input:focus,
-select:focus,
-textarea:focus {
- border-color: var(--accent-color);
- box-shadow: 0 0 0 2px var(--shadow-color);
-}
diff --git a/public/theme.css b/public/theme.css
new file mode 100644
index 0000000..1ea83b2
--- /dev/null
+++ b/public/theme.css
@@ -0,0 +1,401 @@
+h1.giga {
+ font-size: var(--pt-double-canon);
+}
+h1.mega {
+ font-size: var(--pt-canon);
+}
+h1 {
+ font-size: var(--pt-double-great-primer);
+}
+h2 {
+ font-size: var(--pt-double-english);
+}
+h3 {
+ font-size: var(--pt-double-pica);
+}
+h4 {
+ font-size: var(--pt-paragon);
+}
+h5 {
+ font-size: var(--pt-great-primer);
+}
+h6 {
+ font-size: var(--pt-english);
+}
+small {
+ font-size: var(--pt-small-pica);
+}
+small.micro {
+ font-size: var(--pt-long-primer);
+}
+small.nano {
+ font-size: var(--pt-bourgeois);
+}
+small.pico {
+ font-size: var(--pt-minion);
+}
+body {
+ background-color: var(--color-bg);
+ background-image: radial-gradient(
+ var(--color-accent-transparent),
+ black 120%
+ );
+ color: var(--color-fg);
+ column-gap: var(--gutter-large);
+ display: grid;
+ font-size: var(--pt-pica);
+ grid-template-rows: auto 1fr auto;
+ height: 100dvb;
+ left: 0;
+ overflow-x: hidden;
+ padding-inline: var(--page-padding-inline);
+ place-items: center;
+ position: absolute;
+ row-gap: var(--stack-large);
+ text-shadow: 0 0 5px var(--color-glow);
+ top: 0;
+ width: 100dvi;
+}
+body::after {
+ background: repeating-linear-gradient(
+ 0deg,
+ rgba(0, 0, 0, 0.25),
+ rgba(0, 0, 0, 0.25) 1px,
+ transparent 1px,
+ transparent 2px
+ );
+ content: "";
+ height: 100dvb;
+ left: 0;
+ pointer-events: none;
+ position: absolute;
+ top: 0;
+ width: 100dvi;
+}
+::selection {
+ background: var(--color-accent);
+ text-shadow: none;
+}
+header,
+main,
+footer {
+ width: 100%;
+}
+header,
+footer {
+ padding-block: var(--stack-large);
+ text-align: center;
+ a {
+ text-decoration: none;
+ }
+}
+nav {
+ padding-block: var(--stack-small);
+ padding-inline: var(--gutter-small);
+ width: 100%;
+}
+nav ul {
+ column-gap: var(--gutter-large);
+ display: flex;
+ flex-wrap: wrap;
+ justify-content: center;
+ list-style: none;
+ margin-block-start: 0;
+ row-gap: var(--stack-large);
+}
+nav li {
+ align-content: center;
+ white-space: nowrap;
+}
+.iconBox {
+ display: inline-block;
+ height: 19px;
+ width: 19px;
+}
+p,
+ul {
+ margin-block-end: var(--stack-large);
+ max-inline-size: var(--line-length);
+}
+form p {
+ margin-block-end: none;
+}
+a {
+ color: var(--color-fg);
+ margin: 0 -1ch;
+ padding: 0 1ch;
+ text-decoration: underline;
+ text-decoration-color: var(--color-glow);
+
+ &:hover::before {
+ color: var(--color-glow);
+ content: "[";
+ }
+ &:hover::after {
+ color: var(--color-glow);
+ content: "]";
+ }
+ &:hover {
+ color: var(--color-fg);
+ padding: 0;
+ text-decoration: none;
+ }
+}
+ul {
+ list-style-type: square;
+}
+fieldset {
+ border: 2px solid var(--color-fg);
+ padding-block: var(--stack-small);
+ padding-inline: var(--gutter-small);
+}
+label {
+ display: block;
+}
+label:has(> input[type="checkbox"]),
+label:has(> input[type="radio"]) {
+ align-items: center;
+ column-gap: var(--gutter-large);
+ display: flex;
+ margin-block: var(--stack-large);
+}
+/* TODO: use textarea-wrapper strategy to implement invisible inputs idea,
+but have the text-glow effect done on the ::after pseudo-element and hide
+the input when it isnt focused, and swap when focused */
+input[type="text"],
+input[type="email"],
+input[type="password"],
+input[type="search"],
+input[type="url"],
+input[type="tel"],
+input[type="number"],
+input[type="date"],
+input[type="time"],
+input[type="datetime-local"],
+textarea,
+.textarea-wrapper::after,
+select {
+ background-color: var(--color-bg);
+ border: 2px solid var(--color-accent);
+ padding-block: var(--stack-small);
+ padding-inline: var(--gutter-small);
+ transition:
+ border-color 0.5s,
+ box-shadow 0.5s;
+ width: 100%;
+}
+textarea,
+.textarea-wrapper::after {
+ grid-area: 1 / 1 / 2 / 2; /* Place on top of each other */
+ min-height: calc(2rlh + (var(--stack-small) * 2) - 2px);
+}
+.textarea-wrapper {
+ display: grid;
+}
+.textarea-wrapper::after {
+ content: attr(data-replicated-value) " "; /* Needed to preventy jumpy behavior */
+ visibility: hidden;
+ white-space: pre-wrap;
+}
+.textarea-wrapper > textarea {
+ overflow: hidden;
+ resize: none;
+}
+input:focus,
+textarea:focus,
+select:focus {
+ box-shadow: 0 0 5px var(--color-glow);
+ outline: none;
+}
+input:disabled,
+textarea:disabled,
+select:disabled,
+button:disabled,
+fieldset:disabled {
+ cursor: not-allowed;
+ opacity: 0.5;
+}
+button,
+input[type="submit"],
+input[type="reset"] {
+ background-color: var(--color-accent);
+ box-shadow: 0 0 2px var(--color-glow);
+ color: var(--color-bg);
+ margin-block: var(--stack-small);
+ padding-block: var(--stack-small);
+ padding-inline: var(--gutter-small);
+ transition: background-color 0.5s;
+ text-align: center;
+}
+
+button:hover:enabled,
+input[type="submit"]:hover:enabled,
+input[type="reset"]:hover:enabled {
+ background-color: var(--color-accent-bright);
+}
+button:active:enabled,
+input[type="submit"]:active:enabled,
+input[type="reset"]:active:enabled {
+ background-color: var(--color-accent-bright);
+}
+
+/*input[type="checkbox"],
+input[type="radio"] {
+ appearance: none;
+ background-color: var(--color-bg);
+ border: 2px solid var(--color-fg);
+ cursor: pointer;
+ height: var(--pt-english);
+ position: relative;
+ vertical-align: middle;
+ width: var(--pt-english);
+}
+
+input[type="checkbox"] {
+ border-radius: 3px;
+}
+
+input[type="radio"] {
+ border-radius: 50%;
+}
+
+input[type="checkbox"]:checked,
+input[type="radio"]:checked {
+ background-color: var(--color-accent);
+}
+
+input[type="checkbox"]:checked::after {
+ color: var(--color-accent);
+ content: "✓";
+ font-size: var(--pt-long-primer);
+ left: 2px;
+ position: absolute;
+ top: -1px;
+}
+
+input[type="radio"]:checked::after {
+ background-color: var(--color-accent);
+ border-radius: 50%;
+ content: "";
+ height: var(--pt-minion);
+ left: 3px;
+ position: absolute;
+ top: 3px;
+ width: var(--pt-minion);
+}
+
+select {
+ appearance: none;
+ background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' fill='%23333' viewBox='0 0 16 16'%3E%3Cpath d='M7.247 11.14L2.451 5.658C1.885 5.013 2.345 4 3.204 4h9.592a1 1 0 0 1 .753 1.659l-4.796 5.48a1 1 0 0 1-1.506 0z'/%3E%3C/svg%3E");
+ background-position: calc(100% - 8px) center;
+ background-repeat: no-repeat;
+ padding-block-end: var(--stack-small);
+}
+
+input[type="file"] {
+ background-color: var(--color-bg);
+ border: 2px dashed var(--color-fg);
+ cursor: pointer;
+ padding: 20px;
+ text-align: center;
+}
+
+input[type="file"]::file-selector-button {
+ background-color: var(--color-accent);
+ border: none;
+ border-radius: 4px;
+ color: var(--bg-color);
+ cursor: pointer;
+ font-family: inherit;
+ margin-right: 10px;
+ padding: 8px 16px;
+}
+
+input[type="range"] {
+ appearance: none;
+ background-color: var(--color-fg);
+ border-radius: 3px;
+ height: 6px;
+ margin: 10px 0;
+ width: 100%;
+}
+
+input[type="range"]::-webkit-slider-thumb {
+ appearance: none;
+ background-color: var(--color-accent);
+ border: 2px solid var(--bg-color);
+ border-radius: 50%;
+ cursor: pointer;
+ height: 18px;
+ width: 18px;
+}
+
+input[type="color"] {
+ border: 2px solid var(--color-fg);
+ border-radius: 4px;
+ cursor: pointer;
+ height: 40px;
+ padding: 2px;
+ width: 60px;
+}
+
+input:invalid,
+textarea:invalid,
+select:invalid {
+ border-color: var(--color-accent);
+}
+
+label.required::after {
+ color: var(--color-accent);
+ content: "*";
+ margin-left: 4px;
+}
+
+
+
+button,
+input[type="submit"],
+input[type="reset"] {
+ background-color: var(--color-accent);
+ border: 2px solid var(--color-accent);
+ border-radius: 4px;
+ color: var(--bg-color);
+ cursor: pointer;
+ font-family: inherit;
+ font-size: 1rem;
+ padding: 10px 20px;
+ transition: all 0.2s;
+}
+
+button:hover,
+input[type="submit"]:hover,
+input[type="reset"]:hover {
+ background-color: var(--color-fg);
+ border-color: var(--color-fg);
+ transform: translateY(-1px);
+}
+
+button:active,
+input[type="submit"]:active,
+input[type="reset"]:active {
+ transform: translateY(1px);
+}
+
+progress {
+ background-color: var(--color-bg);
+ border: 2px solid var(--color-fg);
+ border-radius: 4px;
+ height: 20px;
+ width: 100%;
+}
+
+progress::-webkit-progress-bar {
+ background-color: var(--color-bg);
+ border-radius: 2px;
+}
+
+progress::-webkit-progress-value {
+ background-color: var(--color-accent);
+ border-radius: 2px;
+}
+*/
diff --git a/public/unscii-16.ttf b/public/unscii-16.ttf
new file mode 100644
index 0000000..5344d60
Binary files /dev/null and b/public/unscii-16.ttf differ
diff --git a/public/unscii-16.woff b/public/unscii-16.woff
new file mode 100644
index 0000000..285b44d
Binary files /dev/null and b/public/unscii-16.woff differ
diff --git a/public/unscii-8.ttf b/public/unscii-8.ttf
new file mode 100644
index 0000000..cc2772a
Binary files /dev/null and b/public/unscii-8.ttf differ
diff --git a/public/unscii-8.woff b/public/unscii-8.woff
new file mode 100644
index 0000000..4234594
Binary files /dev/null and b/public/unscii-8.woff differ
diff --git a/src/layouts/BaseLayout.astro b/src/layouts/BaseLayout.astro
index e948d0d..00efd45 100644
--- a/src/layouts/BaseLayout.astro
+++ b/src/layouts/BaseLayout.astro
@@ -3,9 +3,14 @@
+
+
+
+
+
-
+
-
-
-
+ badblocks.dev