diff --git a/config/_default/module.toml b/config/_default/module.toml
index bb0e5ed..e25cfe1 100644
--- a/config/_default/module.toml
+++ b/config/_default/module.toml
@@ -2,4 +2,5 @@
extended = true
min = "0.87.0"
[[imports]]
-path = "github.com/jpanther/congo/v2"
\ No newline at end of file
+# path = "github.com/jpanther/congo/v2"
+path = "congo-146_fix"
\ No newline at end of file
diff --git a/themes/congo-146_fix/.github/FUNDING.yml b/themes/congo-146_fix/.github/FUNDING.yml
new file mode 100644
index 0000000..819db0c
--- /dev/null
+++ b/themes/congo-146_fix/.github/FUNDING.yml
@@ -0,0 +1 @@
+github: jpanther
diff --git a/themes/congo-146_fix/.github/ISSUE_TEMPLATE/bug-report.yml b/themes/congo-146_fix/.github/ISSUE_TEMPLATE/bug-report.yml
new file mode 100644
index 0000000..0cd76ef
--- /dev/null
+++ b/themes/congo-146_fix/.github/ISSUE_TEMPLATE/bug-report.yml
@@ -0,0 +1,62 @@
+name: 🐛 Bug Report
+description: Report a new problem encountered using the theme
+labels: [bug]
+body:
+ - type: markdown
+ attributes:
+ value: |
+ Thanks for taking the time to fill out this bug report!
+
+ Before proceeding, please ensure the issue you're reporting is:
+ - not caused by local customisations in your project
+ - reproducible using the latest stable release of the theme
+ - not due to the local Hugo cache being out of date (run `hugo mod clean` to clear the cache)
+ - not already covered by an open issue ([check open issues](https://github.com/jpanther/congo/issues))
+ - not a general question or feature request (use [GitHub Discussions](https://github.com/jpanther/congo/discussions) instead)
+
+ - type: textarea
+ id: issue-description
+ attributes:
+ label: Issue description
+ description: Describe the issue and how to reproduce it, including what you expected to happen. Be as detailed as possible, particularly if the issue only appears under a specific configuration.
+ validations:
+ required: true
+ - type: input
+ id: theme-version
+ attributes:
+ label: Theme version
+ description: What version of Congo are you using? An easy way to check the version of the code running in your environment is by verifying the theme version comment at the top of the `main.css` file in the built output of your site.
+ placeholder: eg. v2.7.1
+ validations:
+ required: true
+ - type: input
+ id: hugo-version
+ attributes:
+ label: Hugo version
+ description: What version of Hugo are you using? Please provide the output of the `hugo version` command.
+ placeholder: eg. hugo v0.119.0+extended darwin/arm64
+ validations:
+ required: true
+ - type: dropdown
+ id: browsers
+ attributes:
+ label: Which browser rendering engines are you seeing the problem on?
+ description: Select any that you have tested. This is particularly important for CSS issue reports.
+ multiple: true
+ options:
+ - Chromium (Google Chrome, Microsoft Edge, Brave, Vivaldi, Opera, etc.)
+ - Firefox (Mozilla Firefox)
+ - WebKit (Safari)
+ - Other (Please include details in the issue description)
+ - type: input
+ id: sample-url
+ attributes:
+ label: URL to sample repository or website
+ description: If you have a repository or deployed Hugo website that demonstrates this issue, please provide the URL.
+ placeholder: https://github.com/jpanther/congo
+ - type: textarea
+ id: logs
+ attributes:
+ label: Hugo output or build error messages
+ description: Please copy and paste any relevant log output from Hugo or your build system. This will be automatically formatted into code, so no need for backticks.
+ render: bash
diff --git a/themes/congo-146_fix/.github/ISSUE_TEMPLATE/config.yml b/themes/congo-146_fix/.github/ISSUE_TEMPLATE/config.yml
new file mode 100644
index 0000000..2c5ac2b
--- /dev/null
+++ b/themes/congo-146_fix/.github/ISSUE_TEMPLATE/config.yml
@@ -0,0 +1,8 @@
+blank_issues_enabled: true
+contact_links:
+ - name: 💡 Feature Request
+ url: https://github.com/jpanther/congo/discussions
+ about: Request and discuss enhancements using GitHub Discussions
+ - name: 🙋♀️ Question
+ url: https://github.com/jpanther/congo/discussions
+ about: Please ask and answer general questions using GitHub Discussions
diff --git a/themes/congo-146_fix/.github/ISSUE_TEMPLATE/i18n-issue.yml b/themes/congo-146_fix/.github/ISSUE_TEMPLATE/i18n-issue.yml
new file mode 100644
index 0000000..1a4dd5e
--- /dev/null
+++ b/themes/congo-146_fix/.github/ISSUE_TEMPLATE/i18n-issue.yml
@@ -0,0 +1,45 @@
+name: 💬 i18n Issue
+description: Report an issue with i18n or translations
+labels: [i18n]
+body:
+ - type: markdown
+ attributes:
+ value: |
+ Thanks for taking the time to fill out this issue report!
+ - type: input
+ id: language
+ attributes:
+ label: Language
+ description: Which language are you using?
+ placeholder: eg. English
+ validations:
+ required: true
+ - type: textarea
+ id: issue
+ attributes:
+ label: What's the issue?
+ description: Describe the translation issue and how to reproduce it.
+ validations:
+ required: true
+ - type: input
+ id: theme-version
+ attributes:
+ label: Theme version
+ description: What version of the theme are you using?
+ placeholder: eg. v1.1.0
+ validations:
+ required: true
+ - type: input
+ id: hugo-version
+ attributes:
+ label: Hugo version
+ description: What version of Hugo are you using?
+ placeholder: eg. v0.86.1
+ validations:
+ required: true
+ - type: textarea
+ id: logs
+ attributes:
+ label: Relevant Hugo log output
+ description: Please copy and paste any relevant Hugo log output. This will be automatically formatted into code, so no need for backticks.
+ render: shell
diff --git a/themes/congo-146_fix/.github/dependabot.yml b/themes/congo-146_fix/.github/dependabot.yml
new file mode 100644
index 0000000..3d12432
--- /dev/null
+++ b/themes/congo-146_fix/.github/dependabot.yml
@@ -0,0 +1,26 @@
+# GitHub Dependabot
+# https://docs.github.com/github/administering-a-repository/configuration-options-for-dependency-updates
+
+version: 2
+updates:
+ - package-ecosystem: "npm"
+ directory: "/"
+ schedule:
+ interval: "daily"
+ time: "09:00"
+ timezone: "Australia/Melbourne"
+ commit-message:
+ prefix: "📌"
+ labels:
+ - "dependencies"
+ - package-ecosystem: "github-actions"
+ directory: "/"
+ schedule:
+ interval: "weekly"
+ day: "sunday"
+ time: "09:00"
+ timezone: "Australia/Melbourne"
+ commit-message:
+ prefix: "👷"
+ labels:
+ - "dependencies"
diff --git a/themes/congo-146_fix/.github/labeller.yml b/themes/congo-146_fix/.github/labeller.yml
new file mode 100644
index 0000000..9e9e6ea
--- /dev/null
+++ b/themes/congo-146_fix/.github/labeller.yml
@@ -0,0 +1,7 @@
+i18n:
+ - changed-files:
+ - any-glob-to-any-file: i18n/*
+
+documentation:
+ - changed-files:
+ - any-glob-to-any-file: "**/*.md"
diff --git a/themes/congo-146_fix/.github/pull_request_template.md b/themes/congo-146_fix/.github/pull_request_template.md
new file mode 100644
index 0000000..95dc0ad
--- /dev/null
+++ b/themes/congo-146_fix/.github/pull_request_template.md
@@ -0,0 +1,2 @@
+
+
diff --git a/themes/congo-146_fix/.github/workflows/build-theme.yml b/themes/congo-146_fix/.github/workflows/build-theme.yml
new file mode 100644
index 0000000..7416c23
--- /dev/null
+++ b/themes/congo-146_fix/.github/workflows/build-theme.yml
@@ -0,0 +1,54 @@
+name: Build Theme
+
+on: [pull_request_target]
+
+jobs:
+ build:
+ runs-on: ubuntu-latest
+ if: ${{ github.actor == 'dependabot[bot]' }}
+ steps:
+ - name: Checkout
+ uses: actions/checkout@v4
+ with:
+ ref: "${{ github.head_ref }}"
+ - name: Install dependencies and Build Theme
+ uses: actions/setup-node@v4
+ - run: npm install
+ - run: npm run assets
+ - name: Commit and push Chart.js changes
+ uses: stefanzweifel/git-auto-commit-action@v5
+ with:
+ branch: "${{ github.head_ref }}"
+ push_options: "--dry-run"
+ file_pattern: "assets/lib/chart/*"
+ commit_message: "📦 Update packaged ChartJS"
+ - name: Commit Fuse changes
+ uses: stefanzweifel/git-auto-commit-action@v5
+ with:
+ branch: "${{ github.head_ref }}"
+ push_options: "--dry-run"
+ file_pattern: "assets/lib/fuse/*"
+ commit_message: "📦 Update packaged FuseJS"
+ - name: Commit KaTeX changes
+ uses: stefanzweifel/git-auto-commit-action@v5
+ with:
+ branch: "${{ github.head_ref }}"
+ push_options: "--dry-run"
+ file_pattern: "assets/lib/katex/*"
+ commit_message: "📦 Update packaged KaTeX"
+ - name: Commit Mermaid changes
+ uses: stefanzweifel/git-auto-commit-action@v5
+ with:
+ branch: "${{ github.head_ref }}"
+ push_options: "--dry-run"
+ file_pattern: "assets/lib/mermaid/*"
+ commit_message: "📦 Update packaged Mermaid"
+ - run: npm run build
+ - name: Commit CSS changes
+ uses: stefanzweifel/git-auto-commit-action@v5
+ with:
+ branch: "${{ github.head_ref }}"
+ push_options: "--dry-run"
+ file_pattern: "assets/css/compiled/main.css"
+ commit_message: "💄 Rebuild CSS"
+ - run: git push
diff --git a/themes/congo-146_fix/.github/workflows/gh-pages.yml b/themes/congo-146_fix/.github/workflows/gh-pages.yml
new file mode 100644
index 0000000..181655b
--- /dev/null
+++ b/themes/congo-146_fix/.github/workflows/gh-pages.yml
@@ -0,0 +1,37 @@
+name: GitHub Pages
+
+on:
+ push:
+ branches:
+ - stable
+
+jobs:
+ build-deploy:
+ name: Build and Deploy
+ runs-on: ubuntu-latest
+ concurrency:
+ group: ${{ github.workflow }}-${{ github.ref }}
+ steps:
+ - name: Checkout
+ uses: actions/checkout@v4
+ with:
+ submodules: true
+ fetch-depth: 0
+
+ - name: Setup Hugo
+ uses: peaceiris/actions-hugo@v3
+ with:
+ hugo-version: "latest"
+ extended: true
+
+ - name: Build
+ working-directory: ./exampleSite
+ run: hugo --minify --themesDir ../.. --buildDrafts --baseURL https://jpanther.github.io/congo/
+
+ - name: Deploy
+ uses: peaceiris/actions-gh-pages@v4
+ if: ${{ github.ref == 'refs/heads/stable' }}
+ with:
+ github_token: ${{ secrets.GITHUB_TOKEN }}
+ publish_branch: gh-pages
+ publish_dir: ./exampleSite/public
diff --git a/themes/congo-146_fix/.github/workflows/label.yml b/themes/congo-146_fix/.github/workflows/label.yml
new file mode 100644
index 0000000..c52986c
--- /dev/null
+++ b/themes/congo-146_fix/.github/workflows/label.yml
@@ -0,0 +1,18 @@
+name: Labeller
+
+on: [pull_request_target]
+
+jobs:
+ label:
+ name: Label
+ runs-on: ubuntu-latest
+ permissions:
+ contents: read
+ pull-requests: write
+
+ steps:
+ - name: Label
+ uses: actions/labeler@v5
+ with:
+ repo-token: "${{ secrets.GITHUB_TOKEN }}"
+ configuration-path: .github/labeller.yml
diff --git a/themes/congo-146_fix/.github/workflows/stale.yml b/themes/congo-146_fix/.github/workflows/stale.yml
new file mode 100644
index 0000000..dd62e33
--- /dev/null
+++ b/themes/congo-146_fix/.github/workflows/stale.yml
@@ -0,0 +1,32 @@
+name: "Close stale issues and PRs"
+on:
+ schedule:
+ - cron: "30 1 * * *"
+
+jobs:
+ stale:
+ runs-on: ubuntu-latest
+ permissions:
+ issues: write
+ pull-requests: write
+ steps:
+ - uses: actions/stale@v9
+ with:
+ days-before-stale: 120
+ days-before-close: 30
+ stale-issue-label: "stale"
+ exempt-issue-labels: "wip,help wanted,dependencies"
+ stale-pr-label: "stale"
+ exempt-pr-labels: "wip,help wanted,dependencies"
+ stale-issue-message: >
+ This issue has been automatically marked as stale because it has not had any recent activity.
+
+ If you are still experiencing this issue, please review the issue history and add a reply with any requested and/or additional information in order to keep the issue open.
+
+ This issue will automatically close in 30 days if no further activity occurs.
+ stale-pr-message: >
+ This pull request has been automatically marked as stale because it has not had any recent activity.
+
+ Please review the PR history and add a reply with any requested information. If no information has been requested, it may be that this contribution does not fit with the project objectives, or does not adhere to the [contributing guidelines](https://github.com/jpanther/congo/blob/dev/CONTRIBUTING.md). If this is in error, please add a reply with further details.
+
+ This PR will automatically close in 30 days if no further activity occurs.
diff --git a/themes/congo-146_fix/.github/workflows/test-build.yml b/themes/congo-146_fix/.github/workflows/test-build.yml
new file mode 100644
index 0000000..5636cf6
--- /dev/null
+++ b/themes/congo-146_fix/.github/workflows/test-build.yml
@@ -0,0 +1,26 @@
+name: Test Build
+
+on: [push]
+
+jobs:
+ build:
+ name: Build Example Site
+ runs-on: ubuntu-latest
+ concurrency:
+ group: ${{ github.workflow }}-${{ github.ref }}
+ steps:
+ - name: Checkout
+ uses: actions/checkout@v4
+ with:
+ submodules: true
+ fetch-depth: 0
+
+ - name: Setup Hugo
+ uses: peaceiris/actions-hugo@v3
+ with:
+ hugo-version: "latest"
+ extended: true
+
+ - name: Build
+ working-directory: ./exampleSite
+ run: hugo --minify --themesDir ../.. --baseURL https://jpanther.github.io/congo/
diff --git a/themes/congo-146_fix/.github/workflows/unlabel.yml b/themes/congo-146_fix/.github/workflows/unlabel.yml
new file mode 100644
index 0000000..94a64e5
--- /dev/null
+++ b/themes/congo-146_fix/.github/workflows/unlabel.yml
@@ -0,0 +1,16 @@
+name: Unlabeller
+
+on:
+ issues:
+ types: [closed]
+ pull_request:
+ types: [closed]
+
+jobs:
+ unlabel:
+ runs-on: ubuntu-latest
+ steps:
+ - name: Remove labels
+ uses: andymckay/labeler@master
+ with:
+ remove-labels: "wip"
diff --git a/themes/congo-146_fix/.gitignore b/themes/congo-146_fix/.gitignore
new file mode 100644
index 0000000..935cec0
--- /dev/null
+++ b/themes/congo-146_fix/.gitignore
@@ -0,0 +1,23 @@
+### Node ###
+# Dependency directories
+node_modules/
+
+### Hugo ###
+# Generated files by hugo
+**/public/
+**/resources/_gen/
+
+# Executable may be added to repository
+hugo.exe
+hugo.darwin
+hugo.linux
+
+# Temporary lock file while building
+.hugo_build.lock
+
+### Congo ###
+# Lighthouse generated output
+.lighthouseci
+
+# Project specific files
+TODO
diff --git a/themes/congo-146_fix/.prettierignore b/themes/congo-146_fix/.prettierignore
new file mode 100644
index 0000000..406fd48
--- /dev/null
+++ b/themes/congo-146_fix/.prettierignore
@@ -0,0 +1,9 @@
+/assets/css/compiled/
+/assets/lib/
+
+/layouts/_default/_markup/*.html
+/layouts/partials/picture.html
+/layouts/shortcodes/congo-figure.html
+/layouts/shortcodes/screenshot.html
+
+/exampleSite/content/docs/version-2/lighthouse.html
diff --git a/themes/congo-146_fix/.prettierrc b/themes/congo-146_fix/.prettierrc
new file mode 100644
index 0000000..7b975db
--- /dev/null
+++ b/themes/congo-146_fix/.prettierrc
@@ -0,0 +1,18 @@
+{
+ "plugins": ["prettier-plugin-go-template", "prettier-plugin-tailwindcss"],
+ "goTemplateBracketSpacing": true,
+ "htmlWhitespaceSensitivity": "css",
+ "printWidth": 100,
+ "singleQuote": false,
+ "tabWidth": 2,
+ "useTabs": false,
+ "trailingComma": "es5",
+ "overrides": [
+ {
+ "files": ["*.html", "layouts/_default/*.json"],
+ "options": {
+ "parser": "go-template"
+ }
+ }
+ ]
+}
diff --git a/themes/congo-146_fix/CHANGELOG.md b/themes/congo-146_fix/CHANGELOG.md
new file mode 100644
index 0000000..6a61160
--- /dev/null
+++ b/themes/congo-146_fix/CHANGELOG.md
@@ -0,0 +1,1017 @@
+# Changelog
+
+All notable changes to Congo will be documented in this file. Things that need particular attention when upgrading from a prior version are marked ⚠️.
+
+The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/), and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
+
+## [Unreleased]
+
+### [3.0.0] - 2025-04-xx
+
+- ⚠️ Required Hugo version is now 0.146.0 or later
+- ⚠️ `figure` shortcode renamed to `congo-figure` to align with evolving practices as hugo matures. See upstream [thread](https://discourse.gohugo.io/t/conditional-overloading-of-an-embedded-shortcode-post-0-146-0/54481/3), [issue](https://github.com/gohugoio/hugo/issues/13553#issuecomment-2819173746)
+
+### Fixed
+
+- Shortcodes placed after code blocks with line numbers are rendered with incorrect spacing ([#987](https://github.com/jpanther/congo/issues/987))
+
+## [2.11.0] - 2025-02-24
+
+### Added
+
+- New `gist` shortcode as the built-in Hugo version has been deprecated
+- Support for article sharing to Bluesky ([#1022](https://github.com/jpanther/congo/pull/1022))
+- New icon for `kofi` ([#976](https://github.com/jpanther/congo/pull/976))
+- Privacy and Services params in bundled `hugo.toml` to provide sensible defaults for built-in Hugo shortcodes
+
+### Changed
+
+- Renamed `config.toml` to `hugo.toml` to align with the default Hugo naming convention
+- Reduced file sizes of default favicons ([#983](https://github.com/jpanther/congo/pull/983))
+- Upgrade to KaTeX v0.16.21 ([#977](https://github.com/jpanther/congo/pull/977), [#1016](https://github.com/jpanther/congo/pull/1016))
+- Upgrade to Tailwind v3.4.17 ([#979](https://github.com/jpanther/congo/pull/979))
+- Upgrade to Typography v0.5.16 ([#991](https://github.com/jpanther/congo/pull/991))
+- Upgrade to ChartJS v4.4.8 ([#1019](https://github.com/jpanther/congo/pull/1019))
+- Upgrade to FuseJS v7.1.0 ([#1020](https://github.com/jpanther/congo/pull/1020))
+
+### Fixed
+
+- Incorrect links generated for translated content when site is in multi-host mode ([#990](https://github.com/jpanther/congo/pull/990))
+- Profile partial does not generate WebP versions of the author image ([#993](https://github.com/jpanther/congo/issues/993))
+- Vendor script includes do not use the `fingerprintAlgorithm` site parameter ([#1015](https://github.com/jpanther/congo/issues/1015))
+- Minor documentation errors and omissions ([#985](https://github.com/jpanther/congo/pull/985), [#1005](https://github.com/jpanther/congo/pull/1005), [#1007](https://github.com/jpanther/congo/pull/1007), [#1012](https://github.com/jpanther/congo/pull/1012))
+- References to deprecated `twitter` shortcodes and replaced them with `x`
+
+## [2.10.0] - 2024-12-06
+
+### Changed
+
+- ⚠️ Required Hugo version is now 0.128.0 or later
+- Adopted new `hugo.IsMultilingual` parameter ([#921](https://github.com/jpanther/congo/pull/921))
+- Adopted new `pagination.pagerSize` config parameter ([#945](https://github.com/jpanther/congo/issues/945))
+- Upgrade to Tailwind v3.4.16 ([#934](https://github.com/jpanther/congo/pull/934), [#947](https://github.com/jpanther/congo/pull/947), [#954](https://github.com/jpanther/congo/pull/954), [#973](https://github.com/jpanther/congo/pull/973))
+- Upgrade to Mermaid v11.4.1 ([#931](https://github.com/jpanther/congo/pull/931), [#946](https://github.com/jpanther/congo/pull/946), [#957](https://github.com/jpanther/congo/pull/957), [#971](https://github.com/jpanther/congo/pull/971))
+- Upgrade to ChartJS v4.4.7 ([#953](https://github.com/jpanther/congo/pull/953), [#972](https://github.com/jpanther/congo/pull/972))
+- Updated Traditional Chinese translation ([#949](https://github.com/jpanther/congo/pull/949))
+- Updated Bulgarian translation ([#963](https://github.com/jpanther/congo/pull/963))
+
+### Fixed
+
+- Example site not building due to an issue in the `zh-Hans` translated content ([#944](https://github.com/jpanther/congo/issues/944))
+- Bluesky icon not picking up theme colour ([#955](https://github.com/jpanther/congo/issues/955))
+
+## [2.9.0] - 2024-08-29
+
+### Added
+
+- New `profile` shortcode
+- Umami Analytics support ([#832](https://github.com/jpanther/congo/pull/832))
+- Theme parameter to set a default HTML theme colour ([#849](https://github.com/jpanther/congo/pull/849))
+- New icon for `bluesky` ([#851](https://github.com/jpanther/congo/pull/851))
+- Support for article sharing to Threads ([#869](https://github.com/jpanther/congo/issues/869))
+- Norwegian Bokmål translation ([#872](https://github.com/jpanther/congo/pull/872))
+- Breadcrumb metadata to page schema ([#885](https://github.com/jpanther/congo/pull/885))
+
+### Changed
+
+- ⚠️ Simplified Chinese language code has changed from `zh-cn` to `zh-Hans`
+- ⚠️ Traditional Chinese language code has changed from `zh-tw` to `zh-Hant`
+- Scroll to top links now use JavaScript to determine when to display ([#806](https://github.com/jpanther/congo/pull/806))
+- Upgrade to Tailwind v3.4.10 ([#930](https://github.com/jpanther/congo/pull/930))
+- Upgrade to Typography v0.5.15 ([#864](https://github.com/jpanther/congo/pull/864), [#927](https://github.com/jpanther/congo/pull/927))
+- Upgrade to ChartJS v4.4.4 ([#881](https://github.com/jpanther/congo/pull/881),[#928](https://github.com/jpanther/congo/pull/928))
+- Upgrade to KaTeX v0.16.11 ([#925](https://github.com/jpanther/congo/pull/925))
+- Upgrade to Mermaid v11.0.2 ([#880](https://github.com/jpanther/congo/pull/880), [#926](https://github.com/jpanther/congo/pull/926))
+
+### Fixed
+
+- Featured images overlap page title when article metadata hidden ([#827](https://github.com/jpanther/congo/issues/827))
+- Inconsistent picture rendering between `figure` shortcode and Markdown render hook ([#828](https://github.com/jpanther/congo/issues/828))
+- Animated GIF files are static when `enableImageWebp` is enabled ([#866](https://github.com/jpanther/congo/issues/866))
+- Next article pagination link animation is inverted ([#870](https://github.com/jpanther/congo/issues/870))
+- Unsafe URL warning in README link ([#901](https://github.com/jpanther/congo/pull/901))
+
+## [2.8.2] - 2024-04-17
+
+### Added
+
+- Tamil translation ([#830](https://github.com/jpanther/congo/pull/830))
+- Vietnamese translation ([#845](https://github.com/jpanther/congo/pull/845))
+- Swedish translation ([#852](https://github.com/jpanther/congo/pull/852))
+
+### Changed
+
+- Upgrade to KaTeX v0.16.10 ([#839](https://github.com/jpanther/congo/pull/839))
+- Upgrade to Typography v0.5.12 ([#841](https://github.com/jpanther/congo/pull/841), [#860](https://github.com/jpanther/congo/pull/860))
+- Upgrade to Tailwind v3.4.3 ([#843](https://github.com/jpanther/congo/pull/843))
+
+### Fixed
+
+- Background color inconsistent on mobile when dark mode enabled ([#796](https://github.com/jpanther/congo/issues/796))
+
+## [2.8.1] - 2024-03-09
+
+### Changed
+
+- Upgrade to ChartJS v4.4.2 ([#817](https://github.com/jpanther/congo/pull/817))
+- Upgrade to Mermaid v10.9.0 ([#825](https://github.com/jpanther/congo/pull/825))
+
+### Fixed
+
+- Table of Contents missing left border detail ([#794](https://github.com/jpanther/congo/issues/794))
+- `x-twitter` option missing when using sharing links ([#809](https://github.com/jpanther/congo/issues/809))
+- Chinese default config contains incorrect `author` block name ([#807](https://github.com/jpanther/congo/pull/807))
+- Links in articles are prefixed with a blank space ([#813](https://github.com/jpanther/congo/pull/813))
+- HTML tables would not fill the container width on desktop ([#826](https://github.com/jpanther/congo/issues/826))
+
+## [2.8.0] - 2024-01-22
+
+### Added
+
+- Quicklink support ([#646](https://github.com/jpanther/congo/pull/646))
+- Automatic support for WebP images ([#693](https://github.com/jpanther/congo/pull/693))
+- Warning when building if links to Markdown files cannot be resolved ([#691](https://github.com/jpanther/congo/pull/691))
+- Ability to share articles to Telegram and Line ([#719](https://github.com/jpanther/congo/pull/719))
+- New icons for `line`, `google-scholar`, `mendeley` and `weibo` ([#719](https://github.com/jpanther/congo/pull/719), [#755](https://github.com/jpanther/congo/pull/755), [#756](https://github.com/jpanther/congo/pull/756))
+- Weibo sharing links ([#756](https://github.com/jpanther/congo/pull/756))
+- Support for Tailwind '950' colour variants ([#751](https://github.com/jpanther/congo/pull/751))
+- Table of contents will now scroll if taller than the browser height ([#733](https://github.com/jpanther/congo/pull/733))
+- External URL article stubs now auto-redirect if leaf pages are generated ([#778](https://github.com/jpanther/congo/pull/778))
+- Korean translation ([#731](https://github.com/jpanther/congo/pull/731))
+- Chinese translation of Example site and Docs ([#776](https://github.com/jpanther/congo/pull/776))
+
+### Changed
+
+- ⚠️ Hugo extended version is now required when building sites
+- ⚠️ Author params block in language configuration has been moved to `params.author` ([#704](https://github.com/jpanther/congo/pull/704))
+- Refactored image logic into a new `picture.html` partial ([#693](https://github.com/jpanther/congo/pull/693))
+- Upgrade to ChartJS v4.4.1 ([#736](https://github.com/jpanther/congo/pull/736))
+- Upgrade to Tailwind v3.4.1 ([#737](https://github.com/jpanther/congo/pull/737), [#752](https://github.com/jpanther/congo/pull/752), [#759](https://github.com/jpanther/congo/pull/759), [#774](https://github.com/jpanther/congo/pull/774))
+- Upgrade to Mermaid v10.7.0 ([#782](https://github.com/jpanther/congo/pull/782))
+- Updated Japanese translation ([#750](https://github.com/jpanther/congo/pull/750))
+
+### Fixed
+
+- Hamburger menu is not dismissed when links are clicked ([#705](https://github.com/jpanther/congo/pull/705))
+- KaTeX, table and code elements wider than the page are not formatted correctly ([#753](https://github.com/jpanther/congo/pull/753))
+- 'ß' character is output at the top of articles ([#764](https://github.com/jpanther/congo/pull/764))
+- Article metadata element is output when there is no metadata to display ([#786](https://github.com/jpanther/congo/pull/786))
+- Header elements not vertically centered when using locale switcher ([#788](https://github.com/jpanther/congo/pull/788))
+
+### Removed
+
+- Fathom Analytics custom domain parameter, as this is no longer supported by Fathom
+
+## [2.7.6] - 2023-11-26
+
+### Fixed
+
+- Some Mermaid diagram elements not styled correctly in dark mode ([#706](https://github.com/jpanther/congo/issues/706))
+
+## [2.7.5] - 2023-11-25
+
+### Added
+
+- Ukrainian translation ([#703](https://github.com/jpanther/congo/pull/703))
+- Bulgarian translation ([#718](https://github.com/jpanther/congo/pull/718))
+
+### Changed
+
+- Updated Dutch translation ([#696](https://github.com/jpanther/congo/pull/696))
+- Upgrade to Mermaid v10.6.1 ([#697](https://github.com/jpanther/congo/pull/697))
+
+### Fixed
+
+- Some files have unnecessary execute permissions ([#714](https://github.com/jpanther/congo/pull/714))
+- Empty block is output when locale switcher is hidden ([#699](https://github.com/jpanther/congo/pull/699))
+
+## [2.7.4] - 2023-11-05
+
+### Fixed
+
+- Links with non-whitespace characters preceding them are prefixed with a space ([#695](https://github.com/jpanther/congo/issues/695))
+
+## [2.7.3] - 2023-10-31
+
+### Fixed
+
+- Article metadata HTML is output as text when using Hugo v0.120.0 ([#689](https://github.com/jpanther/congo/pull/689))
+
+## [2.7.2] - 2023-10-26
+
+### Changed
+
+- Upgrade to Tailwind v3.3.5 ([#681](https://github.com/jpanther/congo/pull/681), [#686](https://github.com/jpanther/congo/pull/686))
+- Upgrade to Mermaid v10.6.0 ([#684](https://github.com/jpanther/congo/pull/684))
+- Upgrade to FuseJS v7.0.0 ([#685](https://github.com/jpanther/congo/pull/685))
+
+### Fixed
+
+- Empty block is output when locale switcher is hidden ([#678](https://github.com/jpanther/congo/issues/678))
+- Extra whitespace added after links ([#679](https://github.com/jpanther/congo/issues/679))
+
+## [2.7.1] - 2023-10-24
+
+### Changed
+
+- Minor refactor to improve memory efficiency in search results ([#650](https://github.com/jpanther/congo/pull/650))
+- Links in Markdown content are now portable ([#655](https://github.com/jpanther/congo/pull/655))
+
+### Fixed
+
+- JavaScript error setting theme colour when site is loaded in dark mode ([#676](https://github.com/jpanther/congo/issues/676))
+
+## [2.7.0] - 2023-10-23
+
+### Added
+
+- New portable locale picker that can be placed in any menu using the `locale` action ([#583](https://github.com/jpanther/congo/issues/583))
+- New icons for `chevron-down`, `chevron-up`, `globe`, `translate`, `coffee` and `x-twitter` ([#669](https://github.com/jpanther/congo/pull/669))
+- Plausible Analytics support ([#584](https://github.com/jpanther/congo/pull/584))
+- Spanish translation of example site samples ([#606](https://github.com/jpanther/congo/pull/606))
+- Japanese translation of docs and example site ([#618](https://github.com/jpanther/congo/pull/618))
+- German translation of example site ([#631](https://github.com/jpanther/congo/pull/631))
+
+### Changed
+
+- ⚠️ Renamed the `params.rtl` language parameter to `languageDirection` as this is now supported by Hugo ([#583](https://github.com/jpanther/congo/issues/583))
+- Robots.txt file now allows all by default without concern for whether the environment is set to production ([#620](https://github.com/jpanther/congo/pull/620))
+- Refactored the `head.html` partial to improve perceived performance on page load
+- Upgrade to Mermaid v10.5.1 ([#577](https://github.com/jpanther/congo/pull/577), [#582](https://github.com/jpanther/congo/pull/582), [#626](https://github.com/jpanther/congo/pull/626), [#638](https://github.com/jpanther/congo/pull/638), [#663](https://github.com/jpanther/congo/pull/663), [#674](https://github.com/jpanther/congo/pull/674))
+- Upgrade to KaTeX v0.16.9 ([#590](https://github.com/jpanther/congo/pull/590), [#664](https://github.com/jpanther/congo/pull/664))
+- Upgrade to Tailwind v3.3.3 ([#602](https://github.com/jpanther/congo/pull/602))
+- Upgrade to ChartJS v4.3.3 ([#616](https://github.com/jpanther/congo/pull/616), [#627](https://github.com/jpanther/congo/pull/627), [#635](https://github.com/jpanther/congo/pull/635))
+- Upgrade to Typography v0.5.10 ([#641](https://github.com/jpanther/congo/pull/641))
+
+### Fixed
+
+- Prominent images in content and site layout are lazy loaded ([#591](https://github.com/jpanther/congo/issues/591))
+- TypeError is output to console when viewing leaf pages ([#596](https://github.com/jpanther/congo/issues/596))
+- URL to Congo project in footer used deprecated git.io short link ([#605](https://github.com/jpanther/congo/issues/605))
+- Various typos in the docs and example site ([#608](https://github.com/jpanther/congo/pull/608), [#609](https://github.com/jpanther/congo/pull/609), [#613](https://github.com/jpanther/congo/pull/613))
+- Incorrect `render` value is used in the 'external' archetype ([#630](https://github.com/jpanther/congo/pull/630))
+- Images are missing `width` and `height` attributes ([#645](https://github.com/jpanther/congo/pull/645))
+- Extended head partial does not include page context ([#658](https://github.com/jpanther/congo/pull/658))
+- Taxonomy tags aren't padded when wrapping onto a new line ([#671](https://github.com/jpanther/congo/pull/671))
+- Minor CSS improvements, mainly relating to RTL styling
+- Minor typos
+
+### Removed
+
+- Locales no longer appear next to the site name/logo as they are now part of the menu system ([#583](https://github.com/jpanther/congo/issues/583))
+- Language parameters `isoCode` and `displayName` are no longer supported ([#583](https://github.com/jpanther/congo/issues/583))
+- Meta `content-language` tag as it was not conveying the intended data (which is already included via the HTML `lang` attribute)
+
+## [2.6.1] - 2023-06-04
+
+### Changed
+
+- Images are now marked for lazy loading by default ([#552](https://github.com/jpanther/congo/pull/552))
+- Current language is no longer displayed in language selection ([#565](https://github.com/jpanther/congo/issues/565))
+- Updated Simplified Chinese (China) translation ([#573](https://github.com/jpanther/congo/pull/573))
+
+### Fixed
+
+- Language selection repeats current language on multilingual sites instead of linking to translated content ([#565](https://github.com/jpanther/congo/issues/565))
+- Icon padding inconsistent when using `--minify` option to build site ([#568](https://github.com/jpanther/congo/pull/568))
+- Copyright string in the language configuration does not apply ([#572](https://github.com/jpanther/congo/issues/572))
+- Upgrade to Mermaid v10.2.1 ([#569](https://github.com/jpanther/congo/pull/569))
+
+## [2.6.0] - 2023-05-25
+
+### Added
+
+- Support for Hugo v0.112.0
+- Ability to specify an alternate logo image when dark appearance is active ([#533](https://github.com/jpanther/congo/pull/533), [#543](https://github.com/jpanther/congo/pull/543))
+- Ability to specify the hashing algorithm that is used when fingerprinting assets ([#478](https://github.com/jpanther/congo/issues/478))
+- Arabic translation ([#521](https://github.com/jpanther/congo/pull/521))
+- Slovak translation ([#541](https://github.com/jpanther/congo/pull/541))
+- Czech translation ([#541](https://github.com/jpanther/congo/pull/541))
+
+### Changed
+
+- ⚠️ Some parameters in the root of the Languages config file have been nested under the `params` block
+- Search results now respect `showDate` value when displaying article metadata ([#511](https://github.com/jpanther/congo/pull/511))
+- Adopted new Tailwind logical properties for RTL styling
+- Article sharing links now open in a new tab/window
+- Updated Dutch translation ([#544](https://github.com/jpanther/congo/pull/544))
+- Upgrade to Tailwind v3.3.1 ([#523](https://github.com/jpanther/congo/pull/523))
+- Upgrade to KaTeX v0.16.7 ([#538](https://github.com/jpanther/congo/pull/538), [#549](https://github.com/jpanther/congo/pull/549))
+- Upgrade to Chart.js v4.3.0 ([#551](https://github.com/jpanther/congo/pull/551))
+- Upgrade to Mermaid v10.2.0 ([#563](https://github.com/jpanther/congo/pull/563))
+
+### Fixed
+
+- Some `srcset` values are broken when using Hugo `--minify` option ([#508](https://github.com/jpanther/congo/pull/508))
+- Author images are cropped off-centre during image processing ([#527](https://github.com/jpanther/congo/pull/527))
+- Site doesn't build when using Hugo v0.112.0 ([#561](https://github.com/jpanther/congo/pull/561))
+
+## [2.5.4] - 2023-03-20
+
+### Added
+
+- Polish translation ([#497](https://github.com/jpanther/congo/pull/497))
+
+### Changed
+
+- Updated Russian translation ([#502](https://github.com/jpanther/congo/pull/502))
+
+### Fixed
+
+- Bengali translation prevents site building in certain configurations ([#503](https://github.com/jpanther/congo/issues/503))
+
+## [2.5.3] - 2023-03-05
+
+### Added
+
+- Russian translation ([#485](https://github.com/jpanther/congo/pull/485))
+
+### Changed
+
+- Updated German translation ([#475](https://github.com/jpanther/congo/pull/475))
+- Upgrade to Chart.js v4.2.1 ([#472](https://github.com/jpanther/congo/pull/472))
+- Upgrade to Mermaid v9.4.0 ([#473](https://github.com/jpanther/congo/pull/473))
+- Upgrade to Tailwind v3.2.7 ([#491](https://github.com/jpanther/congo/pull/491))
+
+### Fixed
+
+- Caching the analytics partial prevents some advanced analytics use cases ([#480](https://github.com/jpanther/congo/issues/480))
+
+## [2.5.2] - 2023-01-24
+
+### Added
+
+- New icons for `mobile` and `phone`
+
+### Fixed
+
+- Author links containing URLs in non-hypertext schemes (ie. `tel:`) would not be created as links ([#452](https://github.com/jpanther/congo/pull/452))
+- Extra whitespace inserted after links within Markdown content ([#456](https://github.com/jpanther/congo/pull/456))
+
+## [2.5.1] - 2023-01-20
+
+### Changed
+
+- External links are now automatically appended with `rel="noreferrer noopener"` ([#446](https://github.com/jpanther/congo/pull/446))
+- Updated Traditional Chinese (Taiwan) translation ([#448](https://github.com/jpanther/congo/pull/448))
+- Upgrade to Chart.js v4.2.0 ([#449](https://github.com/jpanther/congo/pull/449))
+
+### Fixed
+
+- Page alignment off-centre when opening hamburger menu at wide viewports ([#445](https://github.com/jpanther/congo/issues/445))
+
+## [2.5.0] - 2023-01-17
+
+### Added
+
+- Support for icons in menus including support for links styled as an icon by itself or an icon with text
+- Search and appearance switcher links can now be fully customised and positioned anywhere in the menu
+- Front matter support for specifying article thumbnails, covers and featured image details (including filename pattern, alt text and caption)
+- Two new colour schemes - `cherry` and `sapphire`
+- Support for SVG assets as article thumbnails, covers and featured images
+- Front matter keywords support on a per article basis
+- Indonesian translation ([#398](https://github.com/jpanther/congo/pull/398))
+- Mastodon sharing links ([#405](https://github.com/jpanther/congo/pull/405))
+- `homepage.recentLimit` parameter to adjust the maximum number of recent items listed on the homepage ([#411](https://github.com/jpanther/congo/pull/411))
+
+### Changed
+
+- Images smaller than the article width are no longer resized to fill the content area and will now simply align centre ([#394](https://github.com/jpanther/congo/pull/394))
+- Upgrade to KaTeX v0.16.4 ([#414](https://github.com/jpanther/congo/pull/414))
+- Upgrade to Mermaid v9.3.0 ([#419](https://github.com/jpanther/congo/pull/419))
+- Upgrade to Chart.js v4.1.2 ([#420](https://github.com/jpanther/congo/pull/420), [#434](https://github.com/jpanther/congo/pull/434))
+- Upgrade to Typography v0.5.9 ([#437](https://github.com/jpanther/congo/pull/437))
+
+### Fixed
+
+- `mainSections` parameter is language dependent and is not referenced from `params.toml` ([#376](https://github.com/jpanther/congo/pull/376))
+- Code highlight background cut off in Google Chrome when overflowing content area ([#383](https://github.com/jpanther/congo/pull/383))
+- Social icons shift position during CSS transition when hovered in Safari ([#396](https://github.com/jpanther/congo/pull/396))
+- Hamburger navigation menu is misaligned in mobile browsers ([#399](https://github.com/jpanther/congo/pull/399))
+- Error when attempting to resize SVG assets in page bundles ([#427](https://github.com/jpanther/congo/pull/427))
+- Appearance switcher missing `aria-label` ([#438](https://github.com/jpanther/congo/pull/438))
+- Article links missing `alt` text and `aria-label` ([#439](https://github.com/jpanther/congo/pull/439))
+- Line height in article tag list would cause overlap when wrapping to a new line ([#444](https://github.com/jpanther/congo/pull/444))
+- Figure shortcode would not apply `class` or `href` attributes in some cases
+- Charts displaying with incorrect theme colours
+
+## [2.4.2] - 2022-11-22
+
+### Added
+
+- Dutch translation ([#371](https://github.com/jpanther/congo/pull/371))
+- HTML `theme-color` meta tag to adjust browser colours according to the active Congo colour scheme ([#379](https://github.com/jpanther/congo/pull/379))
+
+### Changed
+
+- Extended head and footer partials are no longer cached during builds
+- Upgrade to Chart.js v4.0.1 ([#373](https://github.com/jpanther/congo/pull/373))
+
+### Fixed
+
+- Code highlight background cut off when overflowing content area ([#374](https://github.com/jpanther/congo/issues/374))
+- 'Description' HTML meta tag not set from article description ([#378](https://github.com/jpanther/congo/issues/378))
+
+## [2.4.1] - 2022-11-14
+
+### Changed
+
+- Upgrade to Tailwind v3.2.4 ([#368](https://github.com/jpanther/congo/pull/368))
+
+### Fixed
+
+- List page doesn't render nested list pages ([#365](https://github.com/jpanther/congo/issues/365))
+- Pagination is duplicated on term pages ([#366](https://github.com/jpanther/congo/issues/366))
+- Link to last pagination page sometimes displays twice
+- Recent articles would sometimes display less than five articles
+
+## [2.4.0] - 2022-11-10
+
+### Added
+
+- Support for article thumbnails, covers and featured images
+- Hybrid header layout that switches between the hamburger and basic menus at appropriate viewport sizes
+- Traditional Chinese (Taiwan) translation ([#262](https://github.com/jpanther/congo/pull/262))
+- New `list.paginationWidth` parameter to specify how many pagination links are generated before they are truncated
+- Site title display can be toggled on or off independently, allowing for it to be displayed alongside the site logo or removed entirely
+- Tailwind plugin for Prettier to standardise the order of CSS classes ([#268](https://github.com/jpanther/congo/pull/268))
+- External links in article content will now open in a new browser tab ([#312](https://github.com/jpanther/congo/pull/312))
+- Independent control over the display of taxonomy listings on article and list pages ([#326](https://github.com/jpanther/congo/pull/326))
+- Button shortcode now supports an optional `download` parameter to instruct browsers to directly download resources rather than navigate to a URL ([#349](https://github.com/jpanther/congo/pull/349))
+- Minor style and layout improvements
+
+### Changed
+
+- ⚠️ The `logo` parameter has moved under the `header` group and is now set using `header.logo`
+- ⚠️ Simplified Chinese (China) language code has changed from `zh` to `zh-cn`
+- Site logo is now in its own `logo.html` partial to allow it to be easily overridden ([#322](https://github.com/jpanther/congo/pull/322))
+- Upgrade to Chart.js v3.9.1 ([#261](https://github.com/jpanther/congo/pull/261))
+- Upgrade to Tailwind v3.2.2 ([#265](https://github.com/jpanther/congo/pull/265), [#333](https://github.com/jpanther/congo/pull/333), [#352](https://github.com/jpanther/congo/pull/352))
+- Upgrade to Mermaid v9.2.2 ([#272](https://github.com/jpanther/congo/pull/272), [#279](https://github.com/jpanther/congo/pull/279), [#296](https://github.com/jpanther/congo/pull/296), [#339](https://github.com/jpanther/congo/pull/339), [#360](https://github.com/jpanther/congo/pull/360))
+- Upgrade to KaTeX v0.16.3 ([#284](https://github.com/jpanther/congo/pull/284), [#334](https://github.com/jpanther/congo/pull/334))
+- Upgrade to Typography v0.5.8 ([#287](https://github.com/jpanther/congo/pull/287), [#292](https://github.com/jpanther/congo/pull/292), [#353](https://github.com/jpanther/congo/pull/353))
+
+### Fixed
+
+- Appearance switcher title doesn't update when switching appearance ([#235](https://github.com/jpanther/congo/issues/235))
+- Article updated date logic doesn't consider formatted date values ([#259](https://github.com/jpanther/congo/issues/259))
+- Error calling Paginate when attempting to generate a site with no taxonomies ([#289](https://github.com/jpanther/congo/issues/289))
+- Multilingual links are spaced incorrectly when using Hugo minify ([#298](https://github.com/jpanther/congo/issues/298))
+- Pagination links overflow the page area on large datasets ([#299](https://github.com/jpanther/congo/issues/299))
+- Embedded content disappears when displayed at certain viewport sizes ([#302](https://github.com/jpanther/congo/issues/302), [#335](https://github.com/jpanther/congo/issues/335))
+- Order of articles on list pages would not follow Hugo conventions when grouped by year ([#313](https://github.com/jpanther/congo/issues/313))
+- Button shortcode overlaps table of contents when at the top of the article content ([#337](https://github.com/jpanther/congo/issues/337))
+- Providing a `colorScheme` value containing uppercase characters breaks some deployments ([#347](https://github.com/jpanther/congo/issues/347))
+
+## [2.3.1] - 2022-07-30
+
+### Added
+
+- Japanese translation ([#234](https://github.com/jpanther/congo/pull/234))
+
+### Changed
+
+- Upgrade to Mermaid v9.1.3 ([#233](https://github.com/jpanther/congo/pull/233))
+- Upgrade to Tailwind v3.1.6 ([#245](https://github.com/jpanther/congo/pull/245))
+- Upgrade to Typography v0.5.4 ([#246](https://github.com/jpanther/congo/pull/246))
+- Upgrade to Chart.js v3.8.2 ([#247](https://github.com/jpanther/congo/pull/247))
+
+### Fixed
+
+- Main content misaligned when hamburger menu is opened at large viewport sizes
+
+## [2.3.0] - 2022-06-27
+
+### Added
+
+- Header layouts for selecting a preferred header style
+- Hamburger menu header layout with popover main menu ([#167](https://github.com/jpanther/congo/discussions/167), [#88](https://github.com/jpanther/congo/discussions/88), [#43](https://github.com/jpanther/congo/discussions/43), [#29](https://github.com/jpanther/congo/discussions/29))
+- Front matter support for showing or hiding comments on a per article basis ([#207](https://github.com/jpanther/congo/discussions/207))
+- `showCopyright` and `showThemeAttribution` parameters that allow more control over how the site footer is displayed ([#192](https://github.com/jpanther/congo/discussions/192))
+- `bars` SVG icon
+
+### Changed
+
+- ⚠️ Footer configuration parameters are now in their own `footer` sub-group
+- Search will now return results for all page types, including lists and taxonomies
+- Comments partials are now better considered within the page layout
+- Reduced whitespace at the top of the main content block ([#226](https://github.com/jpanther/congo/discussions/226))
+- Upgrade to Tailwind v3.1.4 ([#225](https://github.com/jpanther/congo/pull/225))
+
+### Fixed
+
+- Hugo v0.101.0 breaks the link to the homepage ([#230](https://github.com/jpanther/congo/issues/230))
+- Search link does not appear in header if main menu has no items to display
+- Search only returns results in the primary language when multiple languages are available ([#229](https://github.com/jpanther/congo/issues/229))
+- Arrow on external article links not aligned correctly when title wraps onto multiple lines
+- Arrow on external article links points the wrong direction for RTL languages
+- Scroll to top misaligned with the footer at small viewport heights
+- Link to homepage would be incorrect in some deployments if `baseURL` contained sub-directories in the path
+
+## [2.2.3] - 2022-06-22
+
+### Changed
+
+- Profile image alt text now uses author name when available
+
+### Fixed
+
+- Search not working when `baseURL` does not end with a forward slash ([#224](https://github.com/jpanther/congo/pull/224))
+- Author `headline` parameter not correctly displaying Markdown or Emoji content
+
+## [2.2.2] - 2022-06-16
+
+### Added
+
+- Breadcrumb display can now be can now be specified in front matter for articles and list pages
+- Italian translation ([#209](https://github.com/jpanther/congo/pull/209))
+
+### Changed
+
+- Upgrade to Chart.js v3.8.0 ([#204](https://github.com/jpanther/congo/pull/204))
+- Upgrade to KaTeX v0.16.0 ([#208](https://github.com/jpanther/congo/pull/208))
+- Upgrade to Mermaid v9.1.2 ([#214](https://github.com/jpanther/congo/pull/214))
+
+## [2.2.1] - 2022-05-25
+
+### Changed
+
+- Upgrade to Mermaid v9.1.1 ([#194](https://github.com/jpanther/congo/pull/194))
+- Upgrade to Fuse.js v6.6.2 ([#195](https://github.com/jpanther/congo/pull/195))
+- Upgrade KaTeX to v0.15.6 ([#202](https://github.com/jpanther/congo/pull/202))
+
+### Fixed
+
+- Main content area doesn't grow to window height ([#201](https://github.com/jpanther/congo/issues/201))
+
+## [2.2.0] - 2022-05-09
+
+### Added
+
+- Finnish translation ([#185](https://github.com/jpanther/congo/pull/185))
+
+### Changed
+
+- Updated French translation ([#178](https://github.com/jpanther/congo/pull/178))
+- Analytics partial now checks `hugo.IsProduction` instead of `.Site.IsServer` before including scripts ([#179](https://github.com/jpanther/congo/issues/179))
+- Upgrade to Tailwind v3.0.24 ([#176](https://github.com/jpanther/congo/pull/176))
+- Upgrade to Mermaid v9.0.1 ([#183](https://github.com/jpanther/congo/pull/183))
+- Upgrade to Fuse.js v6.6.1 ([#189](https://github.com/jpanther/congo/pull/189))
+
+### Fixed
+
+- Code blocks are rendered incorrectly in RTL languages ([#164](https://github.com/jpanther/congo/issues/164))
+- Scroll to top link overlaps footer menu on mobile devices when there are several links ([#172](https://github.com/jpanther/congo/issues/172))
+
+### Removed
+
+- `hugo.Generator` from HTML `
` so that the [default Hugo generator behaviour](https://gohugo.io/getting-started/configuration/#disablehugogeneratorinject) works as expected ([#179](https://github.com/jpanther/congo/issues/179))
+
+## [2.1.3] - 2022-04-12
+
+### Added
+
+- Hungarian translation ([#170](https://github.com/jpanther/congo/pull/170))
+
+### Fixed
+
+- Scroll to top link overlaps footer menu on mobile devices ([#172](https://github.com/jpanther/congo/issues/172))
+
+## [2.1.2] - 2022-04-08
+
+### Added
+
+- Romanian translation ([#168](https://github.com/jpanther/congo/pull/168))
+
+### Changed
+
+- Upgrade to Mermaid v9.0.0
+
+## [2.1.1] - 2022-04-03
+
+### Added
+
+- Print styles to hide unnecessary elements when printing ([#155](https://github.com/jpanther/congo/pull/155))
+- Hebrew translation ([#163](https://github.com/jpanther/congo/pull/163))
+
+### Fixed
+
+- Footer menu displays incorrectly in RTL languages ([#165](https://github.com/jpanther/congo/pull/165))
+
+## [2.1.0] - 2022-03-14
+
+### Added
+
+- Simple page layout for creating full-width content ([#139](https://github.com/jpanther/congo/issues/139))
+- Portuguese (Portugal) translation ([#144](https://github.com/jpanther/congo/pull/144))
+
+### Changed
+
+- Upgrade SVG icons to FontAwesome 6:
+ - New icons for Hashnode, bug, check, comment, light bulb, list, pencil, skull, tag, and information. ([#136](https://github.com/jpanther/congo/discussions/136))
+ - ⚠️ The `exclamation-triangle` icon has been renamed `triangle-exclamation`
+ - ⚠️ The `times` icon has been renamed `xmark`
+ - ⚠️ The `stackoverflow` icon has been renamed `stack-overflow`
+- Upgrade KaTeX to v0.15.3
+- Markdown images and `figure` shortcode now search the `assets/` directory if an image cannot be found in page bundle ([#126](https://github.com/jpanther/congo/issues/126))
+- Markdown images and `figure` shortcode now fallback to static assets if an image is not provided as a Hugo resource ([#126](https://github.com/jpanther/congo/issues/126))
+- Taxonomy term listings now honour the `groupByYear` parameter ([#145](https://github.com/jpanther/congo/pull/145))
+- The `alert` shortcode now allows its icon to be specified as a parameter
+
+### Fixed
+
+- Dark appearance shown even when default appearance set to light and auto switching is disabled ([#149](https://github.com/jpanther/congo/issues/149))
+
+## [2.0.5] - 2022-02-20
+
+### Added
+
+- Bengali translation ([#115](https://github.com/jpanther/congo/pull/115))
+
+### Changed
+
+- Upgrade to Tailwind v3.0.23 and Typography v0.5.2
+- Upgrade to Mermaid v8.14.0
+- Upgrade to Chart.js v3.7.1
+
+### Fixed
+
+- Updated date is displayed even when it is the same as published date
+- Structured data on homepage unparsable by Google ([#113](https://github.com/jpanther/congo/issues/113))
+- Underline styles not displaying correctly in some browsers ([#125](https://github.com/jpanther/congo/issues/125))
+
+## [2.0.4] - 2022-02-09
+
+### Changed
+
+- Updated German translation ([#110](https://github.com/jpanther/congo/pull/110))
+- Upgrade to Tailwind v3.0.19
+
+### Fixed
+
+- Main content area not growing to fill screen vertically
+- Search results not cleared when search is dismissed ([#109](https://github.com/jpanther/congo/pull/109))
+- Emoji strings not displaying in search results
+
+## [2.0.3] - 2022-02-07
+
+### Changed
+
+- Updated Turkish translation ([#105](https://github.com/jpanther/congo/pull/105))
+- Updated Spanish translation ([#106](https://github.com/jpanther/congo/pull/106))
+
+### Fixed
+
+- Markdown images and `figure` shortcode fail to load resource when providing an external URL source
+- HTML `figcaption` tags are output for Markdown images even when a caption is not provided
+- Light appearance briefly appears on page load before switching to dark appearance ([#102](https://github.com/jpanther/congo/issues/102))
+
+## [2.0.2] - 2022-02-05
+
+### Changed
+
+- Updated French translation ([#100](https://github.com/jpanther/congo/pull/100))
+
+### Fixed
+
+- User's appearance preference is lost on page load when default appearance is dark ([#102](https://github.com/jpanther/congo/issues/102))
+- JavaScript warning when appearance switcher is disabled
+
+## [2.0.1] - 2022-02-03
+
+### Fixed
+
+- Hugo module error when downloading version 2
+- Emoji strings not displaying in table of contents
+
+## [2.0.0] - 2022-02-03
+
+### Added
+
+- Multilingual support
+- Right-to-left (RTL) language support
+- Site search powered by Fuse.js
+- Automatic Markdown image resizing and srcset generation
+- Performance and Accessibility improvements to achieve perfect Lighthouse scores
+- Tables of contents on article pages ([#47](https://github.com/jpanther/congo/discussions/47))
+- Code copy buttons in article content
+- Taxonomy and term listings now support Markdown content
+- Taxonomies on article and list pages
+- Article pagination direction can be inverted
+- Author `headline` parameter
+- Skip to content and Scroll to top links
+- Archetype for generating links to external articles
+
+### Changed
+
+- ⚠️ Required Hugo version is now 0.87.0 or later
+- ⚠️ Complete rewrite of dark mode to allow more flexibile configuration
+- ⚠️ All theme images are now Hugo assets
+- ⚠️ Overhauled `figure` shortcode which now resizes images
+- Upgrade to Tailwind v3.0.18
+- Inline JavaScript moved to external files
+- Improved JSON-LD structured data
+- Breadcrumbs now fallback to section name when `title` is not provided
+- Minor style and layout improvements
+
+## [1.6.4] - 2022-01-24
+
+### Added
+
+- Turkish translation ([#90](https://github.com/jpanther/congo/pull/90))
+
+### Changed
+
+- Article updated date formatting and i18n ([#91](https://github.com/jpanther/congo/pull/91))
+- Upgrade to Mermaid v8.13.10
+
+### Fixed
+
+- Article metadata not wrapping at small viewports ([#91](https://github.com/jpanther/congo/pull/91))
+
+## [1.6.3] - 2022-01-19
+
+### Added
+
+- Icon for Stack Overflow ([#82](https://github.com/jpanther/congo/pull/82))
+
+### Changed
+
+- Upgrade to Mermaid v8.13.9
+- Upgrade to KaTeX v0.15.2
+
+### Fixed
+
+- Emoji characters in article titles not appearing on list pages and in HTML metadata ([#84](https://github.com/jpanther/congo/pull/84))
+
+## [1.6.2] - 2022-01-07
+
+### Changed
+
+- Upgrade to Chart.js v3.7.0
+- Upgrade to Mermaid v8.13.8
+
+### Fixed
+
+- `lead` shortcode not rendering Markdown formatted text ([#73](https://github.com/jpanther/congo/issues/73))
+- JSON-LD keywords data not structured correctly ([#74](https://github.com/jpanther/congo/issues/74))
+
+## [1.6.1] - 2021-12-31
+
+### Added
+
+- Icon for Blogger ([#71](https://github.com/jpanther/congo/pull/71))
+
+### Fixed
+
+- Error when building using older Hugo versions ([#65](https://github.com/jpanther/congo/pull/65))
+- Error when serving sites using blogdown ([#66](https://github.com/jpanther/congo/pull/66))
+
+## [1.6.0] - 2021-12-21
+
+### Added
+
+- Article word counts ([#57](https://github.com/jpanther/congo/pull/57))
+- Last updated dates on articles
+- Icons for Amazon, Apple, Flickr, Google, Kickstarter, Microsoft, Patreon, Telegram, Tumblr and WhatsApp
+
+### Changed
+
+- Adjusted contrast of some items to improve accessibility
+- Upgrade to Chart.js v3.6.2
+- Upgrade to Mermaid v8.13.6
+
+### Fixed
+
+- Missing ARIA descriptions and alt tags on some images and links
+
+## [1.5.3] - 2021-11-18
+
+### Changed
+
+- Updated Chinese translation ([#32](https://github.com/jpanther/congo/pull/32))
+
+### Fixed
+
+- Article pagination uses date of current article ([#32](https://github.com/jpanther/congo/pull/32))
+
+## [1.5.2] - 2021-11-10
+
+### Added
+
+- German translation ([#27](https://github.com/jpanther/congo/pull/27))
+- Portuguese (Brazil) translation ([#28](https://github.com/jpanther/congo/pull/28))
+- Spanish translation ([#30](https://github.com/jpanther/congo/pull/30))
+
+### Fixed
+
+- Article pagination link spacing ([#26](https://github.com/jpanther/congo/pull/26))
+- Minor icon style issues
+
+## [1.5.1] - 2021-11-04
+
+### Fixed
+
+- Hugo failing to build site when deploying as a module
+
+## [1.5.0] - 2021-11-04
+
+### Added
+
+- Chart.js support using `chart` shortcode
+- KaTeX support using `katex` shortcode
+- Dark mode toggle with new theme parameters for managing light/dark appearance
+- French translation ([#18](https://github.com/jpanther/congo/pull/18))
+- Author bio in article footer
+- Grouping by year can now be specified in front matter on list pages
+
+### Changed
+
+- Site name, author and menus will now render Markdown and Emoji
+- Bundled Mermaid for better vendor dependency management
+- Mermaid diagrams are now themed to match the configured colour scheme
+- Upgrade to Tailwind v2.2.19
+
+### Fixed
+
+- Site logo image dimensions are unconstrained ([#19](https://github.com/jpanther/congo/issues/19))
+- Article summary styled incorrectly in dark mode
+- Links containing `code` blocks styled incorrectly
+
+## [1.4.0] - 2021-10-20
+
+### Added
+
+- Footer menu
+- Article summary support
+- Slate colour scheme ([#9](https://github.com/jpanther/congo/pull/9))
+- Icons for ORCID and ResearchGate ([#9](https://github.com/jpanther/congo/pull/9))
+- Pinterest sharing links
+- Sharing links can now be specified in front matter
+
+### Changed
+
+- Main menu is now optional
+- Upgrade to Mermaid v8.13.3
+- Upgrade to Tailwind v2.2.17
+
+### Fixed
+
+- Site logo not linked to home page ([#13](https://github.com/jpanther/congo/issues/13))
+
+## [1.3.0] - 2021-09-29
+
+### Added
+
+- Site logo support
+- Chinese translation ([#2](https://github.com/jpanther/congo/pull/2))
+
+### Changed
+
+- Upgrade to Tailwind v2.2.16
+
+## [1.2.1] - 2021-08-26
+
+### Added
+
+- New `robots` parameter to add metadata to guide robots on how to handle specific content
+
+### Changed
+
+- URLs are relative by default which allows the theme to be more flexible in different deployment scenarios
+
+### Fixed
+
+- Missing dark style for group subheadings on article listings
+- Fathom Analytics script included twice when using custom domain
+- Recent heading on homepage profile layout misaligned
+
+## [1.2.0] - 2021-08-22
+
+### Added
+
+- Multiple colour schemes
+- Edit links on article pages
+- Icons for Foursquare and Pinterest
+- Asset fingerprinting and SRI
+- CSS minification for custom stylesheets
+
+### Changed
+
+- Static assets are now managed through Hugo Pipelines
+
+### Fixed
+
+- Minor style issue with `button` shortcode
+- Hugo Modules would fail when using default theme config file
+- Some content not centred correctly on the profile homepage layout
+- Some links missing the correct styles when in Firefox
+- `externalUrl` front matter not working on some list pages
+
+## [1.1.1] - 2021-08-19
+
+### Fixed
+
+- Hotfix for exampleSite and GitHub configuration
+
+## [1.1.0] - 2021-08-18
+
+### Added
+
+- Breadcrumbs
+- i18n support
+- Recent articles partial
+- CSS transitions
+- Hugo module support
+- JSON-LD structured metadata
+
+### Changed
+
+- ⚠️ Renamed parameter: `homepage.showList` -> `homepage.showRecent`
+- ⚠️ Renamed parameter: `homepage.listSections` -> `mainSections`
+- ⚠️ Consolidated author configuration parameters into `config.toml`
+- General style tweaks to enhance design consistency
+
+### Fixed
+
+- URLs being incorrect in some cases when the site is deployed in a subfolder
+
+## [1.0.0] - 2021-08-16
+
+### Added
+
+- Built with Tailwind CSS JIT for minified stylesheets without any excess code
+- Fully responsive layout
+- Dark mode (auto-switching based upon browser)
+- Highly customisable configuration
+- Multiple homepage layouts
+- Flexible with any content types, taxonomies and menus
+- Ability to link to posts on third-party websites
+- Diagrams and visualisations using Mermaid JS
+- SVG icons from FontAwesome 5
+- Heading anchors, Buttons, Badges and more
+- HTML and Emoji support in articles
+- SEO friendly with links for sharing to social media
+- RSS feeds
+- Fathom Analytics and Google Analytics support
+- Favicons support
+- Comments support
+- Advanced customisation using simple Tailwind colour definitions and styles
+- Fully documented
+
+[Unreleased]: https://github.com/jpanther/congo/compare/v2.11.0...HEAD
+[2.11.0]: https://github.com/jpanther/congo/compare/v2.10.0...v2.11.0
+[2.10.0]: https://github.com/jpanther/congo/compare/v2.9.0...v2.10.0
+[2.9.0]: https://github.com/jpanther/congo/compare/v2.8.2...v2.9.0
+[2.8.2]: https://github.com/jpanther/congo/compare/v2.8.1...v2.8.2
+[2.8.1]: https://github.com/jpanther/congo/compare/v2.8.0...v2.8.1
+[2.8.0]: https://github.com/jpanther/congo/compare/v2.7.6...v2.8.0
+[2.7.6]: https://github.com/jpanther/congo/compare/v2.7.5...v2.7.6
+[2.7.5]: https://github.com/jpanther/congo/compare/v2.7.4...v2.7.5
+[2.7.4]: https://github.com/jpanther/congo/compare/v2.7.3...v2.7.4
+[2.7.3]: https://github.com/jpanther/congo/compare/v2.7.2...v2.7.3
+[2.7.2]: https://github.com/jpanther/congo/compare/v2.7.1...v2.7.2
+[2.7.1]: https://github.com/jpanther/congo/compare/v2.7.0...v2.7.1
+[2.7.0]: https://github.com/jpanther/congo/compare/v2.6.1...v2.7.0
+[2.6.1]: https://github.com/jpanther/congo/compare/v2.6.0...v2.6.1
+[2.6.0]: https://github.com/jpanther/congo/compare/v2.5.4...v2.6.0
+[2.5.4]: https://github.com/jpanther/congo/compare/v2.5.3...v2.5.4
+[2.5.3]: https://github.com/jpanther/congo/compare/v2.5.2...v2.5.3
+[2.5.2]: https://github.com/jpanther/congo/compare/v2.5.1...v2.5.2
+[2.5.1]: https://github.com/jpanther/congo/compare/v2.5.0...v2.5.1
+[2.5.0]: https://github.com/jpanther/congo/compare/v2.4.2...v2.5.0
+[2.4.2]: https://github.com/jpanther/congo/compare/v2.4.1...v2.4.2
+[2.4.1]: https://github.com/jpanther/congo/compare/v2.4.0...v2.4.1
+[2.4.0]: https://github.com/jpanther/congo/compare/v2.3.1...v2.4.0
+[2.3.1]: https://github.com/jpanther/congo/compare/v2.3.0...v2.3.1
+[2.3.0]: https://github.com/jpanther/congo/compare/v2.2.3...v2.3.0
+[2.2.3]: https://github.com/jpanther/congo/compare/v2.2.2...v2.2.3
+[2.2.2]: https://github.com/jpanther/congo/compare/v2.2.1...v2.2.2
+[2.2.1]: https://github.com/jpanther/congo/compare/v2.2.0...v2.2.1
+[2.2.0]: https://github.com/jpanther/congo/compare/v2.1.3...v2.2.0
+[2.1.3]: https://github.com/jpanther/congo/compare/v2.1.2...v2.1.3
+[2.1.2]: https://github.com/jpanther/congo/compare/v2.1.1...v2.1.2
+[2.1.1]: https://github.com/jpanther/congo/compare/v2.1.0...v2.1.1
+[2.1.0]: https://github.com/jpanther/congo/compare/v2.0.5...v2.1.0
+[2.0.5]: https://github.com/jpanther/congo/compare/v2.0.4...v2.0.5
+[2.0.4]: https://github.com/jpanther/congo/compare/v2.0.3...v2.0.4
+[2.0.3]: https://github.com/jpanther/congo/compare/v2.0.2...v2.0.3
+[2.0.2]: https://github.com/jpanther/congo/compare/v2.0.1...v2.0.2
+[2.0.1]: https://github.com/jpanther/congo/compare/v2.0.0...v2.0.1
+[2.0.0]: https://github.com/jpanther/congo/compare/v1.6.4...v2.0.0
+[1.6.4]: https://github.com/jpanther/congo/compare/v1.6.3...v1.6.4
+[1.6.3]: https://github.com/jpanther/congo/compare/v1.6.2...v1.6.3
+[1.6.2]: https://github.com/jpanther/congo/compare/v1.6.1...v1.6.2
+[1.6.1]: https://github.com/jpanther/congo/compare/v1.6.0...v1.6.1
+[1.6.0]: https://github.com/jpanther/congo/compare/v1.5.3...v1.6.0
+[1.5.3]: https://github.com/jpanther/congo/compare/v1.5.2...v1.5.3
+[1.5.2]: https://github.com/jpanther/Congo/compare/v1.5.1...v1.5.2
+[1.5.1]: https://github.com/jpanther/Congo/compare/v1.5.0...v1.5.1
+[1.5.0]: https://github.com/jpanther/Congo/compare/v1.4.0...v1.5.0
+[1.4.0]: https://github.com/jpanther/Congo/compare/v1.3.0...v1.4.0
+[1.3.0]: https://github.com/jpanther/Congo/compare/v1.2.1...v1.3.0
+[1.2.1]: https://github.com/jpanther/Congo/compare/v1.2.0...v1.2.1
+[1.2.0]: https://github.com/jpanther/Congo/compare/v1.1.1...v1.2.0
+[1.1.1]: https://github.com/jpanther/congo/compare/v1.1.0...v1.1.1
+[1.1.0]: https://github.com/jpanther/congo/compare/v1.0.0...v1.1.0
+[1.0.0]: https://github.com/jpanther/congo/releases/tag/v1.0.0
diff --git a/themes/congo-146_fix/CODE_OF_CONDUCT.md b/themes/congo-146_fix/CODE_OF_CONDUCT.md
new file mode 100644
index 0000000..ad2925b
--- /dev/null
+++ b/themes/congo-146_fix/CODE_OF_CONDUCT.md
@@ -0,0 +1,43 @@
+# Code of Conduct - Congo
+
+## Our Pledge
+
+In the interest of fostering an open and welcoming environment, we as contributors and maintainers pledge to make participation in our project and our community a harassment-free experience for everyone, regardless of age, body size, disability, ethnicity, sex characteristics, gender identity and expression, level of experience, education, socio-economic status, nationality, personal appearance, race, religion, or sexual identity and orientation.
+
+## Our Standards
+
+Examples of behaviour that contributes to a positive environment for our community include:
+
+- Demonstrating empathy and kindness toward other people
+- Being respectful of differing opinions, viewpoints, and experiences
+- Giving and gracefully accepting constructive feedback
+- Accepting responsibility and apologising to those affected by our mistakes, and learning from the experience
+- Focusing on what is best not just for us as individuals, but for the overall community
+
+Examples of unacceptable behaviour include:
+
+- The use of sexualised language or imagery, and sexual attention or advances
+- Trolling, insulting or derogatory comments, and personal or political attacks
+- Public or private harassment
+- Publishing others' private information, such as a physical or email address, without their explicit permission
+- Other conduct which could reasonably be considered inappropriate in a professional setting
+
+## Our Responsibilities
+
+Project maintainers are responsible for clarifying and enforcing our standards of acceptable behaviour and will take appropriate and fair corrective action in response to any instances of unacceptable behaviour.
+
+Project maintainers have the right and responsibility to remove, edit, or reject comments, commits, code, wiki edits, issues, and other contributions that are not aligned to this Code of Conduct, or to ban temporarily or permanently any contributor for other behaviours that they deem inappropriate, threatening, offensive, or harmful.
+
+## Scope
+
+This Code of Conduct applies within all community spaces, and also applies when an individual is officially representing the community in public spaces. Examples of representing our community include using an official e-mail address, posting via an official social media account, or acting as an appointed representative at an online or offline event.
+
+## Enforcement
+
+Instances of abusive, harassing, or otherwise unacceptable behaviour may be reported to the [project maintainer](https://github.com/jpanther/). All complaints will be reviewed and investigated promptly and fairly.
+
+All community leaders are obligated to respect the privacy and security of the reporter of any incident.
+
+## Attribution
+
+This Code of Conduct is adapted from the [Contributor Covenant](https://contributor-covenant.org/), version [1.4](https://www.contributor-covenant.org/version/1/4/code-of-conduct/code_of_conduct.md) and [2.0](https://www.contributor-covenant.org/version/2/0/code_of_conduct/code_of_conduct.md), and was generated by [contributing-gen](https://github.com/bttger/contributing-gen).
diff --git a/themes/congo-146_fix/CONTRIBUTING.md b/themes/congo-146_fix/CONTRIBUTING.md
new file mode 100644
index 0000000..71a3d7a
--- /dev/null
+++ b/themes/congo-146_fix/CONTRIBUTING.md
@@ -0,0 +1,53 @@
+## How to contribute to Congo
+
+### Bugs & other issues
+
+#### Found a bug? 🐛
+
+- **Ensure the bug has not already been reported** by searching [GitHub Issues](https://github.com/jpanther/congo/issues). If there's already an open issue, feel free to add any extra information you might have about the issue.
+- If you're unable to find an open issue matching the problem, [open a new one](https://github.com/jpanther/congo/issues/new). Be sure to include a **title and clear description**, as much relevant information as possible, and a **code sample**, **screenshot**, or a **test case** demonstrating the expected behavior that is not occurring.
+- Where possible, use the bug report templates to create the issue. Avoid including descriptions like "bug", "feature", etc in the issue title as these will be handled by labels.
+
+#### Have a patch that fixes an issue?
+
+- Great! Open a new GitHub pull request with the patch.
+- All development occurs on the `dev` branch and new PRs should be forked from here.
+- The command `npm run example` can be used to test local changes using the example site.
+- Ensure the PR description clearly describes the problem and solution. Include the relevant issue number, if applicable.
+- **Before submitting**, check the [coding conventions](#coding-conventions) section below to learn more about coding and commit message expectations.
+
+### New features & enhancements
+
+#### Do you intend to add a new feature, or change an existing one?
+
+- Enhancements are welcome but before implementing any features, be sure to suggest your change by opening a [new discussion](https://github.com/jpanther/congo/discussions/new) about your idea. Enhancements are discussed to ensure they fit with the project's design intent and overall roadmap.
+- Before opening a discussion, [check to see](https://github.com/jpanther/congo/discussions/categories/ideas) if a similar idea is already being discussed.
+- All ideas and suggestions are welcome and will be judged on their merits.
+- If the community supports your idea, go ahead and submit a PR with the implemented feature.
+
+### Questions? 🙋♀️
+
+- If you have a general question, these should be asked using [GitHub Discussions](https://github.com/jpanther/congo/discussions). Feel free to open a [new discussion](https://github.com/jpanther/congo/discussions/new) to ask your question using the "Q&A" category.
+- Be sure to check if your question has already been answered by searching [existing Q&A discussions](https://github.com/jpanther/congo/discussions/categories/q-a).
+
+### Coding conventions
+
+- Indent using 2 spaces (soft tabs).
+- Put spaces between list items (ie. `[1, 2, 3]`, not `[1,2,3]`), around operators (ie. `1 + 1`, not `1+1`) and inside go templating tags (ie. `{{< alert >}}`, not `{{}}`).
+- Avoid code reuse in templates by extracting components into partials.
+- Layout code in a logical manner that prioritises readability.
+- Add comments when the intent of the code isn't immediately apparent or to break up large blocks of logic.
+- Use relative paths to assets without including the preceding slash but, when referring to a folder, including a trailing slash (ie. `static/img/`, not `/static/img/` or `/static/img`).
+- Any static text must be referenced using the `i18n` methods and included in the localisation assets.
+- Commit often, preferring incremental changes rather than bundling everything into a single, large commit.
+
+The project includes a Prettier config that helps to format code in line with these guidelines.
+
+#### Commit message guidelines
+
+- Use [Gitmoji](https://gitmoji.dev) in commit messages to provide context.
+- Clearly describe the change with a short summary in the first 72 characters.
+- Place more detailed explanations in paragraphs below the summary, separated by a blank line.
+- Use imperative language (ie. "Fix bug", not "Fixed bug" or "Fixes bug").
+- Do not end the summary line with a period.
+- Reference any issues fixed using their GitHub issue number.
diff --git a/themes/congo-146_fix/LICENSE b/themes/congo-146_fix/LICENSE
new file mode 100644
index 0000000..37b1ead
--- /dev/null
+++ b/themes/congo-146_fix/LICENSE
@@ -0,0 +1,20 @@
+The MIT License (MIT)
+
+Copyright (c) 2021 James Panther (https://jamespanther.com)
+
+Permission is hereby granted, free of charge, to any person obtaining a copy of
+this software and associated documentation files (the "Software"), to deal in
+the Software without restriction, including without limitation the rights to
+use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of
+the Software, and to permit persons to whom the Software is furnished to do so,
+subject to the following conditions:
+
+The above copyright notice and this permission notice shall be included in all
+copies or substantial portions of the Software.
+
+THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS
+FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR
+COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER
+IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
+CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
diff --git a/themes/congo-146_fix/README.md b/themes/congo-146_fix/README.md
new file mode 100644
index 0000000..72ddde6
--- /dev/null
+++ b/themes/congo-146_fix/README.md
@@ -0,0 +1,96 @@
+# Congo
+
+Congo is designed to be a powerful, lightweight theme for [Hugo](https://gohugo.io). It's built using Tailwind CSS with a clean and minimalist design that prioritises to your content.
+
+🌏 [Demo site](https://jpanther.github.io/congo/)
+📑 [Theme documentation](https://jpanther.github.io/congo/docs/)
+🐛 [Bug reports & issues](https://github.com/jpanther/congo/issues)
+💡 [Questions & feature requests](https://github.com/jpanther/congo/discussions)
+
+
+
+## Features
+
+- Fully responsive layout built with Tailwind CSS 3.0
+- Multiple colour schemes (or fully customise your own)
+- Dark mode (forced on/off or auto-switching with user toggle)
+- Highly customisable configuration
+- Multiple homepage layouts
+- Flexible with any content types, taxonomies and menus
+- Multilingual content support including support for RTL languages
+- Ability to link to posts on third-party websites
+- Client-side site search powered by Fuse.js
+- Diagrams and visualisations using Mermaid
+- Charts using Chart.js
+- Mathematical notation using KaTeX
+- SVG icons from FontAwesome 6
+- Automatic image resizing using Hugo Pipes
+- Heading anchors, Tables of Contents, Code copy, Buttons, Badges and more
+- HTML and Emoji support in articles 🎉
+- SEO friendly with links for sharing to social media
+- Fathom Analytics, Plausible Analytics, Umami Analytics and Google Analytics support
+- RSS feeds, Favicons and comments support
+- Advanced customisation using simple Tailwind colour definitions and styles
+- Optimised for performance and accessibility with perfect Lighthouse scores
+- Fully documented with regular updates
+
+---
+
+## Documentation
+
+Congo has [extensive documentation](https://jpanther.github.io/congo/docs/) that covers all aspects of the theme. Be sure to [read the docs](https://jpanther.github.io/congo/docs/) to learn more about how to use the theme and its features.
+
+---
+
+## Installation
+
+Congo supports several installation methods - as a Hugo Module (easiest), a git submodule, or as a completely manual install.
+
+Detailed instructions for each method can be found in the [Installation](https://jpanther.github.io/congo/docs/installation) docs. You should consult the documentation for the simplest setup experience. Below is a quick start guide using Hugo modules if you're already confident installing Hugo themes.
+
+### Quick start using Hugo
+
+> **Note:** Ensure you have **Go** and **Hugo** installed, and that you have created a new Hugo project before proceeding.
+
+1. From your project directory, initialise Hugo Modules:
+
+ ```shell
+ hugo mod init github.com//
+ ```
+
+2. Create `config/_default/module.toml` and add the following:
+
+ ```toml
+ [[imports]]
+ path = "github.com/jpanther/congo/v2"
+ ```
+
+3. Start your server using `hugo server` and the theme will be downloaded automatically.
+
+4. In the root folder of your website, delete the `hugo.toml` file that was generated by Hugo. Copy the `*.toml` config files from the theme into your `config/_default/` folder.
+
+ > **Note:** Do not overwrite the `module.toml` file you created above!
+
+ You will find these theme config files in the Hugo cache directory, or [download a copy](https://github.com/jpanther/congo/tree/stable/config/_default) from GitHub.
+
+5. Follow the [Getting Started](https://jpanther.github.io/congo/docs/getting-started/) instructions to configure your website.
+
+### Installing theme updates
+
+As new releases are posted, you can update the theme using Hugo. Simply run `hugo mod get -u` from your project directory and the theme will automatically update to the latest release.
+
+Detailed [update instructions](https://jpanther.github.io/congo/docs/installation/#installing-updates) are available in the docs.
+
+---
+
+## Contributing
+
+Congo is expected to evolve over time. I intend to keep adding features and making changes as required.
+
+Feel free to get in touch with any issues or suggestions for new features you'd like to see.
+
+- 🐛 **Bug reports & issues:** Use [GitHub Issues](https://github.com/jpanther/congo/issues)
+- 💡 **Ideas for new features:** Open a discussion on [GitHub Discussions](https://github.com/jpanther/congo/discussions)
+- 🙋♀️ **General questions:** Head to [GitHub Discussions](https://github.com/jpanther/congo/discussions)
+
+If you're able to fix a bug or implement a new feature, I welcome PRs for this purpose. Learn more in the [contributing guidelines](https://github.com/jpanther/congo/blob/dev/CONTRIBUTING.md).
diff --git a/themes/congo-146_fix/archetypes/default.md b/themes/congo-146_fix/archetypes/default.md
new file mode 100644
index 0000000..97f90a6
--- /dev/null
+++ b/themes/congo-146_fix/archetypes/default.md
@@ -0,0 +1,6 @@
+---
+title: "{{ replace .Name "-" " " | title }}"
+date: {{ .Date }}
+draft: true
+description: ""
+---
diff --git a/themes/congo-146_fix/archetypes/external.md b/themes/congo-146_fix/archetypes/external.md
new file mode 100644
index 0000000..cc722ce
--- /dev/null
+++ b/themes/congo-146_fix/archetypes/external.md
@@ -0,0 +1,9 @@
+---
+title: "{{ replace .Name "-" " " | title }}"
+date: {{ .Date }}
+externalUrl: ""
+summary: ""
+showReadingTime: false
+_build:
+ render: "never"
+---
diff --git a/themes/congo-146_fix/assets/css/compiled/main.css b/themes/congo-146_fix/assets/css/compiled/main.css
new file mode 100644
index 0000000..c1677e6
--- /dev/null
+++ b/themes/congo-146_fix/assets/css/compiled/main.css
@@ -0,0 +1,3163 @@
+/*! Congo v2.11.0 | MIT License | https://github.com/jpanther/congo */
+
+*, ::before, ::after {
+ --tw-border-spacing-x: 0;
+ --tw-border-spacing-y: 0;
+ --tw-translate-x: 0;
+ --tw-translate-y: 0;
+ --tw-rotate: 0;
+ --tw-skew-x: 0;
+ --tw-skew-y: 0;
+ --tw-scale-x: 1;
+ --tw-scale-y: 1;
+ --tw-pan-x: ;
+ --tw-pan-y: ;
+ --tw-pinch-zoom: ;
+ --tw-scroll-snap-strictness: proximity;
+ --tw-gradient-from-position: ;
+ --tw-gradient-via-position: ;
+ --tw-gradient-to-position: ;
+ --tw-ordinal: ;
+ --tw-slashed-zero: ;
+ --tw-numeric-figure: ;
+ --tw-numeric-spacing: ;
+ --tw-numeric-fraction: ;
+ --tw-ring-inset: ;
+ --tw-ring-offset-width: 0px;
+ --tw-ring-offset-color: #fff;
+ --tw-ring-color: rgb(59 130 246 / 0.5);
+ --tw-ring-offset-shadow: 0 0 #0000;
+ --tw-ring-shadow: 0 0 #0000;
+ --tw-shadow: 0 0 #0000;
+ --tw-shadow-colored: 0 0 #0000;
+ --tw-blur: ;
+ --tw-brightness: ;
+ --tw-contrast: ;
+ --tw-grayscale: ;
+ --tw-hue-rotate: ;
+ --tw-invert: ;
+ --tw-saturate: ;
+ --tw-sepia: ;
+ --tw-drop-shadow: ;
+ --tw-backdrop-blur: ;
+ --tw-backdrop-brightness: ;
+ --tw-backdrop-contrast: ;
+ --tw-backdrop-grayscale: ;
+ --tw-backdrop-hue-rotate: ;
+ --tw-backdrop-invert: ;
+ --tw-backdrop-opacity: ;
+ --tw-backdrop-saturate: ;
+ --tw-backdrop-sepia: ;
+ --tw-contain-size: ;
+ --tw-contain-layout: ;
+ --tw-contain-paint: ;
+ --tw-contain-style: ;
+}
+
+::backdrop {
+ --tw-border-spacing-x: 0;
+ --tw-border-spacing-y: 0;
+ --tw-translate-x: 0;
+ --tw-translate-y: 0;
+ --tw-rotate: 0;
+ --tw-skew-x: 0;
+ --tw-skew-y: 0;
+ --tw-scale-x: 1;
+ --tw-scale-y: 1;
+ --tw-pan-x: ;
+ --tw-pan-y: ;
+ --tw-pinch-zoom: ;
+ --tw-scroll-snap-strictness: proximity;
+ --tw-gradient-from-position: ;
+ --tw-gradient-via-position: ;
+ --tw-gradient-to-position: ;
+ --tw-ordinal: ;
+ --tw-slashed-zero: ;
+ --tw-numeric-figure: ;
+ --tw-numeric-spacing: ;
+ --tw-numeric-fraction: ;
+ --tw-ring-inset: ;
+ --tw-ring-offset-width: 0px;
+ --tw-ring-offset-color: #fff;
+ --tw-ring-color: rgb(59 130 246 / 0.5);
+ --tw-ring-offset-shadow: 0 0 #0000;
+ --tw-ring-shadow: 0 0 #0000;
+ --tw-shadow: 0 0 #0000;
+ --tw-shadow-colored: 0 0 #0000;
+ --tw-blur: ;
+ --tw-brightness: ;
+ --tw-contrast: ;
+ --tw-grayscale: ;
+ --tw-hue-rotate: ;
+ --tw-invert: ;
+ --tw-saturate: ;
+ --tw-sepia: ;
+ --tw-drop-shadow: ;
+ --tw-backdrop-blur: ;
+ --tw-backdrop-brightness: ;
+ --tw-backdrop-contrast: ;
+ --tw-backdrop-grayscale: ;
+ --tw-backdrop-hue-rotate: ;
+ --tw-backdrop-invert: ;
+ --tw-backdrop-opacity: ;
+ --tw-backdrop-saturate: ;
+ --tw-backdrop-sepia: ;
+ --tw-contain-size: ;
+ --tw-contain-layout: ;
+ --tw-contain-paint: ;
+ --tw-contain-style: ;
+}
+
+/*! tailwindcss v3.4.17 | MIT License | https://tailwindcss.com */
+
+/*
+1. Prevent padding and border from affecting element width. (https://github.com/mozdevs/cssremedy/issues/4)
+2. Allow adding a border to an element by just adding a border-width. (https://github.com/tailwindcss/tailwindcss/pull/116)
+*/
+
+*,
+::before,
+::after {
+ box-sizing: border-box;
+ /* 1 */
+ border-width: 0;
+ /* 2 */
+ border-style: solid;
+ /* 2 */
+ border-color: currentColor;
+ /* 2 */
+}
+
+::before,
+::after {
+ --tw-content: '';
+}
+
+/*
+1. Use a consistent sensible line-height in all browsers.
+2. Prevent adjustments of font size after orientation changes in iOS.
+3. Use a more readable tab size.
+4. Use the user's configured `sans` font-family by default.
+5. Use the user's configured `sans` font-feature-settings by default.
+6. Use the user's configured `sans` font-variation-settings by default.
+7. Disable tap highlights on iOS
+*/
+
+html,
+:host {
+ line-height: 1.5;
+ /* 1 */
+ -webkit-text-size-adjust: 100%;
+ /* 2 */
+ -moz-tab-size: 4;
+ /* 3 */
+ -o-tab-size: 4;
+ tab-size: 4;
+ /* 3 */
+ font-family: ui-sans-serif, system-ui, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";
+ /* 4 */
+ font-feature-settings: normal;
+ /* 5 */
+ font-variation-settings: normal;
+ /* 6 */
+ -webkit-tap-highlight-color: transparent;
+ /* 7 */
+}
+
+/*
+1. Remove the margin in all browsers.
+2. Inherit line-height from `html` so users can set them as a class directly on the `html` element.
+*/
+
+body {
+ margin: 0;
+ /* 1 */
+ line-height: inherit;
+ /* 2 */
+}
+
+/*
+1. Add the correct height in Firefox.
+2. Correct the inheritance of border color in Firefox. (https://bugzilla.mozilla.org/show_bug.cgi?id=190655)
+3. Ensure horizontal rules are visible by default.
+*/
+
+hr {
+ height: 0;
+ /* 1 */
+ color: inherit;
+ /* 2 */
+ border-top-width: 1px;
+ /* 3 */
+}
+
+/*
+Add the correct text decoration in Chrome, Edge, and Safari.
+*/
+
+abbr:where([title]) {
+ -webkit-text-decoration: underline dotted;
+ text-decoration: underline dotted;
+}
+
+/*
+Remove the default font size and weight for headings.
+*/
+
+h1,
+h2,
+h3,
+h4,
+h5,
+h6 {
+ font-size: inherit;
+ font-weight: inherit;
+}
+
+/*
+Reset links to optimize for opt-in styling instead of opt-out.
+*/
+
+a {
+ color: inherit;
+ text-decoration: inherit;
+}
+
+/*
+Add the correct font weight in Edge and Safari.
+*/
+
+b,
+strong {
+ font-weight: bolder;
+}
+
+/*
+1. Use the user's configured `mono` font-family by default.
+2. Use the user's configured `mono` font-feature-settings by default.
+3. Use the user's configured `mono` font-variation-settings by default.
+4. Correct the odd `em` font sizing in all browsers.
+*/
+
+code,
+kbd,
+samp,
+pre {
+ font-family: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;
+ /* 1 */
+ font-feature-settings: normal;
+ /* 2 */
+ font-variation-settings: normal;
+ /* 3 */
+ font-size: 1em;
+ /* 4 */
+}
+
+/*
+Add the correct font size in all browsers.
+*/
+
+small {
+ font-size: 80%;
+}
+
+/*
+Prevent `sub` and `sup` elements from affecting the line height in all browsers.
+*/
+
+sub,
+sup {
+ font-size: 75%;
+ line-height: 0;
+ position: relative;
+ vertical-align: baseline;
+}
+
+sub {
+ bottom: -0.25em;
+}
+
+sup {
+ top: -0.5em;
+}
+
+/*
+1. Remove text indentation from table contents in Chrome and Safari. (https://bugs.chromium.org/p/chromium/issues/detail?id=999088, https://bugs.webkit.org/show_bug.cgi?id=201297)
+2. Correct table border color inheritance in all Chrome and Safari. (https://bugs.chromium.org/p/chromium/issues/detail?id=935729, https://bugs.webkit.org/show_bug.cgi?id=195016)
+3. Remove gaps between table borders by default.
+*/
+
+table {
+ text-indent: 0;
+ /* 1 */
+ border-color: inherit;
+ /* 2 */
+ border-collapse: collapse;
+ /* 3 */
+}
+
+/*
+1. Change the font styles in all browsers.
+2. Remove the margin in Firefox and Safari.
+3. Remove default padding in all browsers.
+*/
+
+button,
+input,
+optgroup,
+select,
+textarea {
+ font-family: inherit;
+ /* 1 */
+ font-feature-settings: inherit;
+ /* 1 */
+ font-variation-settings: inherit;
+ /* 1 */
+ font-size: 100%;
+ /* 1 */
+ font-weight: inherit;
+ /* 1 */
+ line-height: inherit;
+ /* 1 */
+ letter-spacing: inherit;
+ /* 1 */
+ color: inherit;
+ /* 1 */
+ margin: 0;
+ /* 2 */
+ padding: 0;
+ /* 3 */
+}
+
+/*
+Remove the inheritance of text transform in Edge and Firefox.
+*/
+
+button,
+select {
+ text-transform: none;
+}
+
+/*
+1. Correct the inability to style clickable types in iOS and Safari.
+2. Remove default button styles.
+*/
+
+button,
+input:where([type='button']),
+input:where([type='reset']),
+input:where([type='submit']) {
+ -webkit-appearance: button;
+ /* 1 */
+ background-color: transparent;
+ /* 2 */
+ background-image: none;
+ /* 2 */
+}
+
+/*
+Use the modern Firefox focus style for all focusable elements.
+*/
+
+:-moz-focusring {
+ outline: auto;
+}
+
+/*
+Remove the additional `:invalid` styles in Firefox. (https://github.com/mozilla/gecko-dev/blob/2f9eacd9d3d995c937b4251a5557d95d494c9be1/layout/style/res/forms.css#L728-L737)
+*/
+
+:-moz-ui-invalid {
+ box-shadow: none;
+}
+
+/*
+Add the correct vertical alignment in Chrome and Firefox.
+*/
+
+progress {
+ vertical-align: baseline;
+}
+
+/*
+Correct the cursor style of increment and decrement buttons in Safari.
+*/
+
+::-webkit-inner-spin-button,
+::-webkit-outer-spin-button {
+ height: auto;
+}
+
+/*
+1. Correct the odd appearance in Chrome and Safari.
+2. Correct the outline style in Safari.
+*/
+
+[type='search'] {
+ -webkit-appearance: textfield;
+ /* 1 */
+ outline-offset: -2px;
+ /* 2 */
+}
+
+/*
+Remove the inner padding in Chrome and Safari on macOS.
+*/
+
+::-webkit-search-decoration {
+ -webkit-appearance: none;
+}
+
+/*
+1. Correct the inability to style clickable types in iOS and Safari.
+2. Change font properties to `inherit` in Safari.
+*/
+
+::-webkit-file-upload-button {
+ -webkit-appearance: button;
+ /* 1 */
+ font: inherit;
+ /* 2 */
+}
+
+/*
+Add the correct display in Chrome and Safari.
+*/
+
+summary {
+ display: list-item;
+}
+
+/*
+Removes the default spacing and border for appropriate elements.
+*/
+
+blockquote,
+dl,
+dd,
+h1,
+h2,
+h3,
+h4,
+h5,
+h6,
+hr,
+figure,
+p,
+pre {
+ margin: 0;
+}
+
+fieldset {
+ margin: 0;
+ padding: 0;
+}
+
+legend {
+ padding: 0;
+}
+
+ol,
+ul,
+menu {
+ list-style: none;
+ margin: 0;
+ padding: 0;
+}
+
+/*
+Reset default styling for dialogs.
+*/
+
+dialog {
+ padding: 0;
+}
+
+/*
+Prevent resizing textareas horizontally by default.
+*/
+
+textarea {
+ resize: vertical;
+}
+
+/*
+1. Reset the default placeholder opacity in Firefox. (https://github.com/tailwindlabs/tailwindcss/issues/3300)
+2. Set the default placeholder color to the user's configured gray 400 color.
+*/
+
+input::-moz-placeholder, textarea::-moz-placeholder {
+ opacity: 1;
+ /* 1 */
+ color: #9ca3af;
+ /* 2 */
+}
+
+input::placeholder,
+textarea::placeholder {
+ opacity: 1;
+ /* 1 */
+ color: #9ca3af;
+ /* 2 */
+}
+
+/*
+Set the default cursor for buttons.
+*/
+
+button,
+[role="button"] {
+ cursor: pointer;
+}
+
+/*
+Make sure disabled buttons don't get the pointer cursor.
+*/
+
+:disabled {
+ cursor: default;
+}
+
+/*
+1. Make replaced elements `display: block` by default. (https://github.com/mozdevs/cssremedy/issues/14)
+2. Add `vertical-align: middle` to align replaced elements more sensibly by default. (https://github.com/jensimmons/cssremedy/issues/14#issuecomment-634934210)
+ This can trigger a poorly considered lint error in some tools but is included by design.
+*/
+
+img,
+svg,
+video,
+canvas,
+audio,
+iframe,
+embed,
+object {
+ display: block;
+ /* 1 */
+ vertical-align: middle;
+ /* 2 */
+}
+
+/*
+Constrain images and videos to the parent width and preserve their intrinsic aspect ratio. (https://github.com/mozdevs/cssremedy/issues/14)
+*/
+
+img,
+video {
+ max-width: 100%;
+ height: auto;
+}
+
+/* Make elements with the HTML hidden attribute stay hidden by default */
+
+[hidden]:where(:not([hidden="until-found"])) {
+ display: none;
+}
+
+.prose {
+ color: var(--tw-prose-body);
+ max-width: 65ch;
+}
+
+.prose :where(p):not(:where([class~="not-prose"],[class~="not-prose"] *)) {
+ margin-top: 1.25em;
+ margin-bottom: 1.25em;
+}
+
+.prose :where([class~="lead"]):not(:where([class~="not-prose"],[class~="not-prose"] *)) {
+ color: var(--tw-prose-lead);
+ font-size: 1.25em;
+ line-height: 1.6;
+ margin-top: 1.2em;
+ margin-bottom: 1.2em;
+}
+
+.prose :where(a):not(:where([class~="not-prose"],[class~="not-prose"] *)) {
+ color: var(--tw-prose-links);
+ text-decoration: underline;
+ font-weight: 500;
+ text-decoration-color: rgba(var(--color-primary-300), 1);
+}
+
+.prose :where(a):not(:where([class~="not-prose"],[class~="not-prose"] *)):hover {
+ color: rgba(var(--color-neutral), 1);
+ text-decoration: none;
+ background-color: rgba(var(--color-primary-600), 1);
+ border-radius: 0.09rem;
+}
+
+.prose :where(strong):not(:where([class~="not-prose"],[class~="not-prose"] *)) {
+ color: var(--tw-prose-bold);
+ font-weight: 600;
+}
+
+.prose :where(a strong):not(:where([class~="not-prose"],[class~="not-prose"] *)) {
+ color: inherit;
+}
+
+.prose :where(blockquote strong):not(:where([class~="not-prose"],[class~="not-prose"] *)) {
+ color: inherit;
+}
+
+.prose :where(thead th strong):not(:where([class~="not-prose"],[class~="not-prose"] *)) {
+ color: inherit;
+}
+
+.prose :where(ol):not(:where([class~="not-prose"],[class~="not-prose"] *)) {
+ list-style-type: decimal;
+ margin-top: 1.25em;
+ margin-bottom: 1.25em;
+ padding-inline-start: 1.625em;
+}
+
+.prose :where(ol[type="A"]):not(:where([class~="not-prose"],[class~="not-prose"] *)) {
+ list-style-type: upper-alpha;
+}
+
+.prose :where(ol[type="a"]):not(:where([class~="not-prose"],[class~="not-prose"] *)) {
+ list-style-type: lower-alpha;
+}
+
+.prose :where(ol[type="A" s]):not(:where([class~="not-prose"],[class~="not-prose"] *)) {
+ list-style-type: upper-alpha;
+}
+
+.prose :where(ol[type="a" s]):not(:where([class~="not-prose"],[class~="not-prose"] *)) {
+ list-style-type: lower-alpha;
+}
+
+.prose :where(ol[type="I"]):not(:where([class~="not-prose"],[class~="not-prose"] *)) {
+ list-style-type: upper-roman;
+}
+
+.prose :where(ol[type="i"]):not(:where([class~="not-prose"],[class~="not-prose"] *)) {
+ list-style-type: lower-roman;
+}
+
+.prose :where(ol[type="I" s]):not(:where([class~="not-prose"],[class~="not-prose"] *)) {
+ list-style-type: upper-roman;
+}
+
+.prose :where(ol[type="i" s]):not(:where([class~="not-prose"],[class~="not-prose"] *)) {
+ list-style-type: lower-roman;
+}
+
+.prose :where(ol[type="1"]):not(:where([class~="not-prose"],[class~="not-prose"] *)) {
+ list-style-type: decimal;
+}
+
+.prose :where(ul):not(:where([class~="not-prose"],[class~="not-prose"] *)) {
+ list-style-type: disc;
+ margin-top: 1.25em;
+ margin-bottom: 1.25em;
+ padding-inline-start: 1.625em;
+}
+
+.prose :where(ol > li):not(:where([class~="not-prose"],[class~="not-prose"] *))::marker {
+ font-weight: 400;
+ color: var(--tw-prose-counters);
+}
+
+.prose :where(ul > li):not(:where([class~="not-prose"],[class~="not-prose"] *))::marker {
+ color: var(--tw-prose-bullets);
+}
+
+.prose :where(dt):not(:where([class~="not-prose"],[class~="not-prose"] *)) {
+ color: var(--tw-prose-headings);
+ font-weight: 600;
+ margin-top: 1.25em;
+}
+
+.prose :where(hr):not(:where([class~="not-prose"],[class~="not-prose"] *)) {
+ border-color: var(--tw-prose-hr);
+ border-top-width: 1px;
+ margin-top: 3em;
+ margin-bottom: 3em;
+}
+
+.prose :where(blockquote):not(:where([class~="not-prose"],[class~="not-prose"] *)) {
+ font-weight: 500;
+ font-style: italic;
+ color: var(--tw-prose-quotes);
+ border-inline-start-width: 0.25rem;
+ border-inline-start-color: var(--tw-prose-quote-borders);
+ quotes: "\201C""\201D""\2018""\2019";
+ margin-top: 1.6em;
+ margin-bottom: 1.6em;
+ padding-inline-start: 1em;
+}
+
+.prose :where(blockquote p:first-of-type):not(:where([class~="not-prose"],[class~="not-prose"] *))::before {
+ content: open-quote;
+}
+
+.prose :where(blockquote p:last-of-type):not(:where([class~="not-prose"],[class~="not-prose"] *))::after {
+ content: close-quote;
+}
+
+.prose :where(h1):not(:where([class~="not-prose"],[class~="not-prose"] *)) {
+ color: var(--tw-prose-headings);
+ font-weight: 800;
+ font-size: 2.25em;
+ margin-top: 0;
+ margin-bottom: 0.8888889em;
+ line-height: 1.1111111;
+}
+
+.prose :where(h1 strong):not(:where([class~="not-prose"],[class~="not-prose"] *)) {
+ font-weight: 900;
+ color: inherit;
+}
+
+.prose :where(h2):not(:where([class~="not-prose"],[class~="not-prose"] *)) {
+ color: var(--tw-prose-headings);
+ font-weight: 700;
+ font-size: 1.5em;
+ margin-top: 2em;
+ margin-bottom: 1em;
+ line-height: 1.3333333;
+}
+
+.prose :where(h2 strong):not(:where([class~="not-prose"],[class~="not-prose"] *)) {
+ font-weight: 800;
+ color: inherit;
+}
+
+.prose :where(h3):not(:where([class~="not-prose"],[class~="not-prose"] *)) {
+ color: var(--tw-prose-headings);
+ font-weight: 600;
+ font-size: 1.25em;
+ margin-top: 1.6em;
+ margin-bottom: 0.6em;
+ line-height: 1.6;
+}
+
+.prose :where(h3 strong):not(:where([class~="not-prose"],[class~="not-prose"] *)) {
+ font-weight: 700;
+ color: inherit;
+}
+
+.prose :where(h4):not(:where([class~="not-prose"],[class~="not-prose"] *)) {
+ color: var(--tw-prose-headings);
+ font-weight: 600;
+ margin-top: 1.5em;
+ margin-bottom: 0.5em;
+ line-height: 1.5;
+}
+
+.prose :where(h4 strong):not(:where([class~="not-prose"],[class~="not-prose"] *)) {
+ font-weight: 700;
+ color: inherit;
+}
+
+.prose :where(img):not(:where([class~="not-prose"],[class~="not-prose"] *)) {
+ margin-top: 2em;
+ margin-bottom: 2em;
+}
+
+.prose :where(picture):not(:where([class~="not-prose"],[class~="not-prose"] *)) {
+ display: block;
+ margin-top: 2em;
+ margin-bottom: 2em;
+}
+
+.prose :where(video):not(:where([class~="not-prose"],[class~="not-prose"] *)) {
+ margin-top: 2em;
+ margin-bottom: 2em;
+}
+
+.prose :where(kbd):not(:where([class~="not-prose"],[class~="not-prose"] *)) {
+ font-weight: 600;
+ font-family: inherit;
+ color: var(--tw-prose-kbd);
+ box-shadow: 0 0 0 1px rgb(var(--tw-prose-kbd-shadows) / 10%), 0 3px 0 rgb(var(--tw-prose-kbd-shadows) / 10%);
+ font-size: 0.9rem;
+ border-radius: 0.25rem;
+ padding-top: 0.1875em;
+ padding-inline-end: 0.375em;
+ padding-bottom: 0.1875em;
+ padding-inline-start: 0.375em;
+ background-color: rgba(var(--color-neutral-200), 1);
+ padding: 0.1rem 0.4rem;
+}
+
+.prose :where(code):not(:where([class~="not-prose"],[class~="not-prose"] *)) {
+ color: var(--tw-prose-code);
+ font-weight: 600;
+ font-size: 0.875em;
+}
+
+.prose :where(code):not(:where([class~="not-prose"],[class~="not-prose"] *))::before {
+ content: "`";
+}
+
+.prose :where(code):not(:where([class~="not-prose"],[class~="not-prose"] *))::after {
+ content: "`";
+}
+
+.prose :where(a code):not(:where([class~="not-prose"],[class~="not-prose"] *)) {
+ color: var(--tw-prose-code);
+}
+
+.prose :where(h1 code):not(:where([class~="not-prose"],[class~="not-prose"] *)) {
+ color: inherit;
+}
+
+.prose :where(h2 code):not(:where([class~="not-prose"],[class~="not-prose"] *)) {
+ color: inherit;
+ font-size: 0.875em;
+}
+
+.prose :where(h3 code):not(:where([class~="not-prose"],[class~="not-prose"] *)) {
+ color: inherit;
+ font-size: 0.9em;
+}
+
+.prose :where(h4 code):not(:where([class~="not-prose"],[class~="not-prose"] *)) {
+ color: inherit;
+}
+
+.prose :where(blockquote code):not(:where([class~="not-prose"],[class~="not-prose"] *)) {
+ color: inherit;
+}
+
+.prose :where(thead th code):not(:where([class~="not-prose"],[class~="not-prose"] *)) {
+ color: inherit;
+}
+
+.prose :where(pre):not(:where([class~="not-prose"],[class~="not-prose"] *)) {
+ color: var(--tw-prose-pre-code);
+ background-color: var(--tw-prose-pre-bg);
+ overflow-x: auto;
+ font-weight: 400;
+ font-size: 0.875em;
+ line-height: 1.7142857;
+ margin-top: 1.7142857em;
+ margin-bottom: 1.7142857em;
+ border-radius: 0.375rem;
+ padding-top: 0.8571429em;
+ padding-inline-end: 1.1428571em;
+ padding-bottom: 0.8571429em;
+ padding-inline-start: 1.1428571em;
+}
+
+.prose :where(pre code):not(:where([class~="not-prose"],[class~="not-prose"] *)) {
+ background-color: transparent;
+ border-width: 0;
+ border-radius: 0;
+ padding: 0;
+ font-weight: inherit;
+ color: inherit;
+ font-size: inherit;
+ font-family: inherit;
+ line-height: inherit;
+}
+
+.prose :where(pre code):not(:where([class~="not-prose"],[class~="not-prose"] *))::before {
+ content: none;
+}
+
+.prose :where(pre code):not(:where([class~="not-prose"],[class~="not-prose"] *))::after {
+ content: none;
+}
+
+.prose :where(table):not(:where([class~="not-prose"],[class~="not-prose"] *)) {
+ width: 100%;
+ table-layout: auto;
+ margin-top: 2em;
+ margin-bottom: 2em;
+ font-size: 0.875em;
+ line-height: 1.7142857;
+}
+
+.prose :where(thead):not(:where([class~="not-prose"],[class~="not-prose"] *)) {
+ border-bottom-width: 1px;
+ border-bottom-color: var(--tw-prose-th-borders);
+}
+
+.prose :where(thead th):not(:where([class~="not-prose"],[class~="not-prose"] *)) {
+ color: var(--tw-prose-headings);
+ font-weight: 600;
+ vertical-align: bottom;
+ padding-inline-end: 0.5714286em;
+ padding-bottom: 0.5714286em;
+ padding-inline-start: 0.5714286em;
+}
+
+.prose :where(tbody tr):not(:where([class~="not-prose"],[class~="not-prose"] *)) {
+ border-bottom-width: 1px;
+ border-bottom-color: var(--tw-prose-td-borders);
+}
+
+.prose :where(tbody tr:last-child):not(:where([class~="not-prose"],[class~="not-prose"] *)) {
+ border-bottom-width: 0;
+}
+
+.prose :where(tbody td):not(:where([class~="not-prose"],[class~="not-prose"] *)) {
+ vertical-align: baseline;
+}
+
+.prose :where(tfoot):not(:where([class~="not-prose"],[class~="not-prose"] *)) {
+ border-top-width: 1px;
+ border-top-color: var(--tw-prose-th-borders);
+}
+
+.prose :where(tfoot td):not(:where([class~="not-prose"],[class~="not-prose"] *)) {
+ vertical-align: top;
+}
+
+.prose :where(th, td):not(:where([class~="not-prose"],[class~="not-prose"] *)) {
+ text-align: start;
+}
+
+.prose :where(figure > *):not(:where([class~="not-prose"],[class~="not-prose"] *)) {
+ margin-top: 0;
+ margin-bottom: 0;
+}
+
+.prose :where(figcaption):not(:where([class~="not-prose"],[class~="not-prose"] *)) {
+ color: var(--tw-prose-captions);
+ font-size: 0.875em;
+ line-height: 1.4285714;
+ margin-top: 0.8571429em;
+}
+
+.prose {
+ --tw-prose-body: rgba(var(--color-neutral-700), 1);
+ --tw-prose-headings: rgba(var(--color-neutral-800), 1);
+ --tw-prose-lead: rgba(var(--color-neutral-500), 1);
+ --tw-prose-links: rgba(var(--color-primary-700), 1);
+ --tw-prose-bold: rgba(var(--color-neutral-900), 1);
+ --tw-prose-counters: rgba(var(--color-neutral-800), 1);
+ --tw-prose-bullets: rgba(var(--color-neutral-500), 1);
+ --tw-prose-hr: rgba(var(--color-neutral-200), 1);
+ --tw-prose-quotes: rgba(var(--color-neutral-700), 1);
+ --tw-prose-quote-borders: rgba(var(--color-primary-200), 1);
+ --tw-prose-captions: rgba(var(--color-neutral-500), 1);
+ --tw-prose-kbd: #111827;
+ --tw-prose-kbd-shadows: 17 24 39;
+ --tw-prose-code: rgba(var(--color-secondary-700), 1);
+ --tw-prose-pre-code: rgba(var(--color-neutral-700), 1);
+ --tw-prose-pre-bg: rgba(var(--color-neutral-50), 1);
+ --tw-prose-th-borders: rgba(var(--color-neutral-500), 1);
+ --tw-prose-td-borders: rgba(var(--color-neutral-300), 1);
+ --tw-prose-invert-body: rgba(var(--color-neutral-300), 1);
+ --tw-prose-invert-headings: rgba(var(--color-neutral-50), 1);
+ --tw-prose-invert-lead: rgba(var(--color-neutral-500), 1);
+ --tw-prose-invert-links: rgba(var(--color-primary-400), 1);
+ --tw-prose-invert-bold: rgba(var(--color-neutral), 1);
+ --tw-prose-invert-counters: rgba(var(--color-neutral-400), 1);
+ --tw-prose-invert-bullets: rgba(var(--color-neutral-600), 1);
+ --tw-prose-invert-hr: rgba(var(--color-neutral-500), 1);
+ --tw-prose-invert-quotes: rgba(var(--color-neutral-200), 1);
+ --tw-prose-invert-quote-borders: rgba(var(--color-primary-900), 1);
+ --tw-prose-invert-captions: rgba(var(--color-neutral-400), 1);
+ --tw-prose-invert-kbd: #fff;
+ --tw-prose-invert-kbd-shadows: 255 255 255;
+ --tw-prose-invert-code: rgba(var(--color-secondary-400), 1);
+ --tw-prose-invert-pre-code: rgba(var(--color-neutral-200), 1);
+ --tw-prose-invert-pre-bg: rgba(var(--color-neutral-700), 1);
+ --tw-prose-invert-th-borders: rgba(var(--color-neutral-500), 1);
+ --tw-prose-invert-td-borders: rgba(var(--color-neutral-700), 1);
+ font-size: 1rem;
+ line-height: 1.75;
+}
+
+.prose :where(picture > img):not(:where([class~="not-prose"],[class~="not-prose"] *)) {
+ margin-top: 0;
+ margin-bottom: 0;
+}
+
+.prose :where(li):not(:where([class~="not-prose"],[class~="not-prose"] *)) {
+ margin-top: 0.5em;
+ margin-bottom: 0.5em;
+}
+
+.prose :where(ol > li):not(:where([class~="not-prose"],[class~="not-prose"] *)) {
+ padding-inline-start: 0.375em;
+}
+
+.prose :where(ul > li):not(:where([class~="not-prose"],[class~="not-prose"] *)) {
+ padding-inline-start: 0.375em;
+}
+
+.prose :where(.prose > ul > li p):not(:where([class~="not-prose"],[class~="not-prose"] *)) {
+ margin-top: 0.75em;
+ margin-bottom: 0.75em;
+}
+
+.prose :where(.prose > ul > li > p:first-child):not(:where([class~="not-prose"],[class~="not-prose"] *)) {
+ margin-top: 1.25em;
+}
+
+.prose :where(.prose > ul > li > p:last-child):not(:where([class~="not-prose"],[class~="not-prose"] *)) {
+ margin-bottom: 1.25em;
+}
+
+.prose :where(.prose > ol > li > p:first-child):not(:where([class~="not-prose"],[class~="not-prose"] *)) {
+ margin-top: 1.25em;
+}
+
+.prose :where(.prose > ol > li > p:last-child):not(:where([class~="not-prose"],[class~="not-prose"] *)) {
+ margin-bottom: 1.25em;
+}
+
+.prose :where(ul ul, ul ol, ol ul, ol ol):not(:where([class~="not-prose"],[class~="not-prose"] *)) {
+ margin-top: 0.75em;
+ margin-bottom: 0.75em;
+}
+
+.prose :where(dl):not(:where([class~="not-prose"],[class~="not-prose"] *)) {
+ margin-top: 1.25em;
+ margin-bottom: 1.25em;
+}
+
+.prose :where(dd):not(:where([class~="not-prose"],[class~="not-prose"] *)) {
+ margin-top: 0.5em;
+ padding-inline-start: 1.625em;
+}
+
+.prose :where(hr + *):not(:where([class~="not-prose"],[class~="not-prose"] *)) {
+ margin-top: 0;
+}
+
+.prose :where(h2 + *):not(:where([class~="not-prose"],[class~="not-prose"] *)) {
+ margin-top: 0;
+}
+
+.prose :where(h3 + *):not(:where([class~="not-prose"],[class~="not-prose"] *)) {
+ margin-top: 0;
+}
+
+.prose :where(h4 + *):not(:where([class~="not-prose"],[class~="not-prose"] *)) {
+ margin-top: 0;
+}
+
+.prose :where(thead th:first-child):not(:where([class~="not-prose"],[class~="not-prose"] *)) {
+ padding-inline-start: 0;
+}
+
+.prose :where(thead th:last-child):not(:where([class~="not-prose"],[class~="not-prose"] *)) {
+ padding-inline-end: 0;
+}
+
+.prose :where(tbody td, tfoot td):not(:where([class~="not-prose"],[class~="not-prose"] *)) {
+ padding-top: 0.5714286em;
+ padding-inline-end: 0.5714286em;
+ padding-bottom: 0.5714286em;
+ padding-inline-start: 0.5714286em;
+}
+
+.prose :where(tbody td:first-child, tfoot td:first-child):not(:where([class~="not-prose"],[class~="not-prose"] *)) {
+ padding-inline-start: 0;
+}
+
+.prose :where(tbody td:last-child, tfoot td:last-child):not(:where([class~="not-prose"],[class~="not-prose"] *)) {
+ padding-inline-end: 0;
+}
+
+.prose :where(figure):not(:where([class~="not-prose"],[class~="not-prose"] *)) {
+ margin-top: 2em;
+ margin-bottom: 2em;
+}
+
+.prose :where(.prose > :first-child):not(:where([class~="not-prose"],[class~="not-prose"] *)) {
+ margin-top: 0;
+}
+
+.prose :where(.prose > :last-child):not(:where([class~="not-prose"],[class~="not-prose"] *)) {
+ margin-bottom: 0;
+}
+
+.prose :where(mark):not(:where([class~="not-prose"],[class~="not-prose"] *)) {
+ color: rgba(var(--color-neutral-800), 1);
+ background-color: rgba(var(--color-secondary-200), 1);
+ padding: 0.1rem 0.2rem;
+ border-radius: 0.12rem;
+}
+
+body a,
+body button {
+ transition-property: color, background-color, border-color, text-decoration-color, fill, stroke;
+ transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
+ transition-duration: 150ms;
+}
+
+/* Scale SVG icons to text size */
+
+.icon svg {
+ height: 1em;
+ width: 1em;
+}
+
+/* Search */
+
+#search-query::-webkit-search-cancel-button,
+#search-query::-webkit-search-decoration,
+#search-query::-webkit-search-results-button,
+#search-query::-webkit-search-results-decoration {
+ display: none;
+}
+
+/* Hamburger menu */
+
+body:has(#menu-controller:checked) {
+ height: 100vh;
+ overflow: hidden;
+}
+
+#menu-button:has(#menu-controller:checked) {
+ visibility: hidden;
+}
+
+#menu-controller:checked ~ #menu-wrapper {
+ visibility: visible;
+ opacity: 1;
+}
+
+/* RTL support */
+
+.prose blockquote:where([dir="rtl"], [dir="rtl"] *) {
+ border-left-width: 0px;
+ border-right-width: 4px;
+ padding-right: 1rem;
+}
+
+.prose ul > li:where([dir="rtl"], [dir="rtl"] *),
+.prose ol > li:where([dir="rtl"], [dir="rtl"] *) {
+ margin-right: 1.75rem;
+ padding-left: 0px;
+ padding-right: 0.5rem;
+}
+
+.prose ol > li:where([dir="rtl"], [dir="rtl"] *):before,
+.prose ul > li:where([dir="rtl"], [dir="rtl"] *):before {
+ left: auto;
+ right: 0.25rem;
+}
+
+.prose thead td:first-child:where([dir="rtl"], [dir="rtl"] *),
+.prose thead th:first-child:where([dir="rtl"], [dir="rtl"] *) {
+ padding-right: 0px;
+}
+
+.prose thead td:last-child:where([dir="rtl"], [dir="rtl"] *),
+.prose thead th:last-child:where([dir="rtl"], [dir="rtl"] *) {
+ padding-left: 0px;
+}
+
+/* Adjust first child within prose */
+
+.prose div.min-w-0.max-w-prose > *:first-child {
+ margin-top: 0.75rem;
+}
+
+/* Table of Contents */
+
+.toc {
+ max-height: 100vh;
+ overflow-y: auto;
+ padding-bottom: 50px;
+}
+
+.toc ul,
+.toc li {
+ list-style-type: none;
+ padding-left: 0px;
+ padding-right: 0px;
+ line-height: 1.375;
+}
+
+.toc ul ul {
+ padding-inline-start: 1rem;
+}
+
+.toc a {
+ font-weight: 400;
+ --tw-text-opacity: 1;
+ color: rgba(var(--color-neutral-700), var(--tw-text-opacity, 1));
+}
+
+.toc a:is(.dark *) {
+ --tw-text-opacity: 1;
+ color: rgba(var(--color-neutral-400), var(--tw-text-opacity, 1));
+}
+
+.toc ul > li:where([dir="rtl"], [dir="rtl"] *) {
+ margin-right: 0px;
+}
+
+/* Code Copy */
+
+.highlight-wrapper {
+ display: block;
+}
+
+.highlight {
+ position: relative;
+ z-index: 0;
+}
+
+.highlight:hover > .copy-button {
+ visibility: visible;
+}
+
+.copy-button {
+ visibility: hidden;
+ position: absolute;
+ right: 0px;
+ top: 0px;
+ z-index: 10;
+ width: 5rem;
+ cursor: pointer;
+ white-space: nowrap;
+ border-bottom-left-radius: 0.375rem;
+ border-top-right-radius: 0.375rem;
+ --tw-bg-opacity: 1;
+ background-color: rgba(var(--color-neutral-200), var(--tw-bg-opacity, 1));
+ padding-top: 0.25rem;
+ padding-bottom: 0.25rem;
+ font-family: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;
+ font-size: 0.875rem;
+ line-height: 1.25rem;
+ --tw-text-opacity: 1;
+ color: rgba(var(--color-neutral-700), var(--tw-text-opacity, 1));
+ opacity: 0.9;
+}
+
+.copy-button:is(.dark *) {
+ --tw-bg-opacity: 1;
+ background-color: rgba(var(--color-neutral-600), var(--tw-bg-opacity, 1));
+ --tw-text-opacity: 1;
+ color: rgba(var(--color-neutral-200), var(--tw-text-opacity, 1));
+}
+
+.copy-button:hover,
+.copy-button:focus,
+.copy-button:active,
+.copy-button:active:hover {
+ --tw-bg-opacity: 1;
+ background-color: rgba(var(--color-primary-100), var(--tw-bg-opacity, 1));
+}
+
+.copy-button:hover:is(.dark *),
+.copy-button:focus:is(.dark *),
+.copy-button:active:is(.dark *),
+.copy-button:active:hover:is(.dark *) {
+ --tw-bg-opacity: 1;
+ background-color: rgba(var(--color-primary-600), var(--tw-bg-opacity, 1));
+}
+
+.copy-textarea {
+ position: absolute;
+ z-index: -10;
+ opacity: 0.05;
+}
+
+/* Fix long KaTeX equations on mobile (see https://katex.org/docs/issues.html#css-customization) */
+
+.katex-display {
+ overflow: auto hidden;
+}
+
+/* Fix long tables breaking out of article on mobile */
+
+table {
+ display: block;
+ overflow: auto;
+}
+
+@media (min-width: 768px) {
+ table {
+ display: table;
+ }
+}
+
+/* Fix long inline code sections breaking out of article on mobile */
+
+code {
+ word-wrap: break-word;
+ /* All browsers since IE 5.5+ */
+ overflow-wrap: break-word;
+}
+
+/* -- Chroma Highlight -- */
+
+/* Background */
+
+.chroma {
+ border-radius: 0.375rem;
+ --tw-bg-opacity: 1;
+ background-color: rgba(var(--color-neutral-50), var(--tw-bg-opacity, 1));
+ padding-top: 0.75rem;
+ padding-bottom: 0.75rem;
+ --tw-text-opacity: 1;
+ color: rgba(var(--color-neutral-700), var(--tw-text-opacity, 1));
+}
+
+.chroma:is(.dark *) {
+ --tw-bg-opacity: 1;
+ background-color: rgba(var(--color-neutral-700), var(--tw-bg-opacity, 1));
+ --tw-text-opacity: 1;
+ color: rgba(var(--color-neutral-200), var(--tw-text-opacity, 1));
+}
+
+.chroma pre {
+ margin: 0px;
+ padding: 0px;
+}
+
+.prose div.chroma {
+ margin-bottom: 1.5rem;
+ margin-top: 1.5rem;
+}
+
+/* LineTable */
+
+.chroma .lntable {
+ margin: 0px;
+ display: block;
+ width: auto;
+ overflow: auto;
+ font-size: 1rem;
+ line-height: 1.5rem;
+}
+
+/* LineNumbersTable */
+
+/* LineNumbers */
+
+.chroma .lnt,
+.chroma .ln {
+ margin-right: 0.5rem;
+ padding-left: 0.5rem;
+ padding-right: 0.5rem;
+ --tw-text-opacity: 1;
+ color: rgba(var(--color-neutral-600), var(--tw-text-opacity, 1));
+}
+
+.chroma .lnt:is(.dark *),
+.chroma .ln:is(.dark *) {
+ --tw-text-opacity: 1;
+ color: rgba(var(--color-neutral-300), var(--tw-text-opacity, 1));
+}
+
+.chroma .lntd {
+ padding: 0px;
+ vertical-align: top;
+}
+
+.chroma .lntd:last-of-type {
+ width: 100%;
+}
+
+/* LineHighlight */
+
+.chroma .hl {
+ display: block;
+ width: 100%;
+ --tw-bg-opacity: 1;
+ background-color: rgba(var(--color-primary-100), var(--tw-bg-opacity, 1));
+}
+
+.chroma .hl:is(.dark *) {
+ --tw-bg-opacity: 1;
+ background-color: rgba(var(--color-primary-900), var(--tw-bg-opacity, 1));
+}
+
+/* Keyword */
+
+/* KeywordDeclaration */
+
+/* KeywordNamespace */
+
+/* KeywordPseudo */
+
+/* KeywordReserved */
+
+/* NameClass */
+
+/* NameFunctionMagic */
+
+/* NameNamespace */
+
+/* NameVariableClass */
+
+/* Operator */
+
+.chroma .k,
+.chroma .kd,
+.chroma .kn,
+.chroma .kp,
+.chroma .kr,
+.chroma .nc,
+.chroma .fm,
+.chroma .nn,
+.chroma .vc,
+.chroma .o {
+ --tw-text-opacity: 1;
+ color: rgba(var(--color-primary-600), var(--tw-text-opacity, 1));
+}
+
+.chroma .k:is(.dark *),
+.chroma .kd:is(.dark *),
+.chroma .kn:is(.dark *),
+.chroma .kp:is(.dark *),
+.chroma .kr:is(.dark *),
+.chroma .nc:is(.dark *),
+.chroma .fm:is(.dark *),
+.chroma .nn:is(.dark *),
+.chroma .vc:is(.dark *),
+.chroma .o:is(.dark *) {
+ --tw-text-opacity: 1;
+ color: rgba(var(--color-primary-300), var(--tw-text-opacity, 1));
+}
+
+/* KeywordConstant */
+
+.chroma .kc {
+ font-weight: 600;
+ --tw-text-opacity: 1;
+ color: rgba(var(--color-secondary-400), var(--tw-text-opacity, 1));
+}
+
+.chroma .kc:is(.dark *) {
+ --tw-text-opacity: 1;
+ color: rgba(var(--color-secondary-500), var(--tw-text-opacity, 1));
+}
+
+/* KeywordType */
+
+/* NameVariable */
+
+/* NameVariableInstance */
+
+/* NameVariableMagic */
+
+/* LiteralNumber */
+
+/* LiteralNumberBin */
+
+/* LiteralNumberFloat */
+
+/* LiteralNumberHex */
+
+/* LiteralNumberInteger */
+
+/* LiteralNumberIntegerLong */
+
+/* LiteralNumberOct */
+
+.chroma .kt,
+.chroma .nv,
+.chroma .vi,
+.chroma .vm,
+.chroma .m,
+.chroma .mb,
+.chroma .mf,
+.chroma .mh,
+.chroma .mi,
+.chroma .il,
+.chroma .mo {
+ --tw-text-opacity: 1;
+ color: rgba(var(--color-secondary-400), var(--tw-text-opacity, 1));
+}
+
+.chroma .kt:is(.dark *),
+.chroma .nv:is(.dark *),
+.chroma .vi:is(.dark *),
+.chroma .vm:is(.dark *),
+.chroma .m:is(.dark *),
+.chroma .mb:is(.dark *),
+.chroma .mf:is(.dark *),
+.chroma .mh:is(.dark *),
+.chroma .mi:is(.dark *),
+.chroma .il:is(.dark *),
+.chroma .mo:is(.dark *) {
+ --tw-text-opacity: 1;
+ color: rgba(var(--color-secondary-600), var(--tw-text-opacity, 1));
+}
+
+/* Name */
+
+/* NameDecorator */
+
+/* NameEntity */
+
+/* NameLabel */
+
+.chroma .n,
+.chroma .nd,
+.chroma .ni,
+.chroma .nl {
+ --tw-text-opacity: 1;
+ color: rgba(var(--color-secondary-900), var(--tw-text-opacity, 1));
+}
+
+.chroma .n:is(.dark *),
+.chroma .nd:is(.dark *),
+.chroma .ni:is(.dark *),
+.chroma .nl:is(.dark *) {
+ --tw-text-opacity: 1;
+ color: rgba(var(--color-secondary-200), var(--tw-text-opacity, 1));
+}
+
+/* NameAttribute */
+
+/* NameBuiltin */
+
+/* NameBuiltinPseudo */
+
+/* NameOther */
+
+/* NameProperty */
+
+/* NameTag */
+
+.chroma .na,
+.chroma .nb,
+.chroma .bp,
+.chroma .nx,
+.chroma .py,
+.chroma .nt {
+ --tw-text-opacity: 1;
+ color: rgba(var(--color-secondary-800), var(--tw-text-opacity, 1));
+}
+
+.chroma .na:is(.dark *),
+.chroma .nb:is(.dark *),
+.chroma .bp:is(.dark *),
+.chroma .nx:is(.dark *),
+.chroma .py:is(.dark *),
+.chroma .nt:is(.dark *) {
+ --tw-text-opacity: 1;
+ color: rgba(var(--color-secondary-300), var(--tw-text-opacity, 1));
+}
+
+/* NameConstant */
+
+/* NameException */
+
+/* NameVariableGlobal */
+
+.chroma .no,
+.chroma .ne,
+.chroma .vg {
+ font-weight: 600;
+ --tw-text-opacity: 1;
+ color: rgba(var(--color-secondary-400), var(--tw-text-opacity, 1));
+}
+
+.chroma .no:is(.dark *),
+.chroma .ne:is(.dark *),
+.chroma .vg:is(.dark *) {
+ --tw-text-opacity: 1;
+ color: rgba(var(--color-secondary-500), var(--tw-text-opacity, 1));
+}
+
+/* NameFunction */
+
+.chroma .nf {
+ --tw-text-opacity: 1;
+ color: rgba(var(--color-secondary-600), var(--tw-text-opacity, 1));
+}
+
+.chroma .nf:is(.dark *) {
+ --tw-text-opacity: 1;
+ color: rgba(var(--color-secondary-500), var(--tw-text-opacity, 1));
+}
+
+/* Literal */
+
+/* LiteralDate */
+
+/* LiteralString */
+
+/* LiteralStringAffix */
+
+/* LiteralStringBacktick */
+
+/* LiteralStringChar */
+
+/* LiteralStringDelimiter */
+
+/* LiteralStringDoc */
+
+/* LiteralStringDouble */
+
+/* LiteralStringHeredoc */
+
+/* LiteralStringInterpol */
+
+/* LiteralStringOther */
+
+/* LiteralStringSingle */
+
+/* GenericInserted */
+
+/* GenericOutput */
+
+/* GenericPrompt */
+
+.chroma .l,
+.chroma .ld,
+.chroma .s,
+.chroma .sa,
+.chroma .sb,
+.chroma .sc,
+.chroma .dl,
+.chroma .sd,
+.chroma .s2,
+.chroma .sh,
+.chroma .si,
+.chroma .sx,
+.chroma .s1,
+.chroma .gi,
+.chroma .go,
+.chroma .gp {
+ --tw-text-opacity: 1;
+ color: rgba(var(--color-primary-800), var(--tw-text-opacity, 1));
+}
+
+.chroma .l:is(.dark *),
+.chroma .ld:is(.dark *),
+.chroma .s:is(.dark *),
+.chroma .sa:is(.dark *),
+.chroma .sb:is(.dark *),
+.chroma .sc:is(.dark *),
+.chroma .dl:is(.dark *),
+.chroma .sd:is(.dark *),
+.chroma .s2:is(.dark *),
+.chroma .sh:is(.dark *),
+.chroma .si:is(.dark *),
+.chroma .sx:is(.dark *),
+.chroma .s1:is(.dark *),
+.chroma .gi:is(.dark *),
+.chroma .go:is(.dark *),
+.chroma .gp:is(.dark *) {
+ --tw-text-opacity: 1;
+ color: rgba(var(--color-primary-400), var(--tw-text-opacity, 1));
+}
+
+/* LiteralStringEscape */
+
+.chroma .se {
+ font-weight: 600;
+ --tw-text-opacity: 1;
+ color: rgba(var(--color-secondary-400), var(--tw-text-opacity, 1));
+}
+
+.chroma .se:is(.dark *) {
+ --tw-text-opacity: 1;
+ color: rgba(var(--color-secondary-500), var(--tw-text-opacity, 1));
+}
+
+/* LiteralStringRegex */
+
+/* LiteralStringSymbol */
+
+.chroma .sr,
+.chroma .ss {
+ font-weight: 600;
+ --tw-text-opacity: 1;
+ color: rgba(var(--color-primary-800), var(--tw-text-opacity, 1));
+}
+
+.chroma .sr:is(.dark *),
+.chroma .ss:is(.dark *) {
+ --tw-text-opacity: 1;
+ color: rgba(var(--color-primary-400), var(--tw-text-opacity, 1));
+}
+
+/* OperatorWord */
+
+.chroma .ow {
+ font-weight: 600;
+ --tw-text-opacity: 1;
+ color: rgba(var(--color-primary-400), var(--tw-text-opacity, 1));
+}
+
+.chroma .ow:is(.dark *) {
+ --tw-text-opacity: 1;
+ color: rgba(var(--color-primary-600), var(--tw-text-opacity, 1));
+}
+
+/* Comment */
+
+/* CommentMultiline */
+
+/* CommentSingle */
+
+/* CommentSpecial */
+
+/* CommentPreproc */
+
+/* CommentPreprocFile */
+
+.chroma .c,
+.chroma .cm,
+.chroma .c1,
+.chroma .cs,
+.chroma .cp,
+.chroma .cpf {
+ font-style: italic;
+ --tw-text-opacity: 1;
+ color: rgba(var(--color-neutral-500), var(--tw-text-opacity, 1));
+}
+
+.chroma .c:is(.dark *),
+.chroma .cm:is(.dark *),
+.chroma .c1:is(.dark *),
+.chroma .cs:is(.dark *),
+.chroma .cp:is(.dark *),
+.chroma .cpf:is(.dark *) {
+ --tw-text-opacity: 1;
+ color: rgba(var(--color-neutral-400), var(--tw-text-opacity, 1));
+}
+
+/* CommentHashbang */
+
+.chroma .ch {
+ font-weight: 600;
+ font-style: italic;
+ --tw-text-opacity: 1;
+ color: rgba(var(--color-neutral-500), var(--tw-text-opacity, 1));
+}
+
+.chroma .ch:is(.dark *) {
+ --tw-text-opacity: 1;
+ color: rgba(var(--color-neutral-400), var(--tw-text-opacity, 1));
+}
+
+/* GenericEmph */
+
+.chroma .ge {
+ font-style: italic;
+}
+
+/* GenericHeading */
+
+.chroma .gh {
+ font-weight: 600;
+ --tw-text-opacity: 1;
+ color: rgba(var(--color-neutral-500), var(--tw-text-opacity, 1));
+}
+
+/* GenericStrong */
+
+.chroma .gs {
+ font-weight: 600;
+}
+
+/* GenericSubheading */
+
+/* GenericTraceback */
+
+.chroma .gu,
+.chroma .gt {
+ --tw-text-opacity: 1;
+ color: rgba(var(--color-neutral-500), var(--tw-text-opacity, 1));
+}
+
+/* GenericUnderline */
+
+.chroma .gl {
+ text-decoration-line: underline;
+}
+
+.pointer-events-none {
+ pointer-events: none;
+}
+
+.pointer-events-auto {
+ pointer-events: auto;
+}
+
+.invisible {
+ visibility: hidden;
+}
+
+.fixed {
+ position: fixed;
+}
+
+.absolute {
+ position: absolute;
+}
+
+.relative {
+ position: relative;
+}
+
+.sticky {
+ position: sticky;
+}
+
+.inset-0 {
+ inset: 0px;
+}
+
+.-start-6 {
+ inset-inline-start: -1.5rem;
+}
+
+.bottom-0 {
+ bottom: 0px;
+}
+
+.bottom-7 {
+ bottom: 1.75rem;
+}
+
+.end-0 {
+ inset-inline-end: 0px;
+}
+
+.top-0 {
+ top: 0px;
+}
+
+.top-20 {
+ top: 5rem;
+}
+
+.top-\[100vh\] {
+ top: 100vh;
+}
+
+.top-\[calc\(100vh-5\.5rem\)\] {
+ top: calc(100vh - 5.5rem);
+}
+
+.z-10 {
+ z-index: 10;
+}
+
+.z-30 {
+ z-index: 30;
+}
+
+.z-40 {
+ z-index: 40;
+}
+
+.z-50 {
+ z-index: 50;
+}
+
+.order-first {
+ order: -9999;
+}
+
+.m-1 {
+ margin: 0.25rem;
+}
+
+.m-auto {
+ margin: auto;
+}
+
+.-mx-2 {
+ margin-left: -0.5rem;
+ margin-right: -0.5rem;
+}
+
+.mx-1 {
+ margin-left: 0.25rem;
+ margin-right: 0.25rem;
+}
+
+.mx-auto {
+ margin-left: auto;
+ margin-right: auto;
+}
+
+.my-0 {
+ margin-top: 0px;
+ margin-bottom: 0px;
+}
+
+.my-1 {
+ margin-top: 0.25rem;
+ margin-bottom: 0.25rem;
+}
+
+.my-3 {
+ margin-top: 0.75rem;
+ margin-bottom: 0.75rem;
+}
+
+.\!mb-0 {
+ margin-bottom: 0px !important;
+}
+
+.\!mb-9 {
+ margin-bottom: 2.25rem !important;
+}
+
+.\!mt-0 {
+ margin-top: 0px !important;
+}
+
+.-mb-1 {
+ margin-bottom: -0.25rem;
+}
+
+.-ms-5 {
+ margin-inline-start: -1.25rem;
+}
+
+.-mt-3 {
+ margin-top: -0.75rem;
+}
+
+.mb-1 {
+ margin-bottom: 0.25rem;
+}
+
+.mb-10 {
+ margin-bottom: 2.5rem;
+}
+
+.mb-12 {
+ margin-bottom: 3rem;
+}
+
+.mb-2 {
+ margin-bottom: 0.5rem;
+}
+
+.mb-3 {
+ margin-bottom: 0.75rem;
+}
+
+.mb-6 {
+ margin-bottom: 1.5rem;
+}
+
+.mb-8 {
+ margin-bottom: 2rem;
+}
+
+.mb-\[2px\] {
+ margin-bottom: 2px;
+}
+
+.me-14 {
+ margin-inline-end: 3.5rem;
+}
+
+.me-2 {
+ margin-inline-end: 0.5rem;
+}
+
+.me-4 {
+ margin-inline-end: 1rem;
+}
+
+.ml-2 {
+ margin-left: 0.5rem;
+}
+
+.mr-2 {
+ margin-right: 0.5rem;
+}
+
+.ms-1 {
+ margin-inline-start: 0.25rem;
+}
+
+.ms-2 {
+ margin-inline-start: 0.5rem;
+}
+
+.mt-0 {
+ margin-top: 0px;
+}
+
+.mt-1 {
+ margin-top: 0.25rem;
+}
+
+.mt-10 {
+ margin-top: 2.5rem;
+}
+
+.mt-12 {
+ margin-top: 3rem;
+}
+
+.mt-6 {
+ margin-top: 1.5rem;
+}
+
+.mt-8 {
+ margin-top: 2rem;
+}
+
+.mt-\[0\.1rem\] {
+ margin-top: 0.1rem;
+}
+
+.block {
+ display: block;
+}
+
+.inline-block {
+ display: inline-block;
+}
+
+.inline {
+ display: inline;
+}
+
+.flex {
+ display: flex;
+}
+
+.hidden {
+ display: none;
+}
+
+.h-12 {
+ height: 3rem;
+}
+
+.h-8 {
+ height: 2rem;
+}
+
+.h-auto {
+ height: auto;
+}
+
+.h-full {
+ height: 100%;
+}
+
+.h-screen {
+ height: 100vh;
+}
+
+.max-h-\[10rem\] {
+ max-height: 10rem;
+}
+
+.max-h-\[4\.5rem\] {
+ max-height: 4.5rem;
+}
+
+.min-h-0 {
+ min-height: 0px;
+}
+
+.w-12 {
+ width: 3rem;
+}
+
+.w-24 {
+ width: 6rem;
+}
+
+.w-36 {
+ width: 9rem;
+}
+
+.w-6 {
+ width: 1.5rem;
+}
+
+.w-8 {
+ width: 2rem;
+}
+
+.w-full {
+ width: 100%;
+}
+
+.w-screen {
+ width: 100vw;
+}
+
+.min-w-0 {
+ min-width: 0px;
+}
+
+.min-w-\[1\.8rem\] {
+ min-width: 1.8rem;
+}
+
+.min-w-\[2\.4rem\] {
+ min-width: 2.4rem;
+}
+
+.max-w-3xl {
+ max-width: 48rem;
+}
+
+.max-w-7xl {
+ max-width: 80rem;
+}
+
+.max-w-\[10rem\] {
+ max-width: 10rem;
+}
+
+.max-w-\[6rem\] {
+ max-width: 6rem;
+}
+
+.max-w-full {
+ max-width: 100%;
+}
+
+.max-w-prose {
+ max-width: 65ch;
+}
+
+.flex-auto {
+ flex: 1 1 auto;
+}
+
+.flex-none {
+ flex: none;
+}
+
+.flex-grow {
+ flex-grow: 1;
+}
+
+.grow {
+ flex-grow: 1;
+}
+
+.-translate-y-8 {
+ --tw-translate-y: -2rem;
+ transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
+}
+
+.cursor-default {
+ cursor: default;
+}
+
+.cursor-pointer {
+ cursor: pointer;
+}
+
+.list-none {
+ list-style-type: none;
+}
+
+.appearance-none {
+ -webkit-appearance: none;
+ -moz-appearance: none;
+ appearance: none;
+}
+
+.flex-row {
+ flex-direction: row;
+}
+
+.flex-col {
+ flex-direction: column;
+}
+
+.flex-wrap {
+ flex-wrap: wrap;
+}
+
+.items-start {
+ align-items: flex-start;
+}
+
+.items-end {
+ align-items: flex-end;
+}
+
+.items-center {
+ align-items: center;
+}
+
+.justify-end {
+ justify-content: flex-end;
+}
+
+.justify-center {
+ justify-content: center;
+}
+
+.justify-between {
+ justify-content: space-between;
+}
+
+.place-self-center {
+ place-self: center;
+}
+
+.self-center {
+ align-self: center;
+}
+
+.overflow-auto {
+ overflow: auto;
+}
+
+.overflow-hidden {
+ overflow: hidden;
+}
+
+.overflow-visible {
+ overflow: visible;
+}
+
+.scroll-smooth {
+ scroll-behavior: smooth;
+}
+
+.whitespace-nowrap {
+ white-space: nowrap;
+}
+
+.\!rounded-md {
+ border-radius: 0.375rem !important;
+}
+
+.rounded {
+ border-radius: 0.25rem;
+}
+
+.rounded-full {
+ border-radius: 9999px;
+}
+
+.rounded-lg {
+ border-radius: 0.5rem;
+}
+
+.rounded-md {
+ border-radius: 0.375rem;
+}
+
+.rounded-b-lg {
+ border-bottom-right-radius: 0.5rem;
+ border-bottom-left-radius: 0.5rem;
+}
+
+.border {
+ border-width: 1px;
+}
+
+.border-s {
+ border-inline-start-width: 1px;
+}
+
+.border-t {
+ border-top-width: 1px;
+}
+
+.border-dotted {
+ border-style: dotted;
+}
+
+.border-neutral-200 {
+ --tw-border-opacity: 1;
+ border-color: rgba(var(--color-neutral-200), var(--tw-border-opacity, 1));
+}
+
+.border-neutral-300 {
+ --tw-border-opacity: 1;
+ border-color: rgba(var(--color-neutral-300), var(--tw-border-opacity, 1));
+}
+
+.border-neutral-400 {
+ --tw-border-opacity: 1;
+ border-color: rgba(var(--color-neutral-400), var(--tw-border-opacity, 1));
+}
+
+.border-primary-400 {
+ --tw-border-opacity: 1;
+ border-color: rgba(var(--color-primary-400), var(--tw-border-opacity, 1));
+}
+
+.bg-neutral {
+ --tw-bg-opacity: 1;
+ background-color: rgba(var(--color-neutral), var(--tw-bg-opacity, 1));
+}
+
+.bg-neutral-100 {
+ --tw-bg-opacity: 1;
+ background-color: rgba(var(--color-neutral-100), var(--tw-bg-opacity, 1));
+}
+
+.bg-neutral-100\/50 {
+ background-color: rgba(var(--color-neutral-100), 0.5);
+}
+
+.bg-neutral-300 {
+ --tw-bg-opacity: 1;
+ background-color: rgba(var(--color-neutral-300), var(--tw-bg-opacity, 1));
+}
+
+.bg-neutral-500\/50 {
+ background-color: rgba(var(--color-neutral-500), 0.5);
+}
+
+.bg-neutral\/50 {
+ background-color: rgba(var(--color-neutral), 0.5);
+}
+
+.bg-primary-100 {
+ --tw-bg-opacity: 1;
+ background-color: rgba(var(--color-primary-100), var(--tw-bg-opacity, 1));
+}
+
+.bg-primary-200 {
+ --tw-bg-opacity: 1;
+ background-color: rgba(var(--color-primary-200), var(--tw-bg-opacity, 1));
+}
+
+.bg-primary-600 {
+ --tw-bg-opacity: 1;
+ background-color: rgba(var(--color-primary-600), var(--tw-bg-opacity, 1));
+}
+
+.bg-transparent {
+ background-color: transparent;
+}
+
+.object-scale-down {
+ -o-object-fit: scale-down;
+ object-fit: scale-down;
+}
+
+.object-left {
+ -o-object-position: left;
+ object-position: left;
+}
+
+.p-1 {
+ padding: 0.25rem;
+}
+
+.p-4 {
+ padding: 1rem;
+}
+
+.px-0 {
+ padding-left: 0px;
+ padding-right: 0px;
+}
+
+.px-1 {
+ padding-left: 0.25rem;
+ padding-right: 0.25rem;
+}
+
+.px-2 {
+ padding-left: 0.5rem;
+ padding-right: 0.5rem;
+}
+
+.px-3 {
+ padding-left: 0.75rem;
+ padding-right: 0.75rem;
+}
+
+.px-4 {
+ padding-left: 1rem;
+ padding-right: 1rem;
+}
+
+.px-6 {
+ padding-left: 1.5rem;
+ padding-right: 1.5rem;
+}
+
+.py-1 {
+ padding-top: 0.25rem;
+ padding-bottom: 0.25rem;
+}
+
+.py-10 {
+ padding-top: 2.5rem;
+ padding-bottom: 2.5rem;
+}
+
+.py-2 {
+ padding-top: 0.5rem;
+ padding-bottom: 0.5rem;
+}
+
+.py-3 {
+ padding-top: 0.75rem;
+ padding-bottom: 0.75rem;
+}
+
+.py-6 {
+ padding-top: 1.5rem;
+ padding-bottom: 1.5rem;
+}
+
+.py-8 {
+ padding-top: 2rem;
+ padding-bottom: 2rem;
+}
+
+.py-\[1px\] {
+ padding-top: 1px;
+ padding-bottom: 1px;
+}
+
+.pb-4 {
+ padding-bottom: 1rem;
+}
+
+.pe-10 {
+ padding-inline-end: 2.5rem;
+}
+
+.pe-2 {
+ padding-inline-end: 0.5rem;
+}
+
+.pe-3 {
+ padding-inline-end: 0.75rem;
+}
+
+.pe-4 {
+ padding-inline-end: 1rem;
+}
+
+.pe-5 {
+ padding-inline-end: 1.25rem;
+}
+
+.ps-2 {
+ padding-inline-start: 0.5rem;
+}
+
+.ps-5 {
+ padding-inline-start: 1.25rem;
+}
+
+.pt-3 {
+ padding-top: 0.75rem;
+}
+
+.pt-4 {
+ padding-top: 1rem;
+}
+
+.pt-8 {
+ padding-top: 2rem;
+}
+
+.text-center {
+ text-align: center;
+}
+
+.text-right {
+ text-align: right;
+}
+
+.text-start {
+ text-align: start;
+}
+
+.text-end {
+ text-align: end;
+}
+
+.align-top {
+ vertical-align: top;
+}
+
+.align-text-bottom {
+ vertical-align: text-bottom;
+}
+
+.text-2xl {
+ font-size: 1.5rem;
+ line-height: 2rem;
+}
+
+.text-4xl {
+ font-size: 2.25rem;
+ line-height: 2.5rem;
+}
+
+.text-\[0\.6rem\] {
+ font-size: 0.6rem;
+}
+
+.text-base {
+ font-size: 1rem;
+ line-height: 1.5rem;
+}
+
+.text-lg {
+ font-size: 1.125rem;
+ line-height: 1.75rem;
+}
+
+.text-sm {
+ font-size: 0.875rem;
+ line-height: 1.25rem;
+}
+
+.text-xl {
+ font-size: 1.25rem;
+ line-height: 1.75rem;
+}
+
+.text-xs {
+ font-size: 0.75rem;
+ line-height: 1rem;
+}
+
+.font-bold {
+ font-weight: 700;
+}
+
+.font-extrabold {
+ font-weight: 800;
+}
+
+.font-medium {
+ font-weight: 500;
+}
+
+.font-normal {
+ font-weight: 400;
+}
+
+.font-semibold {
+ font-weight: 600;
+}
+
+.uppercase {
+ text-transform: uppercase;
+}
+
+.italic {
+ font-style: italic;
+}
+
+.leading-3 {
+ line-height: .75rem;
+}
+
+.leading-6 {
+ line-height: 1.5rem;
+}
+
+.leading-7 {
+ line-height: 1.75rem;
+}
+
+.leading-relaxed {
+ line-height: 1.625;
+}
+
+.\!text-neutral {
+ --tw-text-opacity: 1 !important;
+ color: rgba(var(--color-neutral), var(--tw-text-opacity, 1)) !important;
+}
+
+.text-neutral-400 {
+ --tw-text-opacity: 1;
+ color: rgba(var(--color-neutral-400), var(--tw-text-opacity, 1));
+}
+
+.text-neutral-500 {
+ --tw-text-opacity: 1;
+ color: rgba(var(--color-neutral-500), var(--tw-text-opacity, 1));
+}
+
+.text-neutral-700 {
+ --tw-text-opacity: 1;
+ color: rgba(var(--color-neutral-700), var(--tw-text-opacity, 1));
+}
+
+.text-neutral-800 {
+ --tw-text-opacity: 1;
+ color: rgba(var(--color-neutral-800), var(--tw-text-opacity, 1));
+}
+
+.text-neutral-900 {
+ --tw-text-opacity: 1;
+ color: rgba(var(--color-neutral-900), var(--tw-text-opacity, 1));
+}
+
+.text-primary-400 {
+ --tw-text-opacity: 1;
+ color: rgba(var(--color-primary-400), var(--tw-text-opacity, 1));
+}
+
+.text-primary-500 {
+ --tw-text-opacity: 1;
+ color: rgba(var(--color-primary-500), var(--tw-text-opacity, 1));
+}
+
+.text-primary-600 {
+ --tw-text-opacity: 1;
+ color: rgba(var(--color-primary-600), var(--tw-text-opacity, 1));
+}
+
+.text-primary-700 {
+ --tw-text-opacity: 1;
+ color: rgba(var(--color-primary-700), var(--tw-text-opacity, 1));
+}
+
+.\!no-underline {
+ text-decoration-line: none !important;
+}
+
+.decoration-neutral-300 {
+ text-decoration-color: rgba(var(--color-neutral-300), 1);
+}
+
+.decoration-primary-500 {
+ text-decoration-color: rgba(var(--color-primary-500), 1);
+}
+
+.opacity-0 {
+ opacity: 0;
+}
+
+.shadow {
+ --tw-shadow: 0 1px 3px 0 rgb(0 0 0 / 0.1), 0 1px 2px -1px rgb(0 0 0 / 0.1);
+ --tw-shadow-colored: 0 1px 3px 0 var(--tw-shadow-color), 0 1px 2px -1px var(--tw-shadow-color);
+ box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
+}
+
+.shadow-lg {
+ --tw-shadow: 0 10px 15px -3px rgb(0 0 0 / 0.1), 0 4px 6px -4px rgb(0 0 0 / 0.1);
+ --tw-shadow-colored: 0 10px 15px -3px var(--tw-shadow-color), 0 4px 6px -4px var(--tw-shadow-color);
+ box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
+}
+
+.backdrop-blur {
+ --tw-backdrop-blur: blur(8px);
+ -webkit-backdrop-filter: var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia);
+ backdrop-filter: var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia);
+}
+
+.backdrop-blur-sm {
+ --tw-backdrop-blur: blur(4px);
+ -webkit-backdrop-filter: var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia);
+ backdrop-filter: var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia);
+}
+
+.transition-colors {
+ transition-property: color, background-color, border-color, text-decoration-color, fill, stroke;
+ transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
+ transition-duration: 150ms;
+}
+
+.transition-opacity {
+ transition-property: opacity;
+ transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
+ transition-duration: 150ms;
+}
+
+.transition-transform {
+ transition-property: transform;
+ transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
+ transition-duration: 150ms;
+}
+
+.dark\:prose-invert:is(.dark *) {
+ --tw-prose-body: var(--tw-prose-invert-body);
+ --tw-prose-headings: var(--tw-prose-invert-headings);
+ --tw-prose-lead: var(--tw-prose-invert-lead);
+ --tw-prose-links: var(--tw-prose-invert-links);
+ --tw-prose-bold: var(--tw-prose-invert-bold);
+ --tw-prose-counters: var(--tw-prose-invert-counters);
+ --tw-prose-bullets: var(--tw-prose-invert-bullets);
+ --tw-prose-hr: var(--tw-prose-invert-hr);
+ --tw-prose-quotes: var(--tw-prose-invert-quotes);
+ --tw-prose-quote-borders: var(--tw-prose-invert-quote-borders);
+ --tw-prose-captions: var(--tw-prose-invert-captions);
+ --tw-prose-kbd: var(--tw-prose-invert-kbd);
+ --tw-prose-kbd-shadows: var(--tw-prose-invert-kbd-shadows);
+ --tw-prose-code: var(--tw-prose-invert-code);
+ --tw-prose-pre-code: var(--tw-prose-invert-pre-code);
+ --tw-prose-pre-bg: var(--tw-prose-invert-pre-bg);
+ --tw-prose-th-borders: var(--tw-prose-invert-th-borders);
+ --tw-prose-td-borders: var(--tw-prose-invert-td-borders);
+}
+
+.dark\:prose-invert:is(.dark *) :where(a):not(:where([class~="not-prose"],[class~="not-prose"] *)) {
+ text-decoration-color: rgba(var(--color-neutral-600), 1);
+}
+
+.dark\:prose-invert:is(.dark *) :where(kbd):not(:where([class~="not-prose"],[class~="not-prose"] *)) {
+ color: rgba(var(--color-neutral-200), 1);
+ background-color: rgba(var(--color-neutral-700), 1);
+}
+
+.dark\:prose-invert:is(.dark *) :where(mark):not(:where([class~="not-prose"],[class~="not-prose"] *)) {
+ background-color: rgba(var(--color-secondary-400), 1);
+}
+
+.first\:mt-8:first-child {
+ margin-top: 2rem;
+}
+
+.hover\:scale-125:hover {
+ --tw-scale-x: 1.25;
+ --tw-scale-y: 1.25;
+ transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
+}
+
+.hover\:border-primary-300:hover {
+ --tw-border-opacity: 1;
+ border-color: rgba(var(--color-primary-300), var(--tw-border-opacity, 1));
+}
+
+.hover\:\!bg-primary-500:hover {
+ --tw-bg-opacity: 1 !important;
+ background-color: rgba(var(--color-primary-500), var(--tw-bg-opacity, 1)) !important;
+}
+
+.hover\:bg-primary-100:hover {
+ --tw-bg-opacity: 1;
+ background-color: rgba(var(--color-primary-100), var(--tw-bg-opacity, 1));
+}
+
+.hover\:bg-primary-500:hover {
+ --tw-bg-opacity: 1;
+ background-color: rgba(var(--color-primary-500), var(--tw-bg-opacity, 1));
+}
+
+.hover\:bg-primary-600:hover {
+ --tw-bg-opacity: 1;
+ background-color: rgba(var(--color-primary-600), var(--tw-bg-opacity, 1));
+}
+
+.hover\:text-neutral:hover {
+ --tw-text-opacity: 1;
+ color: rgba(var(--color-neutral), var(--tw-text-opacity, 1));
+}
+
+.hover\:text-primary-500:hover {
+ --tw-text-opacity: 1;
+ color: rgba(var(--color-primary-500), var(--tw-text-opacity, 1));
+}
+
+.hover\:text-primary-600:hover {
+ --tw-text-opacity: 1;
+ color: rgba(var(--color-primary-600), var(--tw-text-opacity, 1));
+}
+
+.hover\:text-primary-700:hover {
+ --tw-text-opacity: 1;
+ color: rgba(var(--color-primary-700), var(--tw-text-opacity, 1));
+}
+
+.hover\:underline:hover {
+ text-decoration-line: underline;
+}
+
+.hover\:decoration-primary-400:hover {
+ text-decoration-color: rgba(var(--color-primary-400), 1);
+}
+
+.hover\:decoration-2:hover {
+ text-decoration-thickness: 2px;
+}
+
+.hover\:underline-offset-2:hover {
+ text-underline-offset: 2px;
+}
+
+.focus\:translate-y-0:focus {
+ --tw-translate-y: 0px;
+ transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
+}
+
+.focus\:bg-primary-100:focus {
+ --tw-bg-opacity: 1;
+ background-color: rgba(var(--color-primary-100), var(--tw-bg-opacity, 1));
+}
+
+.focus\:outline-dotted:focus {
+ outline-style: dotted;
+}
+
+.focus\:outline-2:focus {
+ outline-width: 2px;
+}
+
+.focus\:outline-transparent:focus {
+ outline-color: transparent;
+}
+
+.group:hover .group-hover\:visible {
+ visibility: visible;
+}
+
+.group:hover .group-hover\:-translate-x-\[-2px\] {
+ --tw-translate-x: 2px;
+ transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
+}
+
+.group:hover .group-hover\:-translate-x-\[2px\] {
+ --tw-translate-x: -2px;
+ transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
+}
+
+.group:hover .group-hover\:text-primary-300 {
+ --tw-text-opacity: 1;
+ color: rgba(var(--color-primary-300), var(--tw-text-opacity, 1));
+}
+
+.group:hover .group-hover\:text-primary-600 {
+ --tw-text-opacity: 1;
+ color: rgba(var(--color-primary-600), var(--tw-text-opacity, 1));
+}
+
+.group:hover .group-hover\:underline {
+ text-decoration-line: underline;
+}
+
+.group:hover .group-hover\:decoration-primary-500 {
+ text-decoration-color: rgba(var(--color-primary-500), 1);
+}
+
+.group:hover .group-hover\:decoration-2 {
+ text-decoration-thickness: 2px;
+}
+
+.group:hover .group-hover\:underline-offset-2 {
+ text-underline-offset: 2px;
+}
+
+.group:hover .group-hover\:opacity-100 {
+ opacity: 1;
+}
+
+.dark\:inline:is(.dark *) {
+ display: inline;
+}
+
+.dark\:flex:is(.dark *) {
+ display: flex;
+}
+
+.dark\:hidden:is(.dark *) {
+ display: none;
+}
+
+.dark\:border-neutral-600:is(.dark *) {
+ --tw-border-opacity: 1;
+ border-color: rgba(var(--color-neutral-600), var(--tw-border-opacity, 1));
+}
+
+.dark\:border-neutral-700:is(.dark *) {
+ --tw-border-opacity: 1;
+ border-color: rgba(var(--color-neutral-700), var(--tw-border-opacity, 1));
+}
+
+.dark\:border-primary-600:is(.dark *) {
+ --tw-border-opacity: 1;
+ border-color: rgba(var(--color-primary-600), var(--tw-border-opacity, 1));
+}
+
+.dark\:bg-neutral-600:is(.dark *) {
+ --tw-bg-opacity: 1;
+ background-color: rgba(var(--color-neutral-600), var(--tw-bg-opacity, 1));
+}
+
+.dark\:bg-neutral-700:is(.dark *) {
+ --tw-bg-opacity: 1;
+ background-color: rgba(var(--color-neutral-700), var(--tw-bg-opacity, 1));
+}
+
+.dark\:bg-neutral-800:is(.dark *) {
+ --tw-bg-opacity: 1;
+ background-color: rgba(var(--color-neutral-800), var(--tw-bg-opacity, 1));
+}
+
+.dark\:bg-neutral-800\/50:is(.dark *) {
+ background-color: rgba(var(--color-neutral-800), 0.5);
+}
+
+.dark\:bg-neutral-900\/50:is(.dark *) {
+ background-color: rgba(var(--color-neutral-900), 0.5);
+}
+
+.dark\:bg-primary-400:is(.dark *) {
+ --tw-bg-opacity: 1;
+ background-color: rgba(var(--color-primary-400), var(--tw-bg-opacity, 1));
+}
+
+.dark\:bg-primary-800:is(.dark *) {
+ --tw-bg-opacity: 1;
+ background-color: rgba(var(--color-primary-800), var(--tw-bg-opacity, 1));
+}
+
+.dark\:bg-primary-900:is(.dark *) {
+ --tw-bg-opacity: 1;
+ background-color: rgba(var(--color-primary-900), var(--tw-bg-opacity, 1));
+}
+
+.dark\:text-neutral:is(.dark *) {
+ --tw-text-opacity: 1;
+ color: rgba(var(--color-neutral), var(--tw-text-opacity, 1));
+}
+
+.dark\:text-neutral-100:is(.dark *) {
+ --tw-text-opacity: 1;
+ color: rgba(var(--color-neutral-100), var(--tw-text-opacity, 1));
+}
+
+.dark\:text-neutral-300:is(.dark *) {
+ --tw-text-opacity: 1;
+ color: rgba(var(--color-neutral-300), var(--tw-text-opacity, 1));
+}
+
+.dark\:text-neutral-400:is(.dark *) {
+ --tw-text-opacity: 1;
+ color: rgba(var(--color-neutral-400), var(--tw-text-opacity, 1));
+}
+
+.dark\:text-neutral-500:is(.dark *) {
+ --tw-text-opacity: 1;
+ color: rgba(var(--color-neutral-500), var(--tw-text-opacity, 1));
+}
+
+.dark\:text-neutral-800:is(.dark *) {
+ --tw-text-opacity: 1;
+ color: rgba(var(--color-neutral-800), var(--tw-text-opacity, 1));
+}
+
+.dark\:text-primary-400:is(.dark *) {
+ --tw-text-opacity: 1;
+ color: rgba(var(--color-primary-400), var(--tw-text-opacity, 1));
+}
+
+.dark\:hover\:border-primary-600:hover:is(.dark *) {
+ --tw-border-opacity: 1;
+ border-color: rgba(var(--color-primary-600), var(--tw-border-opacity, 1));
+}
+
+.dark\:hover\:\!bg-primary-700:hover:is(.dark *) {
+ --tw-bg-opacity: 1 !important;
+ background-color: rgba(var(--color-primary-700), var(--tw-bg-opacity, 1)) !important;
+}
+
+.dark\:hover\:bg-primary-400:hover:is(.dark *) {
+ --tw-bg-opacity: 1;
+ background-color: rgba(var(--color-primary-400), var(--tw-bg-opacity, 1));
+}
+
+.dark\:hover\:bg-primary-900:hover:is(.dark *) {
+ --tw-bg-opacity: 1;
+ background-color: rgba(var(--color-primary-900), var(--tw-bg-opacity, 1));
+}
+
+.dark\:hover\:text-neutral-800:hover:is(.dark *) {
+ --tw-text-opacity: 1;
+ color: rgba(var(--color-neutral-800), var(--tw-text-opacity, 1));
+}
+
+.dark\:hover\:text-primary-400:hover:is(.dark *) {
+ --tw-text-opacity: 1;
+ color: rgba(var(--color-primary-400), var(--tw-text-opacity, 1));
+}
+
+.dark\:focus\:bg-primary-900:focus:is(.dark *) {
+ --tw-bg-opacity: 1;
+ background-color: rgba(var(--color-primary-900), var(--tw-bg-opacity, 1));
+}
+
+.group:hover .dark\:group-hover\:text-neutral-700:is(.dark *) {
+ --tw-text-opacity: 1;
+ color: rgba(var(--color-neutral-700), var(--tw-text-opacity, 1));
+}
+
+.group:hover .dark\:group-hover\:text-primary-400:is(.dark *) {
+ --tw-text-opacity: 1;
+ color: rgba(var(--color-primary-400), var(--tw-text-opacity, 1));
+}
+
+@media (min-width: 640px) {
+ .sm\:mb-0 {
+ margin-bottom: 0px;
+ }
+
+ .sm\:me-7 {
+ margin-inline-end: 1.75rem;
+ }
+
+ .sm\:flex {
+ display: flex;
+ }
+
+ .sm\:hidden {
+ display: none;
+ }
+
+ .sm\:max-h-\[7\.5rem\] {
+ max-height: 7.5rem;
+ }
+
+ .sm\:w-1\/2 {
+ width: 50%;
+ }
+
+ .sm\:w-40 {
+ width: 10rem;
+ }
+
+ .sm\:max-w-\[10rem\] {
+ max-width: 10rem;
+ }
+
+ .sm\:flex-row {
+ flex-direction: row;
+ }
+
+ .sm\:items-center {
+ align-items: center;
+ }
+
+ .sm\:p-6 {
+ padding: 1.5rem;
+ }
+
+ .sm\:px-14 {
+ padding-left: 3.5rem;
+ padding-right: 3.5rem;
+ }
+
+ .sm\:py-10 {
+ padding-top: 2.5rem;
+ padding-bottom: 2.5rem;
+ }
+
+ .sm\:pe-6 {
+ padding-inline-end: 1.5rem;
+ }
+
+ .sm\:pt-10 {
+ padding-top: 2.5rem;
+ }
+
+ .sm\:text-lg {
+ font-size: 1.125rem;
+ line-height: 1.75rem;
+ }
+
+ .sm\:last\:me-0:last-child {
+ margin-inline-end: 0px;
+ }
+
+ .sm\:last\:me-0\.5:last-child {
+ margin-inline-end: 0.125rem;
+ }
+}
+
+@media (min-width: 768px) {
+ .md\:w-1\/3 {
+ width: 33.333333%;
+ }
+
+ .md\:p-\[10vh\] {
+ padding: 10vh;
+ }
+
+ .md\:px-24 {
+ padding-left: 6rem;
+ padding-right: 6rem;
+ }
+}
+
+@media (min-width: 1024px) {
+ .lg\:sticky {
+ position: sticky;
+ }
+
+ .lg\:top-10 {
+ top: 2.5rem;
+ }
+
+ .lg\:order-last {
+ order: 9999;
+ }
+
+ .lg\:hidden {
+ display: none;
+ }
+
+ .lg\:w-1\/4 {
+ width: 25%;
+ }
+
+ .lg\:max-w-xs {
+ max-width: 20rem;
+ }
+
+ .lg\:flex-row {
+ flex-direction: row;
+ }
+
+ .lg\:p-\[12vh\] {
+ padding: 12vh;
+ }
+
+ .lg\:px-32 {
+ padding-left: 8rem;
+ padding-right: 8rem;
+ }
+
+ .lg\:ps-8 {
+ padding-inline-start: 2rem;
+ }
+}
+
+@media (min-width: 1280px) {
+ .xl\:w-1\/5 {
+ width: 20%;
+ }
+}
+
+.ltr\:right-0:where([dir="ltr"], [dir="ltr"] *) {
+ right: 0px;
+}
+
+.ltr\:block:where([dir="ltr"], [dir="ltr"] *) {
+ display: block;
+}
+
+.ltr\:inline:where([dir="ltr"], [dir="ltr"] *) {
+ display: inline;
+}
+
+.ltr\:hidden:where([dir="ltr"], [dir="ltr"] *) {
+ display: none;
+}
+
+.rtl\:left-0:where([dir="rtl"], [dir="rtl"] *) {
+ left: 0px;
+}
+
+.rtl\:block:where([dir="rtl"], [dir="rtl"] *) {
+ display: block;
+}
+
+.rtl\:inline:where([dir="rtl"], [dir="rtl"] *) {
+ display: inline;
+}
+
+.rtl\:hidden:where([dir="rtl"], [dir="rtl"] *) {
+ display: none;
+}
+
+@media print {
+ .print\:hidden {
+ display: none;
+ }
+}
diff --git a/themes/congo-146_fix/assets/css/main.css b/themes/congo-146_fix/assets/css/main.css
new file mode 100644
index 0000000..1e57216
--- /dev/null
+++ b/themes/congo-146_fix/assets/css/main.css
@@ -0,0 +1,327 @@
+/*! Congo v2.11.0 | MIT License | https://github.com/jpanther/congo */
+
+@tailwind base;
+@tailwind components;
+
+body a,
+body button {
+ @apply transition-colors;
+}
+
+/* Scale SVG icons to text size */
+.icon svg {
+ @apply h-[1em] w-[1em];
+}
+
+/* Search */
+#search-query::-webkit-search-cancel-button,
+#search-query::-webkit-search-decoration,
+#search-query::-webkit-search-results-button,
+#search-query::-webkit-search-results-decoration {
+ @apply hidden;
+}
+
+/* Hamburger menu */
+body:has(#menu-controller:checked) {
+ @apply h-screen overflow-hidden;
+}
+#menu-button:has(#menu-controller:checked) {
+ @apply invisible;
+}
+#menu-controller:checked ~ #menu-wrapper {
+ @apply visible opacity-100;
+}
+
+/* RTL support */
+.prose blockquote {
+ @apply rtl:border-l-0 rtl:border-r-4 rtl:pr-4;
+}
+.prose ul > li,
+.prose ol > li {
+ @apply rtl:mr-7 rtl:pl-0 rtl:pr-2;
+}
+.prose ol > li:before,
+.prose ul > li:before {
+ @apply rtl:left-auto rtl:right-1;
+}
+.prose thead td:first-child,
+.prose thead th:first-child {
+ @apply rtl:pr-0;
+}
+.prose thead td:last-child,
+.prose thead th:last-child {
+ @apply rtl:pl-0;
+}
+
+/* Adjust first child within prose */
+.prose div.min-w-0.max-w-prose > *:first-child {
+ @apply mt-3;
+}
+
+/* Table of Contents */
+.toc {
+ max-height: 100vh;
+ overflow-y: auto;
+ padding-bottom: 50px;
+}
+
+.toc ul,
+.toc li {
+ @apply list-none px-0 leading-snug;
+}
+.toc ul ul {
+ @apply ps-4;
+}
+.toc a {
+ @apply font-normal text-neutral-700 dark:text-neutral-400;
+}
+.toc ul > li {
+ @apply rtl:mr-0;
+}
+
+/* Code Copy */
+.highlight-wrapper {
+ @apply block;
+}
+.highlight {
+ @apply relative z-0;
+}
+.highlight:hover > .copy-button {
+ @apply visible;
+}
+.copy-button {
+ @apply invisible absolute right-0 top-0 z-10 w-20 cursor-pointer whitespace-nowrap rounded-bl-md rounded-tr-md bg-neutral-200 py-1 font-mono text-sm text-neutral-700 opacity-90 dark:bg-neutral-600 dark:text-neutral-200;
+}
+.copy-button:hover,
+.copy-button:focus,
+.copy-button:active,
+.copy-button:active:hover {
+ @apply bg-primary-100 dark:bg-primary-600;
+}
+.copy-textarea {
+ @apply absolute -z-10 opacity-5;
+}
+
+/* Fix long KaTeX equations on mobile (see https://katex.org/docs/issues.html#css-customization) */
+.katex-display {
+ overflow: auto hidden;
+}
+
+/* Fix long tables breaking out of article on mobile */
+table {
+ @apply block overflow-auto md:table;
+}
+
+/* Fix long inline code sections breaking out of article on mobile */
+code {
+ word-wrap: break-word; /* All browsers since IE 5.5+ */
+ @apply break-words;
+}
+
+/* -- Chroma Highlight -- */
+/* Background */
+.chroma {
+ @apply rounded-md bg-neutral-50 py-3 text-neutral-700 dark:bg-neutral-700 dark:text-neutral-200;
+}
+.chroma pre {
+ @apply m-0 p-0;
+}
+.prose div.chroma {
+ @apply mb-6 mt-6;
+}
+/* LineTable */
+.chroma .lntable {
+ @apply m-0 block w-auto overflow-auto text-base;
+}
+/* LineNumbersTable */
+/* LineNumbers */
+.chroma .lnt,
+.chroma .ln {
+ @apply mr-2 px-2 text-neutral-600 dark:text-neutral-300;
+}
+.chroma .lntd {
+ @apply p-0 align-top;
+}
+.chroma .lntd:last-of-type {
+ @apply w-full;
+}
+/* LineHighlight */
+.chroma .hl {
+ @apply block w-full bg-primary-100 dark:bg-primary-900;
+}
+/* Keyword */
+/* KeywordDeclaration */
+/* KeywordNamespace */
+/* KeywordPseudo */
+/* KeywordReserved */
+/* NameClass */
+/* NameFunctionMagic */
+/* NameNamespace */
+/* NameVariableClass */
+/* Operator */
+.chroma .k,
+.chroma .kd,
+.chroma .kn,
+.chroma .kp,
+.chroma .kr,
+.chroma .nc,
+.chroma .fm,
+.chroma .nn,
+.chroma .vc,
+.chroma .o {
+ @apply text-primary-600 dark:text-primary-300;
+}
+/* KeywordConstant */
+.chroma .kc {
+ @apply font-semibold text-secondary-400 dark:text-secondary-500;
+}
+/* KeywordType */
+/* NameVariable */
+/* NameVariableInstance */
+/* NameVariableMagic */
+/* LiteralNumber */
+/* LiteralNumberBin */
+/* LiteralNumberFloat */
+/* LiteralNumberHex */
+/* LiteralNumberInteger */
+/* LiteralNumberIntegerLong */
+/* LiteralNumberOct */
+.chroma .kt,
+.chroma .nv,
+.chroma .vi,
+.chroma .vm,
+.chroma .m,
+.chroma .mb,
+.chroma .mf,
+.chroma .mh,
+.chroma .mi,
+.chroma .il,
+.chroma .mo {
+ @apply text-secondary-400 dark:text-secondary-600;
+}
+/* Name */
+/* NameDecorator */
+/* NameEntity */
+/* NameLabel */
+.chroma .n,
+.chroma .nd,
+.chroma .ni,
+.chroma .nl {
+ @apply text-secondary-900 dark:text-secondary-200;
+}
+/* NameAttribute */
+/* NameBuiltin */
+/* NameBuiltinPseudo */
+/* NameOther */
+/* NameProperty */
+/* NameTag */
+.chroma .na,
+.chroma .nb,
+.chroma .bp,
+.chroma .nx,
+.chroma .py,
+.chroma .nt {
+ @apply text-secondary-800 dark:text-secondary-300;
+}
+/* NameConstant */
+/* NameException */
+/* NameVariableGlobal */
+.chroma .no,
+.chroma .ne,
+.chroma .vg {
+ @apply font-semibold text-secondary-400 dark:text-secondary-500;
+}
+/* NameFunction */
+.chroma .nf {
+ @apply text-secondary-600 dark:text-secondary-500;
+}
+/* Literal */
+/* LiteralDate */
+/* LiteralString */
+/* LiteralStringAffix */
+/* LiteralStringBacktick */
+/* LiteralStringChar */
+/* LiteralStringDelimiter */
+/* LiteralStringDoc */
+/* LiteralStringDouble */
+/* LiteralStringHeredoc */
+/* LiteralStringInterpol */
+/* LiteralStringOther */
+/* LiteralStringSingle */
+/* GenericInserted */
+/* GenericOutput */
+/* GenericPrompt */
+.chroma .l,
+.chroma .ld,
+.chroma .s,
+.chroma .sa,
+.chroma .sb,
+.chroma .sc,
+.chroma .dl,
+.chroma .sd,
+.chroma .s2,
+.chroma .sh,
+.chroma .si,
+.chroma .sx,
+.chroma .s1,
+.chroma .gi,
+.chroma .go,
+.chroma .gp {
+ @apply text-primary-800 dark:text-primary-400;
+}
+/* LiteralStringEscape */
+.chroma .se {
+ @apply font-semibold text-secondary-400 dark:text-secondary-500;
+}
+/* LiteralStringRegex */
+/* LiteralStringSymbol */
+.chroma .sr,
+.chroma .ss {
+ @apply font-semibold text-primary-800 dark:text-primary-400;
+}
+/* OperatorWord */
+.chroma .ow {
+ @apply font-semibold text-primary-400 dark:text-primary-600;
+}
+/* Comment */
+/* CommentMultiline */
+/* CommentSingle */
+/* CommentSpecial */
+/* CommentPreproc */
+/* CommentPreprocFile */
+.chroma .c,
+.chroma .cm,
+.chroma .c1,
+.chroma .cs,
+.chroma .cp,
+.chroma .cpf {
+ @apply italic text-neutral-500 dark:text-neutral-400;
+}
+/* CommentHashbang */
+.chroma .ch {
+ @apply font-semibold italic text-neutral-500 dark:text-neutral-400;
+}
+/* GenericEmph */
+.chroma .ge {
+ @apply italic;
+}
+/* GenericHeading */
+.chroma .gh {
+ @apply font-semibold text-neutral-500;
+}
+/* GenericStrong */
+.chroma .gs {
+ @apply font-semibold;
+}
+/* GenericSubheading */
+/* GenericTraceback */
+.chroma .gu,
+.chroma .gt {
+ @apply text-neutral-500;
+}
+/* GenericUnderline */
+.chroma .gl {
+ @apply underline;
+}
+
+@tailwind utilities;
diff --git a/themes/congo-146_fix/assets/css/schemes/avocado.css b/themes/congo-146_fix/assets/css/schemes/avocado.css
new file mode 100644
index 0000000..b9cb77e
--- /dev/null
+++ b/themes/congo-146_fix/assets/css/schemes/avocado.css
@@ -0,0 +1,40 @@
+/* Avocado scheme */
+:root {
+ --color-neutral: 255, 255, 255;
+ /* Stone */
+ --color-neutral-50: 250, 250, 249;
+ --color-neutral-100: 245, 245, 244;
+ --color-neutral-200: 231, 229, 228;
+ --color-neutral-300: 214, 211, 209;
+ --color-neutral-400: 168, 162, 158;
+ --color-neutral-500: 120, 113, 108;
+ --color-neutral-600: 87, 83, 78;
+ --color-neutral-700: 68, 64, 60;
+ --color-neutral-800: 41, 37, 36;
+ --color-neutral-900: 28, 25, 23;
+ --color-neutral-950: 12, 10, 9;
+ /* Lime */
+ --color-primary-50: 247, 254, 231;
+ --color-primary-100: 236, 252, 203;
+ --color-primary-200: 217, 249, 157;
+ --color-primary-300: 190, 242, 100;
+ --color-primary-400: 163, 230, 53;
+ --color-primary-500: 132, 204, 22;
+ --color-primary-600: 101, 163, 13;
+ --color-primary-700: 77, 124, 15;
+ --color-primary-800: 63, 98, 18;
+ --color-primary-900: 54, 83, 20;
+ --color-primary-950: 26, 46, 5;
+ /* Emerald */
+ --color-secondary-50: 236, 253, 245;
+ --color-secondary-100: 209, 250, 229;
+ --color-secondary-200: 167, 243, 208;
+ --color-secondary-300: 110, 231, 183;
+ --color-secondary-400: 52, 211, 153;
+ --color-secondary-500: 16, 185, 129;
+ --color-secondary-600: 5, 150, 105;
+ --color-secondary-700: 4, 120, 87;
+ --color-secondary-800: 6, 95, 70;
+ --color-secondary-900: 6, 78, 59;
+ --color-secondary-950: 2, 44, 34;
+}
diff --git a/themes/congo-146_fix/assets/css/schemes/cherry.css b/themes/congo-146_fix/assets/css/schemes/cherry.css
new file mode 100644
index 0000000..2d64729
--- /dev/null
+++ b/themes/congo-146_fix/assets/css/schemes/cherry.css
@@ -0,0 +1,40 @@
+/* Cherry scheme */
+:root {
+ --color-neutral: 255, 255, 255;
+ /* Neutral */
+ --color-neutral-50: 250, 250, 250;
+ --color-neutral-100: 245, 245, 245;
+ --color-neutral-200: 229, 229, 229;
+ --color-neutral-300: 212, 212, 212;
+ --color-neutral-400: 163, 163, 163;
+ --color-neutral-500: 115, 115, 115;
+ --color-neutral-600: 82, 82, 82;
+ --color-neutral-700: 64, 64, 64;
+ --color-neutral-800: 38, 38, 38;
+ --color-neutral-900: 23, 23, 23;
+ --color-neutral-950: 10, 10, 10;
+ /* Rose */
+ --color-primary-50: 255, 241, 242;
+ --color-primary-100: 255, 228, 230;
+ --color-primary-200: 254, 205, 211;
+ --color-primary-300: 253, 164, 175;
+ --color-primary-400: 251, 113, 133;
+ --color-primary-500: 244, 63, 94;
+ --color-primary-600: 225, 29, 72;
+ --color-primary-700: 190, 18, 60;
+ --color-primary-800: 159, 18, 57;
+ --color-primary-900: 136, 19, 55;
+ --color-primary-950: 76, 5, 25;
+ /* Green */
+ --color-secondary-50: 240, 253, 244;
+ --color-secondary-100: 220, 252, 231;
+ --color-secondary-200: 187, 247, 208;
+ --color-secondary-300: 134, 239, 172;
+ --color-secondary-400: 74, 222, 128;
+ --color-secondary-500: 34, 197, 94;
+ --color-secondary-600: 22, 163, 74;
+ --color-secondary-700: 21, 128, 61;
+ --color-secondary-800: 22, 101, 52;
+ --color-secondary-900: 20, 83, 45;
+ --color-secondary-950: 5, 46, 22;
+}
diff --git a/themes/congo-146_fix/assets/css/schemes/congo.css b/themes/congo-146_fix/assets/css/schemes/congo.css
new file mode 100644
index 0000000..8b18d0a
--- /dev/null
+++ b/themes/congo-146_fix/assets/css/schemes/congo.css
@@ -0,0 +1,40 @@
+/* Congo scheme */
+:root {
+ --color-neutral: 255, 255, 255;
+ /* Gray */
+ --color-neutral-50: 250, 250, 250;
+ --color-neutral-100: 244, 244, 245;
+ --color-neutral-200: 228, 228, 231;
+ --color-neutral-300: 212, 212, 216;
+ --color-neutral-400: 161, 161, 170;
+ --color-neutral-500: 113, 113, 122;
+ --color-neutral-600: 82, 82, 91;
+ --color-neutral-700: 63, 63, 70;
+ --color-neutral-800: 39, 39, 42;
+ --color-neutral-900: 24, 24, 27;
+ --color-neutral-950: 3, 7, 18;
+ /* Violet */
+ --color-primary-50: 245, 243, 255;
+ --color-primary-100: 237, 233, 254;
+ --color-primary-200: 221, 214, 254;
+ --color-primary-300: 196, 181, 253;
+ --color-primary-400: 167, 139, 250;
+ --color-primary-500: 139, 92, 246;
+ --color-primary-600: 124, 58, 237;
+ --color-primary-700: 109, 40, 217;
+ --color-primary-800: 91, 33, 182;
+ --color-primary-900: 76, 29, 149;
+ --color-primary-950: 46, 16, 101;
+ /* Fuchsia */
+ --color-secondary-50: 253, 244, 255;
+ --color-secondary-100: 250, 232, 255;
+ --color-secondary-200: 245, 208, 254;
+ --color-secondary-300: 240, 171, 252;
+ --color-secondary-400: 232, 121, 249;
+ --color-secondary-500: 217, 70, 239;
+ --color-secondary-600: 192, 38, 211;
+ --color-secondary-700: 162, 28, 175;
+ --color-secondary-800: 134, 25, 143;
+ --color-secondary-900: 112, 26, 117;
+ --color-secondary-950: 74, 4, 78;
+}
diff --git a/themes/congo-146_fix/assets/css/schemes/fire.css b/themes/congo-146_fix/assets/css/schemes/fire.css
new file mode 100644
index 0000000..01efdb9
--- /dev/null
+++ b/themes/congo-146_fix/assets/css/schemes/fire.css
@@ -0,0 +1,40 @@
+/* Fire scheme */
+:root {
+ --color-neutral: 255, 255, 255;
+ /* Stone */
+ --color-neutral-50: 250, 250, 249;
+ --color-neutral-100: 245, 245, 244;
+ --color-neutral-200: 231, 229, 228;
+ --color-neutral-300: 214, 211, 209;
+ --color-neutral-400: 168, 162, 158;
+ --color-neutral-500: 120, 113, 108;
+ --color-neutral-600: 87, 83, 78;
+ --color-neutral-700: 68, 64, 60;
+ --color-neutral-800: 41, 37, 36;
+ --color-neutral-900: 28, 25, 23;
+ --color-neutral-950: 12, 10, 9;
+ /* Orange */
+ --color-primary-50: 255, 247, 237;
+ --color-primary-100: 255, 237, 213;
+ --color-primary-200: 254, 215, 170;
+ --color-primary-300: 253, 186, 116;
+ --color-primary-400: 251, 146, 60;
+ --color-primary-500: 249, 115, 22;
+ --color-primary-600: 234, 88, 12;
+ --color-primary-700: 194, 65, 12;
+ --color-primary-800: 154, 52, 18;
+ --color-primary-900: 124, 45, 18;
+ --color-primary-950: 69, 10, 10;
+ /* Rose */
+ --color-secondary-50: 255, 241, 242;
+ --color-secondary-100: 255, 228, 230;
+ --color-secondary-200: 254, 205, 211;
+ --color-secondary-300: 253, 164, 175;
+ --color-secondary-400: 251, 113, 133;
+ --color-secondary-500: 244, 63, 94;
+ --color-secondary-600: 225, 29, 72;
+ --color-secondary-700: 190, 18, 60;
+ --color-secondary-800: 159, 18, 57;
+ --color-secondary-900: 136, 19, 55;
+ --color-secondary-950: 76, 5, 25;
+}
diff --git a/themes/congo-146_fix/assets/css/schemes/ocean.css b/themes/congo-146_fix/assets/css/schemes/ocean.css
new file mode 100644
index 0000000..32e8138
--- /dev/null
+++ b/themes/congo-146_fix/assets/css/schemes/ocean.css
@@ -0,0 +1,40 @@
+/* Ocean scheme */
+:root {
+ --color-neutral: 255, 255, 255;
+ /* Slate */
+ --color-neutral-50: 248, 250, 252;
+ --color-neutral-100: 241, 245, 249;
+ --color-neutral-200: 226, 232, 240;
+ --color-neutral-300: 203, 213, 225;
+ --color-neutral-400: 148, 163, 184;
+ --color-neutral-500: 100, 116, 139;
+ --color-neutral-600: 71, 85, 105;
+ --color-neutral-700: 51, 65, 85;
+ --color-neutral-800: 30, 41, 59;
+ --color-neutral-900: 15, 23, 42;
+ --color-neutral-950: 2, 6, 23;
+ /* Blue */
+ --color-primary-50: 239, 246, 255;
+ --color-primary-100: 219, 234, 254;
+ --color-primary-200: 191, 219, 254;
+ --color-primary-300: 147, 197, 253;
+ --color-primary-400: 96, 165, 250;
+ --color-primary-500: 59, 130, 246;
+ --color-primary-600: 37, 99, 235;
+ --color-primary-700: 29, 78, 216;
+ --color-primary-800: 30, 64, 175;
+ --color-primary-900: 30, 58, 138;
+ --color-primary-950: 23, 37, 8;
+ /* Cyan */
+ --color-secondary-50: 236, 254, 255;
+ --color-secondary-100: 207, 250, 254;
+ --color-secondary-200: 165, 243, 252;
+ --color-secondary-300: 103, 232, 249;
+ --color-secondary-400: 34, 211, 238;
+ --color-secondary-500: 6, 182, 212;
+ --color-secondary-600: 8, 145, 178;
+ --color-secondary-700: 14, 116, 144;
+ --color-secondary-800: 21, 94, 117;
+ --color-secondary-900: 22, 78, 99;
+ --color-secondary-950: 8, 51, 69;
+}
diff --git a/themes/congo-146_fix/assets/css/schemes/sapphire.css b/themes/congo-146_fix/assets/css/schemes/sapphire.css
new file mode 100644
index 0000000..94632b1
--- /dev/null
+++ b/themes/congo-146_fix/assets/css/schemes/sapphire.css
@@ -0,0 +1,40 @@
+/* Sapphire scheme */
+:root {
+ --color-neutral: 255, 255, 255;
+ /* Slate */
+ --color-neutral-50: 248, 250, 252;
+ --color-neutral-100: 241, 245, 249;
+ --color-neutral-200: 226, 232, 240;
+ --color-neutral-300: 203, 213, 225;
+ --color-neutral-400: 148, 163, 184;
+ --color-neutral-500: 100, 116, 139;
+ --color-neutral-600: 71, 85, 105;
+ --color-neutral-700: 51, 65, 85;
+ --color-neutral-800: 30, 41, 59;
+ --color-neutral-900: 15, 23, 42;
+ --color-neutral-950: 10, 10, 10;
+ /* Indigo */
+ --color-primary-50: 238, 242, 255;
+ --color-primary-100: 224, 231, 255;
+ --color-primary-200: 199, 210, 254;
+ --color-primary-300: 165, 180, 252;
+ --color-primary-400: 129, 140, 248;
+ --color-primary-500: 99, 102, 241;
+ --color-primary-600: 79, 70, 229;
+ --color-primary-700: 67, 56, 202;
+ --color-primary-800: 55, 48, 163;
+ --color-primary-900: 49, 46, 129;
+ --color-primary-950: 30, 27, 75;
+ /* Pink */
+ --color-secondary-50: 253, 242, 248;
+ --color-secondary-100: 252, 231, 243;
+ --color-secondary-200: 251, 207, 232;
+ --color-secondary-300: 249, 168, 212;
+ --color-secondary-400: 244, 114, 182;
+ --color-secondary-500: 236, 72, 153;
+ --color-secondary-600: 219, 39, 119;
+ --color-secondary-700: 190, 24, 93;
+ --color-secondary-800: 157, 23, 77;
+ --color-secondary-900: 131, 24, 67;
+ --color-secondary-950: 80, 7, 36;
+}
diff --git a/themes/congo-146_fix/assets/css/schemes/slate.css b/themes/congo-146_fix/assets/css/schemes/slate.css
new file mode 100644
index 0000000..4f73ee7
--- /dev/null
+++ b/themes/congo-146_fix/assets/css/schemes/slate.css
@@ -0,0 +1,40 @@
+/* Slate scheme */
+:root {
+ --color-neutral: 255, 255, 255;
+ /* Gray */
+ --color-neutral-50: 249, 250, 251;
+ --color-neutral-100: 243, 244, 246;
+ --color-neutral-200: 229, 231, 235;
+ --color-neutral-300: 209, 213, 219;
+ --color-neutral-400: 156, 163, 175;
+ --color-neutral-500: 107, 114, 128;
+ --color-neutral-600: 75, 85, 99;
+ --color-neutral-700: 55, 65, 81;
+ --color-neutral-800: 31, 41, 55;
+ --color-neutral-900: 17, 24, 39;
+ --color-neutral-950: 17, 24, 39;
+ /* Slate */
+ --color-primary-50: 248, 250, 252;
+ --color-primary-100: 241, 245, 249;
+ --color-primary-200: 226, 232, 240;
+ --color-primary-300: 203, 213, 225;
+ --color-primary-400: 148, 163, 184;
+ --color-primary-500: 100, 116, 139;
+ --color-primary-600: 71, 85, 105;
+ --color-primary-700: 51, 65, 85;
+ --color-primary-800: 30, 41, 59;
+ --color-primary-900: 15, 23, 42;
+ --color-primary-950: 2, 6, 23;
+ /* Gray */
+ --color-secondary-50: 249, 250, 251;
+ --color-secondary-100: 243, 244, 246;
+ --color-secondary-200: 229, 231, 235;
+ --color-secondary-300: 209, 213, 219;
+ --color-secondary-400: 156, 163, 175;
+ --color-secondary-500: 107, 114, 128;
+ --color-secondary-600: 75, 85, 99;
+ --color-secondary-700: 55, 65, 81;
+ --color-secondary-800: 31, 41, 55;
+ --color-secondary-900: 17, 24, 39;
+ --color-secondary-950: 10, 10, 10;
+}
diff --git a/themes/congo-146_fix/assets/icons/amazon.svg b/themes/congo-146_fix/assets/icons/amazon.svg
new file mode 100644
index 0000000..32047db
--- /dev/null
+++ b/themes/congo-146_fix/assets/icons/amazon.svg
@@ -0,0 +1 @@
+
diff --git a/themes/congo-146_fix/assets/icons/apple.svg b/themes/congo-146_fix/assets/icons/apple.svg
new file mode 100644
index 0000000..d1c2233
--- /dev/null
+++ b/themes/congo-146_fix/assets/icons/apple.svg
@@ -0,0 +1 @@
+
diff --git a/themes/congo-146_fix/assets/icons/bars.svg b/themes/congo-146_fix/assets/icons/bars.svg
new file mode 100644
index 0000000..6e5941d
--- /dev/null
+++ b/themes/congo-146_fix/assets/icons/bars.svg
@@ -0,0 +1 @@
+
diff --git a/themes/congo-146_fix/assets/icons/blogger.svg b/themes/congo-146_fix/assets/icons/blogger.svg
new file mode 100644
index 0000000..194dd9b
--- /dev/null
+++ b/themes/congo-146_fix/assets/icons/blogger.svg
@@ -0,0 +1 @@
+
diff --git a/themes/congo-146_fix/assets/icons/bluesky.svg b/themes/congo-146_fix/assets/icons/bluesky.svg
new file mode 100644
index 0000000..8952dc3
--- /dev/null
+++ b/themes/congo-146_fix/assets/icons/bluesky.svg
@@ -0,0 +1 @@
+
diff --git a/themes/congo-146_fix/assets/icons/bug.svg b/themes/congo-146_fix/assets/icons/bug.svg
new file mode 100644
index 0000000..97cae6e
--- /dev/null
+++ b/themes/congo-146_fix/assets/icons/bug.svg
@@ -0,0 +1 @@
+
diff --git a/themes/congo-146_fix/assets/icons/check.svg b/themes/congo-146_fix/assets/icons/check.svg
new file mode 100644
index 0000000..a6938bd
--- /dev/null
+++ b/themes/congo-146_fix/assets/icons/check.svg
@@ -0,0 +1 @@
+
diff --git a/themes/congo-146_fix/assets/icons/chevron-down.svg b/themes/congo-146_fix/assets/icons/chevron-down.svg
new file mode 100644
index 0000000..fc640bd
--- /dev/null
+++ b/themes/congo-146_fix/assets/icons/chevron-down.svg
@@ -0,0 +1 @@
+
diff --git a/themes/congo-146_fix/assets/icons/chevron-up.svg b/themes/congo-146_fix/assets/icons/chevron-up.svg
new file mode 100644
index 0000000..a2b79a2
--- /dev/null
+++ b/themes/congo-146_fix/assets/icons/chevron-up.svg
@@ -0,0 +1 @@
+
diff --git a/themes/congo-146_fix/assets/icons/circle-info.svg b/themes/congo-146_fix/assets/icons/circle-info.svg
new file mode 100644
index 0000000..bd32225
--- /dev/null
+++ b/themes/congo-146_fix/assets/icons/circle-info.svg
@@ -0,0 +1 @@
+
diff --git a/themes/congo-146_fix/assets/icons/codepen.svg b/themes/congo-146_fix/assets/icons/codepen.svg
new file mode 100644
index 0000000..52ec58a
--- /dev/null
+++ b/themes/congo-146_fix/assets/icons/codepen.svg
@@ -0,0 +1 @@
+
diff --git a/themes/congo-146_fix/assets/icons/coffee.svg b/themes/congo-146_fix/assets/icons/coffee.svg
new file mode 100644
index 0000000..a8e1f67
--- /dev/null
+++ b/themes/congo-146_fix/assets/icons/coffee.svg
@@ -0,0 +1 @@
+
diff --git a/themes/congo-146_fix/assets/icons/comment.svg b/themes/congo-146_fix/assets/icons/comment.svg
new file mode 100644
index 0000000..2305041
--- /dev/null
+++ b/themes/congo-146_fix/assets/icons/comment.svg
@@ -0,0 +1 @@
+
diff --git a/themes/congo-146_fix/assets/icons/dev.svg b/themes/congo-146_fix/assets/icons/dev.svg
new file mode 100644
index 0000000..7311e84
--- /dev/null
+++ b/themes/congo-146_fix/assets/icons/dev.svg
@@ -0,0 +1 @@
+
diff --git a/themes/congo-146_fix/assets/icons/discord.svg b/themes/congo-146_fix/assets/icons/discord.svg
new file mode 100644
index 0000000..75f1fc7
--- /dev/null
+++ b/themes/congo-146_fix/assets/icons/discord.svg
@@ -0,0 +1 @@
+
diff --git a/themes/congo-146_fix/assets/icons/dribbble.svg b/themes/congo-146_fix/assets/icons/dribbble.svg
new file mode 100644
index 0000000..c2613fe
--- /dev/null
+++ b/themes/congo-146_fix/assets/icons/dribbble.svg
@@ -0,0 +1 @@
+
diff --git a/themes/congo-146_fix/assets/icons/edit.svg b/themes/congo-146_fix/assets/icons/edit.svg
new file mode 100644
index 0000000..82a6035
--- /dev/null
+++ b/themes/congo-146_fix/assets/icons/edit.svg
@@ -0,0 +1 @@
+
diff --git a/themes/congo-146_fix/assets/icons/email.svg b/themes/congo-146_fix/assets/icons/email.svg
new file mode 100644
index 0000000..fa215c6
--- /dev/null
+++ b/themes/congo-146_fix/assets/icons/email.svg
@@ -0,0 +1 @@
+
diff --git a/themes/congo-146_fix/assets/icons/facebook.svg b/themes/congo-146_fix/assets/icons/facebook.svg
new file mode 100644
index 0000000..1535831
--- /dev/null
+++ b/themes/congo-146_fix/assets/icons/facebook.svg
@@ -0,0 +1 @@
+
diff --git a/themes/congo-146_fix/assets/icons/flickr.svg b/themes/congo-146_fix/assets/icons/flickr.svg
new file mode 100644
index 0000000..fcd57c4
--- /dev/null
+++ b/themes/congo-146_fix/assets/icons/flickr.svg
@@ -0,0 +1 @@
+
diff --git a/themes/congo-146_fix/assets/icons/foursquare.svg b/themes/congo-146_fix/assets/icons/foursquare.svg
new file mode 100644
index 0000000..74c28e6
--- /dev/null
+++ b/themes/congo-146_fix/assets/icons/foursquare.svg
@@ -0,0 +1 @@
+
diff --git a/themes/congo-146_fix/assets/icons/github.svg b/themes/congo-146_fix/assets/icons/github.svg
new file mode 100644
index 0000000..ed8c470
--- /dev/null
+++ b/themes/congo-146_fix/assets/icons/github.svg
@@ -0,0 +1 @@
+
diff --git a/themes/congo-146_fix/assets/icons/gitlab.svg b/themes/congo-146_fix/assets/icons/gitlab.svg
new file mode 100644
index 0000000..998e306
--- /dev/null
+++ b/themes/congo-146_fix/assets/icons/gitlab.svg
@@ -0,0 +1 @@
+
diff --git a/themes/congo-146_fix/assets/icons/globe.svg b/themes/congo-146_fix/assets/icons/globe.svg
new file mode 100644
index 0000000..6304e06
--- /dev/null
+++ b/themes/congo-146_fix/assets/icons/globe.svg
@@ -0,0 +1 @@
+
diff --git a/themes/congo-146_fix/assets/icons/google-scholar.svg b/themes/congo-146_fix/assets/icons/google-scholar.svg
new file mode 100644
index 0000000..1862f54
--- /dev/null
+++ b/themes/congo-146_fix/assets/icons/google-scholar.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/themes/congo-146_fix/assets/icons/google.svg b/themes/congo-146_fix/assets/icons/google.svg
new file mode 100644
index 0000000..7e10132
--- /dev/null
+++ b/themes/congo-146_fix/assets/icons/google.svg
@@ -0,0 +1 @@
+
diff --git a/themes/congo-146_fix/assets/icons/hashnode.svg b/themes/congo-146_fix/assets/icons/hashnode.svg
new file mode 100644
index 0000000..6ebe2db
--- /dev/null
+++ b/themes/congo-146_fix/assets/icons/hashnode.svg
@@ -0,0 +1 @@
+
diff --git a/themes/congo-146_fix/assets/icons/instagram.svg b/themes/congo-146_fix/assets/icons/instagram.svg
new file mode 100644
index 0000000..3cd3d33
--- /dev/null
+++ b/themes/congo-146_fix/assets/icons/instagram.svg
@@ -0,0 +1 @@
+
diff --git a/themes/congo-146_fix/assets/icons/keybase.svg b/themes/congo-146_fix/assets/icons/keybase.svg
new file mode 100644
index 0000000..998110e
--- /dev/null
+++ b/themes/congo-146_fix/assets/icons/keybase.svg
@@ -0,0 +1 @@
+
diff --git a/themes/congo-146_fix/assets/icons/kickstarter.svg b/themes/congo-146_fix/assets/icons/kickstarter.svg
new file mode 100644
index 0000000..4496981
--- /dev/null
+++ b/themes/congo-146_fix/assets/icons/kickstarter.svg
@@ -0,0 +1 @@
+
diff --git a/themes/congo-146_fix/assets/icons/kofi.svg b/themes/congo-146_fix/assets/icons/kofi.svg
new file mode 100644
index 0000000..aa86104
--- /dev/null
+++ b/themes/congo-146_fix/assets/icons/kofi.svg
@@ -0,0 +1,5 @@
+
diff --git a/themes/congo-146_fix/assets/icons/lastfm.svg b/themes/congo-146_fix/assets/icons/lastfm.svg
new file mode 100644
index 0000000..2b53341
--- /dev/null
+++ b/themes/congo-146_fix/assets/icons/lastfm.svg
@@ -0,0 +1 @@
+
diff --git a/themes/congo-146_fix/assets/icons/lightbulb.svg b/themes/congo-146_fix/assets/icons/lightbulb.svg
new file mode 100644
index 0000000..5ffc710
--- /dev/null
+++ b/themes/congo-146_fix/assets/icons/lightbulb.svg
@@ -0,0 +1 @@
+
diff --git a/themes/congo-146_fix/assets/icons/line.svg b/themes/congo-146_fix/assets/icons/line.svg
new file mode 100644
index 0000000..b066929
--- /dev/null
+++ b/themes/congo-146_fix/assets/icons/line.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/themes/congo-146_fix/assets/icons/link.svg b/themes/congo-146_fix/assets/icons/link.svg
new file mode 100644
index 0000000..eb283c2
--- /dev/null
+++ b/themes/congo-146_fix/assets/icons/link.svg
@@ -0,0 +1 @@
+
diff --git a/themes/congo-146_fix/assets/icons/linkedin.svg b/themes/congo-146_fix/assets/icons/linkedin.svg
new file mode 100644
index 0000000..4e3948b
--- /dev/null
+++ b/themes/congo-146_fix/assets/icons/linkedin.svg
@@ -0,0 +1 @@
+
diff --git a/themes/congo-146_fix/assets/icons/list.svg b/themes/congo-146_fix/assets/icons/list.svg
new file mode 100644
index 0000000..f7a7df4
--- /dev/null
+++ b/themes/congo-146_fix/assets/icons/list.svg
@@ -0,0 +1 @@
+
diff --git a/themes/congo-146_fix/assets/icons/mastodon.svg b/themes/congo-146_fix/assets/icons/mastodon.svg
new file mode 100644
index 0000000..2c9db56
--- /dev/null
+++ b/themes/congo-146_fix/assets/icons/mastodon.svg
@@ -0,0 +1 @@
+
diff --git a/themes/congo-146_fix/assets/icons/medium.svg b/themes/congo-146_fix/assets/icons/medium.svg
new file mode 100644
index 0000000..07d095d
--- /dev/null
+++ b/themes/congo-146_fix/assets/icons/medium.svg
@@ -0,0 +1 @@
+
diff --git a/themes/congo-146_fix/assets/icons/mendeley.svg b/themes/congo-146_fix/assets/icons/mendeley.svg
new file mode 100644
index 0000000..dbd2ed8
--- /dev/null
+++ b/themes/congo-146_fix/assets/icons/mendeley.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/themes/congo-146_fix/assets/icons/microsoft.svg b/themes/congo-146_fix/assets/icons/microsoft.svg
new file mode 100644
index 0000000..1bdb0c2
--- /dev/null
+++ b/themes/congo-146_fix/assets/icons/microsoft.svg
@@ -0,0 +1 @@
+
diff --git a/themes/congo-146_fix/assets/icons/mobile.svg b/themes/congo-146_fix/assets/icons/mobile.svg
new file mode 100644
index 0000000..2b9a046
--- /dev/null
+++ b/themes/congo-146_fix/assets/icons/mobile.svg
@@ -0,0 +1 @@
+
diff --git a/themes/congo-146_fix/assets/icons/moon.svg b/themes/congo-146_fix/assets/icons/moon.svg
new file mode 100644
index 0000000..8356307
--- /dev/null
+++ b/themes/congo-146_fix/assets/icons/moon.svg
@@ -0,0 +1 @@
+
diff --git a/themes/congo-146_fix/assets/icons/orcid.svg b/themes/congo-146_fix/assets/icons/orcid.svg
new file mode 100644
index 0000000..b7f1b25
--- /dev/null
+++ b/themes/congo-146_fix/assets/icons/orcid.svg
@@ -0,0 +1 @@
+
diff --git a/themes/congo-146_fix/assets/icons/patreon.svg b/themes/congo-146_fix/assets/icons/patreon.svg
new file mode 100644
index 0000000..bd2e994
--- /dev/null
+++ b/themes/congo-146_fix/assets/icons/patreon.svg
@@ -0,0 +1 @@
+
diff --git a/themes/congo-146_fix/assets/icons/pencil.svg b/themes/congo-146_fix/assets/icons/pencil.svg
new file mode 100644
index 0000000..29bd525
--- /dev/null
+++ b/themes/congo-146_fix/assets/icons/pencil.svg
@@ -0,0 +1 @@
+
diff --git a/themes/congo-146_fix/assets/icons/phone.svg b/themes/congo-146_fix/assets/icons/phone.svg
new file mode 100644
index 0000000..6760340
--- /dev/null
+++ b/themes/congo-146_fix/assets/icons/phone.svg
@@ -0,0 +1 @@
+
diff --git a/themes/congo-146_fix/assets/icons/pinterest.svg b/themes/congo-146_fix/assets/icons/pinterest.svg
new file mode 100644
index 0000000..386481c
--- /dev/null
+++ b/themes/congo-146_fix/assets/icons/pinterest.svg
@@ -0,0 +1 @@
+
diff --git a/themes/congo-146_fix/assets/icons/reddit.svg b/themes/congo-146_fix/assets/icons/reddit.svg
new file mode 100644
index 0000000..bb55eb5
--- /dev/null
+++ b/themes/congo-146_fix/assets/icons/reddit.svg
@@ -0,0 +1 @@
+
diff --git a/themes/congo-146_fix/assets/icons/researchgate.svg b/themes/congo-146_fix/assets/icons/researchgate.svg
new file mode 100644
index 0000000..ad176db
--- /dev/null
+++ b/themes/congo-146_fix/assets/icons/researchgate.svg
@@ -0,0 +1 @@
+
diff --git a/themes/congo-146_fix/assets/icons/search.svg b/themes/congo-146_fix/assets/icons/search.svg
new file mode 100644
index 0000000..15fe892
--- /dev/null
+++ b/themes/congo-146_fix/assets/icons/search.svg
@@ -0,0 +1 @@
+
diff --git a/themes/congo-146_fix/assets/icons/skull-crossbones.svg b/themes/congo-146_fix/assets/icons/skull-crossbones.svg
new file mode 100644
index 0000000..4e19f6e
--- /dev/null
+++ b/themes/congo-146_fix/assets/icons/skull-crossbones.svg
@@ -0,0 +1 @@
+
diff --git a/themes/congo-146_fix/assets/icons/slack.svg b/themes/congo-146_fix/assets/icons/slack.svg
new file mode 100644
index 0000000..69909d8
--- /dev/null
+++ b/themes/congo-146_fix/assets/icons/slack.svg
@@ -0,0 +1 @@
+
diff --git a/themes/congo-146_fix/assets/icons/snapchat.svg b/themes/congo-146_fix/assets/icons/snapchat.svg
new file mode 100644
index 0000000..b6efeef
--- /dev/null
+++ b/themes/congo-146_fix/assets/icons/snapchat.svg
@@ -0,0 +1 @@
+
diff --git a/themes/congo-146_fix/assets/icons/soundcloud.svg b/themes/congo-146_fix/assets/icons/soundcloud.svg
new file mode 100644
index 0000000..301c3d1
--- /dev/null
+++ b/themes/congo-146_fix/assets/icons/soundcloud.svg
@@ -0,0 +1 @@
+
diff --git a/themes/congo-146_fix/assets/icons/stack-overflow.svg b/themes/congo-146_fix/assets/icons/stack-overflow.svg
new file mode 100644
index 0000000..bba4159
--- /dev/null
+++ b/themes/congo-146_fix/assets/icons/stack-overflow.svg
@@ -0,0 +1 @@
+
diff --git a/themes/congo-146_fix/assets/icons/steam.svg b/themes/congo-146_fix/assets/icons/steam.svg
new file mode 100644
index 0000000..6efd1fd
--- /dev/null
+++ b/themes/congo-146_fix/assets/icons/steam.svg
@@ -0,0 +1 @@
+
diff --git a/themes/congo-146_fix/assets/icons/sun.svg b/themes/congo-146_fix/assets/icons/sun.svg
new file mode 100644
index 0000000..34a57ec
--- /dev/null
+++ b/themes/congo-146_fix/assets/icons/sun.svg
@@ -0,0 +1 @@
+
diff --git a/themes/congo-146_fix/assets/icons/tag.svg b/themes/congo-146_fix/assets/icons/tag.svg
new file mode 100644
index 0000000..c78e65b
--- /dev/null
+++ b/themes/congo-146_fix/assets/icons/tag.svg
@@ -0,0 +1 @@
+
diff --git a/themes/congo-146_fix/assets/icons/telegram.svg b/themes/congo-146_fix/assets/icons/telegram.svg
new file mode 100644
index 0000000..4101aef
--- /dev/null
+++ b/themes/congo-146_fix/assets/icons/telegram.svg
@@ -0,0 +1 @@
+
diff --git a/themes/congo-146_fix/assets/icons/threads.svg b/themes/congo-146_fix/assets/icons/threads.svg
new file mode 100644
index 0000000..aa27c5f
--- /dev/null
+++ b/themes/congo-146_fix/assets/icons/threads.svg
@@ -0,0 +1 @@
+
diff --git a/themes/congo-146_fix/assets/icons/tiktok.svg b/themes/congo-146_fix/assets/icons/tiktok.svg
new file mode 100644
index 0000000..792a850
--- /dev/null
+++ b/themes/congo-146_fix/assets/icons/tiktok.svg
@@ -0,0 +1 @@
+
diff --git a/themes/congo-146_fix/assets/icons/translate.svg b/themes/congo-146_fix/assets/icons/translate.svg
new file mode 100644
index 0000000..eae60ff
--- /dev/null
+++ b/themes/congo-146_fix/assets/icons/translate.svg
@@ -0,0 +1,4 @@
+
diff --git a/themes/congo-146_fix/assets/icons/triangle-exclamation.svg b/themes/congo-146_fix/assets/icons/triangle-exclamation.svg
new file mode 100644
index 0000000..f501ce9
--- /dev/null
+++ b/themes/congo-146_fix/assets/icons/triangle-exclamation.svg
@@ -0,0 +1 @@
+
diff --git a/themes/congo-146_fix/assets/icons/tumblr.svg b/themes/congo-146_fix/assets/icons/tumblr.svg
new file mode 100644
index 0000000..1457d68
--- /dev/null
+++ b/themes/congo-146_fix/assets/icons/tumblr.svg
@@ -0,0 +1 @@
+
diff --git a/themes/congo-146_fix/assets/icons/twitch.svg b/themes/congo-146_fix/assets/icons/twitch.svg
new file mode 100644
index 0000000..a35fa55
--- /dev/null
+++ b/themes/congo-146_fix/assets/icons/twitch.svg
@@ -0,0 +1 @@
+
diff --git a/themes/congo-146_fix/assets/icons/twitter.svg b/themes/congo-146_fix/assets/icons/twitter.svg
new file mode 100644
index 0000000..3ab4c1c
--- /dev/null
+++ b/themes/congo-146_fix/assets/icons/twitter.svg
@@ -0,0 +1 @@
+
diff --git a/themes/congo-146_fix/assets/icons/weibo.svg b/themes/congo-146_fix/assets/icons/weibo.svg
new file mode 100644
index 0000000..aa29562
--- /dev/null
+++ b/themes/congo-146_fix/assets/icons/weibo.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/themes/congo-146_fix/assets/icons/whatsapp.svg b/themes/congo-146_fix/assets/icons/whatsapp.svg
new file mode 100644
index 0000000..c1df966
--- /dev/null
+++ b/themes/congo-146_fix/assets/icons/whatsapp.svg
@@ -0,0 +1 @@
+
diff --git a/themes/congo-146_fix/assets/icons/x-twitter.svg b/themes/congo-146_fix/assets/icons/x-twitter.svg
new file mode 100644
index 0000000..717ef6f
--- /dev/null
+++ b/themes/congo-146_fix/assets/icons/x-twitter.svg
@@ -0,0 +1 @@
+
diff --git a/themes/congo-146_fix/assets/icons/xing.svg b/themes/congo-146_fix/assets/icons/xing.svg
new file mode 100644
index 0000000..ca2bc46
--- /dev/null
+++ b/themes/congo-146_fix/assets/icons/xing.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/themes/congo-146_fix/assets/icons/xmark.svg b/themes/congo-146_fix/assets/icons/xmark.svg
new file mode 100644
index 0000000..a4c5121
--- /dev/null
+++ b/themes/congo-146_fix/assets/icons/xmark.svg
@@ -0,0 +1 @@
+
diff --git a/themes/congo-146_fix/assets/icons/youtube.svg b/themes/congo-146_fix/assets/icons/youtube.svg
new file mode 100644
index 0000000..3fa4dad
--- /dev/null
+++ b/themes/congo-146_fix/assets/icons/youtube.svg
@@ -0,0 +1 @@
+
diff --git a/themes/congo-146_fix/assets/js/appearance.js b/themes/congo-146_fix/assets/js/appearance.js
new file mode 100644
index 0000000..0cdfd15
--- /dev/null
+++ b/themes/congo-146_fix/assets/js/appearance.js
@@ -0,0 +1,80 @@
+const sitePreference = document.documentElement.getAttribute("data-default-appearance");
+const userPreference = localStorage.getItem("appearance");
+
+function getCSSValue(varName) {
+ var cssValue = window.getComputedStyle(document.documentElement).getPropertyValue(varName);
+ return "rgb(" + cssValue.replace(/\s+/g, "") + ")";
+}
+
+function setThemeColor() {
+ var metaThemeColor = document.querySelector("meta[name=theme-color]");
+ document.documentElement.classList.contains("dark")
+ ? metaThemeColor.setAttribute("content", getCSSValue("--color-neutral-800"))
+ : metaThemeColor.setAttribute("content", getCSSValue("--color-neutral"));
+ return true;
+}
+
+if ((sitePreference === "dark" && userPreference === null) || userPreference === "dark") {
+ document.documentElement.classList.add("dark");
+ setThemeColor();
+}
+
+if (document.documentElement.getAttribute("data-auto-appearance") === "true") {
+ if (
+ window.matchMedia &&
+ window.matchMedia("(prefers-color-scheme: dark)").matches &&
+ userPreference !== "light"
+ ) {
+ document.documentElement.classList.add("dark");
+ setThemeColor();
+ }
+ window.matchMedia("(prefers-color-scheme: dark)").addEventListener("change", (event) => {
+ if (event.matches) {
+ document.documentElement.classList.add("dark");
+ } else {
+ document.documentElement.classList.remove("dark");
+ }
+ setThemeColor();
+ });
+}
+
+function add_to_top_elem() {
+ var body = document.body;
+ var html = document.documentElement;
+
+ const height =
+ Math.max(
+ body.scrollHeight,
+ body.offsetHeight,
+ html.clientHeight,
+ html.scrollHeight,
+ html.offsetHeight
+ ) - 150;
+
+ const elem = document.getElementById("to-top");
+ if (elem === null || elem === undefined) {
+ return;
+ }
+
+ elem.hidden = height < window.innerHeight;
+}
+
+window.addEventListener("DOMContentLoaded", (event) => {
+ add_to_top_elem();
+ setThemeColor();
+ var switchers = document.querySelectorAll("[id^='appearance-switcher']");
+ switchers.forEach((switcher) => {
+ switcher.addEventListener("click", () => {
+ document.documentElement.classList.toggle("dark");
+ setThemeColor();
+ localStorage.setItem(
+ "appearance",
+ document.documentElement.classList.contains("dark") ? "dark" : "light"
+ );
+ });
+ switcher.addEventListener("contextmenu", (event) => {
+ event.preventDefault();
+ localStorage.removeItem("appearance");
+ });
+ });
+});
diff --git a/themes/congo-146_fix/assets/js/chart.js b/themes/congo-146_fix/assets/js/chart.js
new file mode 100644
index 0000000..352a563
--- /dev/null
+++ b/themes/congo-146_fix/assets/js/chart.js
@@ -0,0 +1,14 @@
+function css(name) {
+ return "rgb(" + getComputedStyle(document.documentElement).getPropertyValue(name) + ")";
+}
+
+Chart.defaults.font.size = 14;
+Chart.defaults.plugins.colors.enabled = false;
+Chart.defaults.backgroundColor = css("--color-primary-300");
+Chart.defaults.elements.point.borderColor = css("--color-primary-400");
+Chart.defaults.elements.bar.borderColor = css("--color-primary-500");
+Chart.defaults.elements.bar.borderWidth = 1;
+Chart.defaults.elements.line.borderColor = css("--color-primary-400");
+Chart.defaults.elements.arc.backgroundColor = css("--color-primary-200");
+Chart.defaults.elements.arc.borderColor = css("--color-primary-500");
+Chart.defaults.elements.arc.borderWidth = 1;
diff --git a/themes/congo-146_fix/assets/js/code.js b/themes/congo-146_fix/assets/js/code.js
new file mode 100644
index 0000000..a41fb8b
--- /dev/null
+++ b/themes/congo-146_fix/assets/js/code.js
@@ -0,0 +1,66 @@
+var scriptBundle = document.getElementById("script-bundle");
+var copyText = scriptBundle ? scriptBundle.getAttribute("data-copy") : "Copy";
+var copiedText = scriptBundle ? scriptBundle.getAttribute("data-copied") : "Copied";
+
+function createCopyButton(highlightDiv) {
+ const button = document.createElement("button");
+ button.className = "copy-button";
+ button.type = "button";
+ button.ariaLabel = copyText;
+ button.innerText = copyText;
+ button.addEventListener("click", () => copyCodeToClipboard(button, highlightDiv));
+ addCopyButtonToDom(button, highlightDiv);
+}
+
+async function copyCodeToClipboard(button, highlightDiv) {
+ const codeToCopy = highlightDiv.querySelector(":last-child > .chroma > code").innerText;
+ try {
+ result = await navigator.permissions.query({ name: "clipboard-write" });
+ if (result.state == "granted" || result.state == "prompt") {
+ await navigator.clipboard.writeText(codeToCopy);
+ } else {
+ copyCodeBlockExecCommand(codeToCopy, highlightDiv);
+ }
+ } catch (_) {
+ copyCodeBlockExecCommand(codeToCopy, highlightDiv);
+ } finally {
+ codeWasCopied(button);
+ }
+}
+
+function copyCodeBlockExecCommand(codeToCopy, highlightDiv) {
+ const textArea = document.createElement("textArea");
+ textArea.contentEditable = "true";
+ textArea.readOnly = "false";
+ textArea.className = "copy-textarea";
+ textArea.value = codeToCopy;
+ highlightDiv.insertBefore(textArea, highlightDiv.firstChild);
+ const range = document.createRange();
+ range.selectNodeContents(textArea);
+ const sel = window.getSelection();
+ sel.removeAllRanges();
+ sel.addRange(range);
+ textArea.setSelectionRange(0, 999999);
+ document.execCommand("copy");
+ highlightDiv.removeChild(textArea);
+}
+
+function codeWasCopied(button) {
+ button.blur();
+ button.innerText = copiedText;
+ setTimeout(function () {
+ button.innerText = copyText;
+ }, 2000);
+}
+
+function addCopyButtonToDom(button, highlightDiv) {
+ highlightDiv.insertBefore(button, highlightDiv.firstChild);
+ const wrapper = document.createElement("div");
+ wrapper.className = "highlight-wrapper";
+ highlightDiv.parentNode.insertBefore(wrapper, highlightDiv);
+ wrapper.appendChild(highlightDiv);
+}
+
+window.addEventListener("DOMContentLoaded", (event) => {
+ document.querySelectorAll(".highlight").forEach((highlightDiv) => createCopyButton(highlightDiv));
+});
diff --git a/themes/congo-146_fix/assets/js/menu.js b/themes/congo-146_fix/assets/js/menu.js
new file mode 100644
index 0000000..4d674e2
--- /dev/null
+++ b/themes/congo-146_fix/assets/js/menu.js
@@ -0,0 +1,6 @@
+/*
+ Closes the hamburger menu when a link is clicked.
+*/
+function close_menu() {
+ document.getElementById("menu-controller").checked = false;
+}
diff --git a/themes/congo-146_fix/assets/js/mermaid.js b/themes/congo-146_fix/assets/js/mermaid.js
new file mode 100644
index 0000000..9704c86
--- /dev/null
+++ b/themes/congo-146_fix/assets/js/mermaid.js
@@ -0,0 +1,30 @@
+function css(name) {
+ return "rgb(" + getComputedStyle(document.documentElement).getPropertyValue(name) + ")";
+}
+
+let isDark = document.documentElement.classList.contains("dark");
+
+mermaid.initialize({
+ theme: "base",
+ themeVariables: {
+ background: css("--color-neutral"),
+ primaryTextColor: isDark ? css("--color-neutral-200") : css("--color-neutral-700"),
+ primaryColor: isDark ? css("--color-primary-700") : css("--color-primary-200"),
+ secondaryColor: isDark ? css("--color-secondary-700") : css("--color-secondary-200"),
+ tertiaryColor: isDark ? css("--color-neutral-700") : css("--color-neutral-100"),
+ primaryBorderColor: isDark ? css("--color-primary-500") : css("--color-primary-400"),
+ secondaryBorderColor: css("--color-secondary-400"),
+ tertiaryBorderColor: isDark ? css("--color-neutral-300") : css("--color-neutral-400"),
+ lineColor: isDark ? css("--color-neutral-300") : css("--color-neutral-600"),
+ fontFamily:
+ "ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,segoe ui,Roboto,helvetica neue,Arial,noto sans,sans-serif",
+ fontSize: "16px",
+ pieTitleTextSize: "19px",
+ pieSectionTextSize: "16px",
+ pieLegendTextSize: "16px",
+ pieStrokeWidth: "1px",
+ pieOuterStrokeWidth: "0.5px",
+ pieStrokeColor: isDark ? css("--color-neutral-300") : css("--color-neutral-400"),
+ pieOpacity: "1",
+ },
+});
diff --git a/themes/congo-146_fix/assets/js/quicklink.js b/themes/congo-146_fix/assets/js/quicklink.js
new file mode 100644
index 0000000..014d4ce
--- /dev/null
+++ b/themes/congo-146_fix/assets/js/quicklink.js
@@ -0,0 +1,3 @@
+window.addEventListener("load", () => {
+ quicklink.listen();
+});
diff --git a/themes/congo-146_fix/assets/js/rtl.js b/themes/congo-146_fix/assets/js/rtl.js
new file mode 100644
index 0000000..26852d4
--- /dev/null
+++ b/themes/congo-146_fix/assets/js/rtl.js
@@ -0,0 +1,3 @@
+window.addEventListener("DOMContentLoaded", (event) => {
+ document.querySelectorAll("pre, .highlight-wrapper").forEach((tag) => (tag.dir = "auto"));
+});
diff --git a/themes/congo-146_fix/assets/js/search.js b/themes/congo-146_fix/assets/js/search.js
new file mode 100644
index 0000000..5add498
--- /dev/null
+++ b/themes/congo-146_fix/assets/js/search.js
@@ -0,0 +1,161 @@
+var fuse;
+var showButtons = document.querySelectorAll("[id^='search-button']");
+var hideButton = document.getElementById("close-search-button");
+var wrapper = document.getElementById("search-wrapper");
+var modal = document.getElementById("search-modal");
+var input = document.getElementById("search-query");
+var output = document.getElementById("search-results");
+var first = output.firstChild;
+var last = output.lastChild;
+var searchVisible = false;
+var indexed = false;
+var hasResults = false;
+
+// Listen for events
+showButtons.forEach((button) => {
+ button.addEventListener("click", displaySearch);
+});
+hideButton.addEventListener("click", hideSearch);
+wrapper.addEventListener("click", hideSearch);
+modal.addEventListener("click", function (event) {
+ event.stopPropagation();
+ event.stopImmediatePropagation();
+ return false;
+});
+document.addEventListener("keydown", function (event) {
+ // Forward slash to open search wrapper
+ if (event.key == "/") {
+ if (!searchVisible) {
+ event.preventDefault();
+ displaySearch();
+ }
+ }
+
+ // Esc to close search wrapper
+ if (event.key == "Escape") {
+ hideSearch();
+ }
+
+ // Down arrow to move down results list
+ if (event.key == "ArrowDown") {
+ if (searchVisible && hasResults) {
+ event.preventDefault();
+ if (document.activeElement == input) {
+ first.focus();
+ } else if (document.activeElement == last) {
+ last.focus();
+ } else {
+ document.activeElement.parentElement.nextSibling.firstElementChild.focus();
+ }
+ }
+ }
+
+ // Up arrow to move up results list
+ if (event.key == "ArrowUp") {
+ if (searchVisible && hasResults) {
+ event.preventDefault();
+ if (document.activeElement == input) {
+ input.focus();
+ } else if (document.activeElement == first) {
+ input.focus();
+ } else {
+ document.activeElement.parentElement.previousSibling.firstElementChild.focus();
+ }
+ }
+ }
+});
+
+// Update search on each keypress
+input.onkeyup = function (event) {
+ executeQuery(this.value);
+};
+
+function displaySearch() {
+ if (!indexed) {
+ buildIndex();
+ }
+ if (!searchVisible) {
+ document.body.style.overflow = "hidden";
+ wrapper.style.visibility = "visible";
+ input.focus();
+ searchVisible = true;
+ }
+}
+
+function hideSearch() {
+ if (searchVisible) {
+ document.body.style.overflow = "visible";
+ wrapper.style.visibility = "hidden";
+ input.value = "";
+ output.innerHTML = "";
+ document.activeElement.blur();
+ searchVisible = false;
+ }
+}
+
+function fetchJSON(path, callback) {
+ var httpRequest = new XMLHttpRequest();
+ httpRequest.onreadystatechange = function () {
+ if (httpRequest.readyState === 4) {
+ if (httpRequest.status === 200) {
+ var data = JSON.parse(httpRequest.responseText);
+ if (callback) callback(data);
+ }
+ }
+ };
+ httpRequest.open("GET", path);
+ httpRequest.send();
+}
+
+function buildIndex() {
+ var baseURL = wrapper.getAttribute("data-url");
+ baseURL = baseURL.replace(/\/?$/, "/");
+ fetchJSON(baseURL + "index.json", function (data) {
+ var options = {
+ shouldSort: true,
+ ignoreLocation: true,
+ threshold: 0.0,
+ includeMatches: true,
+ keys: [
+ { name: "title", weight: 0.8 },
+ { name: "section", weight: 0.2 },
+ { name: "summary", weight: 0.6 },
+ { name: "content", weight: 0.4 },
+ ],
+ };
+ fuse = new Fuse(data, options);
+ indexed = true;
+ });
+}
+
+function executeQuery(term) {
+ let results = fuse.search(term);
+ let resultsHTML = "";
+
+ if (results.length > 0) {
+ // prettier-ignore
+ resultsHTML = results.map(function (value, key) {
+ return `