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 – <xsl:value-of select="/rss/channel/title"/> + + + + + +
+

+

+

+ + + + + + +

+
+
+

Recent Posts

+ + + +
+ + +
+
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

+

badblocks.dev