diff --git a/.gitignore b/.gitignore
deleted file mode 100644
index 62d067b..0000000
--- a/.gitignore
+++ /dev/null
@@ -1,3 +0,0 @@
-node_modules
-dist
-.parcel-cache
\ No newline at end of file
diff --git a/.postcssrc b/.postcssrc
deleted file mode 100644
index 0826575..0000000
--- a/.postcssrc
+++ /dev/null
@@ -1,7 +0,0 @@
-{
-  "plugins": {
-    "postcss-import": true,
-    "postcss-url": true,
-    "postcss-custom-properties": true
-  }
-}
\ No newline at end of file
diff --git a/@legacy/2023-nov/.github/workflows/static.yml b/@legacy/2023-nov/.github/workflows/static.yml
deleted file mode 100644
index 73332c2..0000000
--- a/@legacy/2023-nov/.github/workflows/static.yml
+++ /dev/null
@@ -1,34 +0,0 @@
-name: Deploy website to Pages
-
-on:
-  push:
-    branches: ["main"]
-  workflow_dispatch:
-
-permissions:
-  contents: read
-  pages: write
-  id-token: write
-
-concurrency:
-  group: "pages"
-  cancel-in-progress: false
-
-jobs:
-  deploy:
-    environment:
-      name: github-pages
-      url: ${{ steps.deployment.outputs.page_url }}
-    runs-on: ubuntu-latest
-    steps:
-      - name: Checkout
-        uses: actions/checkout@v3
-      - name: Setup Pages
-        uses: actions/configure-pages@v3
-      - name: Upload artifact
-        uses: actions/upload-pages-artifact@v2
-        with:
-          path: './site/'
-      - name: Deploy to GitHub Pages
-        id: deployment
-        uses: actions/deploy-pages@v2
diff --git a/@legacy/2023-nov/README.md b/@legacy/2023-nov/README.md
deleted file mode 100644
index 7869c4b..0000000
--- a/@legacy/2023-nov/README.md
+++ /dev/null
@@ -1,12 +0,0 @@
-# My personal website
-This is my personal website (temporary)
-
-## Screenshots
-
-- Default website with 3js animation
-![Default](/screenshots/default.png)
-
----
-
-- Website with fallback background image (incase animation doesn't work)
-![Fallback](/screenshots/fallback.png)
\ No newline at end of file
diff --git a/@legacy/2023-nov/screenshots/default.png b/@legacy/2023-nov/screenshots/default.png
deleted file mode 100644
index 490a89b..0000000
Binary files a/@legacy/2023-nov/screenshots/default.png and /dev/null differ
diff --git a/@legacy/2023-nov/screenshots/fallback.png b/@legacy/2023-nov/screenshots/fallback.png
deleted file mode 100644
index 9ec47ea..0000000
Binary files a/@legacy/2023-nov/screenshots/fallback.png and /dev/null differ
diff --git a/@legacy/2023-nov/site/data/background.jpg b/@legacy/2023-nov/site/data/background.jpg
deleted file mode 100644
index 177d36b..0000000
Binary files a/@legacy/2023-nov/site/data/background.jpg and /dev/null differ
diff --git a/@legacy/2023-nov/site/data/favicon.ico b/@legacy/2023-nov/site/data/favicon.ico
deleted file mode 100644
index 56c0417..0000000
Binary files a/@legacy/2023-nov/site/data/favicon.ico and /dev/null differ
diff --git a/@legacy/2023-nov/site/index.html b/@legacy/2023-nov/site/index.html
deleted file mode 100644
index 7f186bf..0000000
--- a/@legacy/2023-nov/site/index.html
+++ /dev/null
@@ -1,152 +0,0 @@
-<!DOCTYPE html>
-<html lang="en">
-  <head>
-    <meta charset="UTF-8" />
-    <meta name="viewport" content="width=device-width, initial-scale=1.0" />
-    <link rel="icon" type="image/x-icon" href="data/favicon.ico" />
-    <meta
-      name="description"
-      content="Hirusha Himath's (Itz-fork) personal website"
-    />
-    <link rel="stylesheet" href="style.css" />
-    <title>Hirusha Himath - Itz-fork</title>
-  </head>
-  <body>
-    <!-- Halo effect -->
-    <div id="halo"></div>
-    <!-- main section -->
-    <div class="main">
-      <div class="main_text">
-        <span class="hi">Hi, I'm</span>
-        <h1 class="header_text">Hirusha</h1>
-
-        <p class="about_text">
-          A random teenage boy from Sri Lanka who is passionate about the things
-          he does. My journey started by googling "center an image using css".
-          Fast forward to today, I go to bed every night thanking to the
-          developers who directly/indirectly contributed to Chat-GPT. Yes
-          nothing changed, but along the way I learned many programming
-          languages such as
-          <span class="pr_lang">python</span>, <span class="pr_lang">Js</span>,
-          <span class="pr_lang">Ts</span>, <span class="pr_lang">Dart</span>,
-          and <span class="pr_lang">bash</span>. With their blessing, I was also
-          able create countless (side)projects gaining little money and an
-          invaluable emotion called 'happiness'.
-        </p>
-        <!-- Stats -->
-        <span class="moar undernimation" onclick="readMore()"
-          >Read more...</span
-        >
-        <p class="stats">
-          Within the span of 1.5 years, I was able to gain
-          <span id="gh_followers" class="gh_stats"></span> followers 🫂 and
-          <span id="gh_stars" class="gh_stats"></span> stars ✨ across
-          <span id="gh_repos" class="gh_stats"></span> public repos 📚 on
-          github. Be sure to check out my
-          <a
-            href="https://github.com/Itz-fork?tab=repositories&q=&type=&language=&sort=stargazers"
-            target="”_blank”"
-            class="gh_projects"
-            >open-source projects</a
-          >!
-          <br />
-          <br />
-          <br />
-          <span class="lesss undernimation" onclick="readLess()">Hide -</span>
-        </p>
-      </div>
-      <!-- Socials -->
-      <div class="socials">
-        <a href="https://github.com/Itz-fork" target="”_blank”"
-          ><?xml version="1.0" encoding="UTF-8"?><svg
-            class="sicon"
-            width="40px"
-            height="40px"
-            stroke-width="1.7"
-            viewBox="0 0 24 24"
-            fill="none"
-            xmlns="http://www.w3.org/2000/svg"
-            color="#ffffff"
-          >
-            <path
-              d="M12 22C17.5228 22 22 17.5228 22 12C22 6.47715 17.5228 2 12 2C6.47715 2 2 6.47715 2 12C2 17.5228 6.47715 22 12 22Z"
-              stroke="#ffffff"
-              stroke-width="1.7"
-              stroke-linecap="round"
-              stroke-linejoin="round"
-            ></path>
-            <path
-              d="M14.3333 19V17.137C14.3583 16.8275 14.3154 16.5163 14.2073 16.2242C14.0993 15.9321 13.9286 15.6657 13.7067 15.4428C15.8 15.2156 18 14.4431 18 10.8989C17.9998 9.99256 17.6418 9.12101 17 8.46461C17.3039 7.67171 17.2824 6.79528 16.94 6.01739C16.94 6.01739 16.1533 5.7902 14.3333 6.97811C12.8053 6.57488 11.1947 6.57488 9.66666 6.97811C7.84666 5.7902 7.05999 6.01739 7.05999 6.01739C6.71757 6.79528 6.69609 7.67171 6.99999 8.46461C6.35341 9.12588 5.99501 10.0053 5.99999 10.9183C5.99999 14.4366 8.19999 15.2091 10.2933 15.4622C10.074 15.6829 9.90483 15.9461 9.79686 16.2347C9.68889 16.5232 9.64453 16.8306 9.66666 17.137V19"
-              stroke="#ffffff"
-              stroke-width="1.7"
-              stroke-linecap="round"
-              stroke-linejoin="round"
-            ></path>
-            <path
-              d="M9.66667 17.7018C7.66667 18.3335 6 17.7018 5 15.7544"
-              stroke="#ffffff"
-              stroke-width="1.7"
-              stroke-linecap="round"
-              stroke-linejoin="round"
-            ></path></svg
-        ></a>
-        <a href="https://t.me/Bruh_0x" target="”_blank”">
-          <?xml version="1.0" encoding="UTF-8"?><svg
-            class="sicon"
-            width="40px"
-            height="40px"
-            stroke-width="1.7"
-            viewBox="0 0 24 24"
-            fill="none"
-            xmlns="http://www.w3.org/2000/svg"
-            color="#ffffff"
-          >
-            <path
-              d="M18 8L5 12.5L9.5 14M18 8L9.5 14M18 8L14 18.5L9.5 14"
-              stroke="#ffffff"
-              stroke-width="1.7"
-              stroke-linecap="round"
-              stroke-linejoin="round"
-            ></path>
-            <path
-              d="M12 22C17.5228 22 22 17.5228 22 12C22 6.47715 17.5228 2 12 2C6.47715 2 2 6.47715 2 12C2 17.5228 6.47715 22 12 22Z"
-              stroke="#ffffff"
-              stroke-width="1.7"
-              stroke-linecap="round"
-              stroke-linejoin="round"
-            ></path>
-          </svg>
-        </a>
-        <a href="mailto:git.itzfork@gmail.com">
-          <?xml version="1.0" encoding="UTF-8"?><svg
-            class="sicon"
-            width="40px"
-            height="40px"
-            stroke-width="1.7"
-            viewBox="0 0 24 24"
-            fill="none"
-            xmlns="http://www.w3.org/2000/svg"
-            color="#ffffff"
-          >
-            <path
-              d="M7 9L12 12.5L17 9"
-              stroke="#ffffff"
-              stroke-width="1.7"
-              stroke-linecap="round"
-              stroke-linejoin="round"
-            ></path>
-            <path
-              d="M2 17V7C2 5.89543 2.89543 5 4 5H20C21.1046 5 22 5.89543 22 7V17C22 18.1046 21.1046 19 20 19H4C2.89543 19 2 18.1046 2 17Z"
-              stroke="#ffffff"
-              stroke-width="1.7"
-            ></path>
-          </svg>
-        </a>
-      </div>
-    </div>
-    <!-- Javascript -->
-    <script src="https://cdnjs.cloudflare.com/ajax/libs/three.js/r121/three.min.js"></script>
-    <script src="https://cdn.jsdelivr.net/npm/vanta@latest/dist/vanta.halo.min.js"></script>
-    <script src="script.js"></script>
-  </body>
-</html>
diff --git a/@legacy/2023-nov/site/script.js b/@legacy/2023-nov/site/script.js
deleted file mode 100644
index 69b04c6..0000000
--- a/@legacy/2023-nov/site/script.js
+++ /dev/null
@@ -1,69 +0,0 @@
-// Author: Hirusha Himath (https://github.com/Itz-fork)
-// Repo: https://github.com/Itz-fork/itz-fork.github.io
-
-// Vanta.js configuration
-VANTA.HALO({
-  el: "#halo",
-  mouseControls: true,
-  touchControls: true,
-  gyroControls: true,
-  minHeight: 200.0,
-  minWidth: 200.0,
-  baseColor: "#f11a7b",
-  backgroundColor: "#191825",
-  size: window.innerWidth > 768 ? 1.2 : 0.8,
-});
-
-// Github stats
-async function getStats() {
-  // Fetch basic user stats
-  let ftd = await (await fetch("https://api.github.com/users/Itz-fork")).json();
-  let totalRepos = ftd.public_repos;
-  // Count total stars of a user
-  let totalStars = 0;
-  if (totalRepos > 100) {
-    let nos = totalRepos;
-    while (nos > 100) {
-      (
-        await (
-          await fetch(
-            "https://api.github.com/users/Itz-fork/repos?type=owner&per_page=100"
-          )
-        ).json()
-      ).filter((obj) => (totalStars += obj.stargazers_count));
-      nos = nos - 100;
-    }
-    (
-      await (
-        await fetch(
-          "https://api.github.com/users/Itz-fork/repos?type=owner&per_page=100"
-        )
-      ).json()
-    ).filter((obj) => (totalStars += obj.stargazers_count));
-  } else {
-    (
-      await (
-        await fetch(
-          "https://api.github.com/users/Itz-fork/repos?type=owner&per_page=100"
-        )
-      ).json()
-    ).filter((obj) => (totalStars += obj.stargazers_count));
-  }
-  // Assigning fetched data respective elements
-  document.getElementById("gh_followers").innerHTML = ftd.followers;
-  document.getElementById("gh_stars").innerHTML = totalStars;
-  document.getElementById("gh_repos").innerHTML = totalRepos;
-}
-
-getStats();
-
-// Read more and Read less functions
-function readMore() {
-  document.querySelector(".stats").style.display = "block";
-  document.querySelector(".moar").style.display = "none";
-}
-
-function readLess() {
-  document.querySelector(".stats").style.display = "none";
-  document.querySelector(".moar").style.display = "table";
-}
diff --git a/@legacy/2023-nov/site/style.css b/@legacy/2023-nov/site/style.css
deleted file mode 100644
index 6c461c4..0000000
--- a/@legacy/2023-nov/site/style.css
+++ /dev/null
@@ -1,199 +0,0 @@
-/* Author: Hirusha Himath (https://github.com/Itz-fork)
-Repo: https://github.com/Itz-fork/itz-fork.github.io */
-
-/* ------------------------------ Fonts ------------------------------ */
-@import url("https://fonts.googleapis.com/css2?family=Space+Grotesk:wght@600&display=swap");
-@import url("https://fonts.googleapis.com/css2?family=Satisfy&display=swap");
-
-/* ------------------------------ Disable text selection ------------------------------ */
-html {
-  -webkit-touch-callout: none;
-  -webkit-user-select: none;
-  -moz-user-select: none;
-  -ms-user-select: none;
-  user-select: none;
-}
-
-/* ------------------------------ Background ------------------------------ */
-#halo {
-  position: fixed;
-  top: 0;
-  left: 0;
-  margin: 0;
-  padding: 0;
-  height: 100%;
-  width: 100%;
-  z-index: -1;
-  pointer-events: none;
-  overflow-x: auto;
-  /* Fallback incase animation got fucked up */
-  background: url("data/background.jpg");
-  background-size: 100% 100%;
-  filter: brightness(50%);
-}
-
-/* ------------------------------ Main section ------------------------------ */
-.main {
-  color: #fff;
-  font-family: "Space Grotesk", sans-serif;
-  margin-top: 25vh;
-  margin-left: 4vw;
-  display: flex;
-  position: relative;
-  justify-content: space-between;
-  align-items: center;
-}
-
-/* ------------------------------ Header Name ------------------------------ */
-.hi {
-  font-size: 2rem;
-}
-
-.header_text {
-  color: #ffa3fd;
-  margin-top: 0rem;
-  margin-left: 1.5rem;
-  font-size: 3rem;
-  font-family: "Satisfy", cursive;
-  animation: fillit 3s linear infinite;
-}
-
-@keyframes fillit {
-  50% {
-    color: #ffffff;
-    filter: drop-shadow(-3px 6px 14px #e384ff);
-  }
-}
-
-/* ------------------------------ About & Stats paragraphs ------------------------------ */
-.about_text,
-.stats {
-  margin-right: 40vw;
-}
-
-.pr_lang {
-  font-style: italic;
-  text-decoration: underline;
-  text-decoration-style: dotted;
-}
-
-.moar,
-.lesss {
-  text-decoration: none;
-  font-weight: bold;
-  position: relative;
-  margin-top: 2vh;
-}
-
-.undernimation::before {
-  content: "";
-  background-color: #e384ff;
-  position: absolute;
-  left: 0;
-  bottom: 3px;
-  width: 100%;
-  height: 3px;
-  z-index: -1;
-  transition: all 0.3s ease-in-out;
-}
-
-.undernimation:hover::before {
-  bottom: 0;
-  height: 100%;
-}
-
-.stats {
-  display: none;
-}
-
-.gh_stats {
-  color: #2cd3e1;
-  text-decoration: underline;
-  text-decoration-style: dotted;
-}
-
-.gh_projects {
-  text-decoration: none;
-  color: #ffa3fd;
-  text-decoration: underline;
-  text-decoration-style: dotted;
-}
-
-/* ------------------------------ Socials Bar ------------------------------ */
-.socials {
-  width: fit-content;
-  gap: 0.8vw;
-  border-radius: 5px;
-  background: rgba(63, 59, 108, 0.76);
-  border-radius: 16px;
-  background: rgba(63, 59, 108, 0.36);
-  border-radius: 16px;
-  box-shadow: 0 4px 30px rgba(0, 0, 0, 0.1);
-  backdrop-filter: blur(6.6px);
-  -webkit-backdrop-filter: blur(6.6px);
-  border: 1px solid rgba(63, 59, 108, 0.3);
-}
-
-.sicon {
-  text-decoration: none;
-  margin: 2vw;
-  transition: 1s all ease-in-out;
-  &:hover {
-    animation: shadowit ease-in-out 0.5s forwards;
-  }
-}
-
-@keyframes shadowit {
-  from {
-    transform: scale(1);
-  }
-  to {
-    transform: scale(1.3);
-    filter: drop-shadow(0px 6px 14px #97fff4);
-  }
-}
-
-/* ------------------------------ Responsive ------------------------------ */
-
-/* For mobile devices */
-@media only screen and (max-device-width: 768px) {
-  /* Main */
-  .main {
-    margin-top: 20vh;
-  }
-  /* Social bar (bottom) */
-  .socials {
-    margin: auto;
-    display: flex;
-    justify-content: center;
-    align-items: center;
-    position: fixed;
-    bottom: 0;
-    z-index: 5;
-    left: 0;
-    right: 0;
-  }
-  /* About text */
-  .about_text {
-    margin-right: 20vw;
-  }
-}
-
-/* For Desktops & Tablets */
-@media only screen and (min-device-width: 800px) {
-  /* Social bar (side) */
-  .socials {
-    position: -webkit-sticky;
-    position: sticky;
-    vertical-align: middle;
-  }
-
-  /* Header text */
-  .header_text {
-    font-size: 5rem;
-  }
-
-  .about_text {
-    font-size: 1.1rem;
-  }
-}
diff --git a/@legacy/README.md b/@legacy/README.md
deleted file mode 100644
index 3a5d5b0..0000000
--- a/@legacy/README.md
+++ /dev/null
@@ -1 +0,0 @@
-Contains older versions of the site starting from 02/12/2023
\ No newline at end of file
diff --git a/CNAME b/CNAME
new file mode 100644
index 0000000..ee03913
--- /dev/null
+++ b/CNAME
@@ -0,0 +1 @@
+hiruu.me
\ No newline at end of file
diff --git a/LICENSE b/LICENSE
deleted file mode 100644
index 07face0..0000000
--- a/LICENSE
+++ /dev/null
@@ -1,21 +0,0 @@
-MIT License
-
-Copyright (c) 2023 Itz-fork
-
-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.
\ No newline at end of file
diff --git a/README.md b/README.md
deleted file mode 100644
index 1d7b66f..0000000
--- a/README.md
+++ /dev/null
@@ -1,8 +0,0 @@
-# My personal website
-Made with vanilla js, CSS and HTML ;). Inspired by Apple's M1 chip logo
-
-## Tools
-- [publish.sh](https://github.com/Itz-fork/parcel-gh-pages) -Script to publish parcel.js apps to github pages
-
-## Older versions
-Older versions of my website resides at [@legacy](/@legacy)
\ No newline at end of file
diff --git a/index.78089339.css b/index.78089339.css
new file mode 100644
index 0000000..77851df
--- /dev/null
+++ b/index.78089339.css
@@ -0,0 +1,2 @@
+@import "https://cdn.jsdelivr.net/gh/Itz-fork/Zephyr@latest/Zephyr/styles/text.css";@import "https://fonts.googleapis.com/css2?family=Satisfy&family=Sintony:wght@700&family=Yellowtail&display=swap";html{scroll-behavior:smooth}.sec_title{text-decoration:underline}h2:before{content:"$ "}h2:after{content:" ▌";animation:1s infinite txt-indicator-ani}p{background-color:#00000080;border-radius:20px;padding:5px;font-size:1.1rem;display:inline-block}@media only screen and (device-width>=990px){p{max-width:50vw}}button.gradnime,button.sc_btns{font-family:var(--z-font);color:var(--z-white-text);box-shadow:0 2px 4px 0 var(--z-default-shadow);background-color:#000c;border:none;border-radius:10px;margin:.6em .5em;padding:.8em;font-size:1em;font-weight:700;transition:all .3s ease-in-out}button.gradnime:hover:not(button.sc_btns),button.sc_btns:hover:not(button.sc_btns){background:linear-gradient(60deg,#fb09,#f059,#7a2bbf99,#02c59b99) 0 0/300% 300%;animation:3s infinite alternate loop-grad}@keyframes loop-bg{0%{background-position:0%}to{background-position:-200%}}@keyframes zoom-out{0%{transform:scale(1.5)}to{transform:scale(1)}}@keyframes txt-indicator-ani{0%{opacity:0}50%{opacity:1}to{opacity:0}}@keyframes loop-grad{0%{background-position:0%}50%{background-position:100%}to{background-position:0%}}#sqbg{color:#f0f8ff;z-index:-1;text-align:center;filter:brightness(50%);grid-template-columns:repeat(var(--columns),1fr);grid-template-rows:repeat(var(--rows),1fr);background:linear-gradient(90deg,#ed5ab3,#1640d6,#ed5ab3) 0 0/200%;gap:2px;width:100%;height:100%;animation:5s infinite alternate loop-bg,4s zoom-out;display:grid;position:fixed;top:0;left:0;overflow:hidden}.sqr_block{color:#808080e6;z-index:100;filter:brightness(50%);-webkit-user-select:none;user-select:none;background-color:#000000e6;border-radius:5px;justify-content:center;align-items:center;font-family:Space Grotesk,monospace;display:flex;overflow:hidden}.greet{color:var(--z-white-text);font-size:2rem}#main{min-height:100vh;margin-top:20vh;margin-left:6vw;margin-right:5vw}#main>span{font-family:var(--z-font)}#main>h1{color:var(--z-white-text);margin-top:0;margin-left:1.5rem;font-family:Sintony,sans-serif;font-size:3rem}#about{min-height:100vh;margin-left:6vw}#skills{min-height:80vh;margin-left:6vw}footer{text-align:center;background-color:#e6afe680;border-radius:10px;width:100%;min-height:20vh}footer div .sc_btns:hover{background-color:#000000e6;transform:scale(1.1)}footer>.footer_text{color:#fefae0;font-size:1rem;font-family:var(--z-font);margin-top:1.5rem;display:inline-block}footer>div{margin-top:1rem}
+/*# sourceMappingURL=index.78089339.css.map */
diff --git a/index.78089339.css.map b/index.78089339.css.map
new file mode 100644
index 0000000..cbcc0d6
--- /dev/null
+++ b/index.78089339.css.map
@@ -0,0 +1 @@
+{"mappings":"A,oF,kHCUA,4BAIA,qCAIA,uBAIA,gEAKA,kGAQA,6CACI,kBAKJ,mRAeA,6MAQA,2EAUA,mEAUA,sEAcA,uGAgBA,mXAmBA,gQAkBA,gDAKA,wEAOA,qCAIA,iHAUA,wCAOA,wCAOA,kGAOI,0EAMJ,kHAQA","sources":["index.78089339.css","src/css/main.css"],"sourcesContent":["@import \"https://cdn.jsdelivr.net/gh/Itz-fork/Zephyr@latest/Zephyr/styles/text.css\";\n@import \"https://fonts.googleapis.com/css2?family=Satisfy&family=Sintony:wght@700&family=Yellowtail&display=swap\";\nhtml {\n  scroll-behavior: smooth;\n}\n\n.sec_title {\n  text-decoration: underline;\n}\n\nh2:before {\n  content: \"$ \";\n}\n\nh2:after {\n  content: \" ▌\";\n  animation: 1s infinite txt-indicator-ani;\n}\n\np {\n  background-color: #00000080;\n  border-radius: 20px;\n  padding: 5px;\n  font-size: 1.1rem;\n  display: inline-block;\n}\n\n@media only screen and (device-width >= 990px) {\n  p {\n    max-width: 50vw;\n  }\n}\n\nbutton.gradnime, button.sc_btns {\n  font-family: var(--z-font);\n  color: var(--z-white-text);\n  box-shadow: 0 2px 4px 0 var(--z-default-shadow);\n  background-color: #000c;\n  border: none;\n  border-radius: 10px;\n  margin: .6em .5em;\n  padding: .8em;\n  font-size: 1em;\n  font-weight: bold;\n  transition: all .3s ease-in-out;\n}\n\nbutton.gradnime:hover:not(button.sc_btns), button.sc_btns:hover:not(button.sc_btns) {\n  background: linear-gradient(60deg, #fb09, #f059, #7a2bbf99, #02c59b99) 0 0 / 300% 300%;\n  animation: 3s infinite alternate loop-grad;\n}\n\n@keyframes loop-bg {\n  from {\n    background-position: 0%;\n  }\n\n  to {\n    background-position: -200%;\n  }\n}\n\n@keyframes zoom-out {\n  from {\n    transform: scale(1.5);\n  }\n\n  to {\n    transform: scale(1);\n  }\n}\n\n@keyframes txt-indicator-ani {\n  from {\n    opacity: 0;\n  }\n\n  50% {\n    opacity: 1;\n  }\n\n  to {\n    opacity: 0;\n  }\n}\n\n@keyframes loop-grad {\n  0% {\n    background-position: 0%;\n  }\n\n  50% {\n    background-position: 100%;\n  }\n\n  100% {\n    background-position: 0%;\n  }\n}\n\n#sqbg {\n  color: #f0f8ff;\n  z-index: -1;\n  text-align: center;\n  filter: brightness(50%);\n  grid-template-columns: repeat(var(--columns), 1fr);\n  grid-template-rows: repeat(var(--rows), 1fr);\n  background: linear-gradient(to right, #ed5ab3, #1640d6, #ed5ab3) 0 0 / 200%;\n  gap: 2px;\n  width: 100%;\n  height: 100%;\n  animation: 5s infinite alternate loop-bg, 4s zoom-out;\n  display: grid;\n  position: fixed;\n  top: 0;\n  left: 0;\n  overflow: hidden;\n}\n\n.sqr_block {\n  color: #808080e6;\n  z-index: 100;\n  filter: brightness(50%);\n  -webkit-user-select: none;\n  user-select: none;\n  background-color: #000000e6;\n  border-radius: 5px;\n  justify-content: center;\n  align-items: center;\n  font-family: Space Grotesk, monospace;\n  display: flex;\n  overflow: hidden;\n}\n\n.greet {\n  color: var(--z-white-text);\n  font-size: 2rem;\n}\n\n#main {\n  min-height: 100vh;\n  margin-top: 20vh;\n  margin-left: 6vw;\n  margin-right: 5vw;\n}\n\n#main > span {\n  font-family: var(--z-font);\n}\n\n#main > h1 {\n  color: var(--z-white-text);\n  margin-top: 0;\n  margin-left: 1.5rem;\n  font-family: Sintony, sans-serif;\n  font-size: 3rem;\n}\n\n#about {\n  min-height: 100vh;\n  margin-left: 6vw;\n}\n\n#skills {\n  min-height: 80vh;\n  margin-left: 6vw;\n}\n\nfooter {\n  text-align: center;\n  background-color: #e6afe680;\n  border-radius: 10px;\n  width: 100%;\n  min-height: 20vh;\n}\n\nfooter div .sc_btns:hover {\n  background-color: #000000e6;\n  transform: scale(1.1);\n}\n\nfooter > .footer_text {\n  color: #fefae0;\n  font-size: 1rem;\n  font-family: var(--z-font);\n  margin-top: 1.5rem;\n  display: inline-block;\n}\n\nfooter > div {\n  margin-top: 1rem;\n}\n\n/*# sourceMappingURL=index.78089339.css.map */\n","/* Author: Itz-fork */\n\n@import \"https://cdn.jsdelivr.net/gh/Itz-fork/Zephyr@latest/Zephyr/styles/text.css\";\n@import \"https://fonts.googleapis.com/css2?family=Satisfy&family=Sintony:wght@700&family=Yellowtail&display=swap\";\n\n\n/* Global */\nhtml {\n    scroll-behavior: smooth;\n}\n\n.sec_title {\n    text-decoration: underline;\n}\n\nh2:before {\n    content: \"$ \";\n}\n\nh2:after {\n    content: \" ▌\";\n    animation: 1s infinite txt-indicator-ani;\n}\n\np {\n    background-color: #00000080;\n    border-radius: 20px;\n    padding: 5px;\n    font-size: 1.1rem;\n    display: inline-block;\n}\n\n@media only screen and (device-width >=990px) {\n    p {\n        max-width: 50vw;\n    }\n}\n\nbutton.gradnime,\nbutton.sc_btns {\n    font-family: var(--z-font);\n    color: var(--z-white-text);\n    box-shadow: 0 2px 4px 0 var(--z-default-shadow);\n    background-color: #000c;\n    border: none;\n    border-radius: 10px;\n    margin: .6em .5em;\n    padding: .8em;\n    font-size: 1em;\n    font-weight: bold;\n    transition: all .3s ease-in-out;\n}\n\nbutton.gradnime:hover:not(button.sc_btns),\nbutton.sc_btns:hover:not(button.sc_btns) {\n    background: linear-gradient(60deg, #fb09, #f059, #7a2bbf99, #02c59b99) 0 0 / 300% 300%;\n    animation: 3s infinite alternate loop-grad;\n}\n\n\n/* Animations */\n@keyframes loop-bg {\n    from {\n        background-position: 0%;\n    }\n\n    to {\n        background-position: -200%;\n    }\n}\n\n@keyframes zoom-out {\n    from {\n        transform: scale(1.5);\n    }\n\n    to {\n        transform: scale(1);\n    }\n}\n\n@keyframes txt-indicator-ani {\n    from {\n        opacity: 0;\n    }\n\n    50% {\n        opacity: 1;\n    }\n\n    to {\n        opacity: 0;\n    }\n}\n\n@keyframes loop-grad {\n    0% {\n        background-position: 0%;\n    }\n\n    50% {\n        background-position: 100%;\n    }\n\n    100% {\n        background-position: 0%;\n    }\n}\n\n\n/* Background */\n#sqbg {\n    color: #f0f8ff;\n    display: grid;\n    z-index: -1;\n    gap: 2px;\n    top: 0;\n    left: 0;\n    width: 100%;\n    height: 100%;\n    position: fixed;\n    overflow: hidden;\n    text-align: center;\n    filter: brightness(50%);\n    grid-template-columns: repeat(var(--columns), 1fr);\n    grid-template-rows: repeat(var(--rows), 1fr);\n    background: linear-gradient(to right, #ed5ab3, #1640d6, #ed5ab3) 0 0 / 200%;\n    animation: 5s infinite alternate loop-bg, 4s 1 zoom-out;\n}\n\n.sqr_block {\n    color: #808080e6;\n    z-index: 100;\n    filter: blur(5px);\n    filter: brightness(50%);\n    -webkit-user-select: none;\n    user-select: none;\n    background-color: #000000e6;\n    border-radius: 5px;\n    justify-content: center;\n    align-items: center;\n    font-family: Space Grotesk, monospace;\n    display: flex;\n    overflow: hidden;\n}\n\n\n/* Main section */\n.greet {\n    color: var(--z-white-text);\n    font-size: 2rem;\n}\n\n#main {\n    min-height: 100vh;\n    margin-top: 20vh;\n    margin-left: 6vw;\n    margin-right: 5vw;\n}\n\n#main>span {\n    font-family: var(--z-font);\n}\n\n#main>h1 {\n    color: var(--z-white-text);\n    margin-top: 0;\n    margin-left: 1.5rem;\n    font-family: Sintony, sans-serif;\n    font-size: 3rem;\n}\n\n\n\n\n/* About section */\n#about {\n    min-height: 100vh;\n    margin-left: 6vw;\n}\n\n\n/* Skills section */\n#skills {\n    min-height: 80vh;\n    margin-left: 6vw;\n}\n\n\n/* Footer section */\nfooter {\n    text-align: center;\n    background-color: #e6afe680;\n    border-radius: 10px;\n    width: 100%;\n    min-height: 20vh;\n\n    div .sc_btns:hover {\n        background-color: #000000e6;\n        transform: scale(1.1);\n    }\n}\n\nfooter>.footer_text {\n    color: #fefae0;\n    font-size: 1rem;\n    font-family: var(--z-font);\n    margin-top: 1.5rem;\n    display: inline-block;\n}\n\nfooter>div {\n    margin-top: 1rem;\n}"],"names":[],"version":3,"file":"index.78089339.css.map"}
\ No newline at end of file
diff --git a/index.9e87c09c.js b/index.9e87c09c.js
new file mode 100644
index 0000000..d2204b2
--- /dev/null
+++ b/index.9e87c09c.js
@@ -0,0 +1,2 @@
+var e=window.innerWidth,t=window.innerHeight;const n=document.getElementById("sqbg");document.getElementById("cursor");let o=0,i=0;const r=["backend","frontend","full-stack","python","javascript","typescript","bash","dart","vlang","html","css","Arch btw","android","windows","deno","svelte","nuxt","git","docker","Fastapi","API","CLI","Web scraping","scripting","$ sudo -b","$ whoami","$ ifconfig","$ ping","$ route","$ netstat","pub fn","def hello()","while True","struct Code","interface Life"],d=()=>{n.innerHTML="",o=Math.floor(window.innerWidth/100),i=Math.floor(window.innerHeight/100),n.style.setProperty("--columns",o),n.style.setProperty("--rows",i),function(e){let t=document.createDocumentFragment();for(;e>0;){let n=document.createElement("div");n.classList.add("sqr_block"),n.innerText=r[Math.floor(Math.random()*r.length)],t.appendChild(n),e--}n.appendChild(t)}(o*i)};d(),window.onresize=()=>{let n=window.innerWidth,o=window.innerHeight;n!=e&&o!=t&&d()},window.onmousemove=e=>{let t=Math.floor(e.x/100)+Math.floor(e.y/100)*o,i=n.children[t];try{i.animate({opacity:[.2,.9,1],offset:[0,.8],easing:["ease-in","ease-out"]},2e3)}catch(e){}};
+//# sourceMappingURL=index.9e87c09c.js.map
diff --git a/index.9e87c09c.js.map b/index.9e87c09c.js.map
new file mode 100644
index 0000000..acd7167
--- /dev/null
+++ b/index.9e87c09c.js.map
@@ -0,0 +1 @@
+{"mappings":"ACIA,IAAI,EAAW,OAAO,UAAU,CAC5B,EAAY,OAAO,WAAW,CAClC,MAAM,EAAY,SAAS,cAAc,CAAC,QAC3B,SAAS,cAAc,CAAC,UAGvC,IAAI,EAAU,EAAG,EAAO,EACxB,MAAM,EAAQ,CACV,UACA,WACA,aACA,SACA,aACA,aACA,OACA,OACA,QACA,OACA,MACA,WACA,UACA,UACA,OACA,SACA,OACA,MACA,SACA,UACA,MACA,MACA,eACA,YACA,YACA,WACA,aACA,SACA,UACA,YACA,SACA,cACA,aACA,cACA,iBACH,CAiBK,EAAW,KACb,EAAU,SAAS,CAAG,GACtB,EAAU,KAAK,KAAK,CAAC,OAAO,UAAU,CAzD7B,KA0DT,EAAO,KAAK,KAAK,CAAC,OAAO,WAAW,CA1D3B,KA2DT,EAAU,KAAK,CAAC,WAAW,CAAC,YAAa,GACzC,EAAU,KAAK,CAAC,WAAW,CAAC,SAAU,GACtC,AAnBJ,SAAiB,CAAE,EACf,IAAM,EAAW,SAAS,sBAAsB,GAChD,KAAO,EAAK,GAAG,CACX,IAAI,EAAQ,SAAS,aAAa,CAAC,OACnC,EAAM,SAAS,CAAC,GAAG,CAAC,aACpB,EAAM,SAAS,CAAG,CAAK,CAAC,KAAK,KAAK,CAAC,KAAK,MAAM,GAAK,EAAM,MAAM,EAAE,CACjE,EAAS,WAAW,CAAC,GACrB,GACJ,CACA,EAAU,WAAW,CAAC,EAC1B,EASY,EAAU,EACtB,EACA,IAGA,OAAO,QAAQ,CAAG,KACd,IAAM,EAAW,OAAO,UAAU,CAC5B,EAAY,OAAO,WAAW,CAChC,GAAY,GAAY,GAAa,GACrC,GAER,EAGA,OAAO,WAAW,CAAG,AAAC,IAClB,IAAM,EAAW,KAAK,KAAK,CAAC,EAAG,CAAC,CAAG,KAAO,KAAK,KAAK,CAAC,EAAG,CAAC,CAAG,KAAO,EAC/D,EAAK,EAAU,QAAQ,CAAC,EAAS,CACrC,GAAI,CACA,EAAG,OAAO,CAAC,CACP,QAAS,CACL,GACA,GACA,EACH,CACD,OAAQ,CACJ,EACA,GACH,CACD,OAAQ,CACJ,UACA,WACH,AACL,EAAG,IACP,CAAE,MAAO,EAAG,CAAE,CAClB","sources":["<anon>","src/js/effects.js"],"sourcesContent":["// Author: Itz-fork\n//  Pre-defined variables\nvar intWidth = window.innerWidth;\nvar intHeight = window.innerHeight;\nconst container = document.getElementById(\"sqbg\");\nconst cursor = document.getElementById(\"cursor\");\nconst size = 100;\nlet columns = 0, rows = 0;\nconst codes = [\n    \"backend\",\n    \"frontend\",\n    \"full-stack\",\n    \"python\",\n    \"javascript\",\n    \"typescript\",\n    \"bash\",\n    \"dart\",\n    \"vlang\",\n    \"html\",\n    \"css\",\n    \"Arch btw\",\n    \"android\",\n    \"windows\",\n    \"deno\",\n    \"svelte\",\n    \"nuxt\",\n    \"git\",\n    \"docker\",\n    \"Fastapi\",\n    \"API\",\n    \"CLI\",\n    \"Web scraping\",\n    \"scripting\",\n    \"$ sudo -b\",\n    \"$ whoami\",\n    \"$ ifconfig\",\n    \"$ ping\",\n    \"$ route\",\n    \"$ netstat\",\n    \"pub fn\",\n    \"def hello()\",\n    \"while True\",\n    \"struct Code\",\n    \"interface Life\"\n];\n// Background grid\nfunction AddSqrs(sq) {\n    const fragment = document.createDocumentFragment();\n    while(sq > 0){\n        let sqrel = document.createElement(\"div\");\n        sqrel.classList.add(\"sqr_block\");\n        sqrel.innerText = codes[Math.floor(Math.random() * codes.length)];\n        fragment.appendChild(sqrel);\n        sq--;\n    }\n    container.appendChild(fragment);\n}\n// Calculate grid\nconst CalcGrid = ()=>{\n    container.innerHTML = \"\";\n    columns = Math.floor(window.innerWidth / size);\n    rows = Math.floor(window.innerHeight / size);\n    container.style.setProperty(\"--columns\", columns);\n    container.style.setProperty(\"--rows\", rows);\n    AddSqrs(columns * rows);\n};\nCalcGrid();\n// Generate grid on resize\nwindow.onresize = ()=>{\n    const curWidth = window.innerWidth;\n    const curHeight = window.innerHeight;\n    if (curWidth != intWidth && curHeight != intHeight) CalcGrid();\n};\n// Mouse move effect\nwindow.onmousemove = (ev)=>{\n    const position = Math.floor(ev.x / 100) + Math.floor(ev.y / 100) * columns;\n    let el = container.children[position];\n    try {\n        el.animate({\n            opacity: [\n                0.2,\n                0.9,\n                1\n            ],\n            offset: [\n                0,\n                0.8\n            ],\n            easing: [\n                \"ease-in\",\n                \"ease-out\"\n            ]\n        }, 2000);\n    } catch (e) {}\n};\n\n//# sourceMappingURL=index.9e87c09c.js.map\n","// Author: Itz-fork\n\n\n//  Pre-defined variables\nvar intWidth = window.innerWidth\nvar intHeight = window.innerHeight\nconst container = document.getElementById(\"sqbg\");\nconst cursor = document.getElementById(\"cursor\");\n\nconst size = 100;\nlet columns = 0, rows = 0;\nconst codes = [\n    \"backend\",\n    \"frontend\",\n    \"full-stack\",\n    \"python\",\n    \"javascript\",\n    \"typescript\",\n    \"bash\",\n    \"dart\",\n    \"vlang\",\n    \"html\",\n    \"css\",\n    \"Arch btw\",\n    \"android\",\n    \"windows\",\n    \"deno\",\n    \"svelte\",\n    \"nuxt\",\n    \"git\",\n    \"docker\",\n    \"Fastapi\",\n    \"API\",\n    \"CLI\",\n    \"Web scraping\",\n    \"scripting\",\n    \"$ sudo -b\",\n    \"$ whoami\",\n    \"$ ifconfig\",\n    \"$ ping\",\n    \"$ route\",\n    \"$ netstat\",\n    \"pub fn\",\n    \"def hello()\",\n    \"while True\",\n    \"struct Code\",\n    \"interface Life\"\n];\n\n\n// Background grid\nfunction AddSqrs(sq) {\n    const fragment = document.createDocumentFragment();\n    while (sq > 0) {\n        let sqrel = document.createElement(\"div\");\n        sqrel.classList.add(\"sqr_block\");\n        sqrel.innerText = codes[Math.floor(Math.random() * codes.length)];\n        fragment.appendChild(sqrel);\n        sq--;\n    }\n    container.appendChild(fragment);\n}\n\n// Calculate grid\nconst CalcGrid = () => {\n    container.innerHTML = \"\";\n    columns = Math.floor(window.innerWidth / size);\n    rows = Math.floor(window.innerHeight / size);\n    container.style.setProperty(\"--columns\", columns);\n    container.style.setProperty(\"--rows\", rows);\n    AddSqrs(columns * rows);\n};\nCalcGrid();\n\n// Generate grid on resize\nwindow.onresize = () => {\n    const curWidth = window.innerWidth\n    const curHeight = window.innerHeight\n    if (curWidth != intWidth && curHeight != intHeight) {\n        CalcGrid()\n    }\n};\n\n// Mouse move effect\nwindow.onmousemove = (ev) => {\n    const position = Math.floor(ev.x / 100) + Math.floor(ev.y / 100) * columns;\n    let el = container.children[position];\n    try {\n        el.animate({\n            opacity: [\n                0.2,\n                0.9,\n                1\n            ],\n            offset: [\n                0,\n                0.8\n            ],\n            easing: [\n                \"ease-in\",\n                \"ease-out\"\n            ]\n        }, 2000);\n    } catch (e) { }\n};\n"],"names":["intWidth","window","innerWidth","intHeight","innerHeight","container","document","getElementById","columns","rows","codes","CalcGrid","innerHTML","Math","floor","style","setProperty","AddSqrs","sq","fragment","createDocumentFragment","sqrel","createElement","classList","add","innerText","random","length","appendChild","onresize","curWidth","curHeight","onmousemove","ev","position","x","y","el","children","animate","opacity","offset","easing","e"],"version":3,"file":"index.9e87c09c.js.map"}
\ No newline at end of file
diff --git a/index.b80584df.css b/index.b80584df.css
new file mode 100644
index 0000000..9bd77a7
--- /dev/null
+++ b/index.b80584df.css
@@ -0,0 +1,2 @@
+a[data-linker]{color:#9bf6ff;-webkit-text-decoration:underline dotted #e5989b;text-decoration:underline dotted #e5989b}span[id=icon-py]{content:url(https://api.iconify.design/logos/python.svg)}span[id=icon-js]{content:url(https://api.iconify.design/logos/javascript.svg)}span[id=icon-ts]{content:url(https://api.iconify.design/logos/typescript-icon.svg)}span[id=icon-rs]{content:url(https://api.iconify.design/logos/rust.svg);filter:invert(34%)sepia(58%)saturate(4679%)hue-rotate(8deg)brightness(102%)contrast(103%)}span[id=icon-sh]{content:url(https://api.iconify.design/logos/bash-icon.svg)}span[id=icon-dart]{content:url(https://api.iconify.design/logos/dart.svg)}span[id=icon-vlang]{content:url(https://api.iconify.design/logos/vlang.svg)}span[id=icon-mongo]{content:url(https://api.iconify.design/logos/mongodb-icon.svg)}span[id=icon-fastapi]{content:url(https://api.iconify.design/logos/fastapi-icon.svg)}span[id=icon-deno]{content:url(https://api.iconify.design/logos/deno.svg)}span[id=icon-svelte]{content:url(https://api.iconify.design/logos/svelte-icon.svg)}span[id=icon-nuxt]{content:url(https://api.iconify.design/logos/nuxt-icon.svg)}span[id=icon-gh]{content:url(https://api.iconify.design/logos/github-icon.svg);filter:invert(99%)sepia(0%)saturate(122%)hue-rotate(35deg)brightness(112%)contrast()}span[id=icon-email]{content:url(https://api.iconify.design/logos/google-gmail.svg)}span[id=icon-tg]{content:url(https://api.iconify.design/logos/telegram.svg);transform:scale(1.3)}
+/*# sourceMappingURL=index.b80584df.css.map */
diff --git a/index.b80584df.css.map b/index.b80584df.css.map
new file mode 100644
index 0000000..b2275c3
--- /dev/null
+++ b/index.b80584df.css.map
@@ -0,0 +1 @@
+{"mappings":"ACAA,uHAUA,0EAKA,8EAKA,mFAKA,kKAMA,6EAKA,0EAKA,4EAQA,mFAKA,qFAKA,0EAKA,mFAKA,+EAQA,oKAMA,mFAKA","sources":["index.b80584df.css","src/css/extras.css"],"sourcesContent":["a[data-linker] {\n  color: #9bf6ff;\n  -webkit-text-decoration: underline dotted #e5989b;\n  text-decoration: underline dotted #e5989b;\n}\n\nspan[id=\"icon-py\"] {\n  content: url(\"https://api.iconify.design/logos/python.svg\");\n}\n\nspan[id=\"icon-js\"] {\n  content: url(\"https://api.iconify.design/logos/javascript.svg\");\n}\n\nspan[id=\"icon-ts\"] {\n  content: url(\"https://api.iconify.design/logos/typescript-icon.svg\");\n}\n\nspan[id=\"icon-rs\"] {\n  content: url(\"https://api.iconify.design/logos/rust.svg\");\n  filter: invert(34%) sepia(58%) saturate(4679%) hue-rotate(8deg) brightness(102%) contrast(103%);\n}\n\nspan[id=\"icon-sh\"] {\n  content: url(\"https://api.iconify.design/logos/bash-icon.svg\");\n}\n\nspan[id=\"icon-dart\"] {\n  content: url(\"https://api.iconify.design/logos/dart.svg\");\n}\n\nspan[id=\"icon-vlang\"] {\n  content: url(\"https://api.iconify.design/logos/vlang.svg\");\n}\n\nspan[id=\"icon-mongo\"] {\n  content: url(\"https://api.iconify.design/logos/mongodb-icon.svg\");\n}\n\nspan[id=\"icon-fastapi\"] {\n  content: url(\"https://api.iconify.design/logos/fastapi-icon.svg\");\n}\n\nspan[id=\"icon-deno\"] {\n  content: url(\"https://api.iconify.design/logos/deno.svg\");\n}\n\nspan[id=\"icon-svelte\"] {\n  content: url(\"https://api.iconify.design/logos/svelte-icon.svg\");\n}\n\nspan[id=\"icon-nuxt\"] {\n  content: url(\"https://api.iconify.design/logos/nuxt-icon.svg\");\n}\n\nspan[id=\"icon-gh\"] {\n  content: url(\"https://api.iconify.design/logos/github-icon.svg\");\n  filter: invert(99%) sepia(0%) saturate(122%) hue-rotate(35deg) brightness(112%) contrast();\n}\n\nspan[id=\"icon-email\"] {\n  content: url(\"https://api.iconify.design/logos/google-gmail.svg\");\n}\n\nspan[id=\"icon-tg\"] {\n  content: url(\"https://api.iconify.design/logos/telegram.svg\");\n  transform: scale(1.3);\n}\n\n/*# sourceMappingURL=index.b80584df.css.map */\n","a[data-linker] {\n    color: #9bf6ff;\n    -webkit-text-decoration: underline dotted #e5989b;\n    text-decoration: underline dotted #e5989b;\n}\n\n\n/* Languages */\nspan[id=\"icon-py\"] {\n    content: url(\"https://api.iconify.design/logos/python.svg\");\n}\n\nspan[id=\"icon-js\"] {\n    content: url(\"https://api.iconify.design/logos/javascript.svg\");\n}\n\nspan[id=\"icon-ts\"] {\n    content: url(\"https://api.iconify.design/logos/typescript-icon.svg\");\n}\n\nspan[id=\"icon-rs\"] {\n    content: url(\"https://api.iconify.design/logos/rust.svg\");\n    filter: invert(34%) sepia(58%) saturate(4679%) hue-rotate(8deg) brightness(102%) contrast(103%);\n}\n\nspan[id=\"icon-sh\"] {\n    content: url(\"https://api.iconify.design/logos/bash-icon.svg\");\n}\n\nspan[id=\"icon-dart\"] {\n    content: url(\"https://api.iconify.design/logos/dart.svg\");\n}\n\nspan[id=\"icon-vlang\"] {\n    content: url(\"https://api.iconify.design/logos/vlang.svg\");\n}\n\n/* Frameworks */\nspan[id=\"icon-mongo\"] {\n    content: url(\"https://api.iconify.design/logos/mongodb-icon.svg\");\n}\nspan[id=\"icon-fastapi\"] {\n    content: url(\"https://api.iconify.design/logos/fastapi-icon.svg\");\n}\nspan[id=\"icon-deno\"] {\n    content: url(\"https://api.iconify.design/logos/deno.svg\");\n}\nspan[id=\"icon-svelte\"] {\n    content: url(\"https://api.iconify.design/logos/svelte-icon.svg\");\n}\nspan[id=\"icon-nuxt\"] {\n    content: url(\"https://api.iconify.design/logos/nuxt-icon.svg\");\n}\n\n\n/* Contacts */\nspan[id=\"icon-gh\"] {\n    content: url(\"https://api.iconify.design/logos/github-icon.svg\");\n    filter: invert(99%) sepia(0%) saturate(122%) hue-rotate(35deg) brightness(112%) contrast();\n}\n\nspan[id=\"icon-email\"] {\n    content: url(\"https://api.iconify.design/logos/google-gmail.svg\");\n}\n\nspan[id=\"icon-tg\"] {\n    content: url(\"https://api.iconify.design/logos/telegram.svg\");\n    transform: scale(1.3);\n}"],"names":[],"version":3,"file":"index.b80584df.css.map"}
\ No newline at end of file
diff --git a/index.html b/index.html
new file mode 100644
index 0000000..35cbcc9
--- /dev/null
+++ b/index.html
@@ -0,0 +1 @@
+<!DOCTYPE html><html lang="en"><head><meta charset="utf-8"><meta name="viewport" content="width=device-width, initial-scale=1.0"><meta name="description" content="Hirusha Himath's (Itz-fork) portfolio"><link rel="icon" type="image/x-icon" href="https://avatars.githubusercontent.com/u/77770753?v=4"><link rel="stylesheet" href="/index.78089339.css"><link rel="stylesheet" href="/index.b80584df.css"><title>Hirusha Himath - Itz-fork</title></head><body> <div id="sqbg"> </div>  <section id="main"> <span class="greet">Hi 👋, I'm</span> <h1>Hirusha Himath</h1> <p>A teenager who loves to build stuff</p><br> <a href="#about"><button class="gradnime">$ whoami _</button></a> </section>  <section id="about" data-aos="fade-up"> <h2><span class="sec_title">About me</span></h2> <p> Hirusha Himath, an aspiring full-stack developer from Sri Lanka, was introduced to the world of programming in 2019. I quickly became fascinated by the incredible applications developers could create using mere lines of code. This inspiration led me to delve into backend development and, a few years later, to explore the realms of front-end development. <br><br> Over the subsequent five years, I dedicated myself to developing <a href="#skills" data-linker>my skills</a>, learning programming, and staying abreast of new technologies, all with the goal of becoming a proficient full-stack developer. During this period, I also embarked on creating numerous projects, most of which are free and open-source. <br><br> Currently, I’m juggling my time between being a maths student and a freelancer. If you’re interested in collaborating with me, feel free to reach out via <a href="mailto:git.itzfork@gmail.com" data-linker>Gmail</a> or <a href="https://t.me/Bruh_0x" data-linker>Telegram</a>. </p> </section>  <section id="skills"> <h2><span class="sec_title">Skills</span> </h2> <p> Over the last five years, I’ve explored a range of programming languages and frameworks, steadily building my expertise to enhance product quality. Below is a list of the languages with which I have experience with 👇 </p> <div> <button class="gradnime"><span id="icon-py"></span> Python</button> <button class="gradnime"><span id="icon-js"></span> Javascript</button> <button class="gradnime"><span id="icon-ts"></span> TypeScript</button> <button class="gradnime"><span id="icon-rs"></span> Rust</button> <button class="gradnime"><span id="icon-sh"></span> Bash</button> <button class="gradnime"><span id="icon-dart"></span> Dart</button> <button class="gradnime"><span id="icon-vlang"></span> Vlang</button> <br> <button class="gradnime"><span id="icon-mongo"></span> Mongodb</button> <button class="gradnime"><span id="icon-fastapi"></span> FastAPI</button> <button class="gradnime"><span id="icon-deno"></span> Deno</button> <button class="gradnime"><span id="icon-svelte"></span> Svelte</button> <button class="gradnime"><span id="icon-nuxt"></span> Nuxt</button> </div> </section> <footer> <span class="footer_text">Made with 💜 by Itz-fork</span> <div> <a href="https://github.com/Itz-fork" target="_blank"><button class="sc_btns"><span id="icon-gh"></span> Github</button></a> <a href="mailto:git.itzfork@gmail.com"><button class="sc_btns"><span id="icon-email"></span> Email</button></a> <a href="https://t.me/Bruh_0x" target="_blank"><button class="sc_btns"><span id="icon-tg"></span> Telegram</button></a> </div> </footer> <script src="/index.9e87c09c.js"></script> </body></html>
\ No newline at end of file
diff --git a/package.json b/package.json
deleted file mode 100644
index abcb953..0000000
--- a/package.json
+++ /dev/null
@@ -1,21 +0,0 @@
-{
-  "name": "Portfolio",
-  "version": "1.0.0",
-  "description": "",
-  "scripts": {
-    "start": "parcel src/index.html",
-    "build": "parcel build src/index.html"
-  },
-  "keywords": [],
-  "author": "",
-  "license": "ISC",
-  "devDependencies": {
-    "autoprefixer": "^10.4.16",
-    "parcel": "^2.10.3",
-    "postcss": "^8.1.0",
-    "postcss-custom-properties": "^13.3.2",
-    "postcss-import": "^15.1.0",
-    "postcss-preset-env": "^9.3.0",
-    "postcss-url": "^10.1.3"
-  }
-}
diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml
deleted file mode 100644
index 0440ba8..0000000
--- a/pnpm-lock.yaml
+++ /dev/null
@@ -1,2819 +0,0 @@
-lockfileVersion: '6.0'
-
-settings:
-  autoInstallPeers: true
-  excludeLinksFromLockfile: false
-
-devDependencies:
-  autoprefixer:
-    specifier: ^10.4.16
-    version: 10.4.16(postcss@8.4.32)
-  parcel:
-    specifier: ^2.10.3
-    version: 2.10.3(postcss@8.4.32)
-  postcss:
-    specifier: ^8.1.0
-    version: 8.4.32
-  postcss-custom-properties:
-    specifier: ^13.3.2
-    version: 13.3.2(postcss@8.4.32)
-  postcss-import:
-    specifier: ^15.1.0
-    version: 15.1.0(postcss@8.4.32)
-  postcss-preset-env:
-    specifier: ^9.3.0
-    version: 9.3.0(postcss@8.4.32)
-  postcss-url:
-    specifier: ^10.1.3
-    version: 10.1.3(postcss@8.4.32)
-
-packages:
-
-  /@babel/code-frame@7.23.5:
-    resolution: {integrity: sha512-CgH3s1a96LipHCmSUmYFPwY7MNx8C3avkq7i4Wl3cfa662ldtUe4VM1TPXX70pfmrlWTb6jLqTYrZyT2ZTJBgA==}
-    engines: {node: '>=6.9.0'}
-    dependencies:
-      '@babel/highlight': 7.23.4
-      chalk: 2.4.2
-    dev: true
-
-  /@babel/helper-validator-identifier@7.22.20:
-    resolution: {integrity: sha512-Y4OZ+ytlatR8AI+8KZfKuL5urKp7qey08ha31L8b3BwewJAoJamTzyvxPR/5D+KkdJCGPq/+8TukHBlY10FX9A==}
-    engines: {node: '>=6.9.0'}
-    dev: true
-
-  /@babel/highlight@7.23.4:
-    resolution: {integrity: sha512-acGdbYSfp2WheJoJm/EBBBLh/ID8KDc64ISZ9DYtBmC8/Q204PZJLHyzeB5qMzJ5trcOkybd78M4x2KWsUq++A==}
-    engines: {node: '>=6.9.0'}
-    dependencies:
-      '@babel/helper-validator-identifier': 7.22.20
-      chalk: 2.4.2
-      js-tokens: 4.0.0
-    dev: true
-
-  /@csstools/cascade-layer-name-parser@1.0.5(@csstools/css-parser-algorithms@2.3.2)(@csstools/css-tokenizer@2.2.1):
-    resolution: {integrity: sha512-v/5ODKNBMfBl0us/WQjlfsvSlYxfZLhNMVIsuCPib2ulTwGKYbKJbwqw671+qH9Y4wvWVnu7LBChvml/wBKjFg==}
-    engines: {node: ^14 || ^16 || >=18}
-    peerDependencies:
-      '@csstools/css-parser-algorithms': ^2.3.2
-      '@csstools/css-tokenizer': ^2.2.1
-    dependencies:
-      '@csstools/css-parser-algorithms': 2.3.2(@csstools/css-tokenizer@2.2.1)
-      '@csstools/css-tokenizer': 2.2.1
-    dev: true
-
-  /@csstools/color-helpers@3.0.2:
-    resolution: {integrity: sha512-NMVs/l7Y9eIKL5XjbCHEgGcG8LOUT2qVcRjX6EzkCdlvftHVKr2tHIPzHavfrULRZ5Q2gxrJ9f44dAlj6fX97Q==}
-    engines: {node: ^14 || ^16 || >=18}
-    dev: true
-
-  /@csstools/css-calc@1.1.4(@csstools/css-parser-algorithms@2.3.2)(@csstools/css-tokenizer@2.2.1):
-    resolution: {integrity: sha512-ZV1TSmToiNcQL1P3hfzlzZzA02mmVkVmXGaUDUqpYUG84PmLhVSZpKX+KfxAuOcK7de04UXSQPBrAvaya6iiGg==}
-    engines: {node: ^14 || ^16 || >=18}
-    peerDependencies:
-      '@csstools/css-parser-algorithms': ^2.3.2
-      '@csstools/css-tokenizer': ^2.2.1
-    dependencies:
-      '@csstools/css-parser-algorithms': 2.3.2(@csstools/css-tokenizer@2.2.1)
-      '@csstools/css-tokenizer': 2.2.1
-    dev: true
-
-  /@csstools/css-color-parser@1.4.0(@csstools/css-parser-algorithms@2.3.2)(@csstools/css-tokenizer@2.2.1):
-    resolution: {integrity: sha512-SlGd8E6ron24JYQPQAIzu5tvmWi1H4sDKTdA7UDnwF45oJv7AVESbOlOO1YjfBhrQFuvLWUgKiOY9DwGoAxwTA==}
-    engines: {node: ^14 || ^16 || >=18}
-    peerDependencies:
-      '@csstools/css-parser-algorithms': ^2.3.2
-      '@csstools/css-tokenizer': ^2.2.1
-    dependencies:
-      '@csstools/color-helpers': 3.0.2
-      '@csstools/css-calc': 1.1.4(@csstools/css-parser-algorithms@2.3.2)(@csstools/css-tokenizer@2.2.1)
-      '@csstools/css-parser-algorithms': 2.3.2(@csstools/css-tokenizer@2.2.1)
-      '@csstools/css-tokenizer': 2.2.1
-    dev: true
-
-  /@csstools/css-parser-algorithms@2.3.2(@csstools/css-tokenizer@2.2.1):
-    resolution: {integrity: sha512-sLYGdAdEY2x7TSw9FtmdaTrh2wFtRJO5VMbBrA8tEqEod7GEggFmxTSK9XqExib3yMuYNcvcTdCZIP6ukdjAIA==}
-    engines: {node: ^14 || ^16 || >=18}
-    peerDependencies:
-      '@csstools/css-tokenizer': ^2.2.1
-    dependencies:
-      '@csstools/css-tokenizer': 2.2.1
-    dev: true
-
-  /@csstools/css-tokenizer@2.2.1:
-    resolution: {integrity: sha512-Zmsf2f/CaEPWEVgw29odOj+WEVoiJy9s9NOv5GgNY9mZ1CZ7394By6wONrONrTsnNDv6F9hR02nvFihrGVGHBg==}
-    engines: {node: ^14 || ^16 || >=18}
-    dev: true
-
-  /@csstools/media-query-list-parser@2.1.5(@csstools/css-parser-algorithms@2.3.2)(@csstools/css-tokenizer@2.2.1):
-    resolution: {integrity: sha512-IxVBdYzR8pYe89JiyXQuYk4aVVoCPhMJkz6ElRwlVysjwURTsTk/bmY/z4FfeRE+CRBMlykPwXEVUg8lThv7AQ==}
-    engines: {node: ^14 || ^16 || >=18}
-    peerDependencies:
-      '@csstools/css-parser-algorithms': ^2.3.2
-      '@csstools/css-tokenizer': ^2.2.1
-    dependencies:
-      '@csstools/css-parser-algorithms': 2.3.2(@csstools/css-tokenizer@2.2.1)
-      '@csstools/css-tokenizer': 2.2.1
-    dev: true
-
-  /@csstools/postcss-cascade-layers@4.0.1(postcss@8.4.32):
-    resolution: {integrity: sha512-UYFuFL9GgVnftg9v7tBvVEBRLaBeAD66euD+yYy5fYCUld9ZIWTJNCE30hm6STMEdt6FL5xzeVw1lAZ1tpvUEg==}
-    engines: {node: ^14 || ^16 || >=18}
-    peerDependencies:
-      postcss: ^8.4
-    dependencies:
-      '@csstools/selector-specificity': 3.0.0(postcss-selector-parser@6.0.13)
-      postcss: 8.4.32
-      postcss-selector-parser: 6.0.13
-    dev: true
-
-  /@csstools/postcss-color-function@3.0.7(postcss@8.4.32):
-    resolution: {integrity: sha512-/PIB20G1TPCXmQlaJLWIYzTZRZpj6csT4ijgnshIj/kcmniIRroAfDa0xSWnfuO1eNo0NptIaPU7jzUukWn55Q==}
-    engines: {node: ^14 || ^16 || >=18}
-    peerDependencies:
-      postcss: ^8.4
-    dependencies:
-      '@csstools/css-color-parser': 1.4.0(@csstools/css-parser-algorithms@2.3.2)(@csstools/css-tokenizer@2.2.1)
-      '@csstools/css-parser-algorithms': 2.3.2(@csstools/css-tokenizer@2.2.1)
-      '@csstools/css-tokenizer': 2.2.1
-      '@csstools/postcss-progressive-custom-properties': 3.0.2(postcss@8.4.32)
-      postcss: 8.4.32
-    dev: true
-
-  /@csstools/postcss-color-mix-function@2.0.7(postcss@8.4.32):
-    resolution: {integrity: sha512-57/g8aGo5eKFjEeJMiRKh8Qq43K2rCyk5ZZTvJ34TNl4zUtYU5DvLkIkOnhCtL8/a4z9oMA42aOnFPddRrScUQ==}
-    engines: {node: ^14 || ^16 || >=18}
-    peerDependencies:
-      postcss: ^8.4
-    dependencies:
-      '@csstools/css-color-parser': 1.4.0(@csstools/css-parser-algorithms@2.3.2)(@csstools/css-tokenizer@2.2.1)
-      '@csstools/css-parser-algorithms': 2.3.2(@csstools/css-tokenizer@2.2.1)
-      '@csstools/css-tokenizer': 2.2.1
-      '@csstools/postcss-progressive-custom-properties': 3.0.2(postcss@8.4.32)
-      postcss: 8.4.32
-    dev: true
-
-  /@csstools/postcss-exponential-functions@1.0.1(postcss@8.4.32):
-    resolution: {integrity: sha512-ZLK2iSK4DUxeypGce2PnQSdYugUqDTwxnhNiq1o6OyKMNYgYs4eKbvEhFG8JKr1sJWbeqBi5jRr0017l2EWVvg==}
-    engines: {node: ^14 || ^16 || >=18}
-    peerDependencies:
-      postcss: ^8.4
-    dependencies:
-      '@csstools/css-calc': 1.1.4(@csstools/css-parser-algorithms@2.3.2)(@csstools/css-tokenizer@2.2.1)
-      '@csstools/css-parser-algorithms': 2.3.2(@csstools/css-tokenizer@2.2.1)
-      '@csstools/css-tokenizer': 2.2.1
-      postcss: 8.4.32
-    dev: true
-
-  /@csstools/postcss-font-format-keywords@3.0.0(postcss@8.4.32):
-    resolution: {integrity: sha512-ntkGj+1uDa/u6lpjPxnkPcjJn7ChO/Kcy08YxctOZI7vwtrdYvFhmE476dq8bj1yna306+jQ9gzXIG/SWfOaRg==}
-    engines: {node: ^14 || ^16 || >=18}
-    peerDependencies:
-      postcss: ^8.4
-    dependencies:
-      postcss: 8.4.32
-      postcss-value-parser: 4.2.0
-    dev: true
-
-  /@csstools/postcss-gamut-mapping@1.0.0(postcss@8.4.32):
-    resolution: {integrity: sha512-6UQyK8l9YaG5Ao5rBDcCnKHrLsHiQ1E0zeFQuqDJqEtinVzAPb/MwSw3TenZXL1Rnd7th3tb+4CBFHBXdW5tbQ==}
-    engines: {node: ^14 || ^16 || >=18}
-    peerDependencies:
-      postcss: ^8.4
-    dependencies:
-      '@csstools/css-color-parser': 1.4.0(@csstools/css-parser-algorithms@2.3.2)(@csstools/css-tokenizer@2.2.1)
-      '@csstools/css-parser-algorithms': 2.3.2(@csstools/css-tokenizer@2.2.1)
-      '@csstools/css-tokenizer': 2.2.1
-      postcss: 8.4.32
-    dev: true
-
-  /@csstools/postcss-gradients-interpolation-method@4.0.7(postcss@8.4.32):
-    resolution: {integrity: sha512-GT1CzE/Tyr/ei4j5BwKESkHAgg+Gzys/0mAY7W+UiR+XrcYk5hDbOrE/YJIx1rflfO/7La1bDoZtA0YnLl4qNA==}
-    engines: {node: ^14 || ^16 || >=18}
-    peerDependencies:
-      postcss: ^8.4
-    dependencies:
-      '@csstools/css-color-parser': 1.4.0(@csstools/css-parser-algorithms@2.3.2)(@csstools/css-tokenizer@2.2.1)
-      '@csstools/css-parser-algorithms': 2.3.2(@csstools/css-tokenizer@2.2.1)
-      '@csstools/css-tokenizer': 2.2.1
-      '@csstools/postcss-progressive-custom-properties': 3.0.2(postcss@8.4.32)
-      postcss: 8.4.32
-    dev: true
-
-  /@csstools/postcss-hwb-function@3.0.6(postcss@8.4.32):
-    resolution: {integrity: sha512-uQgWt2Ho2yy2S6qthWY7mD5v57NKxi6dD1NB8nAybU5bJSsm+hLXRGm3/zbOH4xNrqO3Cl60DFSNlSrUME3Xjg==}
-    engines: {node: ^14 || ^16 || >=18}
-    peerDependencies:
-      postcss: ^8.4
-    dependencies:
-      '@csstools/css-color-parser': 1.4.0(@csstools/css-parser-algorithms@2.3.2)(@csstools/css-tokenizer@2.2.1)
-      '@csstools/css-parser-algorithms': 2.3.2(@csstools/css-tokenizer@2.2.1)
-      '@csstools/css-tokenizer': 2.2.1
-      postcss: 8.4.32
-    dev: true
-
-  /@csstools/postcss-ic-unit@3.0.2(postcss@8.4.32):
-    resolution: {integrity: sha512-n28Er7W9qc48zNjJnvTKuVHY26/+6YlA9WzJRksIHiAWOMxSH5IksXkw7FpkIOd+jLi59BMrX/BWrZMgjkLBHg==}
-    engines: {node: ^14 || ^16 || >=18}
-    peerDependencies:
-      postcss: ^8.4
-    dependencies:
-      '@csstools/postcss-progressive-custom-properties': 3.0.2(postcss@8.4.32)
-      postcss: 8.4.32
-      postcss-value-parser: 4.2.0
-    dev: true
-
-  /@csstools/postcss-initial@1.0.0(postcss@8.4.32):
-    resolution: {integrity: sha512-1l7iHHjIl5qmVeGItugr4ZOlCREDP71mNKqoEyxlosIoiu3Os1nPWMHpuCvDLCLiWI/ONTOg3nzJh7gwHOrqUA==}
-    engines: {node: ^14 || ^16 || >=18}
-    peerDependencies:
-      postcss: ^8.4
-    dependencies:
-      postcss: 8.4.32
-    dev: true
-
-  /@csstools/postcss-is-pseudo-class@4.0.3(postcss@8.4.32):
-    resolution: {integrity: sha512-/dt5M9Ty/x3Yiq0Nm/5PJJzwkVFchJgdjKVnryBPtoMCb9ohb/nDIJOwr/Wr3hK3FDs1EA1GE6PyRYsUmQPS8Q==}
-    engines: {node: ^14 || ^16 || >=18}
-    peerDependencies:
-      postcss: ^8.4
-    dependencies:
-      '@csstools/selector-specificity': 3.0.0(postcss-selector-parser@6.0.13)
-      postcss: 8.4.32
-      postcss-selector-parser: 6.0.13
-    dev: true
-
-  /@csstools/postcss-logical-float-and-clear@2.0.0(postcss@8.4.32):
-    resolution: {integrity: sha512-Wki4vxsF6icRvRz8eF9bPpAvwaAt0RHwhVOyzfoFg52XiIMjb6jcbHkGxwpJXP4DVrnFEwpwmrz5aTRqOW82kg==}
-    engines: {node: ^14 || ^16 || >=18}
-    peerDependencies:
-      postcss: ^8.4
-    dependencies:
-      postcss: 8.4.32
-    dev: true
-
-  /@csstools/postcss-logical-overflow@1.0.0(postcss@8.4.32):
-    resolution: {integrity: sha512-cIrZ8f7bGGvr+W53nEuMspcwaeaI2YTmz6LZ4yiAO5z14/PQgOOv+Pn+qjvPOPoadeY2BmpaoTzZKvdAQuM17w==}
-    engines: {node: ^14 || ^16 || >=18}
-    peerDependencies:
-      postcss: ^8.4
-    dependencies:
-      postcss: 8.4.32
-    dev: true
-
-  /@csstools/postcss-logical-overscroll-behavior@1.0.0(postcss@8.4.32):
-    resolution: {integrity: sha512-e89S2LWjnxf0SB2wNUAbqDyFb/Fow/tlOe1XqOLbNx4rf3LrQokM9qldVx7sarnddml3ORE5LDUmlKpPOOeJTA==}
-    engines: {node: ^14 || ^16 || >=18}
-    peerDependencies:
-      postcss: ^8.4
-    dependencies:
-      postcss: 8.4.32
-    dev: true
-
-  /@csstools/postcss-logical-resize@2.0.0(postcss@8.4.32):
-    resolution: {integrity: sha512-lCQ1aX8c5+WI4t5EoYf3alTzJNNocMqTb+u1J9CINdDhFh1fjovqK+0aHalUHsNstZmzFPNzIkU4Mb3eM9U8SA==}
-    engines: {node: ^14 || ^16 || >=18}
-    peerDependencies:
-      postcss: ^8.4
-    dependencies:
-      postcss: 8.4.32
-      postcss-value-parser: 4.2.0
-    dev: true
-
-  /@csstools/postcss-logical-viewport-units@2.0.3(postcss@8.4.32):
-    resolution: {integrity: sha512-xeVxqND5rlQyqLGdH7rX34sIm/JbbQKxpKQP8oD1YQqUHHCLQR9NUS57WqJKajxKN6AcNAMWJhb5LUH5RfPcyA==}
-    engines: {node: ^14 || ^16 || >=18}
-    peerDependencies:
-      postcss: ^8.4
-    dependencies:
-      '@csstools/css-tokenizer': 2.2.1
-      postcss: 8.4.32
-    dev: true
-
-  /@csstools/postcss-media-minmax@1.1.0(postcss@8.4.32):
-    resolution: {integrity: sha512-t5Li/DPC5QmW/6VFLfUvsw/4dNYYseWR0tOXDeJg/9EKUodBgNawz5tuk5vYKtNvoj+Q08odMuXcpS5YJj0AFA==}
-    engines: {node: ^14 || ^16 || >=18}
-    peerDependencies:
-      postcss: ^8.4
-    dependencies:
-      '@csstools/css-calc': 1.1.4(@csstools/css-parser-algorithms@2.3.2)(@csstools/css-tokenizer@2.2.1)
-      '@csstools/css-parser-algorithms': 2.3.2(@csstools/css-tokenizer@2.2.1)
-      '@csstools/css-tokenizer': 2.2.1
-      '@csstools/media-query-list-parser': 2.1.5(@csstools/css-parser-algorithms@2.3.2)(@csstools/css-tokenizer@2.2.1)
-      postcss: 8.4.32
-    dev: true
-
-  /@csstools/postcss-media-queries-aspect-ratio-number-values@2.0.3(postcss@8.4.32):
-    resolution: {integrity: sha512-IPL8AvnwMYW+cWtp+j8cW3MFN0RyXNT4hLOvs6Rf2N+NcbvXhSyKxZuE3W9Cv4KjaNoNoGx1d0UhT6tktq6tUw==}
-    engines: {node: ^14 || ^16 || >=18}
-    peerDependencies:
-      postcss: ^8.4
-    dependencies:
-      '@csstools/css-parser-algorithms': 2.3.2(@csstools/css-tokenizer@2.2.1)
-      '@csstools/css-tokenizer': 2.2.1
-      '@csstools/media-query-list-parser': 2.1.5(@csstools/css-parser-algorithms@2.3.2)(@csstools/css-tokenizer@2.2.1)
-      postcss: 8.4.32
-    dev: true
-
-  /@csstools/postcss-nested-calc@3.0.0(postcss@8.4.32):
-    resolution: {integrity: sha512-HsB66aDWAouOwD/GcfDTS0a7wCuVWaTpXcjl5VKP0XvFxDiU+r0T8FG7xgb6ovZNZ+qzvGIwRM+CLHhDgXrYgQ==}
-    engines: {node: ^14 || ^16 || >=18}
-    peerDependencies:
-      postcss: ^8.4
-    dependencies:
-      postcss: 8.4.32
-      postcss-value-parser: 4.2.0
-    dev: true
-
-  /@csstools/postcss-normalize-display-values@3.0.1(postcss@8.4.32):
-    resolution: {integrity: sha512-nUvRxI+ALJwkxZdPU4EDyuM380vP91sAGvI3jAOHs/sr3jfcCOzLkY6xKI1Mr526kZ3RivmMoYM/xq+XFyE/bw==}
-    engines: {node: ^14 || ^16 || >=18}
-    peerDependencies:
-      postcss: ^8.4
-    dependencies:
-      postcss: 8.4.32
-      postcss-value-parser: 4.2.0
-    dev: true
-
-  /@csstools/postcss-oklab-function@3.0.7(postcss@8.4.32):
-    resolution: {integrity: sha512-vBFTQD3CARB3u/XIGO44wWbcO7xG/4GsYqJlcPuUGRSK8mtxes6n4vvNFlIByyAZy2k4d4RY63nyvTbMpeNTaQ==}
-    engines: {node: ^14 || ^16 || >=18}
-    peerDependencies:
-      postcss: ^8.4
-    dependencies:
-      '@csstools/css-color-parser': 1.4.0(@csstools/css-parser-algorithms@2.3.2)(@csstools/css-tokenizer@2.2.1)
-      '@csstools/css-parser-algorithms': 2.3.2(@csstools/css-tokenizer@2.2.1)
-      '@csstools/css-tokenizer': 2.2.1
-      '@csstools/postcss-progressive-custom-properties': 3.0.2(postcss@8.4.32)
-      postcss: 8.4.32
-    dev: true
-
-  /@csstools/postcss-progressive-custom-properties@3.0.2(postcss@8.4.32):
-    resolution: {integrity: sha512-YEvTozk1SxnV/PGL5DllBVDuLQ+jiQhyCSQiZJ6CwBMU5JQ9hFde3i1qqzZHuclZfptjrU0JjlX4ePsOhxNzHw==}
-    engines: {node: ^14 || ^16 || >=18}
-    peerDependencies:
-      postcss: ^8.4
-    dependencies:
-      postcss: 8.4.32
-      postcss-value-parser: 4.2.0
-    dev: true
-
-  /@csstools/postcss-relative-color-syntax@2.0.7(postcss@8.4.32):
-    resolution: {integrity: sha512-2AiFbJSVF4EyymLxme4JzSrbXykHolx8DdZECHjYKMhoulhKLltx5ccYgtrK3BmXGd3v3nJrWFCc8JM8bjuiOg==}
-    engines: {node: ^14 || ^16 || >=18}
-    peerDependencies:
-      postcss: ^8.4
-    dependencies:
-      '@csstools/css-color-parser': 1.4.0(@csstools/css-parser-algorithms@2.3.2)(@csstools/css-tokenizer@2.2.1)
-      '@csstools/css-parser-algorithms': 2.3.2(@csstools/css-tokenizer@2.2.1)
-      '@csstools/css-tokenizer': 2.2.1
-      '@csstools/postcss-progressive-custom-properties': 3.0.2(postcss@8.4.32)
-      postcss: 8.4.32
-    dev: true
-
-  /@csstools/postcss-scope-pseudo-class@3.0.0(postcss@8.4.32):
-    resolution: {integrity: sha512-GFNVsD97OuEcfHmcT0/DAZWAvTM/FFBDQndIOLawNc1Wq8YqpZwBdHa063Lq+Irk7azygTT+Iinyg3Lt76p7rg==}
-    engines: {node: ^14 || ^16 || >=18}
-    peerDependencies:
-      postcss: ^8.4
-    dependencies:
-      postcss: 8.4.32
-      postcss-selector-parser: 6.0.13
-    dev: true
-
-  /@csstools/postcss-stepped-value-functions@3.0.2(postcss@8.4.32):
-    resolution: {integrity: sha512-I3wX44MZVv+tDuWfrd3BTvRB/YRIM2F5v1MBtTI89sxpFn47mNpTwpPYUOGPVCgKlRDfZSlxIUYhUQmqRQZZFQ==}
-    engines: {node: ^14 || ^16 || >=18}
-    peerDependencies:
-      postcss: ^8.4
-    dependencies:
-      '@csstools/css-calc': 1.1.4(@csstools/css-parser-algorithms@2.3.2)(@csstools/css-tokenizer@2.2.1)
-      '@csstools/css-parser-algorithms': 2.3.2(@csstools/css-tokenizer@2.2.1)
-      '@csstools/css-tokenizer': 2.2.1
-      postcss: 8.4.32
-    dev: true
-
-  /@csstools/postcss-text-decoration-shorthand@3.0.3(postcss@8.4.32):
-    resolution: {integrity: sha512-d5J9m49HhqXRcw1S6vTZuviHi/iknUKGjBpChiNK1ARg9sSa3b8m5lsWz5Izs8ISORZdv2bZRwbw5Z2R6gQ9kQ==}
-    engines: {node: ^14 || ^16 || >=18}
-    peerDependencies:
-      postcss: ^8.4
-    dependencies:
-      '@csstools/color-helpers': 3.0.2
-      postcss: 8.4.32
-      postcss-value-parser: 4.2.0
-    dev: true
-
-  /@csstools/postcss-trigonometric-functions@3.0.2(postcss@8.4.32):
-    resolution: {integrity: sha512-AwzNhF4QOKaLOKvMljwwFkeYXwufhRO15G+kKohHkyoNOL75xWkN+W2Y9ik9tSeAyDv+cYNlYaF+o/a79WjVjg==}
-    engines: {node: ^14 || ^16 || >=18}
-    peerDependencies:
-      postcss: ^8.4
-    dependencies:
-      '@csstools/css-calc': 1.1.4(@csstools/css-parser-algorithms@2.3.2)(@csstools/css-tokenizer@2.2.1)
-      '@csstools/css-parser-algorithms': 2.3.2(@csstools/css-tokenizer@2.2.1)
-      '@csstools/css-tokenizer': 2.2.1
-      postcss: 8.4.32
-    dev: true
-
-  /@csstools/postcss-unset-value@3.0.0(postcss@8.4.32):
-    resolution: {integrity: sha512-P0JD1WHh3avVyKKRKjd0dZIjCEeaBer8t1BbwGMUDtSZaLhXlLNBqZ8KkqHzYWXOJgHleXAny2/sx8LYl6qhEA==}
-    engines: {node: ^14 || ^16 || >=18}
-    peerDependencies:
-      postcss: ^8.4
-    dependencies:
-      postcss: 8.4.32
-    dev: true
-
-  /@csstools/selector-specificity@3.0.0(postcss-selector-parser@6.0.13):
-    resolution: {integrity: sha512-hBI9tfBtuPIi885ZsZ32IMEU/5nlZH/KOVYJCOh7gyMxaVLGmLedYqFN6Ui1LXkI8JlC8IsuC0rF0btcRZKd5g==}
-    engines: {node: ^14 || ^16 || >=18}
-    peerDependencies:
-      postcss-selector-parser: ^6.0.13
-    dependencies:
-      postcss-selector-parser: 6.0.13
-    dev: true
-
-  /@lezer/common@1.1.1:
-    resolution: {integrity: sha512-aAPB9YbvZHqAW+bIwiuuTDGB4DG0sYNRObGLxud8cW7osw1ZQxfDuTZ8KQiqfZ0QJGcR34CvpTMDXEyo/+Htgg==}
-    dev: true
-
-  /@lezer/lr@1.3.14:
-    resolution: {integrity: sha512-z5mY4LStlA3yL7aHT/rqgG614cfcvklS+8oFRFBYrs4YaWLJyKKM4+nN6KopToX0o9Hj6zmH6M5kinOYuy06ug==}
-    dependencies:
-      '@lezer/common': 1.1.1
-    dev: true
-
-  /@lmdb/lmdb-darwin-arm64@2.8.5:
-    resolution: {integrity: sha512-KPDeVScZgA1oq0CiPBcOa3kHIqU+pTOwRFDIhxvmf8CTNvqdZQYp5cCKW0bUk69VygB2PuTiINFWbY78aR2pQw==}
-    cpu: [arm64]
-    os: [darwin]
-    requiresBuild: true
-    dev: true
-    optional: true
-
-  /@lmdb/lmdb-darwin-x64@2.8.5:
-    resolution: {integrity: sha512-w/sLhN4T7MW1nB3R/U8WK5BgQLz904wh+/SmA2jD8NnF7BLLoUgflCNxOeSPOWp8geP6nP/+VjWzZVip7rZ1ug==}
-    cpu: [x64]
-    os: [darwin]
-    requiresBuild: true
-    dev: true
-    optional: true
-
-  /@lmdb/lmdb-linux-arm64@2.8.5:
-    resolution: {integrity: sha512-vtbZRHH5UDlL01TT5jB576Zox3+hdyogvpcbvVJlmU5PdL3c5V7cj1EODdh1CHPksRl+cws/58ugEHi8bcj4Ww==}
-    cpu: [arm64]
-    os: [linux]
-    requiresBuild: true
-    dev: true
-    optional: true
-
-  /@lmdb/lmdb-linux-arm@2.8.5:
-    resolution: {integrity: sha512-c0TGMbm2M55pwTDIfkDLB6BpIsgxV4PjYck2HiOX+cy/JWiBXz32lYbarPqejKs9Flm7YVAKSILUducU9g2RVg==}
-    cpu: [arm]
-    os: [linux]
-    requiresBuild: true
-    dev: true
-    optional: true
-
-  /@lmdb/lmdb-linux-x64@2.8.5:
-    resolution: {integrity: sha512-Xkc8IUx9aEhP0zvgeKy7IQ3ReX2N8N1L0WPcQwnZweWmOuKfwpS3GRIYqLtK5za/w3E60zhFfNdS+3pBZPytqQ==}
-    cpu: [x64]
-    os: [linux]
-    requiresBuild: true
-    dev: true
-    optional: true
-
-  /@lmdb/lmdb-win32-x64@2.8.5:
-    resolution: {integrity: sha512-4wvrf5BgnR8RpogHhtpCPJMKBmvyZPhhUtEwMJbXh0ni2BucpfF07jlmyM11zRqQ2XIq6PbC2j7W7UCCcm1rRQ==}
-    cpu: [x64]
-    os: [win32]
-    requiresBuild: true
-    dev: true
-    optional: true
-
-  /@mischnic/json-sourcemap@0.1.1:
-    resolution: {integrity: sha512-iA7+tyVqfrATAIsIRWQG+a7ZLLD0VaOCKV2Wd/v4mqIU3J9c4jx9p7S0nw1XH3gJCKNBOOwACOPYYSUu9pgT+w==}
-    engines: {node: '>=12.0.0'}
-    dependencies:
-      '@lezer/common': 1.1.1
-      '@lezer/lr': 1.3.14
-      json5: 2.2.3
-    dev: true
-
-  /@msgpackr-extract/msgpackr-extract-darwin-arm64@3.0.2:
-    resolution: {integrity: sha512-9bfjwDxIDWmmOKusUcqdS4Rw+SETlp9Dy39Xui9BEGEk19dDwH0jhipwFzEff/pFg95NKymc6TOTbRKcWeRqyQ==}
-    cpu: [arm64]
-    os: [darwin]
-    requiresBuild: true
-    dev: true
-    optional: true
-
-  /@msgpackr-extract/msgpackr-extract-darwin-x64@3.0.2:
-    resolution: {integrity: sha512-lwriRAHm1Yg4iDf23Oxm9n/t5Zpw1lVnxYU3HnJPTi2lJRkKTrps1KVgvL6m7WvmhYVt/FIsssWay+k45QHeuw==}
-    cpu: [x64]
-    os: [darwin]
-    requiresBuild: true
-    dev: true
-    optional: true
-
-  /@msgpackr-extract/msgpackr-extract-linux-arm64@3.0.2:
-    resolution: {integrity: sha512-FU20Bo66/f7He9Fp9sP2zaJ1Q8L9uLPZQDub/WlUip78JlPeMbVL8546HbZfcW9LNciEXc8d+tThSJjSC+tmsg==}
-    cpu: [arm64]
-    os: [linux]
-    requiresBuild: true
-    dev: true
-    optional: true
-
-  /@msgpackr-extract/msgpackr-extract-linux-arm@3.0.2:
-    resolution: {integrity: sha512-MOI9Dlfrpi2Cuc7i5dXdxPbFIgbDBGgKR5F2yWEa6FVEtSWncfVNKW5AKjImAQ6CZlBK9tympdsZJ2xThBiWWA==}
-    cpu: [arm]
-    os: [linux]
-    requiresBuild: true
-    dev: true
-    optional: true
-
-  /@msgpackr-extract/msgpackr-extract-linux-x64@3.0.2:
-    resolution: {integrity: sha512-gsWNDCklNy7Ajk0vBBf9jEx04RUxuDQfBse918Ww+Qb9HCPoGzS+XJTLe96iN3BVK7grnLiYghP/M4L8VsaHeA==}
-    cpu: [x64]
-    os: [linux]
-    requiresBuild: true
-    dev: true
-    optional: true
-
-  /@msgpackr-extract/msgpackr-extract-win32-x64@3.0.2:
-    resolution: {integrity: sha512-O+6Gs8UeDbyFpbSh2CPEz/UOrrdWPTBYNblZK5CxxLisYt4kGX3Sc+czffFonyjiGSq3jWLwJS/CCJc7tBr4sQ==}
-    cpu: [x64]
-    os: [win32]
-    requiresBuild: true
-    dev: true
-    optional: true
-
-  /@parcel/bundler-default@2.10.3(@parcel/core@2.10.3):
-    resolution: {integrity: sha512-a+yq8zH8mrg6FBgUjrC+r3z6cfK7dQVMNzduEU/LF52Z4FVAmTR8gefl/YGmAbquJL3PFAHdhICrljYnQ1WQkg==}
-    engines: {node: '>= 12.0.0', parcel: ^2.10.3}
-    dependencies:
-      '@parcel/diagnostic': 2.10.3
-      '@parcel/graph': 3.0.3
-      '@parcel/plugin': 2.10.3(@parcel/core@2.10.3)
-      '@parcel/rust': 2.10.3
-      '@parcel/utils': 2.10.3
-      nullthrows: 1.1.1
-    transitivePeerDependencies:
-      - '@parcel/core'
-    dev: true
-
-  /@parcel/cache@2.10.3(@parcel/core@2.10.3):
-    resolution: {integrity: sha512-fNNOFOl4dwOlzP8iAa+evZ+3BakX0sV+3+PiYA0zaps7EmPmkTSGDhCWzaYRSO8fhmNDlrUX9Xh7b/X738LFqA==}
-    engines: {node: '>= 12.0.0'}
-    peerDependencies:
-      '@parcel/core': ^2.10.3
-    dependencies:
-      '@parcel/core': 2.10.3
-      '@parcel/fs': 2.10.3(@parcel/core@2.10.3)
-      '@parcel/logger': 2.10.3
-      '@parcel/utils': 2.10.3
-      lmdb: 2.8.5
-    dev: true
-
-  /@parcel/codeframe@2.10.3:
-    resolution: {integrity: sha512-70ovUzeXBowDMjK+1xaLT4hm3jZUK7EbaCS6tN1cmmr0S1TDhU7g37jnpni+u9de9Lc/lErwTaDVXUf9WSQzQw==}
-    engines: {node: '>= 12.0.0'}
-    dependencies:
-      chalk: 4.1.2
-    dev: true
-
-  /@parcel/compressor-raw@2.10.3(@parcel/core@2.10.3):
-    resolution: {integrity: sha512-5SUZ80uwu7o0D+0RjhjBnSUXJRgaayfqVQtBRP3U7/W/Bb1Ixm1yDGXtDlyCbzimWqWVMMJ4/eVCEW7I8Ln4Bw==}
-    engines: {node: '>= 12.0.0', parcel: ^2.10.3}
-    dependencies:
-      '@parcel/plugin': 2.10.3(@parcel/core@2.10.3)
-    transitivePeerDependencies:
-      - '@parcel/core'
-    dev: true
-
-  /@parcel/config-default@2.10.3(@parcel/core@2.10.3)(postcss@8.4.32):
-    resolution: {integrity: sha512-gHVw5cKZVA9h/J4E33qQLg3QG3cYMyWVruyVzF8dFy/Rar5ebXMof1f38IhR2BIavpoThbnCnxgD4SVK8xOPag==}
-    peerDependencies:
-      '@parcel/core': ^2.10.3
-    dependencies:
-      '@parcel/bundler-default': 2.10.3(@parcel/core@2.10.3)
-      '@parcel/compressor-raw': 2.10.3(@parcel/core@2.10.3)
-      '@parcel/core': 2.10.3
-      '@parcel/namer-default': 2.10.3(@parcel/core@2.10.3)
-      '@parcel/optimizer-css': 2.10.3(@parcel/core@2.10.3)
-      '@parcel/optimizer-htmlnano': 2.10.3(@parcel/core@2.10.3)(postcss@8.4.32)
-      '@parcel/optimizer-image': 2.10.3(@parcel/core@2.10.3)
-      '@parcel/optimizer-svgo': 2.10.3(@parcel/core@2.10.3)
-      '@parcel/optimizer-swc': 2.10.3(@parcel/core@2.10.3)
-      '@parcel/packager-css': 2.10.3(@parcel/core@2.10.3)
-      '@parcel/packager-html': 2.10.3(@parcel/core@2.10.3)
-      '@parcel/packager-js': 2.10.3(@parcel/core@2.10.3)
-      '@parcel/packager-raw': 2.10.3(@parcel/core@2.10.3)
-      '@parcel/packager-svg': 2.10.3(@parcel/core@2.10.3)
-      '@parcel/packager-wasm': 2.10.3(@parcel/core@2.10.3)
-      '@parcel/reporter-dev-server': 2.10.3(@parcel/core@2.10.3)
-      '@parcel/resolver-default': 2.10.3(@parcel/core@2.10.3)
-      '@parcel/runtime-browser-hmr': 2.10.3(@parcel/core@2.10.3)
-      '@parcel/runtime-js': 2.10.3(@parcel/core@2.10.3)
-      '@parcel/runtime-react-refresh': 2.10.3(@parcel/core@2.10.3)
-      '@parcel/runtime-service-worker': 2.10.3(@parcel/core@2.10.3)
-      '@parcel/transformer-babel': 2.10.3(@parcel/core@2.10.3)
-      '@parcel/transformer-css': 2.10.3(@parcel/core@2.10.3)
-      '@parcel/transformer-html': 2.10.3(@parcel/core@2.10.3)
-      '@parcel/transformer-image': 2.10.3(@parcel/core@2.10.3)
-      '@parcel/transformer-js': 2.10.3(@parcel/core@2.10.3)
-      '@parcel/transformer-json': 2.10.3(@parcel/core@2.10.3)
-      '@parcel/transformer-postcss': 2.10.3(@parcel/core@2.10.3)
-      '@parcel/transformer-posthtml': 2.10.3(@parcel/core@2.10.3)
-      '@parcel/transformer-raw': 2.10.3(@parcel/core@2.10.3)
-      '@parcel/transformer-react-refresh-wrap': 2.10.3(@parcel/core@2.10.3)
-      '@parcel/transformer-svg': 2.10.3(@parcel/core@2.10.3)
-    transitivePeerDependencies:
-      - '@swc/helpers'
-      - cssnano
-      - postcss
-      - purgecss
-      - relateurl
-      - srcset
-      - terser
-      - typescript
-      - uncss
-    dev: true
-
-  /@parcel/core@2.10.3:
-    resolution: {integrity: sha512-b64FdqJi4CX6iWeLZNfmwdTrC1VLPXHMuFusf1sTZTuRBFw2oRpgJvuiqsrInaZ82o3lbLMo4a9/5LtNaZKa+Q==}
-    engines: {node: '>= 12.0.0'}
-    dependencies:
-      '@mischnic/json-sourcemap': 0.1.1
-      '@parcel/cache': 2.10.3(@parcel/core@2.10.3)
-      '@parcel/diagnostic': 2.10.3
-      '@parcel/events': 2.10.3
-      '@parcel/fs': 2.10.3(@parcel/core@2.10.3)
-      '@parcel/graph': 3.0.3
-      '@parcel/logger': 2.10.3
-      '@parcel/package-manager': 2.10.3(@parcel/core@2.10.3)
-      '@parcel/plugin': 2.10.3(@parcel/core@2.10.3)
-      '@parcel/profiler': 2.10.3
-      '@parcel/rust': 2.10.3
-      '@parcel/source-map': 2.1.1
-      '@parcel/types': 2.10.3(@parcel/core@2.10.3)
-      '@parcel/utils': 2.10.3
-      '@parcel/workers': 2.10.3(@parcel/core@2.10.3)
-      abortcontroller-polyfill: 1.7.5
-      base-x: 3.0.9
-      browserslist: 4.22.1
-      clone: 2.1.2
-      dotenv: 7.0.0
-      dotenv-expand: 5.1.0
-      json5: 2.2.3
-      msgpackr: 1.10.0
-      nullthrows: 1.1.1
-      semver: 7.5.4
-    dev: true
-
-  /@parcel/diagnostic@2.10.3:
-    resolution: {integrity: sha512-Hf3xG9UVkDABDXWi89TjEP5U1CLUUj81kx/QFeupBXnzt5GEQZBhkxdBq6+4w17Mmuvk7H5uumNsSptkWq9PCA==}
-    engines: {node: '>= 12.0.0'}
-    dependencies:
-      '@mischnic/json-sourcemap': 0.1.1
-      nullthrows: 1.1.1
-    dev: true
-
-  /@parcel/events@2.10.3:
-    resolution: {integrity: sha512-I3FsZYmKzgvo1f6frUWdF7hWwpeWTshPrFqpn9ICDXs/1Hjlf32jNXLBqon9b9XUDfMw4nSRMFMzMLJpbdheGA==}
-    engines: {node: '>= 12.0.0'}
-    dev: true
-
-  /@parcel/fs@2.10.3(@parcel/core@2.10.3):
-    resolution: {integrity: sha512-0w4+Lc7B5VpwqX4GQfjnI5qN7tc9qbGPSPsf/6U2YPWU4dkGsMfPEmLBx7dZvJy3UiGxpsjMMuRHa14+jJ5QrQ==}
-    engines: {node: '>= 12.0.0'}
-    peerDependencies:
-      '@parcel/core': ^2.10.3
-    dependencies:
-      '@parcel/core': 2.10.3
-      '@parcel/rust': 2.10.3
-      '@parcel/types': 2.10.3(@parcel/core@2.10.3)
-      '@parcel/utils': 2.10.3
-      '@parcel/watcher': 2.3.0
-      '@parcel/workers': 2.10.3(@parcel/core@2.10.3)
-    dev: true
-
-  /@parcel/graph@3.0.3:
-    resolution: {integrity: sha512-zUA8KsjR2+v2Q2bFBF7zBk33ejriDiRA/+LK5QE8LrFpkaDa+gjkx76h2x7JqGXIDHNos446KX4nz2OUCVwrNQ==}
-    engines: {node: '>= 12.0.0'}
-    dependencies:
-      nullthrows: 1.1.1
-    dev: true
-
-  /@parcel/logger@2.10.3:
-    resolution: {integrity: sha512-mAVTA0NgbbwEUzkzjBqjqyBBax+8bscRaZIAsEqMiSFWGcUmRgwVlH/jy3QDkFc7OHzwvdPK+XlMLV7s/3DJNw==}
-    engines: {node: '>= 12.0.0'}
-    dependencies:
-      '@parcel/diagnostic': 2.10.3
-      '@parcel/events': 2.10.3
-    dev: true
-
-  /@parcel/markdown-ansi@2.10.3:
-    resolution: {integrity: sha512-uzN1AJmp1oYh/ZLdD9WA7xP5u/L3Bs/6AFZz5s695zus74RCx9OtQcF0Yyl1hbKVJDfuw9WFuzMfPL/9p/C5DQ==}
-    engines: {node: '>= 12.0.0'}
-    dependencies:
-      chalk: 4.1.2
-    dev: true
-
-  /@parcel/namer-default@2.10.3(@parcel/core@2.10.3):
-    resolution: {integrity: sha512-s7kgB/x7TISIHhen9IK4+CBXgmRJYahVS+oiAbMm18vcUVuXeZDBeTedOco6zUQIKuB71vx/4DBIuiIp6Q9hpg==}
-    engines: {node: '>= 12.0.0', parcel: ^2.10.3}
-    dependencies:
-      '@parcel/diagnostic': 2.10.3
-      '@parcel/plugin': 2.10.3(@parcel/core@2.10.3)
-      nullthrows: 1.1.1
-    transitivePeerDependencies:
-      - '@parcel/core'
-    dev: true
-
-  /@parcel/node-resolver-core@3.1.3(@parcel/core@2.10.3):
-    resolution: {integrity: sha512-o7XK1KiK3ymO39bhc5qfDQiZpKA1xQmKg0TEPDNiLIXHKLEBheqarhw3Nwwt9MOFibfwsisQtDTIS+2v9A640A==}
-    engines: {node: '>= 12.0.0'}
-    dependencies:
-      '@mischnic/json-sourcemap': 0.1.1
-      '@parcel/diagnostic': 2.10.3
-      '@parcel/fs': 2.10.3(@parcel/core@2.10.3)
-      '@parcel/rust': 2.10.3
-      '@parcel/utils': 2.10.3
-      nullthrows: 1.1.1
-      semver: 7.5.4
-    transitivePeerDependencies:
-      - '@parcel/core'
-    dev: true
-
-  /@parcel/optimizer-css@2.10.3(@parcel/core@2.10.3):
-    resolution: {integrity: sha512-Pc8jwV3U9w5DJDNcRQML5FlKdpPGnuCTtk1P+9FfyEUjdxoVxC+YeMIQcE961clAgl47qh7eNObXtsX/lb04Dg==}
-    engines: {node: '>= 12.0.0', parcel: ^2.10.3}
-    dependencies:
-      '@parcel/diagnostic': 2.10.3
-      '@parcel/plugin': 2.10.3(@parcel/core@2.10.3)
-      '@parcel/source-map': 2.1.1
-      '@parcel/utils': 2.10.3
-      browserslist: 4.22.1
-      lightningcss: 1.22.1
-      nullthrows: 1.1.1
-    transitivePeerDependencies:
-      - '@parcel/core'
-    dev: true
-
-  /@parcel/optimizer-htmlnano@2.10.3(@parcel/core@2.10.3)(postcss@8.4.32):
-    resolution: {integrity: sha512-KTIZOy19tYeG0j3JRv435A6jnTh3O1LPhsUfo6Xlea7Cz1yUUxAANl9MG8lHZKYbZCFFKbfk2I9QBycmcYxAAw==}
-    engines: {node: '>= 12.0.0', parcel: ^2.10.3}
-    dependencies:
-      '@parcel/plugin': 2.10.3(@parcel/core@2.10.3)
-      htmlnano: 2.1.0(postcss@8.4.32)(svgo@2.8.0)
-      nullthrows: 1.1.1
-      posthtml: 0.16.6
-      svgo: 2.8.0
-    transitivePeerDependencies:
-      - '@parcel/core'
-      - cssnano
-      - postcss
-      - purgecss
-      - relateurl
-      - srcset
-      - terser
-      - typescript
-      - uncss
-    dev: true
-
-  /@parcel/optimizer-image@2.10.3(@parcel/core@2.10.3):
-    resolution: {integrity: sha512-hbeI6+GoddJxib8MlK5iafbCm1oy3p0UL9bb8s5mjTZiHtj1PORlH8gP7mT1WlYOCgoy45QdHelcrmL9fJ8kBA==}
-    engines: {node: '>= 12.0.0', parcel: ^2.10.3}
-    peerDependencies:
-      '@parcel/core': ^2.10.3
-    dependencies:
-      '@parcel/core': 2.10.3
-      '@parcel/diagnostic': 2.10.3
-      '@parcel/plugin': 2.10.3(@parcel/core@2.10.3)
-      '@parcel/rust': 2.10.3
-      '@parcel/utils': 2.10.3
-      '@parcel/workers': 2.10.3(@parcel/core@2.10.3)
-    dev: true
-
-  /@parcel/optimizer-svgo@2.10.3(@parcel/core@2.10.3):
-    resolution: {integrity: sha512-STN7sdjz6wGnQnvy22SkQaLi5C1E+j7J0xy96T0/mCP9KoIsBDE7panCtf53p4sWCNRsXNVrXt5KrpCC+u0LHg==}
-    engines: {node: '>= 12.0.0', parcel: ^2.10.3}
-    dependencies:
-      '@parcel/diagnostic': 2.10.3
-      '@parcel/plugin': 2.10.3(@parcel/core@2.10.3)
-      '@parcel/utils': 2.10.3
-      svgo: 2.8.0
-    transitivePeerDependencies:
-      - '@parcel/core'
-    dev: true
-
-  /@parcel/optimizer-swc@2.10.3(@parcel/core@2.10.3):
-    resolution: {integrity: sha512-Cxy05CysiKbv/PtX++ETje4cbhCJySmN6EmFyQBs0jvzsUdWwqnsttavYRoMviUUK9mjm/i5q+cyewBO/8Oc5g==}
-    engines: {node: '>= 12.0.0', parcel: ^2.10.3}
-    dependencies:
-      '@parcel/diagnostic': 2.10.3
-      '@parcel/plugin': 2.10.3(@parcel/core@2.10.3)
-      '@parcel/source-map': 2.1.1
-      '@parcel/utils': 2.10.3
-      '@swc/core': 1.3.100
-      nullthrows: 1.1.1
-    transitivePeerDependencies:
-      - '@parcel/core'
-      - '@swc/helpers'
-    dev: true
-
-  /@parcel/package-manager@2.10.3(@parcel/core@2.10.3):
-    resolution: {integrity: sha512-KqOW5oUmElrcb7d+hOC68ja1PI2qbPZTwdduduRvB90DAweMt7r1046+W2Df5bd+p9iv72DxGEn9xomX+qz9MA==}
-    engines: {node: '>= 12.0.0'}
-    peerDependencies:
-      '@parcel/core': ^2.10.3
-    dependencies:
-      '@parcel/core': 2.10.3
-      '@parcel/diagnostic': 2.10.3
-      '@parcel/fs': 2.10.3(@parcel/core@2.10.3)
-      '@parcel/logger': 2.10.3
-      '@parcel/node-resolver-core': 3.1.3(@parcel/core@2.10.3)
-      '@parcel/types': 2.10.3(@parcel/core@2.10.3)
-      '@parcel/utils': 2.10.3
-      '@parcel/workers': 2.10.3(@parcel/core@2.10.3)
-      semver: 7.5.4
-    dev: true
-
-  /@parcel/packager-css@2.10.3(@parcel/core@2.10.3):
-    resolution: {integrity: sha512-Jk165fFU2XyWjN7agKy+YvvRoOJbWIb57VlVDgBHanB5ptS7aCildambrljGNTivatr+zFrchE5ZDNUFXZhYnw==}
-    engines: {node: '>= 12.0.0', parcel: ^2.10.3}
-    dependencies:
-      '@parcel/diagnostic': 2.10.3
-      '@parcel/plugin': 2.10.3(@parcel/core@2.10.3)
-      '@parcel/source-map': 2.1.1
-      '@parcel/utils': 2.10.3
-      nullthrows: 1.1.1
-    transitivePeerDependencies:
-      - '@parcel/core'
-    dev: true
-
-  /@parcel/packager-html@2.10.3(@parcel/core@2.10.3):
-    resolution: {integrity: sha512-bEI6FhBvERuoqyi/h681qGImTRBUnqNW4sKoFO67q/bxWLevXtEGMFOeqridiVOjYQH9s1kKwM/ln/UwKVazZw==}
-    engines: {node: '>= 12.0.0', parcel: ^2.10.3}
-    dependencies:
-      '@parcel/plugin': 2.10.3(@parcel/core@2.10.3)
-      '@parcel/types': 2.10.3(@parcel/core@2.10.3)
-      '@parcel/utils': 2.10.3
-      nullthrows: 1.1.1
-      posthtml: 0.16.6
-    transitivePeerDependencies:
-      - '@parcel/core'
-    dev: true
-
-  /@parcel/packager-js@2.10.3(@parcel/core@2.10.3):
-    resolution: {integrity: sha512-SjLSDw0juC7bEk/0geUtSVXaZqm2SgHL2IZaPnkoBQxVqzh2MdvAxJCrS2LxiR/cuQRfvQ5bnoJA7Kk1w2VNAg==}
-    engines: {node: '>= 12.0.0', parcel: ^2.10.3}
-    dependencies:
-      '@parcel/diagnostic': 2.10.3
-      '@parcel/plugin': 2.10.3(@parcel/core@2.10.3)
-      '@parcel/rust': 2.10.3
-      '@parcel/source-map': 2.1.1
-      '@parcel/types': 2.10.3(@parcel/core@2.10.3)
-      '@parcel/utils': 2.10.3
-      globals: 13.23.0
-      nullthrows: 1.1.1
-    transitivePeerDependencies:
-      - '@parcel/core'
-    dev: true
-
-  /@parcel/packager-raw@2.10.3(@parcel/core@2.10.3):
-    resolution: {integrity: sha512-d236tnP2ViOnUJR0+qG6EHw7MUWSA14fLKnYYzL5SRQ4BVo5XC+CM9HKN5O4YCCVu3+9Su2X1+RESo5sxbFq7w==}
-    engines: {node: '>= 12.0.0', parcel: ^2.10.3}
-    dependencies:
-      '@parcel/plugin': 2.10.3(@parcel/core@2.10.3)
-    transitivePeerDependencies:
-      - '@parcel/core'
-    dev: true
-
-  /@parcel/packager-svg@2.10.3(@parcel/core@2.10.3):
-    resolution: {integrity: sha512-Rk/GokkNs9uLwiy6Ux/xXpD8nMVhA9LN9eIbVqi8+eR42xUmICmEoUoSm+CnekkXxY2a5e3mKpL7JZbT9vOEhA==}
-    engines: {node: '>= 12.0.0', parcel: ^2.10.3}
-    dependencies:
-      '@parcel/plugin': 2.10.3(@parcel/core@2.10.3)
-      '@parcel/types': 2.10.3(@parcel/core@2.10.3)
-      '@parcel/utils': 2.10.3
-      posthtml: 0.16.6
-    transitivePeerDependencies:
-      - '@parcel/core'
-    dev: true
-
-  /@parcel/packager-wasm@2.10.3(@parcel/core@2.10.3):
-    resolution: {integrity: sha512-j6VmU84LKy+XRHgZQFoASG98P50a9tkeT3LYRrol3RGGQrvx7PT3/D6rOqbnQjR2iGnaHzYoAlgg9jIMmWXYiA==}
-    engines: {node: '>=12.0.0', parcel: ^2.10.3}
-    dependencies:
-      '@parcel/plugin': 2.10.3(@parcel/core@2.10.3)
-    transitivePeerDependencies:
-      - '@parcel/core'
-    dev: true
-
-  /@parcel/plugin@2.10.3(@parcel/core@2.10.3):
-    resolution: {integrity: sha512-FgsfGKSdtSV1EcO2NWFCZaY14W0PnEEF8vZaRCTML3vKfUbilYs/biaqf5geFOu4DwRuCC8unOTqFy7dLwcK/A==}
-    engines: {node: '>= 12.0.0'}
-    dependencies:
-      '@parcel/types': 2.10.3(@parcel/core@2.10.3)
-    transitivePeerDependencies:
-      - '@parcel/core'
-    dev: true
-
-  /@parcel/profiler@2.10.3:
-    resolution: {integrity: sha512-yikaM6/vsvjDCcBHAXTKmDsWUF3UvC0lMG8RpnuVSN+R40MGH1vyrR4vNnqhkiCcs0RkVXm7bpuz3cDJLNLYSQ==}
-    engines: {node: '>= 12.0.0'}
-    dependencies:
-      '@parcel/diagnostic': 2.10.3
-      '@parcel/events': 2.10.3
-      chrome-trace-event: 1.0.3
-    dev: true
-
-  /@parcel/reporter-cli@2.10.3(@parcel/core@2.10.3):
-    resolution: {integrity: sha512-p5xQTPRuB1K3eI3Ro90vcdxpdt0VqIgrUP/VJKtSI8I3fLLGgPBNmSZejqqLup3jFRzUttQPHYkWl/R14LHjAQ==}
-    engines: {node: '>= 12.0.0', parcel: ^2.10.3}
-    dependencies:
-      '@parcel/plugin': 2.10.3(@parcel/core@2.10.3)
-      '@parcel/types': 2.10.3(@parcel/core@2.10.3)
-      '@parcel/utils': 2.10.3
-      chalk: 4.1.2
-      term-size: 2.2.1
-    transitivePeerDependencies:
-      - '@parcel/core'
-    dev: true
-
-  /@parcel/reporter-dev-server@2.10.3(@parcel/core@2.10.3):
-    resolution: {integrity: sha512-1Kzb2TrlnOYhGwFXZYCeoO18hpVhI3pRXnN22li9ZmdpeugZ0zZJamfPV8Duj4sBvBoSajbZhiPAe/6tQgWDSA==}
-    engines: {node: '>= 12.0.0', parcel: ^2.10.3}
-    dependencies:
-      '@parcel/plugin': 2.10.3(@parcel/core@2.10.3)
-      '@parcel/utils': 2.10.3
-    transitivePeerDependencies:
-      - '@parcel/core'
-    dev: true
-
-  /@parcel/reporter-tracer@2.10.3(@parcel/core@2.10.3):
-    resolution: {integrity: sha512-53T9VPJvCi4Co0iTmNN+nqFD+Fkt3QFW8CPXBVlmlQzOtufVjDb01VsE1NPD8/J7O0jd548HJX/s5uqT0380jg==}
-    engines: {node: '>= 12.0.0', parcel: ^2.10.3}
-    dependencies:
-      '@parcel/plugin': 2.10.3(@parcel/core@2.10.3)
-      '@parcel/utils': 2.10.3
-      chrome-trace-event: 1.0.3
-      nullthrows: 1.1.1
-    transitivePeerDependencies:
-      - '@parcel/core'
-    dev: true
-
-  /@parcel/resolver-default@2.10.3(@parcel/core@2.10.3):
-    resolution: {integrity: sha512-TQc1LwpvEKyF3CnU9ifHOKV2usFLVYmMAVAkxyKKGTbnJGEqBDQ0ITqTapA6bJLvZ6d2eUT7guqd4nrBEjeZpw==}
-    engines: {node: '>= 12.0.0', parcel: ^2.10.3}
-    dependencies:
-      '@parcel/node-resolver-core': 3.1.3(@parcel/core@2.10.3)
-      '@parcel/plugin': 2.10.3(@parcel/core@2.10.3)
-    transitivePeerDependencies:
-      - '@parcel/core'
-    dev: true
-
-  /@parcel/runtime-browser-hmr@2.10.3(@parcel/core@2.10.3):
-    resolution: {integrity: sha512-+6+mlJiLL3aNVIEyXMUPbPSgljYgnbl9JNMbEXikDQpGGiXTZ7gNNKsqwYeYzgQBYwgqRfR2ir6Bznc2R7dvxg==}
-    engines: {node: '>= 12.0.0', parcel: ^2.10.3}
-    dependencies:
-      '@parcel/plugin': 2.10.3(@parcel/core@2.10.3)
-      '@parcel/utils': 2.10.3
-    transitivePeerDependencies:
-      - '@parcel/core'
-    dev: true
-
-  /@parcel/runtime-js@2.10.3(@parcel/core@2.10.3):
-    resolution: {integrity: sha512-EMLgZzBGf5ylOT5U/N2rBK5ZZxnmEM4aJsissEAxcE/2cgE8TyhSng6p3A88vVJlO/unHcwRuFGlxKCueugGsQ==}
-    engines: {node: '>= 12.0.0', parcel: ^2.10.3}
-    dependencies:
-      '@parcel/diagnostic': 2.10.3
-      '@parcel/plugin': 2.10.3(@parcel/core@2.10.3)
-      '@parcel/utils': 2.10.3
-      nullthrows: 1.1.1
-    transitivePeerDependencies:
-      - '@parcel/core'
-    dev: true
-
-  /@parcel/runtime-react-refresh@2.10.3(@parcel/core@2.10.3):
-    resolution: {integrity: sha512-l03mni8XJq3fmeAV8UYlKJ/+u0LYRuk6ZVP0VLYLwgK4O0mlRuxwaZWYUeB8r/kTsEjB3gF/9AAtUZdAC7Swow==}
-    engines: {node: '>= 12.0.0', parcel: ^2.10.3}
-    dependencies:
-      '@parcel/plugin': 2.10.3(@parcel/core@2.10.3)
-      '@parcel/utils': 2.10.3
-      react-error-overlay: 6.0.9
-      react-refresh: 0.9.0
-    transitivePeerDependencies:
-      - '@parcel/core'
-    dev: true
-
-  /@parcel/runtime-service-worker@2.10.3(@parcel/core@2.10.3):
-    resolution: {integrity: sha512-NjhS80t+O5iBgKXIQ+i07ZEh/VW8XHzanwTHmznJXEoIjLoBpELZ9r6bV/eUD3mYgM1vmW9Aijdu5xtsd0JW6A==}
-    engines: {node: '>= 12.0.0', parcel: ^2.10.3}
-    dependencies:
-      '@parcel/plugin': 2.10.3(@parcel/core@2.10.3)
-      '@parcel/utils': 2.10.3
-      nullthrows: 1.1.1
-    transitivePeerDependencies:
-      - '@parcel/core'
-    dev: true
-
-  /@parcel/rust@2.10.3:
-    resolution: {integrity: sha512-s1dD1QI/6JkWLICsFh8/iUvO7W1aj/avx+2mCSzuwEIsMywexpBf56qhVYMa3D9D50hS1h5FMk9RrSnSiPf8WA==}
-    engines: {node: '>= 12.0.0'}
-    dev: true
-
-  /@parcel/source-map@2.1.1:
-    resolution: {integrity: sha512-Ejx1P/mj+kMjQb8/y5XxDUn4reGdr+WyKYloBljpppUy8gs42T+BNoEOuRYqDVdgPc6NxduzIDoJS9pOFfV5Ew==}
-    engines: {node: ^12.18.3 || >=14}
-    dependencies:
-      detect-libc: 1.0.3
-    dev: true
-
-  /@parcel/transformer-babel@2.10.3(@parcel/core@2.10.3):
-    resolution: {integrity: sha512-SDTyDZX3WTkX7WS5Dg5cBLjWtIkUeeHezIjeOI4cw40tBjj5bXRR2TBfPsqwOnpTHr5jhNSicD6DN+XfTI2MMw==}
-    engines: {node: '>= 12.0.0', parcel: ^2.10.3}
-    dependencies:
-      '@parcel/diagnostic': 2.10.3
-      '@parcel/plugin': 2.10.3(@parcel/core@2.10.3)
-      '@parcel/source-map': 2.1.1
-      '@parcel/utils': 2.10.3
-      browserslist: 4.22.1
-      json5: 2.2.3
-      nullthrows: 1.1.1
-      semver: 7.5.4
-    transitivePeerDependencies:
-      - '@parcel/core'
-    dev: true
-
-  /@parcel/transformer-css@2.10.3(@parcel/core@2.10.3):
-    resolution: {integrity: sha512-qlPYcwVgbqFHrec6CKcTQ4hY7EkjvH40Wyqf0xjAyIoIuOPmrpSUOp+VKjeRdbyFwH/4GBjrDZMBvCUsgeM2GA==}
-    engines: {node: '>= 12.0.0', parcel: ^2.10.3}
-    dependencies:
-      '@parcel/diagnostic': 2.10.3
-      '@parcel/plugin': 2.10.3(@parcel/core@2.10.3)
-      '@parcel/source-map': 2.1.1
-      '@parcel/utils': 2.10.3
-      browserslist: 4.22.1
-      lightningcss: 1.22.1
-      nullthrows: 1.1.1
-    transitivePeerDependencies:
-      - '@parcel/core'
-    dev: true
-
-  /@parcel/transformer-html@2.10.3(@parcel/core@2.10.3):
-    resolution: {integrity: sha512-u0uklWpliEcPADtBlboxhxBvlGrP0yPRZk/A2iL0VhfAi9ONFEuJkEoesispNhAg3KiojEh0Ddzu7bYp9U0yww==}
-    engines: {node: '>= 12.0.0', parcel: ^2.10.3}
-    dependencies:
-      '@parcel/diagnostic': 2.10.3
-      '@parcel/plugin': 2.10.3(@parcel/core@2.10.3)
-      '@parcel/rust': 2.10.3
-      nullthrows: 1.1.1
-      posthtml: 0.16.6
-      posthtml-parser: 0.10.2
-      posthtml-render: 3.0.0
-      semver: 7.5.4
-      srcset: 4.0.0
-    transitivePeerDependencies:
-      - '@parcel/core'
-    dev: true
-
-  /@parcel/transformer-image@2.10.3(@parcel/core@2.10.3):
-    resolution: {integrity: sha512-At7D7eMauE+/EnlXiDfNSap2te11L0TIW55SC9iTRTI/CqesWfT96ZB/LcH3HXckYy/GJi0xyTjYxC/YjUqDog==}
-    engines: {node: '>= 12.0.0', parcel: ^2.10.3}
-    peerDependencies:
-      '@parcel/core': ^2.10.3
-    dependencies:
-      '@parcel/core': 2.10.3
-      '@parcel/plugin': 2.10.3(@parcel/core@2.10.3)
-      '@parcel/utils': 2.10.3
-      '@parcel/workers': 2.10.3(@parcel/core@2.10.3)
-      nullthrows: 1.1.1
-    dev: true
-
-  /@parcel/transformer-js@2.10.3(@parcel/core@2.10.3):
-    resolution: {integrity: sha512-9pGqrCSLlipXvL7hOrLsaW5Pq4bjFBOTiZ5k5kizk1qeuHKMIHxySGdy0E35eSsJ6JzXP0lTXPywMPysSI6owQ==}
-    engines: {node: '>= 12.0.0', parcel: ^2.10.3}
-    peerDependencies:
-      '@parcel/core': ^2.10.3
-    dependencies:
-      '@parcel/core': 2.10.3
-      '@parcel/diagnostic': 2.10.3
-      '@parcel/plugin': 2.10.3(@parcel/core@2.10.3)
-      '@parcel/rust': 2.10.3
-      '@parcel/source-map': 2.1.1
-      '@parcel/utils': 2.10.3
-      '@parcel/workers': 2.10.3(@parcel/core@2.10.3)
-      '@swc/helpers': 0.5.3
-      browserslist: 4.22.1
-      nullthrows: 1.1.1
-      regenerator-runtime: 0.13.11
-      semver: 7.5.4
-    dev: true
-
-  /@parcel/transformer-json@2.10.3(@parcel/core@2.10.3):
-    resolution: {integrity: sha512-cPhiQNgrX92VEATuxf3GCPQnlfnZW1iCsOHMT1CzgmofE7tVlW1hOOokWw21/8spG44Zax0SrRW0udi9TdmpQA==}
-    engines: {node: '>= 12.0.0', parcel: ^2.10.3}
-    dependencies:
-      '@parcel/plugin': 2.10.3(@parcel/core@2.10.3)
-      json5: 2.2.3
-    transitivePeerDependencies:
-      - '@parcel/core'
-    dev: true
-
-  /@parcel/transformer-postcss@2.10.3(@parcel/core@2.10.3):
-    resolution: {integrity: sha512-SpTZQdGQ3aVvl6+3tLlw/txUyzZSsv8t+hcfc9PM0n1rd4mfjWxVKmgNC1Y3nFoSubLMp+03GbMq16ym8t89WQ==}
-    engines: {node: '>= 12.0.0', parcel: ^2.10.3}
-    dependencies:
-      '@parcel/diagnostic': 2.10.3
-      '@parcel/plugin': 2.10.3(@parcel/core@2.10.3)
-      '@parcel/rust': 2.10.3
-      '@parcel/utils': 2.10.3
-      clone: 2.1.2
-      nullthrows: 1.1.1
-      postcss-value-parser: 4.2.0
-      semver: 7.5.4
-    transitivePeerDependencies:
-      - '@parcel/core'
-    dev: true
-
-  /@parcel/transformer-posthtml@2.10.3(@parcel/core@2.10.3):
-    resolution: {integrity: sha512-k6pz0H/W1k+i9uDNXjum7XkaFYKvSSrgEsmhoh7OriXPrLunboIzMBXFQcQSCyxCpw/kLuKFBLP38mQnYC5BbQ==}
-    engines: {node: '>= 12.0.0', parcel: ^2.10.3}
-    dependencies:
-      '@parcel/plugin': 2.10.3(@parcel/core@2.10.3)
-      '@parcel/utils': 2.10.3
-      nullthrows: 1.1.1
-      posthtml: 0.16.6
-      posthtml-parser: 0.10.2
-      posthtml-render: 3.0.0
-      semver: 7.5.4
-    transitivePeerDependencies:
-      - '@parcel/core'
-    dev: true
-
-  /@parcel/transformer-raw@2.10.3(@parcel/core@2.10.3):
-    resolution: {integrity: sha512-r//P2Hg14m/vJK/XJyq0cmcS4RTRy4bPSL4c0FxbEdDRrSm0Hcd1gdfgl0HeqSQQfcz0Xu4nCM5zAhg6FUpiXQ==}
-    engines: {node: '>= 12.0.0', parcel: ^2.10.3}
-    dependencies:
-      '@parcel/plugin': 2.10.3(@parcel/core@2.10.3)
-    transitivePeerDependencies:
-      - '@parcel/core'
-    dev: true
-
-  /@parcel/transformer-react-refresh-wrap@2.10.3(@parcel/core@2.10.3):
-    resolution: {integrity: sha512-Sc6ExGQy/YhNYFxRgEyi4SikYmV3wbATYo/VzqUjvZ4vE9YXM0sC5CyJhcoWVHmMPhm5eowOwFA6UrTsgHd2+g==}
-    engines: {node: '>= 12.0.0', parcel: ^2.10.3}
-    dependencies:
-      '@parcel/plugin': 2.10.3(@parcel/core@2.10.3)
-      '@parcel/utils': 2.10.3
-      react-refresh: 0.9.0
-    transitivePeerDependencies:
-      - '@parcel/core'
-    dev: true
-
-  /@parcel/transformer-svg@2.10.3(@parcel/core@2.10.3):
-    resolution: {integrity: sha512-fjkTdPB8y467I/yHPEaNxNxoGtRIgEqNjVkBhtE/ibhF/YfqIEpDlJyI7G5G71pt2peLMLXZnJowzHqeoEUHOQ==}
-    engines: {node: '>= 12.0.0', parcel: ^2.10.3}
-    dependencies:
-      '@parcel/diagnostic': 2.10.3
-      '@parcel/plugin': 2.10.3(@parcel/core@2.10.3)
-      '@parcel/rust': 2.10.3
-      nullthrows: 1.1.1
-      posthtml: 0.16.6
-      posthtml-parser: 0.10.2
-      posthtml-render: 3.0.0
-      semver: 7.5.4
-    transitivePeerDependencies:
-      - '@parcel/core'
-    dev: true
-
-  /@parcel/types@2.10.3(@parcel/core@2.10.3):
-    resolution: {integrity: sha512-4ISgDKcbJsR7NKj2jquPUPQWc/b2x6zHb/jZVdHVzMQxJp98DX+cvQR137iOTXUAFtwkKVjFcHWfejwGdGf9bw==}
-    dependencies:
-      '@parcel/cache': 2.10.3(@parcel/core@2.10.3)
-      '@parcel/diagnostic': 2.10.3
-      '@parcel/fs': 2.10.3(@parcel/core@2.10.3)
-      '@parcel/package-manager': 2.10.3(@parcel/core@2.10.3)
-      '@parcel/source-map': 2.1.1
-      '@parcel/workers': 2.10.3(@parcel/core@2.10.3)
-      utility-types: 3.10.0
-    transitivePeerDependencies:
-      - '@parcel/core'
-    dev: true
-
-  /@parcel/utils@2.10.3:
-    resolution: {integrity: sha512-l9pEQgq+D57t42m2sJkdU08Dpp0HVzDEwVrp/by/l37ZkYPJ2Me3oXtsJhvA+hej2kO8+FuKPm64FaUVaA2g+w==}
-    engines: {node: '>= 12.0.0'}
-    dependencies:
-      '@parcel/codeframe': 2.10.3
-      '@parcel/diagnostic': 2.10.3
-      '@parcel/logger': 2.10.3
-      '@parcel/markdown-ansi': 2.10.3
-      '@parcel/rust': 2.10.3
-      '@parcel/source-map': 2.1.1
-      chalk: 4.1.2
-      nullthrows: 1.1.1
-    dev: true
-
-  /@parcel/watcher-android-arm64@2.3.0:
-    resolution: {integrity: sha512-f4o9eA3dgk0XRT3XhB0UWpWpLnKgrh1IwNJKJ7UJek7eTYccQ8LR7XUWFKqw6aEq5KUNlCcGvSzKqSX/vtWVVA==}
-    engines: {node: '>= 10.0.0'}
-    cpu: [arm64]
-    os: [android]
-    requiresBuild: true
-    dev: true
-    optional: true
-
-  /@parcel/watcher-darwin-arm64@2.3.0:
-    resolution: {integrity: sha512-mKY+oijI4ahBMc/GygVGvEdOq0L4DxhYgwQqYAz/7yPzuGi79oXrZG52WdpGA1wLBPrYb0T8uBaGFo7I6rvSKw==}
-    engines: {node: '>= 10.0.0'}
-    cpu: [arm64]
-    os: [darwin]
-    requiresBuild: true
-    dev: true
-    optional: true
-
-  /@parcel/watcher-darwin-x64@2.3.0:
-    resolution: {integrity: sha512-20oBj8LcEOnLE3mgpy6zuOq8AplPu9NcSSSfyVKgfOhNAc4eF4ob3ldj0xWjGGbOF7Dcy1Tvm6ytvgdjlfUeow==}
-    engines: {node: '>= 10.0.0'}
-    cpu: [x64]
-    os: [darwin]
-    requiresBuild: true
-    dev: true
-    optional: true
-
-  /@parcel/watcher-freebsd-x64@2.3.0:
-    resolution: {integrity: sha512-7LftKlaHunueAEiojhCn+Ef2CTXWsLgTl4hq0pkhkTBFI3ssj2bJXmH2L67mKpiAD5dz66JYk4zS66qzdnIOgw==}
-    engines: {node: '>= 10.0.0'}
-    cpu: [x64]
-    os: [freebsd]
-    requiresBuild: true
-    dev: true
-    optional: true
-
-  /@parcel/watcher-linux-arm-glibc@2.3.0:
-    resolution: {integrity: sha512-1apPw5cD2xBv1XIHPUlq0cO6iAaEUQ3BcY0ysSyD9Kuyw4MoWm1DV+W9mneWI+1g6OeP6dhikiFE6BlU+AToTQ==}
-    engines: {node: '>= 10.0.0'}
-    cpu: [arm]
-    os: [linux]
-    requiresBuild: true
-    dev: true
-    optional: true
-
-  /@parcel/watcher-linux-arm64-glibc@2.3.0:
-    resolution: {integrity: sha512-mQ0gBSQEiq1k/MMkgcSB0Ic47UORZBmWoAWlMrTW6nbAGoLZP+h7AtUM7H3oDu34TBFFvjy4JCGP43JlylkTQA==}
-    engines: {node: '>= 10.0.0'}
-    cpu: [arm64]
-    os: [linux]
-    requiresBuild: true
-    dev: true
-    optional: true
-
-  /@parcel/watcher-linux-arm64-musl@2.3.0:
-    resolution: {integrity: sha512-LXZAExpepJew0Gp8ZkJ+xDZaTQjLHv48h0p0Vw2VMFQ8A+RKrAvpFuPVCVwKJCr5SE+zvaG+Etg56qXvTDIedw==}
-    engines: {node: '>= 10.0.0'}
-    cpu: [arm64]
-    os: [linux]
-    requiresBuild: true
-    dev: true
-    optional: true
-
-  /@parcel/watcher-linux-x64-glibc@2.3.0:
-    resolution: {integrity: sha512-P7Wo91lKSeSgMTtG7CnBS6WrA5otr1K7shhSjKHNePVmfBHDoAOHYRXgUmhiNfbcGk0uMCHVcdbfxtuiZCHVow==}
-    engines: {node: '>= 10.0.0'}
-    cpu: [x64]
-    os: [linux]
-    requiresBuild: true
-    dev: true
-    optional: true
-
-  /@parcel/watcher-linux-x64-musl@2.3.0:
-    resolution: {integrity: sha512-+kiRE1JIq8QdxzwoYY+wzBs9YbJ34guBweTK8nlzLKimn5EQ2b2FSC+tAOpq302BuIMjyuUGvBiUhEcLIGMQ5g==}
-    engines: {node: '>= 10.0.0'}
-    cpu: [x64]
-    os: [linux]
-    requiresBuild: true
-    dev: true
-    optional: true
-
-  /@parcel/watcher-win32-arm64@2.3.0:
-    resolution: {integrity: sha512-35gXCnaz1AqIXpG42evcoP2+sNL62gZTMZne3IackM+6QlfMcJLy3DrjuL6Iks7Czpd3j4xRBzez3ADCj1l7Aw==}
-    engines: {node: '>= 10.0.0'}
-    cpu: [arm64]
-    os: [win32]
-    requiresBuild: true
-    dev: true
-    optional: true
-
-  /@parcel/watcher-win32-ia32@2.3.0:
-    resolution: {integrity: sha512-FJS/IBQHhRpZ6PiCjFt1UAcPr0YmCLHRbTc00IBTrelEjlmmgIVLeOx4MSXzx2HFEy5Jo5YdhGpxCuqCyDJ5ow==}
-    engines: {node: '>= 10.0.0'}
-    cpu: [ia32]
-    os: [win32]
-    requiresBuild: true
-    dev: true
-    optional: true
-
-  /@parcel/watcher-win32-x64@2.3.0:
-    resolution: {integrity: sha512-dLx+0XRdMnVI62kU3wbXvbIRhLck4aE28bIGKbRGS7BJNt54IIj9+c/Dkqb+7DJEbHUZAX1bwaoM8PqVlHJmCA==}
-    engines: {node: '>= 10.0.0'}
-    cpu: [x64]
-    os: [win32]
-    requiresBuild: true
-    dev: true
-    optional: true
-
-  /@parcel/watcher@2.3.0:
-    resolution: {integrity: sha512-pW7QaFiL11O0BphO+bq3MgqeX/INAk9jgBldVDYjlQPO4VddoZnF22TcF9onMhnLVHuNqBJeRf+Fj7eezi/+rQ==}
-    engines: {node: '>= 10.0.0'}
-    dependencies:
-      detect-libc: 1.0.3
-      is-glob: 4.0.3
-      micromatch: 4.0.5
-      node-addon-api: 7.0.0
-    optionalDependencies:
-      '@parcel/watcher-android-arm64': 2.3.0
-      '@parcel/watcher-darwin-arm64': 2.3.0
-      '@parcel/watcher-darwin-x64': 2.3.0
-      '@parcel/watcher-freebsd-x64': 2.3.0
-      '@parcel/watcher-linux-arm-glibc': 2.3.0
-      '@parcel/watcher-linux-arm64-glibc': 2.3.0
-      '@parcel/watcher-linux-arm64-musl': 2.3.0
-      '@parcel/watcher-linux-x64-glibc': 2.3.0
-      '@parcel/watcher-linux-x64-musl': 2.3.0
-      '@parcel/watcher-win32-arm64': 2.3.0
-      '@parcel/watcher-win32-ia32': 2.3.0
-      '@parcel/watcher-win32-x64': 2.3.0
-    dev: true
-
-  /@parcel/workers@2.10.3(@parcel/core@2.10.3):
-    resolution: {integrity: sha512-qlN8G3VybPHVIbD6fsZr2gmrXG2UlROUQIPW/kkAvjQ29uRfFn7YEC8CHTICt8M1HhCNkr0cMXkuXQBi0l3kAg==}
-    engines: {node: '>= 12.0.0'}
-    peerDependencies:
-      '@parcel/core': ^2.10.3
-    dependencies:
-      '@parcel/core': 2.10.3
-      '@parcel/diagnostic': 2.10.3
-      '@parcel/logger': 2.10.3
-      '@parcel/profiler': 2.10.3
-      '@parcel/types': 2.10.3(@parcel/core@2.10.3)
-      '@parcel/utils': 2.10.3
-      nullthrows: 1.1.1
-    dev: true
-
-  /@swc/core-darwin-arm64@1.3.100:
-    resolution: {integrity: sha512-XVWFsKe6ei+SsDbwmsuRkYck1SXRpO60Hioa4hoLwR8fxbA9eVp6enZtMxzVVMBi8ej5seZ4HZQeAWepbukiBw==}
-    engines: {node: '>=10'}
-    cpu: [arm64]
-    os: [darwin]
-    requiresBuild: true
-    dev: true
-    optional: true
-
-  /@swc/core-darwin-x64@1.3.100:
-    resolution: {integrity: sha512-KF/MXrnH1nakm1wbt4XV8FS7kvqD9TGmVxeJ0U4bbvxXMvzeYUurzg3AJUTXYmXDhH/VXOYJE5N5RkwZZPs5iA==}
-    engines: {node: '>=10'}
-    cpu: [x64]
-    os: [darwin]
-    requiresBuild: true
-    dev: true
-    optional: true
-
-  /@swc/core-linux-arm64-gnu@1.3.100:
-    resolution: {integrity: sha512-p8hikNnAEJrw5vHCtKiFT4hdlQxk1V7vqPmvUDgL/qe2menQDK/i12tbz7/3BEQ4UqUPnvwpmVn2d19RdEMNxw==}
-    engines: {node: '>=10'}
-    cpu: [arm64]
-    os: [linux]
-    requiresBuild: true
-    dev: true
-    optional: true
-
-  /@swc/core-linux-arm64-musl@1.3.100:
-    resolution: {integrity: sha512-BWx/0EeY89WC4q3AaIaBSGfQxkYxIlS3mX19dwy2FWJs/O+fMvF9oLk/CyJPOZzbp+1DjGeeoGFuDYpiNO91JA==}
-    engines: {node: '>=10'}
-    cpu: [arm64]
-    os: [linux]
-    requiresBuild: true
-    dev: true
-    optional: true
-
-  /@swc/core-linux-x64-gnu@1.3.100:
-    resolution: {integrity: sha512-XUdGu3dxAkjsahLYnm8WijPfKebo+jHgHphDxaW0ovI6sTdmEGFDew7QzKZRlbYL2jRkUuuKuDGvD6lO5frmhA==}
-    engines: {node: '>=10'}
-    cpu: [x64]
-    os: [linux]
-    requiresBuild: true
-    dev: true
-    optional: true
-
-  /@swc/core-linux-x64-musl@1.3.100:
-    resolution: {integrity: sha512-PhoXKf+f0OaNW/GCuXjJ0/KfK9EJX7z2gko+7nVnEA0p3aaPtbP6cq1Ubbl6CMoPL+Ci3gZ7nYumDqXNc3CtLQ==}
-    engines: {node: '>=10'}
-    cpu: [x64]
-    os: [linux]
-    requiresBuild: true
-    dev: true
-    optional: true
-
-  /@swc/core-win32-arm64-msvc@1.3.100:
-    resolution: {integrity: sha512-PwLADZN6F9cXn4Jw52FeP/MCLVHm8vwouZZSOoOScDtihjY495SSjdPnlosMaRSR4wJQssGwiD/4MbpgQPqbAw==}
-    engines: {node: '>=10'}
-    cpu: [arm64]
-    os: [win32]
-    requiresBuild: true
-    dev: true
-    optional: true
-
-  /@swc/core-win32-ia32-msvc@1.3.100:
-    resolution: {integrity: sha512-0f6nicKSLlDKlyPRl2JEmkpBV4aeDfRQg6n8mPqgL7bliZIcDahG0ej+HxgNjZfS3e0yjDxsNRa6sAqWU2Z60A==}
-    engines: {node: '>=10'}
-    cpu: [ia32]
-    os: [win32]
-    requiresBuild: true
-    dev: true
-    optional: true
-
-  /@swc/core-win32-x64-msvc@1.3.100:
-    resolution: {integrity: sha512-b7J0rPoMkRTa3XyUGt8PwCaIBuYWsL2DqbirrQKRESzgCvif5iNpqaM6kjIjI/5y5q1Ycv564CB51YDpiS8EtQ==}
-    engines: {node: '>=10'}
-    cpu: [x64]
-    os: [win32]
-    requiresBuild: true
-    dev: true
-    optional: true
-
-  /@swc/core@1.3.100:
-    resolution: {integrity: sha512-7dKgTyxJjlrMwFZYb1auj3Xq0D8ZBe+5oeIgfMlRU05doXZypYJe0LAk0yjj3WdbwYzpF+T1PLxwTWizI0pckw==}
-    engines: {node: '>=10'}
-    requiresBuild: true
-    peerDependencies:
-      '@swc/helpers': ^0.5.0
-    peerDependenciesMeta:
-      '@swc/helpers':
-        optional: true
-    dependencies:
-      '@swc/counter': 0.1.2
-      '@swc/types': 0.1.5
-    optionalDependencies:
-      '@swc/core-darwin-arm64': 1.3.100
-      '@swc/core-darwin-x64': 1.3.100
-      '@swc/core-linux-arm64-gnu': 1.3.100
-      '@swc/core-linux-arm64-musl': 1.3.100
-      '@swc/core-linux-x64-gnu': 1.3.100
-      '@swc/core-linux-x64-musl': 1.3.100
-      '@swc/core-win32-arm64-msvc': 1.3.100
-      '@swc/core-win32-ia32-msvc': 1.3.100
-      '@swc/core-win32-x64-msvc': 1.3.100
-    dev: true
-
-  /@swc/counter@0.1.2:
-    resolution: {integrity: sha512-9F4ys4C74eSTEUNndnER3VJ15oru2NumfQxS8geE+f3eB5xvfxpWyqE5XlVnxb/R14uoXi6SLbBwwiDSkv+XEw==}
-    dev: true
-
-  /@swc/helpers@0.5.3:
-    resolution: {integrity: sha512-FaruWX6KdudYloq1AHD/4nU+UsMTdNE8CKyrseXWEcgjDAbvkwJg2QGPAnfIJLIWsjZOSPLOAykK6fuYp4vp4A==}
-    dependencies:
-      tslib: 2.6.2
-    dev: true
-
-  /@swc/types@0.1.5:
-    resolution: {integrity: sha512-myfUej5naTBWnqOCc/MdVOLVjXUXtIA+NpDrDBKJtLLg2shUjBu3cZmB/85RyitKc55+lUUyl7oRfLOvkr2hsw==}
-    dev: true
-
-  /@trysound/sax@0.2.0:
-    resolution: {integrity: sha512-L7z9BgrNEcYyUYtF+HaEfiS5ebkh9jXqbszz7pC0hRBPaatV0XjSD3+eHrpqFemQfgwiFF0QPIarnIihIDn7OA==}
-    engines: {node: '>=10.13.0'}
-    dev: true
-
-  /abortcontroller-polyfill@1.7.5:
-    resolution: {integrity: sha512-JMJ5soJWP18htbbxJjG7bG6yuI6pRhgJ0scHHTfkUjf6wjP912xZWvM+A4sJK3gqd9E8fcPbDnOefbA9Th/FIQ==}
-    dev: true
-
-  /ansi-styles@3.2.1:
-    resolution: {integrity: sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==}
-    engines: {node: '>=4'}
-    dependencies:
-      color-convert: 1.9.3
-    dev: true
-
-  /ansi-styles@4.3.0:
-    resolution: {integrity: sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==}
-    engines: {node: '>=8'}
-    dependencies:
-      color-convert: 2.0.1
-    dev: true
-
-  /argparse@2.0.1:
-    resolution: {integrity: sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q==}
-    dev: true
-
-  /autoprefixer@10.4.16(postcss@8.4.32):
-    resolution: {integrity: sha512-7vd3UC6xKp0HLfua5IjZlcXvGAGy7cBAXTg2lyQ/8WpNhd6SiZ8Be+xm3FyBSYJx5GKcpRCzBh7RH4/0dnY+uQ==}
-    engines: {node: ^10 || ^12 || >=14}
-    hasBin: true
-    peerDependencies:
-      postcss: ^8.1.0
-    dependencies:
-      browserslist: 4.22.1
-      caniuse-lite: 1.0.30001565
-      fraction.js: 4.3.7
-      normalize-range: 0.1.2
-      picocolors: 1.0.0
-      postcss: 8.4.32
-      postcss-value-parser: 4.2.0
-    dev: true
-
-  /balanced-match@1.0.2:
-    resolution: {integrity: sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==}
-    dev: true
-
-  /base-x@3.0.9:
-    resolution: {integrity: sha512-H7JU6iBHTal1gp56aKoaa//YUxEaAOUiydvrV/pILqIHXTtqxSkATOnDA2u+jZ/61sD+L/412+7kzXRtWukhpQ==}
-    dependencies:
-      safe-buffer: 5.2.1
-    dev: true
-
-  /boolbase@1.0.0:
-    resolution: {integrity: sha512-JZOSA7Mo9sNGB8+UjSgzdLtokWAky1zbztM3WRLCbZ70/3cTANmQmOdR7y2g+J0e2WXywy1yS468tY+IruqEww==}
-    dev: true
-
-  /brace-expansion@1.1.11:
-    resolution: {integrity: sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==}
-    dependencies:
-      balanced-match: 1.0.2
-      concat-map: 0.0.1
-    dev: true
-
-  /braces@3.0.2:
-    resolution: {integrity: sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A==}
-    engines: {node: '>=8'}
-    dependencies:
-      fill-range: 7.0.1
-    dev: true
-
-  /browserslist@4.22.1:
-    resolution: {integrity: sha512-FEVc202+2iuClEhZhrWy6ZiAcRLvNMyYcxZ8raemul1DYVOVdFsbqckWLdsixQZCpJlwe77Z3UTalE7jsjnKfQ==}
-    engines: {node: ^6 || ^7 || ^8 || ^9 || ^10 || ^11 || ^12 || >=13.7}
-    hasBin: true
-    dependencies:
-      caniuse-lite: 1.0.30001565
-      electron-to-chromium: 1.4.601
-      node-releases: 2.0.14
-      update-browserslist-db: 1.0.13(browserslist@4.22.1)
-    dev: true
-
-  /callsites@3.1.0:
-    resolution: {integrity: sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ==}
-    engines: {node: '>=6'}
-    dev: true
-
-  /caniuse-lite@1.0.30001565:
-    resolution: {integrity: sha512-xrE//a3O7TP0vaJ8ikzkD2c2NgcVUvsEe2IvFTntV4Yd1Z9FVzh+gW+enX96L0psrbaFMcVcH2l90xNuGDWc8w==}
-    dev: true
-
-  /chalk@2.4.2:
-    resolution: {integrity: sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==}
-    engines: {node: '>=4'}
-    dependencies:
-      ansi-styles: 3.2.1
-      escape-string-regexp: 1.0.5
-      supports-color: 5.5.0
-    dev: true
-
-  /chalk@4.1.2:
-    resolution: {integrity: sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==}
-    engines: {node: '>=10'}
-    dependencies:
-      ansi-styles: 4.3.0
-      supports-color: 7.2.0
-    dev: true
-
-  /chrome-trace-event@1.0.3:
-    resolution: {integrity: sha512-p3KULyQg4S7NIHixdwbGX+nFHkoBiA4YQmyWtjb8XngSKV124nJmRysgAeujbUVb15vh+RvFUfCPqU7rXk+hZg==}
-    engines: {node: '>=6.0'}
-    dev: true
-
-  /clone@2.1.2:
-    resolution: {integrity: sha512-3Pe/CF1Nn94hyhIYpjtiLhdCoEoz0DqQ+988E9gmeEdQZlojxnOb74wctFyuwWQHzqyf9X7C7MG8juUpqBJT8w==}
-    engines: {node: '>=0.8'}
-    dev: true
-
-  /color-convert@1.9.3:
-    resolution: {integrity: sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==}
-    dependencies:
-      color-name: 1.1.3
-    dev: true
-
-  /color-convert@2.0.1:
-    resolution: {integrity: sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==}
-    engines: {node: '>=7.0.0'}
-    dependencies:
-      color-name: 1.1.4
-    dev: true
-
-  /color-name@1.1.3:
-    resolution: {integrity: sha512-72fSenhMw2HZMTVHeCA9KCmpEIbzWiQsjN+BHcBbS9vr1mtt+vJjPdksIBNUmKAW8TFUDPJK5SUU3QhE9NEXDw==}
-    dev: true
-
-  /color-name@1.1.4:
-    resolution: {integrity: sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==}
-    dev: true
-
-  /commander@7.2.0:
-    resolution: {integrity: sha512-QrWXB+ZQSVPmIWIhtEO9H+gwHaMGYiF5ChvoJ+K9ZGHG/sVsa6yiesAD1GC/x46sET00Xlwo1u49RVVVzvcSkw==}
-    engines: {node: '>= 10'}
-    dev: true
-
-  /concat-map@0.0.1:
-    resolution: {integrity: sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg==}
-    dev: true
-
-  /cosmiconfig@8.3.6:
-    resolution: {integrity: sha512-kcZ6+W5QzcJ3P1Mt+83OUv/oHFqZHIx8DuxG6eZ5RGMERoLqp4BuGjhHLYGK+Kf5XVkQvqBSmAy/nGWN3qDgEA==}
-    engines: {node: '>=14'}
-    peerDependencies:
-      typescript: '>=4.9.5'
-    peerDependenciesMeta:
-      typescript:
-        optional: true
-    dependencies:
-      import-fresh: 3.3.0
-      js-yaml: 4.1.0
-      parse-json: 5.2.0
-      path-type: 4.0.0
-    dev: true
-
-  /css-blank-pseudo@6.0.0(postcss@8.4.32):
-    resolution: {integrity: sha512-VbfLlOWO7sBHBTn6pwDQzc07Z0SDydgDBfNfCE0nvrehdBNv9RKsuupIRa/qal0+fBZhAALyQDPMKz5lnvcchw==}
-    engines: {node: ^14 || ^16 || >=18}
-    peerDependencies:
-      postcss: ^8.4
-    dependencies:
-      postcss: 8.4.32
-      postcss-selector-parser: 6.0.13
-    dev: true
-
-  /css-has-pseudo@6.0.0(postcss@8.4.32):
-    resolution: {integrity: sha512-X+r+JBuoO37FBOWVNhVJhxtSBUFHgHbrcc0CjFT28JEdOw1qaDwABv/uunyodUuSy2hMPe9j/HjssxSlvUmKjg==}
-    engines: {node: ^14 || ^16 || >=18}
-    peerDependencies:
-      postcss: ^8.4
-    dependencies:
-      '@csstools/selector-specificity': 3.0.0(postcss-selector-parser@6.0.13)
-      postcss: 8.4.32
-      postcss-selector-parser: 6.0.13
-      postcss-value-parser: 4.2.0
-    dev: true
-
-  /css-prefers-color-scheme@9.0.0(postcss@8.4.32):
-    resolution: {integrity: sha512-03QGAk/FXIRseDdLb7XAiu6gidQ0Nd8945xuM7VFVPpc6goJsG9uIO8xQjTxwbPdPIIV4o4AJoOJyt8gwDl67g==}
-    engines: {node: ^14 || ^16 || >=18}
-    peerDependencies:
-      postcss: ^8.4
-    dependencies:
-      postcss: 8.4.32
-    dev: true
-
-  /css-select@4.3.0:
-    resolution: {integrity: sha512-wPpOYtnsVontu2mODhA19JrqWxNsfdatRKd64kmpRbQgh1KtItko5sTnEpPdpSaJszTOhEMlF/RPz28qj4HqhQ==}
-    dependencies:
-      boolbase: 1.0.0
-      css-what: 6.1.0
-      domhandler: 4.3.1
-      domutils: 2.8.0
-      nth-check: 2.1.1
-    dev: true
-
-  /css-tree@1.1.3:
-    resolution: {integrity: sha512-tRpdppF7TRazZrjJ6v3stzv93qxRcSsFmW6cX0Zm2NVKpxE1WV1HblnghVv9TreireHkqI/VDEsfolRF1p6y7Q==}
-    engines: {node: '>=8.0.0'}
-    dependencies:
-      mdn-data: 2.0.14
-      source-map: 0.6.1
-    dev: true
-
-  /css-what@6.1.0:
-    resolution: {integrity: sha512-HTUrgRJ7r4dsZKU6GjmpfRK1O76h97Z8MfS1G0FozR+oF2kG6Vfe8JE6zwrkbxigziPHinCJ+gCPjA9EaBDtRw==}
-    engines: {node: '>= 6'}
-    dev: true
-
-  /cssdb@7.9.0:
-    resolution: {integrity: sha512-WPMT9seTQq6fPAa1yN4zjgZZeoTriSN2LqW9C+otjar12DQIWA4LuSfFrvFJiKp4oD0xIk1vumDLw8K9ur4NBw==}
-    dev: true
-
-  /cssesc@3.0.0:
-    resolution: {integrity: sha512-/Tb/JcjK111nNScGob5MNtsntNM1aCNUDipB/TkwZFhyDrrE47SOx/18wF2bbjgc3ZzCSKW1T5nt5EbFoAz/Vg==}
-    engines: {node: '>=4'}
-    hasBin: true
-    dev: true
-
-  /csso@4.2.0:
-    resolution: {integrity: sha512-wvlcdIbf6pwKEk7vHj8/Bkc0B4ylXZruLvOgs9doS5eOsOpuodOV2zJChSpkp+pRpYQLQMeF04nr3Z68Sta9jA==}
-    engines: {node: '>=8.0.0'}
-    dependencies:
-      css-tree: 1.1.3
-    dev: true
-
-  /cuint@0.2.2:
-    resolution: {integrity: sha512-d4ZVpCW31eWwCMe1YT3ur7mUDnTXbgwyzaL320DrcRT45rfjYxkt5QWLrmOJ+/UEAI2+fQgKe/fCjR8l4TpRgw==}
-    dev: true
-
-  /detect-libc@1.0.3:
-    resolution: {integrity: sha512-pGjwhsmsp4kL2RTz08wcOlGN83otlqHeD/Z5T8GXZB+/YcpQ/dgo+lbU8ZsGxV0HIvqqxo9l7mqYwyYMD9bKDg==}
-    engines: {node: '>=0.10'}
-    hasBin: true
-    dev: true
-
-  /detect-libc@2.0.2:
-    resolution: {integrity: sha512-UX6sGumvvqSaXgdKGUsgZWqcUyIXZ/vZTrlRT/iobiKhGL0zL4d3osHj3uqllWJK+i+sixDS/3COVEOFbupFyw==}
-    engines: {node: '>=8'}
-    dev: true
-
-  /dom-serializer@1.4.1:
-    resolution: {integrity: sha512-VHwB3KfrcOOkelEG2ZOfxqLZdfkil8PtJi4P8N2MMXucZq2yLp75ClViUlOVwyoHEDjYU433Aq+5zWP61+RGag==}
-    dependencies:
-      domelementtype: 2.3.0
-      domhandler: 4.3.1
-      entities: 2.2.0
-    dev: true
-
-  /domelementtype@2.3.0:
-    resolution: {integrity: sha512-OLETBj6w0OsagBwdXnPdN0cnMfF9opN69co+7ZrbfPGrdpPVNBUj02spi6B1N7wChLQiPn4CSH/zJvXw56gmHw==}
-    dev: true
-
-  /domhandler@4.3.1:
-    resolution: {integrity: sha512-GrwoxYN+uWlzO8uhUXRl0P+kHE4GtVPfYzVLcUxPL7KNdHKj66vvlhiweIHqYYXWlw+T8iLMp42Lm67ghw4WMQ==}
-    engines: {node: '>= 4'}
-    dependencies:
-      domelementtype: 2.3.0
-    dev: true
-
-  /domutils@2.8.0:
-    resolution: {integrity: sha512-w96Cjofp72M5IIhpjgobBimYEfoPjx1Vx0BSX9P30WBdZW2WIKU0T1Bd0kz2eNZ9ikjKgHbEyKx8BB6H1L3h3A==}
-    dependencies:
-      dom-serializer: 1.4.1
-      domelementtype: 2.3.0
-      domhandler: 4.3.1
-    dev: true
-
-  /dotenv-expand@5.1.0:
-    resolution: {integrity: sha512-YXQl1DSa4/PQyRfgrv6aoNjhasp/p4qs9FjJ4q4cQk+8m4r6k4ZSiEyytKG8f8W9gi8WsQtIObNmKd+tMzNTmA==}
-    dev: true
-
-  /dotenv@7.0.0:
-    resolution: {integrity: sha512-M3NhsLbV1i6HuGzBUH8vXrtxOk+tWmzWKDMbAVSUp3Zsjm7ywFeuwrUXhmhQyRK1q5B5GGy7hcXPbj3bnfZg2g==}
-    engines: {node: '>=6'}
-    dev: true
-
-  /electron-to-chromium@1.4.601:
-    resolution: {integrity: sha512-SpwUMDWe9tQu8JX5QCO1+p/hChAi9AE9UpoC3rcHVc+gdCGlbT3SGb5I1klgb952HRIyvt9wZhSz9bNBYz9swA==}
-    dev: true
-
-  /entities@2.2.0:
-    resolution: {integrity: sha512-p92if5Nz619I0w+akJrLZH0MX0Pb5DX39XOwQTtXSdQQOaYH03S1uIQp4mhOZtAXrxq4ViO67YTiLBo2638o9A==}
-    dev: true
-
-  /entities@3.0.1:
-    resolution: {integrity: sha512-WiyBqoomrwMdFG1e0kqvASYfnlb0lp8M5o5Fw2OFq1hNZxxcNk8Ik0Xm7LxzBhuidnZB/UtBqVCgUz3kBOP51Q==}
-    engines: {node: '>=0.12'}
-    dev: true
-
-  /error-ex@1.3.2:
-    resolution: {integrity: sha512-7dFHNmqeFSEt2ZBsCriorKnn3Z2pj+fd9kmI6QoWw4//DL+icEBfc0U7qJCisqrTsKTjw4fNFy2pW9OqStD84g==}
-    dependencies:
-      is-arrayish: 0.2.1
-    dev: true
-
-  /escalade@3.1.1:
-    resolution: {integrity: sha512-k0er2gUkLf8O0zKJiAhmkTnJlTvINGv7ygDNPbeIsX/TJjGJZHuh9B2UxbsaEkmlEo9MfhrSzmhIlhRlI2GXnw==}
-    engines: {node: '>=6'}
-    dev: true
-
-  /escape-string-regexp@1.0.5:
-    resolution: {integrity: sha512-vbRorB5FUQWvla16U8R/qgaFIya2qGzwDrNmCZuYKrbdSUMG6I1ZCGQRefkRVhuOkIGVne7BQ35DSfo1qvJqFg==}
-    engines: {node: '>=0.8.0'}
-    dev: true
-
-  /fill-range@7.0.1:
-    resolution: {integrity: sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ==}
-    engines: {node: '>=8'}
-    dependencies:
-      to-regex-range: 5.0.1
-    dev: true
-
-  /fraction.js@4.3.7:
-    resolution: {integrity: sha512-ZsDfxO51wGAXREY55a7la9LScWpwv9RxIrYABrlvOFBlH/ShPnrtsXeuUIfXKKOVicNxQ+o8JTbJvjS4M89yew==}
-    dev: true
-
-  /function-bind@1.1.2:
-    resolution: {integrity: sha512-7XHNxH7qX9xG5mIwxkhumTox/MIRNcOgDrxWsMt2pAr23WHp6MrRlN7FBSFpCpr+oVO0F744iUgR82nJMfG2SA==}
-    dev: true
-
-  /get-port@4.2.0:
-    resolution: {integrity: sha512-/b3jarXkH8KJoOMQc3uVGHASwGLPq3gSFJ7tgJm2diza+bydJPTGOibin2steecKeOylE8oY2JERlVWkAJO6yw==}
-    engines: {node: '>=6'}
-    dev: true
-
-  /globals@13.23.0:
-    resolution: {integrity: sha512-XAmF0RjlrjY23MA51q3HltdlGxUpXPvg0GioKiD9X6HD28iMjo2dKC8Vqwm7lne4GNr78+RHTfliktR6ZH09wA==}
-    engines: {node: '>=8'}
-    dependencies:
-      type-fest: 0.20.2
-    dev: true
-
-  /has-flag@3.0.0:
-    resolution: {integrity: sha512-sKJf1+ceQBr4SMkvQnBDNDtf4TXpVhVGateu0t918bl30FnbE2m4vNLX+VWe/dpjlb+HugGYzW7uQXH98HPEYw==}
-    engines: {node: '>=4'}
-    dev: true
-
-  /has-flag@4.0.0:
-    resolution: {integrity: sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==}
-    engines: {node: '>=8'}
-    dev: true
-
-  /hasown@2.0.0:
-    resolution: {integrity: sha512-vUptKVTpIJhcczKBbgnS+RtcuYMB8+oNzPK2/Hp3hanz8JmpATdmmgLgSaadVREkDm+e2giHwY3ZRkyjSIDDFA==}
-    engines: {node: '>= 0.4'}
-    dependencies:
-      function-bind: 1.1.2
-    dev: true
-
-  /htmlnano@2.1.0(postcss@8.4.32)(svgo@2.8.0):
-    resolution: {integrity: sha512-jVGRE0Ep9byMBKEu0Vxgl8dhXYOUk0iNQ2pjsG+BcRB0u0oDF5A9p/iBGMg/PGKYUyMD0OAGu8dVT5Lzj8S58g==}
-    peerDependencies:
-      cssnano: ^6.0.0
-      postcss: ^8.3.11
-      purgecss: ^5.0.0
-      relateurl: ^0.2.7
-      srcset: 4.0.0
-      svgo: ^3.0.2
-      terser: ^5.10.0
-      uncss: ^0.17.3
-    peerDependenciesMeta:
-      cssnano:
-        optional: true
-      postcss:
-        optional: true
-      purgecss:
-        optional: true
-      relateurl:
-        optional: true
-      srcset:
-        optional: true
-      svgo:
-        optional: true
-      terser:
-        optional: true
-      uncss:
-        optional: true
-    dependencies:
-      cosmiconfig: 8.3.6
-      postcss: 8.4.32
-      posthtml: 0.16.6
-      svgo: 2.8.0
-      timsort: 0.3.0
-    transitivePeerDependencies:
-      - typescript
-    dev: true
-
-  /htmlparser2@7.2.0:
-    resolution: {integrity: sha512-H7MImA4MS6cw7nbyURtLPO1Tms7C5H602LRETv95z1MxO/7CP7rDVROehUYeYBUYEON94NXXDEPmZuq+hX4sog==}
-    dependencies:
-      domelementtype: 2.3.0
-      domhandler: 4.3.1
-      domutils: 2.8.0
-      entities: 3.0.1
-    dev: true
-
-  /import-fresh@3.3.0:
-    resolution: {integrity: sha512-veYYhQa+D1QBKznvhUHxb8faxlrwUnxseDAbAp457E0wLNio2bOSKnjYDhMj+YiAq61xrMGhQk9iXVk5FzgQMw==}
-    engines: {node: '>=6'}
-    dependencies:
-      parent-module: 1.0.1
-      resolve-from: 4.0.0
-    dev: true
-
-  /is-arrayish@0.2.1:
-    resolution: {integrity: sha512-zz06S8t0ozoDXMG+ube26zeCTNXcKIPJZJi8hBrF4idCLms4CG9QtK7qBl1boi5ODzFpjswb5JPmHCbMpjaYzg==}
-    dev: true
-
-  /is-core-module@2.13.1:
-    resolution: {integrity: sha512-hHrIjvZsftOsvKSn2TRYl63zvxsgE0K+0mYMoH6gD4omR5IWB2KynivBQczo3+wF1cCkjzvptnI9Q0sPU66ilw==}
-    dependencies:
-      hasown: 2.0.0
-    dev: true
-
-  /is-extglob@2.1.1:
-    resolution: {integrity: sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ==}
-    engines: {node: '>=0.10.0'}
-    dev: true
-
-  /is-glob@4.0.3:
-    resolution: {integrity: sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg==}
-    engines: {node: '>=0.10.0'}
-    dependencies:
-      is-extglob: 2.1.1
-    dev: true
-
-  /is-json@2.0.1:
-    resolution: {integrity: sha512-6BEnpVn1rcf3ngfmViLM6vjUjGErbdrL4rwlv+u1NO1XO8kqT4YGL8+19Q+Z/bas8tY90BTWMk2+fW1g6hQjbA==}
-    dev: true
-
-  /is-number@7.0.0:
-    resolution: {integrity: sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==}
-    engines: {node: '>=0.12.0'}
-    dev: true
-
-  /js-tokens@4.0.0:
-    resolution: {integrity: sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==}
-    dev: true
-
-  /js-yaml@4.1.0:
-    resolution: {integrity: sha512-wpxZs9NoxZaJESJGIZTyDEaYpl0FKSA+FB9aJiyemKhMwkxQg63h4T1KJgUGHpTqPDNRcmmYLugrRjJlBtWvRA==}
-    hasBin: true
-    dependencies:
-      argparse: 2.0.1
-    dev: true
-
-  /json-parse-even-better-errors@2.3.1:
-    resolution: {integrity: sha512-xyFwyhro/JEof6Ghe2iz2NcXoj2sloNsWr/XsERDK/oiPCfaNhl5ONfp+jQdAZRQQ0IJWNzH9zIZF7li91kh2w==}
-    dev: true
-
-  /json5@2.2.3:
-    resolution: {integrity: sha512-XmOWe7eyHYH14cLdVPoyg+GOH3rYX++KpzrylJwSW98t3Nk+U8XOl8FWKOgwtzdb8lXGf6zYwDUzeHMWfxasyg==}
-    engines: {node: '>=6'}
-    hasBin: true
-    dev: true
-
-  /lightningcss-darwin-arm64@1.22.1:
-    resolution: {integrity: sha512-ldvElu+R0QimNTjsKpaZkUv3zf+uefzLy/R1R19jtgOfSRM+zjUCUgDhfEDRmVqJtMwYsdhMI2aJtJChPC6Osg==}
-    engines: {node: '>= 12.0.0'}
-    cpu: [arm64]
-    os: [darwin]
-    requiresBuild: true
-    dev: true
-    optional: true
-
-  /lightningcss-darwin-x64@1.22.1:
-    resolution: {integrity: sha512-5p2rnlVTv6Gpw4PlTLq925nTVh+HFh4MpegX8dPDYJae+NFVjQ67gY7O6iHIzQjLipDiYejFF0yHrhjU3XgLBQ==}
-    engines: {node: '>= 12.0.0'}
-    cpu: [x64]
-    os: [darwin]
-    requiresBuild: true
-    dev: true
-    optional: true
-
-  /lightningcss-freebsd-x64@1.22.1:
-    resolution: {integrity: sha512-1FaBtcFrZqB2hkFbAxY//Pnp8koThvyB6AhjbdVqKD4/pu13Rl91fKt2N9qyeQPUt3xy7ORUvSO+dPk3J6EjXg==}
-    engines: {node: '>= 12.0.0'}
-    cpu: [x64]
-    os: [freebsd]
-    requiresBuild: true
-    dev: true
-    optional: true
-
-  /lightningcss-linux-arm-gnueabihf@1.22.1:
-    resolution: {integrity: sha512-6rub98tYGfE5I5j0BP8t/2d4BZyu1S7Iz9vUkm0H26snAFHYxLfj3RbQn0xHHIePSetjLnhcg3QlfwUAkD/FYg==}
-    engines: {node: '>= 12.0.0'}
-    cpu: [arm]
-    os: [linux]
-    requiresBuild: true
-    dev: true
-    optional: true
-
-  /lightningcss-linux-arm64-gnu@1.22.1:
-    resolution: {integrity: sha512-nYO5qGtb/1kkTZu3FeTiM+2B2TAb7m2DkLCTgQIs2bk2o9aEs7I96fwySKcoHWQAiQDGR9sMux9vkV4KQXqPaQ==}
-    engines: {node: '>= 12.0.0'}
-    cpu: [arm64]
-    os: [linux]
-    requiresBuild: true
-    dev: true
-    optional: true
-
-  /lightningcss-linux-arm64-musl@1.22.1:
-    resolution: {integrity: sha512-MCV6RuRpzXbunvzwY644iz8cw4oQxvW7oer9xPkdadYqlEyiJJ6wl7FyJOH7Q6ZYH4yjGAUCvxDBxPbnDu9ZVg==}
-    engines: {node: '>= 12.0.0'}
-    cpu: [arm64]
-    os: [linux]
-    requiresBuild: true
-    dev: true
-    optional: true
-
-  /lightningcss-linux-x64-gnu@1.22.1:
-    resolution: {integrity: sha512-RjNgpdM20VUXgV7us/VmlO3Vn2ZRiDnc3/bUxCVvySZWPiVPprpqW/QDWuzkGa+NCUf6saAM5CLsZLSxncXJwg==}
-    engines: {node: '>= 12.0.0'}
-    cpu: [x64]
-    os: [linux]
-    requiresBuild: true
-    dev: true
-    optional: true
-
-  /lightningcss-linux-x64-musl@1.22.1:
-    resolution: {integrity: sha512-ZgO4C7Rd6Hv/5MnyY2KxOYmIlzk4rplVolDt3NbkNR8DndnyX0Q5IR4acJWNTBICQ21j3zySzKbcJaiJpk/4YA==}
-    engines: {node: '>= 12.0.0'}
-    cpu: [x64]
-    os: [linux]
-    requiresBuild: true
-    dev: true
-    optional: true
-
-  /lightningcss-win32-x64-msvc@1.22.1:
-    resolution: {integrity: sha512-4pozV4eyD0MDET41ZLHAeBo+H04Nm2UEYIk5w/ts40231dRFV7E0cjwbnZvSoc1DXFgecAhiC0L16ruv/ZDCpg==}
-    engines: {node: '>= 12.0.0'}
-    cpu: [x64]
-    os: [win32]
-    requiresBuild: true
-    dev: true
-    optional: true
-
-  /lightningcss@1.22.1:
-    resolution: {integrity: sha512-Fy45PhibiNXkm0cK5FJCbfO8Y6jUpD/YcHf/BtuI+jvYYqSXKF4muk61jjE8YxCR9y+hDYIWSzHTc+bwhDE6rQ==}
-    engines: {node: '>= 12.0.0'}
-    dependencies:
-      detect-libc: 1.0.3
-    optionalDependencies:
-      lightningcss-darwin-arm64: 1.22.1
-      lightningcss-darwin-x64: 1.22.1
-      lightningcss-freebsd-x64: 1.22.1
-      lightningcss-linux-arm-gnueabihf: 1.22.1
-      lightningcss-linux-arm64-gnu: 1.22.1
-      lightningcss-linux-arm64-musl: 1.22.1
-      lightningcss-linux-x64-gnu: 1.22.1
-      lightningcss-linux-x64-musl: 1.22.1
-      lightningcss-win32-x64-msvc: 1.22.1
-    dev: true
-
-  /lines-and-columns@1.2.4:
-    resolution: {integrity: sha512-7ylylesZQ/PV29jhEDl3Ufjo6ZX7gCqJr5F7PKrqc93v7fzSymt1BpwEU8nAUXs8qzzvqhbjhK5QZg6Mt/HkBg==}
-    dev: true
-
-  /lmdb@2.8.5:
-    resolution: {integrity: sha512-9bMdFfc80S+vSldBmG3HOuLVHnxRdNTlpzR6QDnzqCQtCzGUEAGTzBKYMeIM+I/sU4oZfgbcbS7X7F65/z/oxQ==}
-    hasBin: true
-    requiresBuild: true
-    dependencies:
-      msgpackr: 1.10.0
-      node-addon-api: 6.1.0
-      node-gyp-build-optional-packages: 5.1.1
-      ordered-binary: 1.5.1
-      weak-lru-cache: 1.2.2
-    optionalDependencies:
-      '@lmdb/lmdb-darwin-arm64': 2.8.5
-      '@lmdb/lmdb-darwin-x64': 2.8.5
-      '@lmdb/lmdb-linux-arm': 2.8.5
-      '@lmdb/lmdb-linux-arm64': 2.8.5
-      '@lmdb/lmdb-linux-x64': 2.8.5
-      '@lmdb/lmdb-win32-x64': 2.8.5
-    dev: true
-
-  /lru-cache@6.0.0:
-    resolution: {integrity: sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==}
-    engines: {node: '>=10'}
-    dependencies:
-      yallist: 4.0.0
-    dev: true
-
-  /make-dir@3.1.0:
-    resolution: {integrity: sha512-g3FeP20LNwhALb/6Cz6Dd4F2ngze0jz7tbzrD2wAV+o9FeNHe4rL+yK2md0J/fiSf1sa1ADhXqi5+oVwOM/eGw==}
-    engines: {node: '>=8'}
-    dependencies:
-      semver: 6.3.1
-    dev: true
-
-  /mdn-data@2.0.14:
-    resolution: {integrity: sha512-dn6wd0uw5GsdswPFfsgMp5NSB0/aDe6fK94YJV/AJDYXL6HVLWBsxeq7js7Ad+mU2K9LAlwpk6kN2D5mwCPVow==}
-    dev: true
-
-  /micromatch@4.0.5:
-    resolution: {integrity: sha512-DMy+ERcEW2q8Z2Po+WNXuw3c5YaUSFjAO5GsJqfEl7UjvtIuFKO6ZrKvcItdy98dwFI2N1tg3zNIdKaQT+aNdA==}
-    engines: {node: '>=8.6'}
-    dependencies:
-      braces: 3.0.2
-      picomatch: 2.3.1
-    dev: true
-
-  /mime@2.5.2:
-    resolution: {integrity: sha512-tqkh47FzKeCPD2PUiPB6pkbMzsCasjxAfC62/Wap5qrUWcb+sFasXUC5I3gYM5iBM8v/Qpn4UK0x+j0iHyFPDg==}
-    engines: {node: '>=4.0.0'}
-    hasBin: true
-    dev: true
-
-  /minimatch@3.0.8:
-    resolution: {integrity: sha512-6FsRAQsxQ61mw+qP1ZzbL9Bc78x2p5OqNgNpnoAFLTrX8n5Kxph0CsnhmKKNXTWjXqU5L0pGPR7hYk+XWZr60Q==}
-    dependencies:
-      brace-expansion: 1.1.11
-    dev: true
-
-  /msgpackr-extract@3.0.2:
-    resolution: {integrity: sha512-SdzXp4kD/Qf8agZ9+iTu6eql0m3kWm1A2y1hkpTeVNENutaB0BwHlSvAIaMxwntmRUAUjon2V4L8Z/njd0Ct8A==}
-    hasBin: true
-    requiresBuild: true
-    dependencies:
-      node-gyp-build-optional-packages: 5.0.7
-    optionalDependencies:
-      '@msgpackr-extract/msgpackr-extract-darwin-arm64': 3.0.2
-      '@msgpackr-extract/msgpackr-extract-darwin-x64': 3.0.2
-      '@msgpackr-extract/msgpackr-extract-linux-arm': 3.0.2
-      '@msgpackr-extract/msgpackr-extract-linux-arm64': 3.0.2
-      '@msgpackr-extract/msgpackr-extract-linux-x64': 3.0.2
-      '@msgpackr-extract/msgpackr-extract-win32-x64': 3.0.2
-    dev: true
-    optional: true
-
-  /msgpackr@1.10.0:
-    resolution: {integrity: sha512-rVQ5YAQDoZKZLX+h8tNq7FiHrPJoeGHViz3U4wIcykhAEpwF/nH2Vbk8dQxmpX5JavkI8C7pt4bnkJ02ZmRoUw==}
-    optionalDependencies:
-      msgpackr-extract: 3.0.2
-    dev: true
-
-  /nanoid@3.3.7:
-    resolution: {integrity: sha512-eSRppjcPIatRIMC1U6UngP8XFcz8MQWGQdt1MTBQ7NaAmvXDfvNxbvWV3x2y6CdEUciCSsDHDQZbhYaB8QEo2g==}
-    engines: {node: ^10 || ^12 || ^13.7 || ^14 || >=15.0.1}
-    hasBin: true
-    dev: true
-
-  /node-addon-api@6.1.0:
-    resolution: {integrity: sha512-+eawOlIgy680F0kBzPUNFhMZGtJ1YmqM6l4+Crf4IkImjYrO/mqPwRMh352g23uIaQKFItcQ64I7KMaJxHgAVA==}
-    dev: true
-
-  /node-addon-api@7.0.0:
-    resolution: {integrity: sha512-vgbBJTS4m5/KkE16t5Ly0WW9hz46swAstv0hYYwMtbG7AznRhNyfLRe8HZAiWIpcHzoO7HxhLuBQj9rJ/Ho0ZA==}
-    dev: true
-
-  /node-gyp-build-optional-packages@5.0.7:
-    resolution: {integrity: sha512-YlCCc6Wffkx0kHkmam79GKvDQ6x+QZkMjFGrIMxgFNILFvGSbCp2fCBC55pGTT9gVaz8Na5CLmxt/urtzRv36w==}
-    hasBin: true
-    requiresBuild: true
-    dev: true
-    optional: true
-
-  /node-gyp-build-optional-packages@5.1.1:
-    resolution: {integrity: sha512-+P72GAjVAbTxjjwUmwjVrqrdZROD4nf8KgpBoDxqXXTiYZZt/ud60dE5yvCSr9lRO8e8yv6kgJIC0K0PfZFVQw==}
-    hasBin: true
-    dependencies:
-      detect-libc: 2.0.2
-    dev: true
-
-  /node-releases@2.0.14:
-    resolution: {integrity: sha512-y10wOWt8yZpqXmOgRo77WaHEmhYQYGNA6y421PKsKYWEK8aW+cqAphborZDhqfyKrbZEN92CN1X2KbafY2s7Yw==}
-    dev: true
-
-  /normalize-range@0.1.2:
-    resolution: {integrity: sha512-bdok/XvKII3nUpklnV6P2hxtMNrCboOjAcyBuQnWEhO665FwrSNRxU+AqpsyvO6LgGYPspN+lu5CLtw4jPRKNA==}
-    engines: {node: '>=0.10.0'}
-    dev: true
-
-  /nth-check@2.1.1:
-    resolution: {integrity: sha512-lqjrjmaOoAnWfMmBPL+XNnynZh2+swxiX3WUE0s4yEHI6m+AwrK2UZOimIRl3X/4QctVqS8AiZjFqyOGrMXb/w==}
-    dependencies:
-      boolbase: 1.0.0
-    dev: true
-
-  /nullthrows@1.1.1:
-    resolution: {integrity: sha512-2vPPEi+Z7WqML2jZYddDIfy5Dqb0r2fze2zTxNNknZaFpVHU3mFB3R+DWeJWGVx0ecvttSGlJTI+WG+8Z4cDWw==}
-    dev: true
-
-  /ordered-binary@1.5.1:
-    resolution: {integrity: sha512-5VyHfHY3cd0iza71JepYG50My+YUbrFtGoUz2ooEydPyPM7Aai/JW098juLr+RG6+rDJuzNNTsEQu2DZa1A41A==}
-    dev: true
-
-  /parcel@2.10.3(postcss@8.4.32):
-    resolution: {integrity: sha512-Ocx33N4ZVnotJTALhMZ0AqPIE9UN5uP6jjA+lYJ4FlEYuYYZsvOQXZQgeMa62pFj6jrOHWh7ho8uJhRdTNwVyg==}
-    engines: {node: '>= 12.0.0'}
-    hasBin: true
-    peerDependenciesMeta:
-      '@parcel/core':
-        optional: true
-    dependencies:
-      '@parcel/config-default': 2.10.3(@parcel/core@2.10.3)(postcss@8.4.32)
-      '@parcel/core': 2.10.3
-      '@parcel/diagnostic': 2.10.3
-      '@parcel/events': 2.10.3
-      '@parcel/fs': 2.10.3(@parcel/core@2.10.3)
-      '@parcel/logger': 2.10.3
-      '@parcel/package-manager': 2.10.3(@parcel/core@2.10.3)
-      '@parcel/reporter-cli': 2.10.3(@parcel/core@2.10.3)
-      '@parcel/reporter-dev-server': 2.10.3(@parcel/core@2.10.3)
-      '@parcel/reporter-tracer': 2.10.3(@parcel/core@2.10.3)
-      '@parcel/utils': 2.10.3
-      chalk: 4.1.2
-      commander: 7.2.0
-      get-port: 4.2.0
-    transitivePeerDependencies:
-      - '@swc/helpers'
-      - cssnano
-      - postcss
-      - purgecss
-      - relateurl
-      - srcset
-      - terser
-      - typescript
-      - uncss
-    dev: true
-
-  /parent-module@1.0.1:
-    resolution: {integrity: sha512-GQ2EWRpQV8/o+Aw8YqtfZZPfNRWZYkbidE9k5rpl/hC3vtHHBfGm2Ifi6qWV+coDGkrUKZAxE3Lot5kcsRlh+g==}
-    engines: {node: '>=6'}
-    dependencies:
-      callsites: 3.1.0
-    dev: true
-
-  /parse-json@5.2.0:
-    resolution: {integrity: sha512-ayCKvm/phCGxOkYRSCM82iDwct8/EonSEgCSxWxD7ve6jHggsFl4fZVQBPRNgQoKiuV/odhFrGzQXZwbifC8Rg==}
-    engines: {node: '>=8'}
-    dependencies:
-      '@babel/code-frame': 7.23.5
-      error-ex: 1.3.2
-      json-parse-even-better-errors: 2.3.1
-      lines-and-columns: 1.2.4
-    dev: true
-
-  /path-parse@1.0.7:
-    resolution: {integrity: sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw==}
-    dev: true
-
-  /path-type@4.0.0:
-    resolution: {integrity: sha512-gDKb8aZMDeD/tZWs9P6+q0J9Mwkdl6xMV8TjnGP3qJVJ06bdMgkbBlLU8IdfOsIsFz2BW1rNVT3XuNEl8zPAvw==}
-    engines: {node: '>=8'}
-    dev: true
-
-  /picocolors@1.0.0:
-    resolution: {integrity: sha512-1fygroTLlHu66zi26VoTDv8yRgm0Fccecssto+MhsZ0D/DGW2sm8E8AjW7NU5VVTRt5GxbeZ5qBuJr+HyLYkjQ==}
-    dev: true
-
-  /picomatch@2.3.1:
-    resolution: {integrity: sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==}
-    engines: {node: '>=8.6'}
-    dev: true
-
-  /pify@2.3.0:
-    resolution: {integrity: sha512-udgsAY+fTnvv7kI7aaxbqwWNb0AHiB0qBO89PZKPkoTmGOgdbrHDKD+0B2X4uTfJ/FT1R09r9gTsjUjNJotuog==}
-    engines: {node: '>=0.10.0'}
-    dev: true
-
-  /postcss-attribute-case-insensitive@6.0.2(postcss@8.4.32):
-    resolution: {integrity: sha512-IRuCwwAAQbgaLhxQdQcIIK0dCVXg3XDUnzgKD8iwdiYdwU4rMWRWyl/W9/0nA4ihVpq5pyALiHB2veBJ0292pw==}
-    engines: {node: ^14 || ^16 || >=18}
-    peerDependencies:
-      postcss: ^8.4
-    dependencies:
-      postcss: 8.4.32
-      postcss-selector-parser: 6.0.13
-    dev: true
-
-  /postcss-clamp@4.1.0(postcss@8.4.32):
-    resolution: {integrity: sha512-ry4b1Llo/9zz+PKC+030KUnPITTJAHeOwjfAyyB60eT0AorGLdzp52s31OsPRHRf8NchkgFoG2y6fCfn1IV1Ow==}
-    engines: {node: '>=7.6.0'}
-    peerDependencies:
-      postcss: ^8.4.6
-    dependencies:
-      postcss: 8.4.32
-      postcss-value-parser: 4.2.0
-    dev: true
-
-  /postcss-color-functional-notation@6.0.2(postcss@8.4.32):
-    resolution: {integrity: sha512-FsjSmlSufuiFBsIqQ++VxFmvX7zKndZpBkHmfXr4wqhvzM92FTEkAh703iqWTl1U3faTgqioIqCbfqdWiFVwtw==}
-    engines: {node: ^14 || ^16 || >=18}
-    peerDependencies:
-      postcss: ^8.4
-    dependencies:
-      '@csstools/postcss-progressive-custom-properties': 3.0.2(postcss@8.4.32)
-      postcss: 8.4.32
-      postcss-value-parser: 4.2.0
-    dev: true
-
-  /postcss-color-hex-alpha@9.0.2(postcss@8.4.32):
-    resolution: {integrity: sha512-SfPjgr//VQ/DOCf80STIAsdAs7sbIbxATvVmd+Ec7JvR8onz9pjawhq3BJM3Pie40EE3TyB0P6hft16D33Nlyg==}
-    engines: {node: ^14 || ^16 || >=18}
-    peerDependencies:
-      postcss: ^8.4
-    dependencies:
-      postcss: 8.4.32
-      postcss-value-parser: 4.2.0
-    dev: true
-
-  /postcss-color-rebeccapurple@9.0.1(postcss@8.4.32):
-    resolution: {integrity: sha512-ds4cq5BjRieizVb2PnvbJ0omg9VCo2/KzluvoFZbxuGpsGJ5BQSD93CHBooinEtangCM5YqUOerGDl4xGmOb6Q==}
-    engines: {node: ^14 || ^16 || >=18}
-    peerDependencies:
-      postcss: ^8.4
-    dependencies:
-      postcss: 8.4.32
-      postcss-value-parser: 4.2.0
-    dev: true
-
-  /postcss-custom-media@10.0.2(postcss@8.4.32):
-    resolution: {integrity: sha512-zcEFNRmDm2fZvTPdI1pIW3W//UruMcLosmMiCdpQnrCsTRzWlKQPYMa1ud9auL0BmrryKK1+JjIGn19K0UjO/w==}
-    engines: {node: ^14 || ^16 || >=18}
-    peerDependencies:
-      postcss: ^8.4
-    dependencies:
-      '@csstools/cascade-layer-name-parser': 1.0.5(@csstools/css-parser-algorithms@2.3.2)(@csstools/css-tokenizer@2.2.1)
-      '@csstools/css-parser-algorithms': 2.3.2(@csstools/css-tokenizer@2.2.1)
-      '@csstools/css-tokenizer': 2.2.1
-      '@csstools/media-query-list-parser': 2.1.5(@csstools/css-parser-algorithms@2.3.2)(@csstools/css-tokenizer@2.2.1)
-      postcss: 8.4.32
-    dev: true
-
-  /postcss-custom-properties@13.3.2(postcss@8.4.32):
-    resolution: {integrity: sha512-2Coszybpo8lpLY24vy2CYv9AasiZ39/bs8Imv0pWMq55Gl8NWzfc24OAo3zIX7rc6uUJAqESnVOMZ6V6lpMjJA==}
-    engines: {node: ^14 || ^16 || >=18}
-    peerDependencies:
-      postcss: ^8.4
-    dependencies:
-      '@csstools/cascade-layer-name-parser': 1.0.5(@csstools/css-parser-algorithms@2.3.2)(@csstools/css-tokenizer@2.2.1)
-      '@csstools/css-parser-algorithms': 2.3.2(@csstools/css-tokenizer@2.2.1)
-      '@csstools/css-tokenizer': 2.2.1
-      postcss: 8.4.32
-      postcss-value-parser: 4.2.0
-    dev: true
-
-  /postcss-custom-selectors@7.1.6(postcss@8.4.32):
-    resolution: {integrity: sha512-svsjWRaxqL3vAzv71dV0/65P24/FB8TbPX+lWyyf9SZ7aZm4S4NhCn7N3Bg+Z5sZunG3FS8xQ80LrCU9hb37cw==}
-    engines: {node: ^14 || ^16 || >=18}
-    peerDependencies:
-      postcss: ^8.4
-    dependencies:
-      '@csstools/cascade-layer-name-parser': 1.0.5(@csstools/css-parser-algorithms@2.3.2)(@csstools/css-tokenizer@2.2.1)
-      '@csstools/css-parser-algorithms': 2.3.2(@csstools/css-tokenizer@2.2.1)
-      '@csstools/css-tokenizer': 2.2.1
-      postcss: 8.4.32
-      postcss-selector-parser: 6.0.13
-    dev: true
-
-  /postcss-dir-pseudo-class@8.0.0(postcss@8.4.32):
-    resolution: {integrity: sha512-Oy5BBi0dWPwij/IA+yDYj+/OBMQ9EPqAzTHeSNUYrUWdll/PRJmcbiUj0MNcsBi681I1gcSTLvMERPaXzdbvJg==}
-    engines: {node: ^14 || ^16 || >=18}
-    peerDependencies:
-      postcss: ^8.4
-    dependencies:
-      postcss: 8.4.32
-      postcss-selector-parser: 6.0.13
-    dev: true
-
-  /postcss-double-position-gradients@5.0.2(postcss@8.4.32):
-    resolution: {integrity: sha512-KTbvdOOy8z8zb0BTkEg4/1vqlRlApdvjw8/pFoehgQl0WVO+fezDGlvo0B8xRA+XccA7ohkQCULKNsiNOx70Cw==}
-    engines: {node: ^14 || ^16 || >=18}
-    peerDependencies:
-      postcss: ^8.4
-    dependencies:
-      '@csstools/postcss-progressive-custom-properties': 3.0.2(postcss@8.4.32)
-      postcss: 8.4.32
-      postcss-value-parser: 4.2.0
-    dev: true
-
-  /postcss-focus-visible@9.0.0(postcss@8.4.32):
-    resolution: {integrity: sha512-zA4TbVaIaT8npZBEROhZmlc+GBKE8AELPHXE7i4TmIUEQhw/P/mSJfY9t6tBzpQ1rABeGtEOHYrW4SboQeONMQ==}
-    engines: {node: ^14 || ^16 || >=18}
-    peerDependencies:
-      postcss: ^8.4
-    dependencies:
-      postcss: 8.4.32
-      postcss-selector-parser: 6.0.13
-    dev: true
-
-  /postcss-focus-within@8.0.0(postcss@8.4.32):
-    resolution: {integrity: sha512-E7+J9nuQzZaA37D/MUZMX1K817RZGDab8qw6pFwzAkDd/QtlWJ9/WTKmzewNiuxzeq6WWY7ATiRePVoDKp+DnA==}
-    engines: {node: ^14 || ^16 || >=18}
-    peerDependencies:
-      postcss: ^8.4
-    dependencies:
-      postcss: 8.4.32
-      postcss-selector-parser: 6.0.13
-    dev: true
-
-  /postcss-font-variant@5.0.0(postcss@8.4.32):
-    resolution: {integrity: sha512-1fmkBaCALD72CK2a9i468mA/+tr9/1cBxRRMXOUaZqO43oWPR5imcyPjXwuv7PXbCid4ndlP5zWhidQVVa3hmA==}
-    peerDependencies:
-      postcss: ^8.1.0
-    dependencies:
-      postcss: 8.4.32
-    dev: true
-
-  /postcss-gap-properties@5.0.0(postcss@8.4.32):
-    resolution: {integrity: sha512-YjsEEL6890P7MCv6fch6Am1yq0EhQCJMXyT4LBohiu87+4/WqR7y5W3RIv53WdA901hhytgRvjlrAhibhW4qsA==}
-    engines: {node: ^14 || ^16 || >=18}
-    peerDependencies:
-      postcss: ^8.4
-    dependencies:
-      postcss: 8.4.32
-    dev: true
-
-  /postcss-image-set-function@6.0.1(postcss@8.4.32):
-    resolution: {integrity: sha512-VlZncC9hhZ5tg0JllY4g6Z28BeoPO8DIkelioEEkXL0AA0IORlqYpTi2L8TUnl4YQrlwvBgxVy+mdZJw5R/cIQ==}
-    engines: {node: ^14 || ^16 || >=18}
-    peerDependencies:
-      postcss: ^8.4
-    dependencies:
-      postcss: 8.4.32
-      postcss-value-parser: 4.2.0
-    dev: true
-
-  /postcss-import@15.1.0(postcss@8.4.32):
-    resolution: {integrity: sha512-hpr+J05B2FVYUAXHeK1YyI267J/dDDhMU6B6civm8hSY1jYJnBXxzKDKDswzJmtLHryrjhnDjqqp/49t8FALew==}
-    engines: {node: '>=14.0.0'}
-    peerDependencies:
-      postcss: ^8.0.0
-    dependencies:
-      postcss: 8.4.32
-      postcss-value-parser: 4.2.0
-      read-cache: 1.0.0
-      resolve: 1.22.8
-    dev: true
-
-  /postcss-lab-function@6.0.7(postcss@8.4.32):
-    resolution: {integrity: sha512-4d1lhDVPukHFqkMv4G5vVcK+tgY52vwb5uR1SWKOaO5389r2q8fMxBWuXSW+YtbCOEGP0/X9KERi9E9le2pJuw==}
-    engines: {node: ^14 || ^16 || >=18}
-    peerDependencies:
-      postcss: ^8.4
-    dependencies:
-      '@csstools/css-color-parser': 1.4.0(@csstools/css-parser-algorithms@2.3.2)(@csstools/css-tokenizer@2.2.1)
-      '@csstools/css-parser-algorithms': 2.3.2(@csstools/css-tokenizer@2.2.1)
-      '@csstools/css-tokenizer': 2.2.1
-      '@csstools/postcss-progressive-custom-properties': 3.0.2(postcss@8.4.32)
-      postcss: 8.4.32
-    dev: true
-
-  /postcss-logical@7.0.0(postcss@8.4.32):
-    resolution: {integrity: sha512-zYf3vHkoW82f5UZTEXChTJvH49Yl9X37axTZsJGxrCG2kOUwtaAoz9E7tqYg0lsIoJLybaL8fk/2mOi81zVIUw==}
-    engines: {node: ^14 || ^16 || >=18}
-    peerDependencies:
-      postcss: ^8.4
-    dependencies:
-      postcss: 8.4.32
-      postcss-value-parser: 4.2.0
-    dev: true
-
-  /postcss-nesting@12.0.1(postcss@8.4.32):
-    resolution: {integrity: sha512-6LCqCWP9pqwXw/njMvNK0hGY44Fxc4B2EsGbn6xDcxbNRzP8GYoxT7yabVVMLrX3quqOJ9hg2jYMsnkedOf8pA==}
-    engines: {node: ^14 || ^16 || >=18}
-    peerDependencies:
-      postcss: ^8.4
-    dependencies:
-      '@csstools/selector-specificity': 3.0.0(postcss-selector-parser@6.0.13)
-      postcss: 8.4.32
-      postcss-selector-parser: 6.0.13
-    dev: true
-
-  /postcss-opacity-percentage@2.0.0(postcss@8.4.32):
-    resolution: {integrity: sha512-lyDrCOtntq5Y1JZpBFzIWm2wG9kbEdujpNt4NLannF+J9c8CgFIzPa80YQfdza+Y+yFfzbYj/rfoOsYsooUWTQ==}
-    engines: {node: ^14 || ^16 || >=18}
-    peerDependencies:
-      postcss: ^8.2
-    dependencies:
-      postcss: 8.4.32
-    dev: true
-
-  /postcss-overflow-shorthand@5.0.0(postcss@8.4.32):
-    resolution: {integrity: sha512-2rlxDyeSics/hC2FuMdPnWiP9WUPZ5x7FTuArXLFVpaSQ2woPSfZS4RD59HuEokbZhs/wPUQJ1E3MT6zVv94MQ==}
-    engines: {node: ^14 || ^16 || >=18}
-    peerDependencies:
-      postcss: ^8.4
-    dependencies:
-      postcss: 8.4.32
-      postcss-value-parser: 4.2.0
-    dev: true
-
-  /postcss-page-break@3.0.4(postcss@8.4.32):
-    resolution: {integrity: sha512-1JGu8oCjVXLa9q9rFTo4MbeeA5FMe00/9C7lN4va606Rdb+HkxXtXsmEDrIraQ11fGz/WvKWa8gMuCKkrXpTsQ==}
-    peerDependencies:
-      postcss: ^8
-    dependencies:
-      postcss: 8.4.32
-    dev: true
-
-  /postcss-place@9.0.0(postcss@8.4.32):
-    resolution: {integrity: sha512-qLEPD9VPH5opDVemwmRaujODF9nExn24VOC3ghgVLEvfYN7VZLwJHes0q/C9YR5hI2UC3VgBE8Wkdp1TxCXhtg==}
-    engines: {node: ^14 || ^16 || >=18}
-    peerDependencies:
-      postcss: ^8.4
-    dependencies:
-      postcss: 8.4.32
-      postcss-value-parser: 4.2.0
-    dev: true
-
-  /postcss-preset-env@9.3.0(postcss@8.4.32):
-    resolution: {integrity: sha512-ycw6doPrqV6QxDCtgiyGDef61bEfiSc59HGM4gOw/wxQxmKnhuEery61oOC/5ViENz/ycpRsuhTexs1kUBTvVw==}
-    engines: {node: ^14 || ^16 || >=18}
-    peerDependencies:
-      postcss: ^8.4
-    dependencies:
-      '@csstools/postcss-cascade-layers': 4.0.1(postcss@8.4.32)
-      '@csstools/postcss-color-function': 3.0.7(postcss@8.4.32)
-      '@csstools/postcss-color-mix-function': 2.0.7(postcss@8.4.32)
-      '@csstools/postcss-exponential-functions': 1.0.1(postcss@8.4.32)
-      '@csstools/postcss-font-format-keywords': 3.0.0(postcss@8.4.32)
-      '@csstools/postcss-gamut-mapping': 1.0.0(postcss@8.4.32)
-      '@csstools/postcss-gradients-interpolation-method': 4.0.7(postcss@8.4.32)
-      '@csstools/postcss-hwb-function': 3.0.6(postcss@8.4.32)
-      '@csstools/postcss-ic-unit': 3.0.2(postcss@8.4.32)
-      '@csstools/postcss-initial': 1.0.0(postcss@8.4.32)
-      '@csstools/postcss-is-pseudo-class': 4.0.3(postcss@8.4.32)
-      '@csstools/postcss-logical-float-and-clear': 2.0.0(postcss@8.4.32)
-      '@csstools/postcss-logical-overflow': 1.0.0(postcss@8.4.32)
-      '@csstools/postcss-logical-overscroll-behavior': 1.0.0(postcss@8.4.32)
-      '@csstools/postcss-logical-resize': 2.0.0(postcss@8.4.32)
-      '@csstools/postcss-logical-viewport-units': 2.0.3(postcss@8.4.32)
-      '@csstools/postcss-media-minmax': 1.1.0(postcss@8.4.32)
-      '@csstools/postcss-media-queries-aspect-ratio-number-values': 2.0.3(postcss@8.4.32)
-      '@csstools/postcss-nested-calc': 3.0.0(postcss@8.4.32)
-      '@csstools/postcss-normalize-display-values': 3.0.1(postcss@8.4.32)
-      '@csstools/postcss-oklab-function': 3.0.7(postcss@8.4.32)
-      '@csstools/postcss-progressive-custom-properties': 3.0.2(postcss@8.4.32)
-      '@csstools/postcss-relative-color-syntax': 2.0.7(postcss@8.4.32)
-      '@csstools/postcss-scope-pseudo-class': 3.0.0(postcss@8.4.32)
-      '@csstools/postcss-stepped-value-functions': 3.0.2(postcss@8.4.32)
-      '@csstools/postcss-text-decoration-shorthand': 3.0.3(postcss@8.4.32)
-      '@csstools/postcss-trigonometric-functions': 3.0.2(postcss@8.4.32)
-      '@csstools/postcss-unset-value': 3.0.0(postcss@8.4.32)
-      autoprefixer: 10.4.16(postcss@8.4.32)
-      browserslist: 4.22.1
-      css-blank-pseudo: 6.0.0(postcss@8.4.32)
-      css-has-pseudo: 6.0.0(postcss@8.4.32)
-      css-prefers-color-scheme: 9.0.0(postcss@8.4.32)
-      cssdb: 7.9.0
-      postcss: 8.4.32
-      postcss-attribute-case-insensitive: 6.0.2(postcss@8.4.32)
-      postcss-clamp: 4.1.0(postcss@8.4.32)
-      postcss-color-functional-notation: 6.0.2(postcss@8.4.32)
-      postcss-color-hex-alpha: 9.0.2(postcss@8.4.32)
-      postcss-color-rebeccapurple: 9.0.1(postcss@8.4.32)
-      postcss-custom-media: 10.0.2(postcss@8.4.32)
-      postcss-custom-properties: 13.3.2(postcss@8.4.32)
-      postcss-custom-selectors: 7.1.6(postcss@8.4.32)
-      postcss-dir-pseudo-class: 8.0.0(postcss@8.4.32)
-      postcss-double-position-gradients: 5.0.2(postcss@8.4.32)
-      postcss-focus-visible: 9.0.0(postcss@8.4.32)
-      postcss-focus-within: 8.0.0(postcss@8.4.32)
-      postcss-font-variant: 5.0.0(postcss@8.4.32)
-      postcss-gap-properties: 5.0.0(postcss@8.4.32)
-      postcss-image-set-function: 6.0.1(postcss@8.4.32)
-      postcss-lab-function: 6.0.7(postcss@8.4.32)
-      postcss-logical: 7.0.0(postcss@8.4.32)
-      postcss-nesting: 12.0.1(postcss@8.4.32)
-      postcss-opacity-percentage: 2.0.0(postcss@8.4.32)
-      postcss-overflow-shorthand: 5.0.0(postcss@8.4.32)
-      postcss-page-break: 3.0.4(postcss@8.4.32)
-      postcss-place: 9.0.0(postcss@8.4.32)
-      postcss-pseudo-class-any-link: 9.0.0(postcss@8.4.32)
-      postcss-replace-overflow-wrap: 4.0.0(postcss@8.4.32)
-      postcss-selector-not: 7.0.1(postcss@8.4.32)
-      postcss-value-parser: 4.2.0
-    dev: true
-
-  /postcss-pseudo-class-any-link@9.0.0(postcss@8.4.32):
-    resolution: {integrity: sha512-QNCYIL98VKFKY6HGDEJpF6+K/sg9bxcUYnOmNHJxZS5wsFDFaVoPeG68WAuhsqwbIBSo/b9fjEnTwY2mTSD+uA==}
-    engines: {node: ^14 || ^16 || >=18}
-    peerDependencies:
-      postcss: ^8.4
-    dependencies:
-      postcss: 8.4.32
-      postcss-selector-parser: 6.0.13
-    dev: true
-
-  /postcss-replace-overflow-wrap@4.0.0(postcss@8.4.32):
-    resolution: {integrity: sha512-KmF7SBPphT4gPPcKZc7aDkweHiKEEO8cla/GjcBK+ckKxiZslIu3C4GCRW3DNfL0o7yW7kMQu9xlZ1kXRXLXtw==}
-    peerDependencies:
-      postcss: ^8.0.3
-    dependencies:
-      postcss: 8.4.32
-    dev: true
-
-  /postcss-selector-not@7.0.1(postcss@8.4.32):
-    resolution: {integrity: sha512-1zT5C27b/zeJhchN7fP0kBr16Cc61mu7Si9uWWLoA3Px/D9tIJPKchJCkUH3tPO5D0pCFmGeApAv8XpXBQJ8SQ==}
-    engines: {node: ^14 || ^16 || >=18}
-    peerDependencies:
-      postcss: ^8.4
-    dependencies:
-      postcss: 8.4.32
-      postcss-selector-parser: 6.0.13
-    dev: true
-
-  /postcss-selector-parser@6.0.13:
-    resolution: {integrity: sha512-EaV1Gl4mUEV4ddhDnv/xtj7sxwrwxdetHdWUGnT4VJQf+4d05v6lHYZr8N573k5Z0BViss7BDhfWtKS3+sfAqQ==}
-    engines: {node: '>=4'}
-    dependencies:
-      cssesc: 3.0.0
-      util-deprecate: 1.0.2
-    dev: true
-
-  /postcss-url@10.1.3(postcss@8.4.32):
-    resolution: {integrity: sha512-FUzyxfI5l2tKmXdYc6VTu3TWZsInayEKPbiyW+P6vmmIrrb4I6CGX0BFoewgYHLK+oIL5FECEK02REYRpBvUCw==}
-    engines: {node: '>=10'}
-    peerDependencies:
-      postcss: ^8.0.0
-    dependencies:
-      make-dir: 3.1.0
-      mime: 2.5.2
-      minimatch: 3.0.8
-      postcss: 8.4.32
-      xxhashjs: 0.2.2
-    dev: true
-
-  /postcss-value-parser@4.2.0:
-    resolution: {integrity: sha512-1NNCs6uurfkVbeXG4S8JFT9t19m45ICnif8zWLd5oPSZ50QnwMfK+H3jv408d4jw/7Bttv5axS5IiHoLaVNHeQ==}
-    dev: true
-
-  /postcss@8.4.32:
-    resolution: {integrity: sha512-D/kj5JNu6oo2EIy+XL/26JEDTlIbB8hw85G8StOE6L74RQAVVP5rej6wxCNqyMbR4RkPfqvezVbPw81Ngd6Kcw==}
-    engines: {node: ^10 || ^12 || >=14}
-    dependencies:
-      nanoid: 3.3.7
-      picocolors: 1.0.0
-      source-map-js: 1.0.2
-    dev: true
-
-  /posthtml-parser@0.10.2:
-    resolution: {integrity: sha512-PId6zZ/2lyJi9LiKfe+i2xv57oEjJgWbsHGGANwos5AvdQp98i6AtamAl8gzSVFGfQ43Glb5D614cvZf012VKg==}
-    engines: {node: '>=12'}
-    dependencies:
-      htmlparser2: 7.2.0
-    dev: true
-
-  /posthtml-parser@0.11.0:
-    resolution: {integrity: sha512-QecJtfLekJbWVo/dMAA+OSwY79wpRmbqS5TeXvXSX+f0c6pW4/SE6inzZ2qkU7oAMCPqIDkZDvd/bQsSFUnKyw==}
-    engines: {node: '>=12'}
-    dependencies:
-      htmlparser2: 7.2.0
-    dev: true
-
-  /posthtml-render@3.0.0:
-    resolution: {integrity: sha512-z+16RoxK3fUPgwaIgH9NGnK1HKY9XIDpydky5eQGgAFVXTCSezalv9U2jQuNV+Z9qV1fDWNzldcw4eK0SSbqKA==}
-    engines: {node: '>=12'}
-    dependencies:
-      is-json: 2.0.1
-    dev: true
-
-  /posthtml@0.16.6:
-    resolution: {integrity: sha512-JcEmHlyLK/o0uGAlj65vgg+7LIms0xKXe60lcDOTU7oVX/3LuEuLwrQpW3VJ7de5TaFKiW4kWkaIpJL42FEgxQ==}
-    engines: {node: '>=12.0.0'}
-    dependencies:
-      posthtml-parser: 0.11.0
-      posthtml-render: 3.0.0
-    dev: true
-
-  /react-error-overlay@6.0.9:
-    resolution: {integrity: sha512-nQTTcUu+ATDbrSD1BZHr5kgSD4oF8OFjxun8uAaL8RwPBacGBNPf/yAuVVdx17N8XNzRDMrZ9XcKZHCjPW+9ew==}
-    dev: true
-
-  /react-refresh@0.9.0:
-    resolution: {integrity: sha512-Gvzk7OZpiqKSkxsQvO/mbTN1poglhmAV7gR/DdIrRrSMXraRQQlfikRJOr3Nb9GTMPC5kof948Zy6jJZIFtDvQ==}
-    engines: {node: '>=0.10.0'}
-    dev: true
-
-  /read-cache@1.0.0:
-    resolution: {integrity: sha512-Owdv/Ft7IjOgm/i0xvNDZ1LrRANRfew4b2prF3OWMQLxLfu3bS8FVhCsrSCMK4lR56Y9ya+AThoTpDCTxCmpRA==}
-    dependencies:
-      pify: 2.3.0
-    dev: true
-
-  /regenerator-runtime@0.13.11:
-    resolution: {integrity: sha512-kY1AZVr2Ra+t+piVaJ4gxaFaReZVH40AKNo7UCX6W+dEwBo/2oZJzqfuN1qLq1oL45o56cPaTXELwrTh8Fpggg==}
-    dev: true
-
-  /resolve-from@4.0.0:
-    resolution: {integrity: sha512-pb/MYmXstAkysRFx8piNI1tGFNQIFA3vkE3Gq4EuA1dF6gHp/+vgZqsCGJapvy8N3Q+4o7FwvquPJcnZ7RYy4g==}
-    engines: {node: '>=4'}
-    dev: true
-
-  /resolve@1.22.8:
-    resolution: {integrity: sha512-oKWePCxqpd6FlLvGV1VU0x7bkPmmCNolxzjMf4NczoDnQcIWrAF+cPtZn5i6n+RfD2d9i0tzpKnG6Yk168yIyw==}
-    hasBin: true
-    dependencies:
-      is-core-module: 2.13.1
-      path-parse: 1.0.7
-      supports-preserve-symlinks-flag: 1.0.0
-    dev: true
-
-  /safe-buffer@5.2.1:
-    resolution: {integrity: sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==}
-    dev: true
-
-  /semver@6.3.1:
-    resolution: {integrity: sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==}
-    hasBin: true
-    dev: true
-
-  /semver@7.5.4:
-    resolution: {integrity: sha512-1bCSESV6Pv+i21Hvpxp3Dx+pSD8lIPt8uVjRrxAUt/nbswYc+tK6Y2btiULjd4+fnq15PX+nqQDC7Oft7WkwcA==}
-    engines: {node: '>=10'}
-    hasBin: true
-    dependencies:
-      lru-cache: 6.0.0
-    dev: true
-
-  /source-map-js@1.0.2:
-    resolution: {integrity: sha512-R0XvVJ9WusLiqTCEiGCmICCMplcCkIwwR11mOSD9CR5u+IXYdiseeEuXCVAjS54zqwkLcPNnmU4OeJ6tUrWhDw==}
-    engines: {node: '>=0.10.0'}
-    dev: true
-
-  /source-map@0.6.1:
-    resolution: {integrity: sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==}
-    engines: {node: '>=0.10.0'}
-    dev: true
-
-  /srcset@4.0.0:
-    resolution: {integrity: sha512-wvLeHgcVHKO8Sc/H/5lkGreJQVeYMm9rlmt8PuR1xE31rIuXhuzznUUqAt8MqLhB3MqJdFzlNAfpcWnxiFUcPw==}
-    engines: {node: '>=12'}
-    dev: true
-
-  /stable@0.1.8:
-    resolution: {integrity: sha512-ji9qxRnOVfcuLDySj9qzhGSEFVobyt1kIOSkj1qZzYLzq7Tos/oUUWvotUPQLlrsidqsK6tBH89Bc9kL5zHA6w==}
-    deprecated: 'Modern JS already guarantees Array#sort() is a stable sort, so this library is deprecated. See the compatibility table on MDN: https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/sort#browser_compatibility'
-    dev: true
-
-  /supports-color@5.5.0:
-    resolution: {integrity: sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==}
-    engines: {node: '>=4'}
-    dependencies:
-      has-flag: 3.0.0
-    dev: true
-
-  /supports-color@7.2.0:
-    resolution: {integrity: sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==}
-    engines: {node: '>=8'}
-    dependencies:
-      has-flag: 4.0.0
-    dev: true
-
-  /supports-preserve-symlinks-flag@1.0.0:
-    resolution: {integrity: sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w==}
-    engines: {node: '>= 0.4'}
-    dev: true
-
-  /svgo@2.8.0:
-    resolution: {integrity: sha512-+N/Q9kV1+F+UeWYoSiULYo4xYSDQlTgb+ayMobAXPwMnLvop7oxKMo9OzIrX5x3eS4L4f2UHhc9axXwY8DpChg==}
-    engines: {node: '>=10.13.0'}
-    hasBin: true
-    dependencies:
-      '@trysound/sax': 0.2.0
-      commander: 7.2.0
-      css-select: 4.3.0
-      css-tree: 1.1.3
-      csso: 4.2.0
-      picocolors: 1.0.0
-      stable: 0.1.8
-    dev: true
-
-  /term-size@2.2.1:
-    resolution: {integrity: sha512-wK0Ri4fOGjv/XPy8SBHZChl8CM7uMc5VML7SqiQ0zG7+J5Vr+RMQDoHa2CNT6KHUnTGIXH34UDMkPzAUyapBZg==}
-    engines: {node: '>=8'}
-    dev: true
-
-  /timsort@0.3.0:
-    resolution: {integrity: sha512-qsdtZH+vMoCARQtyod4imc2nIJwg9Cc7lPRrw9CzF8ZKR0khdr8+2nX80PBhET3tcyTtJDxAffGh2rXH4tyU8A==}
-    dev: true
-
-  /to-regex-range@5.0.1:
-    resolution: {integrity: sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==}
-    engines: {node: '>=8.0'}
-    dependencies:
-      is-number: 7.0.0
-    dev: true
-
-  /tslib@2.6.2:
-    resolution: {integrity: sha512-AEYxH93jGFPn/a2iVAwW87VuUIkR1FVUKB77NwMF7nBTDkDrrT/Hpt/IrCJ0QXhW27jTBDcf5ZY7w6RiqTMw2Q==}
-    dev: true
-
-  /type-fest@0.20.2:
-    resolution: {integrity: sha512-Ne+eE4r0/iWnpAxD852z3A+N0Bt5RN//NjJwRd2VFHEmrywxf5vsZlh4R6lixl6B+wz/8d+maTSAkN1FIkI3LQ==}
-    engines: {node: '>=10'}
-    dev: true
-
-  /update-browserslist-db@1.0.13(browserslist@4.22.1):
-    resolution: {integrity: sha512-xebP81SNcPuNpPP3uzeW1NYXxI3rxyJzF3pD6sH4jE7o/IX+WtSpwnVU+qIsDPyk0d3hmFQ7mjqc6AtV604hbg==}
-    hasBin: true
-    peerDependencies:
-      browserslist: '>= 4.21.0'
-    dependencies:
-      browserslist: 4.22.1
-      escalade: 3.1.1
-      picocolors: 1.0.0
-    dev: true
-
-  /util-deprecate@1.0.2:
-    resolution: {integrity: sha512-EPD5q1uXyFxJpCrLnCc1nHnq3gOa6DZBocAIiI2TaSCA7VCJ1UJDMagCzIkXNsUYfD1daK//LTEQ8xiIbrHtcw==}
-    dev: true
-
-  /utility-types@3.10.0:
-    resolution: {integrity: sha512-O11mqxmi7wMKCo6HKFt5AhO4BwY3VV68YU07tgxfz8zJTIxr4BpsezN49Ffwy9j3ZpwwJp4fkRwjRzq3uWE6Rg==}
-    engines: {node: '>= 4'}
-    dev: true
-
-  /weak-lru-cache@1.2.2:
-    resolution: {integrity: sha512-DEAoo25RfSYMuTGc9vPJzZcZullwIqRDSI9LOy+fkCJPi6hykCnfKaXTuPBDuXAUcqHXyOgFtHNp/kB2FjYHbw==}
-    dev: true
-
-  /xxhashjs@0.2.2:
-    resolution: {integrity: sha512-AkTuIuVTET12tpsVIQo+ZU6f/qDmKuRUcjaqR+OIvm+aCBsZ95i7UVY5WJ9TMsSaZ0DA2WxoZ4acu0sPH+OKAw==}
-    dependencies:
-      cuint: 0.2.2
-    dev: true
-
-  /yallist@4.0.0:
-    resolution: {integrity: sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==}
-    dev: true
diff --git a/publish.sh b/publish.sh
deleted file mode 100644
index 360e75a..0000000
--- a/publish.sh
+++ /dev/null
@@ -1,154 +0,0 @@
-#!usr/bin/env
-
-
-# ------------------ Variables ------------------#
-PKGM="pnpm"
-GHP_BRANCH="gh-pages"
-UPSTREAM_NM="ghupstream"
-REPO_URL="https://github.com/Itz-fork/itz-fork.github.io.git"
-NO_KEEP_GIT=false
-BUILD_START=$(date +%Y-%m-%d-%H-%M-%S)
-COMMIT_MSG="build ${BUILD_START}"
-FLAGS=""
-# Constants, don't change em
-CURDIR="./${PWD##*/}/."
-TMPDIR="./pages_build/"
-
-
-# ------------------ Colors codes ------------------#
-WHITE="\033[1;37m"
-CYAN="\033[1;36m"
-YELLOW="\033[1;93m"
-RED="\033[1;31m"
-RESET="\033[0m"
-
-
-#----------------- Argument parser -----------------#
-while [[ $# -gt 0 ]]; do
-    case "${1}" in
-        -f|--flags)
-            FLAGS="$2"
-            shift
-            shift
-            ;;
-        -pm|--pkgmn)
-            PKGM="$2"
-            shift
-            shift
-            ;;
-        -m|--msg)
-            COMMIT_MSG="$2"
-            shift
-            shift
-            ;;
-        -b|--branch)
-            GHP_BRANCH="$2"
-            shift
-            shift
-            ;;
-        -nk|--no-keep)
-            NO_KEEP_GIT=true
-            shift
-            shift
-            ;;
-        -h|--help)
-            echo -e "${YELLOW}
-Usage:
-    bash publish
-
-Arguments:
-    -f|--flags - Custom flags to pass on to parcel in double quotes. Defaults to \"\"
-    -pm|--pkgmn - Your package manager. Defaults to 'pnpm'
-    -m|--msg - Commit messsage. Defaults to 'build <timestamp>'
-    -b|--branch - Branch name. Defaults to 'gh-pages'
-    -nk|--no-keep - Resets git history for build branch if passed. Not recommended
-    -h|--help - Shows this message
-${RESET}"
-            exit 1
-    esac
-done
-
-# ------------------ Output functions ------------------#
-say_sh() {
-    echo -e "${CYAN}$1${RESET}\n"
-}
-info_sh() {
-    echo -e "   ${WHITE}$1${RESET}\n"
-}
-warn_sh() {
-    echo -e "${RED}WARNING !\n $1${RESET}\n"
-    if [ $1 = -ex ]; then
-        exit 1
-    fi
-}
-
-
-# ------------------ Builders ------------------#
-setup_env() {
-    say_sh "> Setting up build environment..."
-    cd ..
-    mkdir $TMPDIR
-    cp -a $CURDIR $TMPDIR
-    cd $TMPDIR
-}
-
-
-build_site() {
-    say_sh "> Creating build branch - ${GHP_BRANCH}"
-    git checkout $GHP_BRANCH &> /dev/null || git checkout -b $GHP_BRANCH
-
-    say_sh "> Building site..."
-    if [ ! -d "node_modules" ]; then
-        warn_sh "node_modules folder doesn't exist"
-        info_sh "> Installing dependencies..."
-        $PKGM install
-    fi
-    $PKGM build $FLAGS
-}
-
-pre_pub() {
-    say_sh "> Preparing to publish..."
-    mkdir nodel
-    mv dist nodel
-    if [ $NO_KEEP_GIT = false ]; then
-        mv .git nodel
-    fi
-    find ./ -mindepth 1 ! -regex '^./nodel\(/.*\)?' -delete
-    mv nodel/dist/* ./ || warn_sh "Unable to find build dir. Aborting..." -ex
-    mv nodel/.git ./ || warn_sh ".git directory was deleted for this build. Don't use '-nk' to avoid this"
-    rm -rf nodel
-}
-
-gh_publish() {
-    say_sh "> Publishing your branch to ${REPO_URL}"
-    if [ ! -d ".git" ]; then
-        warn_sh "Git folder doesn't exist"
-        info_sh "> Initializing a new project..."
-        git init
-    fi
-    git add . &> /dev/null
-    git commit -m "${COMMIT_MSG}" &> /dev/null
-    git checkout $GHP_BRANCH &> /dev/null || git checkout -b $GHP_BRANCH &> /dev/null
-    git remote -v
-    git remote add "${UPSTREAM_NM}" "${REPO_URL}"
-    git push -u "${UPSTREAM_NM}" "${GHP_BRANCH}" --force
-}
-
-cleanup() {
-    say_sh "> Switching back to working dir"
-    cd ..
-    rm -rf $TMPDIR
-    cd $CURDIR
-}
-
-
-main() {
-    setup_env
-    build_site
-    pre_pub
-    gh_publish
-    cleanup
-    say_sh "> Done"
-}
-
-main
\ No newline at end of file
diff --git a/src/css/extras.css b/src/css/extras.css
deleted file mode 100644
index e25391a..0000000
--- a/src/css/extras.css
+++ /dev/null
@@ -1,48 +0,0 @@
-a[data-linker] {
-    color: #9bf6ff;
-    -webkit-text-decoration: underline dotted #e5989b;
-    text-decoration: underline dotted #e5989b;
-}
-
-span[id="icon-py"] {
-    content: url("https://api.iconify.design/logos/python.svg");
-}
-
-span[id="icon-js"] {
-    content: url("https://api.iconify.design/logos/javascript.svg");
-}
-
-span[id="icon-ts"] {
-    content: url("https://api.iconify.design/logos/typescript-icon.svg");
-}
-
-span[id="icon-rs"] {
-    content: url("https://api.iconify.design/logos/rust.svg");
-    filter: invert(34%) sepia(58%) saturate(4679%) hue-rotate(8deg) brightness(102%) contrast(103%);
-}
-
-span[id="icon-sh"] {
-    content: url("https://api.iconify.design/logos/bash-icon.svg");
-}
-
-span[id="icon-dart"] {
-    content: url("https://api.iconify.design/logos/dart.svg");
-}
-
-span[id="icon-vlang"] {
-    content: url("https://api.iconify.design/logos/vlang.svg");
-}
-
-span[id="icon-gh"] {
-    content: url("https://api.iconify.design/logos/github-icon.svg");
-    filter: invert(99%) sepia(0%) saturate(122%) hue-rotate(35deg) brightness(112%) contrast();
-}
-
-span[id="icon-email"] {
-    content: url("https://api.iconify.design/logos/google-gmail.svg");
-}
-
-span[id="icon-tele"] {
-    content: url("https://api.iconify.design/logos/telegram.svg");
-    transform: scale(1.3);
-}
\ No newline at end of file
diff --git a/src/css/main.css b/src/css/main.css
deleted file mode 100644
index 0c957b7..0000000
--- a/src/css/main.css
+++ /dev/null
@@ -1,212 +0,0 @@
-/* Author: Itz-fork */
-
-@import "https://cdn.jsdelivr.net/gh/Itz-fork/Zephyr@latest/Zephyr/styles/text.css";
-@import "https://fonts.googleapis.com/css2?family=Satisfy&family=Sintony:wght@700&family=Yellowtail&display=swap";
-
-
-/* Global */
-html {
-    scroll-behavior: smooth;
-}
-
-h2 {
-    text-decoration: underline;
-}
-
-h2:before {
-    content: "$ ";
-}
-
-h2:after {
-    content: " ▌";
-    animation: 1s infinite txt-indicator-ani;
-}
-
-p {
-    background-color: #00000080;
-    border-radius: 20px;
-    padding: 5px;
-    font-size: 1.1rem;
-    display: inline-block;
-}
-
-@media only screen and (device-width >=990px) {
-    p {
-        max-width: 50vw;
-    }
-}
-
-button.gradnime,
-button.sc_btns {
-    font-family: var(--z-font);
-    color: var(--z-white-text);
-    box-shadow: 0 2px 4px 0 var(--z-default-shadow);
-    background-color: #000c;
-    border: none;
-    border-radius: 10px;
-    margin: .6em .5em;
-    padding: .8em;
-    font-size: 1em;
-    font-weight: bold;
-    transition: all .3s ease-in-out;
-}
-
-button.gradnime:hover:not(button.sc_btns),
-button.sc_btns:hover:not(button.sc_btns) {
-    background: linear-gradient(60deg, #fb09, #f059, #7a2bbf99, #02c59b99) 0 0 / 300% 300%;
-    animation: 3s infinite alternate loop-grad;
-}
-
-
-/* Animations */
-@keyframes loop-bg {
-    from {
-        background-position: 0%;
-    }
-
-    to {
-        background-position: -200%;
-    }
-}
-
-@keyframes zoom-out {
-    from {
-        transform: scale(1.5);
-    }
-
-    to {
-        transform: scale(1);
-    }
-}
-
-@keyframes txt-indicator-ani {
-    from {
-        opacity: 0;
-    }
-
-    50% {
-        opacity: 1;
-    }
-
-    to {
-        opacity: 0;
-    }
-}
-
-@keyframes loop-grad {
-    0% {
-        background-position: 0%;
-    }
-
-    50% {
-        background-position: 100%;
-    }
-
-    100% {
-        background-position: 0%;
-    }
-}
-
-
-/* Background */
-#sqbg {
-    color: #f0f8ff;
-    display: grid;
-    z-index: -1;
-    gap: 2px;
-    top: 0;
-    left: 0;
-    width: 100%;
-    height: 100%;
-    position: fixed;
-    overflow: hidden;
-    text-align: center;
-    filter: brightness(50%);
-    grid-template-columns: repeat(var(--columns), 1fr);
-    grid-template-rows: repeat(var(--rows), 1fr);
-    background: linear-gradient(to right, #ed5ab3, #1640d6, #ed5ab3) 0 0 / 200%;
-    animation: 5s infinite alternate loop-bg, 4s 1 zoom-out;
-}
-
-.sqr_block {
-    color: #808080e6;
-    z-index: 100;
-    filter: blur(5px);
-    filter: brightness(50%);
-    -webkit-user-select: none;
-    user-select: none;
-    background-color: #000000e6;
-    border-radius: 5px;
-    justify-content: center;
-    align-items: center;
-    font-family: Space Grotesk, monospace;
-    display: flex;
-    overflow: hidden;
-}
-
-
-/* Main section */
-.greet {
-    color: var(--z-white-text);
-    font-size: 2rem;
-}
-
-#main {
-    min-height: 100vh;
-    margin-top: 20vh;
-    margin-left: 6vw;
-    margin-right: 5vw;
-}
-
-#main>span {
-    font-family: var(--z-font);
-}
-
-#main>h1 {
-    color: var(--z-white-text);
-    margin-top: 0;
-    margin-left: 1.5rem;
-    font-family: Sintony, sans-serif;
-    font-size: 3rem;
-}
-
-
-/* About section */
-#about {
-    min-height: 100vh;
-    margin-left: 6vw;
-}
-
-
-/* Skills section */
-#skills {
-    min-height: 80vh;
-    margin-left: 6vw;
-}
-
-
-/* Footer section */
-footer {
-    text-align: center;
-    background-color: #e6afe680;
-    border-radius: 10px;
-    width: 100%;
-    min-height: 20vh;
-
-    div .sc_btns:hover {
-        background-color: #000000e6;
-        transform: scale(1.1);
-    }
-}
-
-footer>.footer_text {
-    color: #fefae0;
-    font-size: 1rem;
-    font-family: var(--z-font);
-    margin-top: 1.5rem;
-    display: inline-block;
-}
-
-footer>div {
-    margin-top: 1rem;
-}
\ No newline at end of file
diff --git a/src/index.html b/src/index.html
deleted file mode 100644
index f907b8b..0000000
--- a/src/index.html
+++ /dev/null
@@ -1,81 +0,0 @@
-<!DOCTYPE html>
-<html lang="en">
-
-<head>
-  <meta charset="UTF-8">
-  <meta name="viewport" content="width=device-width, initial-scale=1.0">
-  <meta name="description" content="Hirusha Himath's (Itz-fork) portfolio">
-  <link rel="icon" type="image/x-icon" href="https://avatars.githubusercontent.com/u/77770753?v=4" />
-  <link rel="stylesheet" href="css/main.css">
-  <link rel="stylesheet" href="css/extras.css">
-  <title>Hirusha Himath - Itz-fork</title>
-</head>
-
-<body>
-  <div id="sqbg">
-
-  </div>
-  <!-- Home section -->
-  <section id="main">
-    <span class="greet">Hi 👋, I'm</span>
-
-    <h1>Hirusha</h1>
-
-    <p>A teenager who loves to build stuff</p><br>
-
-    <a href="#about"><button class="gradnime">$ whoami _</button></a>
-  </section>
-
-
-  <!-- About section -->
-  <section id="about" data-aos="fade-up">
-    <h2>About me</h2>
-    <p>
-      I'm Hirusha Himath (aka @Itz-fork), a full-stack developer from Sri Lanka. After being fascinated by things
-      that a 2kg chunk of metal could do, I started my journey as a backend developer with Python in late 2018. As time
-      went on, my desire to learn about technology increased to the point where I became addicted to it.
-      <br><br>
-      Over the next 5 years, I learned more and more things about computers and software. Needless to say, during those
-      years I also learned about front-end development thus making me a full-stack developer.
-      Check out <a href="#skills" data-linker>my skills</a> 💪
-    </p>
-  </section>
-
-  <!-- Skills section -->
-
-  <section id="skills">
-    <h2>Skills </h2>
-
-    <p>
-      Over the past 5 years, I learned many programming languages, frameworks, concepts and in order to focus on what
-      matters and deliver better products
-      Below are all the languages that I had experience with 👇
-    </p>
-
-    <div>
-      <button class="gradnime"><span id="icon-py"></span> Python</button>
-      <button class="gradnime"><span id="icon-js"></span> Javascript</button>
-      <button class="gradnime"><span id="icon-ts"></span> TypeScript</button>
-      <button class="gradnime"><span id="icon-rs"></span> Rust</button>
-      <button class="gradnime"><span id="icon-sh"></span> Bash</button>
-      <button class="gradnime"><span id="icon-dart"></span> Dart</button>
-      <button class="gradnime"><span id="icon-vlang"></span> Vlang</button>
-    </div>
-  </section>
-
-  <footer>
-    <span class="footer_text">Made by Itz-fork 💜</span>
-    <div>
-      <a href="https://github.com/Itz-fork" target="_blank"><button class="sc_btns"><span id="icon-gh"></span>
-          Github</button></a>
-      <a href="mailto:git.itzfork@gmail.com"><button class="sc_btns"><span id="icon-email"></span> Email</button></a>
-      <a href="https://t.me/Bruh_0x" target="_blank"><button class="sc_btns"><span id="icon-tele"></span>
-          Telegram</button></a>
-    </div>
-  </footer>
-
-
-  <script src="js/effects.js"></script>
-</body>
-
-</html>
\ No newline at end of file
diff --git a/src/js/effects.js b/src/js/effects.js
deleted file mode 100644
index c8678b7..0000000
--- a/src/js/effects.js
+++ /dev/null
@@ -1,101 +0,0 @@
-// Author: Itz-fork
-
-
-//  Pre-defined variables
-var intWidth = window.innerWidth
-var intHeight = window.innerHeight
-const container = document.getElementById("sqbg");
-const cursor = document.getElementById("cursor");
-
-const size = 100;
-let columns = 0, rows = 0;
-const codes = [
-    "backend",
-    "frontend",
-    "full-stack",
-    "python",
-    "javascript",
-    "typescript",
-    "bash",
-    "dart",
-    "vlang",
-    "html",
-    "css",
-    "Arch btw",
-    "android",
-    "windows",
-    "deno",
-    "svelte",
-    "nuxt",
-    "git",
-    "docker",
-    "Fastapi",
-    "API",
-    "CLI",
-    "Web scraping",
-    "scripting",
-    "$ sudo -b",
-    "$ whoami",
-    "$ ifconfig",
-    "$ ping",
-    "$ route",
-    "$ netstat",
-    "pub fn",
-    "def hello()",
-    "while True",
-    "struct Code",
-    "interface Life"
-];
-
-
-// Background grid
-function AddSqrs(sq) {
-    while (sq > 0) {
-        let sqrel = document.createElement("div");
-        sqrel.classList.add("sqr_block");
-        sqrel.innerText = codes[Math.floor(Math.random() * codes.length)];
-        container.appendChild(sqrel);
-        sq--;
-    }
-}
-const CalcGrid = () => {
-    container.innerHTML = "";
-    columns = Math.floor(window.innerWidth / size);
-    rows = Math.floor(window.innerHeight / size);
-    container.style.setProperty("--columns", columns);
-    container.style.setProperty("--rows", rows);
-    AddSqrs(columns * rows);
-};
-CalcGrid();
-
-// Generate grid on resize
-window.onresize = () => {
-    let curWidth = window.innerWidth
-    let curHeight = window.innerHeight
-    if (curWidth != intWidth && curHeight != intHeight) {
-        CalcGrid()
-    }
-};
-
-// Mouse move effect
-window.onmousemove = (ev) => {
-    let position = Math.floor(ev.x / 100) + Math.floor(ev.y / 100) * columns;
-    let el = container.children[position];
-    try {
-        el.animate({
-            opacity: [
-                0.2,
-                0.9,
-                1
-            ],
-            offset: [
-                0,
-                0.8
-            ],
-            easing: [
-                "ease-in",
-                "ease-out"
-            ]
-        }, 2000);
-    } catch (e) { }
-};
