diff --git a/docs/astro.config.mjs b/docs/astro.config.mjs
index e0550ced3f3fd4d1b3e1d45303e41c07e8a33f7b..2dd7da1eb4c978febb55d70d8dfc8bb3599b546e 100644
--- a/docs/astro.config.mjs
+++ b/docs/astro.config.mjs
@@ -181,6 +181,113 @@ export default defineConfig({
                 "nn-no": "Autentisering",
               },
             },
+            {
+              label: "Create your first podcast",
+              link: "/getting-started/create-podcast/",
+              translations: {},
+            },
+            {
+              label: "Create your first episode",
+              link: "/getting-started/create-episode/",
+              translations: {},
+            },
+          ],
+        },
+        {
+          label: "User guide",
+          translations: {},
+          items: [
+            {
+              label: "Introduction",
+              link: "/user-guide/",
+            },
+            {
+              label: "Manage your instance",
+              translations: {},
+              items: [
+                {
+                  label: "Introduction",
+                  link: "/user-guide/instance/",
+                },
+                {
+                  label: "Add a podcast",
+                  link: "/user-guide/instance/add-podcast",
+                  translations: {},
+                },
+                {
+                  label: "Persons",
+                  link: "/user-guide/instance/persons",
+                  translations: {},
+                },
+
+                {
+                  label: "Fediverse",
+                  link: "/user-guide/instance/fediverse",
+                  translations: {},
+                },
+                {
+                  label: "Users",
+                  link: "/user-guide/instance/users",
+                  translations: {},
+                },
+                {
+                  label: "Pages",
+                  link: "/user-guide/instance/pages",
+                  translations: {},
+                },
+                {
+                  label: "Settings",
+                  link: "/user-guide/instance/settings",
+                  translations: {},
+                },
+              ],
+            },
+            {
+              label: "Manage your podcasts",
+              translations: {},
+              items: [
+                {
+                  label: "Introduction",
+                  link: "/user-guide/podcast/",
+                },
+                {
+                  label: "Podcast dashboard",
+                  link: "/user-guide/podcast/dashboard",
+                  translations: {},
+                },
+                {
+                  label: "Episodes",
+                  link: "/user-guide/podcast/episodes",
+                  translations: {},
+                },
+
+                {
+                  label: "Analytics",
+                  link: "/user-guide/podcast/analytics",
+                  translations: {},
+                },
+                {
+                  label: "Broadcasting",
+                  link: "/user-guide/podcast/broadcast",
+                  translations: {},
+                },
+                {
+                  label: "Monetization",
+                  link: "/user-guide/podcast/monetization",
+                  translations: {},
+                },
+                {
+                  label: "Contributors",
+                  link: "/user-guide/podcast/contributors",
+                  translations: {},
+                },
+              ],
+            },
+            {
+              label: "Website overview",
+              link: "/user-guide/website/",
+              translations: {},
+            },
           ],
         },
       ],
diff --git a/docs/package.json b/docs/package.json
index c995429af13f0a7fe2cbf4410ab90cebe2a6fb2c..c40c27c9d3c38f658e7eca8ae68575e2a642cc86 100644
--- a/docs/package.json
+++ b/docs/package.json
@@ -11,18 +11,18 @@
     "prepare": "astro telemetry disable"
   },
   "dependencies": {
-    "@astrojs/check": "^0.7.0",
-    "@astrojs/starlight": "^0.22.4",
-    "@astrojs/starlight-tailwind": "^2.0.2",
-    "@astrojs/tailwind": "^5.1.0",
-    "@fontsource/inter": "^5.0.18",
-    "@fontsource/rubik": "^5.0.20",
-    "astro": "^4.8.6",
-    "autoprefixer": "^10.4.19",
-    "cssnano": "^7.0.1",
-    "postcss-preset-env": "^9.5.13",
-    "sharp": "^0.33.4",
-    "tailwindcss": "^3.4.3",
-    "typescript": "^5.4.5"
+    "@astrojs/check": "^0.9.4",
+    "@astrojs/starlight": "^0.28.6",
+    "@astrojs/starlight-tailwind": "^2.0.3",
+    "@astrojs/tailwind": "^5.1.2",
+    "@fontsource/inter": "^5.1.0",
+    "@fontsource/rubik": "^5.1.0",
+    "astro": "^4.16.9",
+    "autoprefixer": "^10.4.20",
+    "cssnano": "^7.0.6",
+    "postcss-preset-env": "^10.0.9",
+    "sharp": "^0.33.5",
+    "tailwindcss": "^3.4.14",
+    "typescript": "^5.6.3"
   }
 }
diff --git a/docs/pnpm-lock.yaml b/docs/pnpm-lock.yaml
index 2f88765ab5e4142186012ea8cfb80508180094ff..037a743c598760789d551c532d259f481aa5687b 100644
--- a/docs/pnpm-lock.yaml
+++ b/docs/pnpm-lock.yaml
@@ -8,44 +8,44 @@ importers:
   .:
     dependencies:
       "@astrojs/check":
-        specifier: ^0.7.0
-        version: 0.7.0(typescript@5.4.5)
+        specifier: ^0.9.4
+        version: 0.9.4(typescript@5.6.3)
       "@astrojs/starlight":
-        specifier: ^0.22.4
-        version: 0.22.4(astro@4.8.6(typescript@5.4.5))
+        specifier: ^0.28.6
+        version: 0.28.6(astro@4.16.9(rollup@4.24.4)(typescript@5.6.3))
       "@astrojs/starlight-tailwind":
-        specifier: ^2.0.2
-        version: 2.0.2(@astrojs/starlight@0.22.4(astro@4.8.6(typescript@5.4.5)))(@astrojs/tailwind@5.1.0(astro@4.8.6(typescript@5.4.5))(tailwindcss@3.4.3))(tailwindcss@3.4.3)
+        specifier: ^2.0.3
+        version: 2.0.3(@astrojs/starlight@0.28.6(astro@4.16.9(rollup@4.24.4)(typescript@5.6.3)))(@astrojs/tailwind@5.1.2(astro@4.16.9(rollup@4.24.4)(typescript@5.6.3))(tailwindcss@3.4.14))(tailwindcss@3.4.14)
       "@astrojs/tailwind":
-        specifier: ^5.1.0
-        version: 5.1.0(astro@4.8.6(typescript@5.4.5))(tailwindcss@3.4.3)
+        specifier: ^5.1.2
+        version: 5.1.2(astro@4.16.9(rollup@4.24.4)(typescript@5.6.3))(tailwindcss@3.4.14)
       "@fontsource/inter":
-        specifier: ^5.0.18
-        version: 5.0.18
+        specifier: ^5.1.0
+        version: 5.1.0
       "@fontsource/rubik":
-        specifier: ^5.0.20
-        version: 5.0.20
+        specifier: ^5.1.0
+        version: 5.1.0
       astro:
-        specifier: ^4.8.6
-        version: 4.8.6(typescript@5.4.5)
+        specifier: ^4.16.9
+        version: 4.16.9(rollup@4.24.4)(typescript@5.6.3)
       autoprefixer:
-        specifier: ^10.4.19
-        version: 10.4.19(postcss@8.4.33)
+        specifier: ^10.4.20
+        version: 10.4.20(postcss@8.4.38)
       cssnano:
-        specifier: ^7.0.1
-        version: 7.0.1(postcss@8.4.33)
+        specifier: ^7.0.6
+        version: 7.0.6(postcss@8.4.38)
       postcss-preset-env:
-        specifier: ^9.5.13
-        version: 9.5.13(postcss@8.4.33)
+        specifier: ^10.0.9
+        version: 10.0.9(postcss@8.4.38)
       sharp:
-        specifier: ^0.33.4
-        version: 0.33.4
+        specifier: ^0.33.5
+        version: 0.33.5
       tailwindcss:
-        specifier: ^3.4.3
-        version: 3.4.3
+        specifier: ^3.4.14
+        version: 3.4.14
       typescript:
-        specifier: ^5.4.5
-        version: 5.4.5
+        specifier: ^5.6.3
+        version: 5.6.3
 
 packages:
   "@alloc/quick-lru@5.2.0":
@@ -62,31 +62,31 @@ packages:
       }
     engines: { node: ">=6.0.0" }
 
-  "@astrojs/check@0.7.0":
+  "@astrojs/check@0.9.4":
     resolution:
       {
-        integrity: sha512-UTqwOeKNu9IYZmJXEeWnQuTdSd/pX58Hl4TUARsMlT97SVDL//kLBE4T/ctxRz6J573N87oE5ddtW/uOOnQTug==,
+        integrity: sha512-IOheHwCtpUfvogHHsvu0AbeRZEnjJg3MopdLddkJE70mULItS/Vh37BHcI00mcOJcH1vhD3odbpvWokpxam7xA==,
       }
     hasBin: true
     peerDependencies:
       typescript: ^5.0.0
 
-  "@astrojs/compiler@2.8.0":
+  "@astrojs/compiler@2.10.3":
     resolution:
       {
-        integrity: sha512-yrpD1WRGqsJwANaDIdtHo+YVjvIOFAjC83lu5qENIgrafwZcJgSXDuwVMXOgok4tFzpeKLsFQ6c3FoUdloLWBQ==,
+        integrity: sha512-bL/O7YBxsFt55YHU021oL+xz+B/9HvGNId3F9xURN16aeqDK9juHGktdkCSXz+U4nqFACq6ZFvWomOzhV+zfPw==,
       }
 
-  "@astrojs/internal-helpers@0.4.0":
+  "@astrojs/internal-helpers@0.4.1":
     resolution:
       {
-        integrity: sha512-6B13lz5n6BrbTqCTwhXjJXuR1sqiX/H6rTxzlXx+lN1NnV4jgnq/KJldCQaUWJzPL5SiWahQyinxAbxQtwgPHA==,
+        integrity: sha512-bMf9jFihO8YP940uD70SI/RDzIhUHJAolWVcO1v5PUivxGKvfLZTLTVVxEYzGYyPsA3ivdLNqMnL5VgmQySa+g==,
       }
 
-  "@astrojs/language-server@2.10.0":
+  "@astrojs/language-server@2.15.4":
     resolution:
       {
-        integrity: sha512-crHXpqYfA5qWioiuZnZFpTsNItgBlF1f0S9MzDYS7/pfCALkHNJ7K3w9U/j0uMKymsT4hC7BfMaX0DYlfdSzHg==,
+        integrity: sha512-JivzASqTPR2bao9BWsSc/woPHH7OGSGc9aMxXL4U6egVTqBycB3ZHdBJPuOCVtcGLrzdWTosAqVPz1BVoxE0+A==,
       }
     hasBin: true
     peerDependencies:
@@ -98,20 +98,20 @@ packages:
       prettier-plugin-astro:
         optional: true
 
-  "@astrojs/markdown-remark@5.1.0":
+  "@astrojs/markdown-remark@5.3.0":
     resolution:
       {
-        integrity: sha512-S6Z3K2hOB7MfjeDoHsotnP/q2UsnEDB8NlNAaCjMDsGBZfTUbWxyLW3CaphEWw08f6KLZi2ibK9yC3BaMhh2NQ==,
+        integrity: sha512-r0Ikqr0e6ozPb5bvhup1qdWnSPUvQu6tub4ZLYaKyG50BXZ0ej6FhGz3GpChKpH7kglRFPObJd/bDyf2VM9pkg==,
       }
 
-  "@astrojs/mdx@2.3.1":
+  "@astrojs/mdx@3.1.9":
     resolution:
       {
-        integrity: sha512-BOQFKD2Pi9cRntNQJlpF2fh4xV8doNpmVy9NKI95r4jsitrY4X5aTOhAowi+fkQgP/zW1A4HwCyQ6Pdam6z8zQ==,
+        integrity: sha512-3jPD4Bff6lIA20RQoonnZkRtZ9T3i0HFm6fcDF7BMsKIZ+xBP2KXzQWiuGu62lrVCmU612N+SQVGl5e0fI+zWg==,
       }
     engines: { node: ^18.17.1 || ^20.3.0 || >=21.0.0 }
     peerDependencies:
-      astro: ^4.0.0
+      astro: ^4.8.0
 
   "@astrojs/prism@3.1.0":
     resolution:
@@ -120,37 +120,37 @@ packages:
       }
     engines: { node: ^18.17.1 || ^20.3.0 || >=21.0.0 }
 
-  "@astrojs/sitemap@3.0.5":
+  "@astrojs/sitemap@3.2.1":
     resolution:
       {
-        integrity: sha512-60eLzNjMza3ABypiQPUC6ElOSZNZeY5CwSwgJ03hfeonl+Db9x12CCzBFdTw7A5Mq+O54xEZVUrR0tB+yWgX8w==,
+        integrity: sha512-uxMfO8f7pALq0ADL6Lk68UV6dNYjJ2xGUzyjjVj60JLBs5a6smtlkBYv3tQ0DzoqwS7c9n4FUx5lgv0yPo/fgA==,
       }
 
-  "@astrojs/starlight-tailwind@2.0.2":
+  "@astrojs/starlight-tailwind@2.0.3":
     resolution:
       {
-        integrity: sha512-XJccwk6VLeQZuGQwoiLZLNAPCn2fQobtl10Ra2c2yDLjdYEActcqy0eidZbouAwGlbS9I0iJogeGjHQJ2Casjg==,
+        integrity: sha512-ZwbdXS/9rxYlo3tKZoTZoBPUnaaqek02b341dHwOkmMT0lIR2w+8k0mRUGxnRaYtPdMcaL+nYFd8RUa8sjdyRg==,
       }
     peerDependencies:
       "@astrojs/starlight": ">=0.9.0"
       "@astrojs/tailwind": ^5.0.0
       tailwindcss: ^3.3.3
 
-  "@astrojs/starlight@0.22.4":
+  "@astrojs/starlight@0.28.6":
     resolution:
       {
-        integrity: sha512-AgiVEVv2ZkGHkoJcjY0azXG2K7892i+z4FpKtasnESTciomO91I/X9vAfKfHxmTxdVP5BGPxBFVi0Bp2X4Lxvg==,
+        integrity: sha512-lY+rbRMIVxDGiXhS4lBuVrU2jTUezEt4QeTxUTHxfj2tuKBwquG7Jg+alON6l+uaV+anbOkFb001MMXZF8X85w==,
       }
     peerDependencies:
-      astro: ^4.2.7
+      astro: ^4.14.0
 
-  "@astrojs/tailwind@5.1.0":
+  "@astrojs/tailwind@5.1.2":
     resolution:
       {
-        integrity: sha512-BJoCDKuWhU9FT2qYg+fr6Nfb3qP4ShtyjXGHKA/4mHN94z7BGcmauQK23iy+YH5qWvTnhqkd6mQPQ1yTZTe9Ig==,
+        integrity: sha512-IvOF0W/dtHElcXvhrPR35nHmhyV3cfz1EzPitMGtU7sYy9Hci3BNK1To6FWmVuuNKPxza1IgCGetSynJZL7fOg==,
       }
     peerDependencies:
-      astro: ^3.0.0 || ^4.0.0
+      astro: ^3.0.0 || ^4.0.0 || ^5.0.0-beta.0
       tailwindcss: ^3.0.24
 
   "@astrojs/telemetry@3.1.0":
@@ -160,550 +160,524 @@ packages:
       }
     engines: { node: ^18.17.1 || ^20.3.0 || >=21.0.0 }
 
-  "@babel/code-frame@7.24.2":
-    resolution:
-      {
-        integrity: sha512-y5+tLQyV8pg3fsiln67BVLD1P13Eg4lh5RW9mF0zUuvLrv9uIQ4MCL+CRT+FTsBlBjcIan6PGsLcBN0m3ClUyQ==,
-      }
-    engines: { node: ">=6.9.0" }
-
-  "@babel/compat-data@7.24.4":
-    resolution:
-      {
-        integrity: sha512-vg8Gih2MLK+kOkHJp4gBEIkyaIi00jgWot2D9QOmmfLC8jINSOzmCLta6Bvz/JSBCqnegV0L80jhxkol5GWNfQ==,
-      }
-    engines: { node: ">=6.9.0" }
-
-  "@babel/core@7.24.5":
-    resolution:
-      {
-        integrity: sha512-tVQRucExLQ02Boi4vdPp49svNGcfL2GhdTCT9aldhXgCJVAI21EtRfBettiuLUwce/7r6bFdgs6JFkcdTiFttA==,
-      }
-    engines: { node: ">=6.9.0" }
-
-  "@babel/generator@7.24.5":
+  "@astrojs/yaml2ts@0.2.2":
     resolution:
       {
-        integrity: sha512-x32i4hEXvr+iI0NEoEfDKzlemF8AmtOP8CcrRaEcpzysWuoEb1KknpcvMsHKPONoKZiDuItklgWhB18xEhr9PA==,
+        integrity: sha512-GOfvSr5Nqy2z5XiwqTouBBpy5FyI6DEe+/g/Mk5am9SjILN1S5fOEvYK0GuWHg98yS/dobP4m8qyqw/URW35fQ==,
       }
-    engines: { node: ">=6.9.0" }
 
-  "@babel/helper-annotate-as-pure@7.22.5":
+  "@babel/code-frame@7.26.2":
     resolution:
       {
-        integrity: sha512-LvBTxu8bQSQkcyKOU+a1btnNFQ1dMAd0R6PyW3arXes06F6QLWLIrd681bxRPIXlrMGR3XYnW9JyML7dP3qgxg==,
+        integrity: sha512-RJlIHRueQgwWitWgF8OdFYGZX328Ax5BCemNGlqHfplnRT9ESi8JkFlvaVYbS+UubVY6dpv87Fs2u5M29iNFVQ==,
       }
     engines: { node: ">=6.9.0" }
 
-  "@babel/helper-compilation-targets@7.23.6":
+  "@babel/compat-data@7.26.2":
     resolution:
       {
-        integrity: sha512-9JB548GZoQVmzrFgp8o7KxdgkTGm6xs9DW0o/Pim72UDjzr5ObUQ6ZzYPqA+g9OTS2bBQoctLJrky0RDCAWRgQ==,
+        integrity: sha512-Z0WgzSEa+aUcdiJuCIqgujCshpMWgUpgOxXotrYPSA53hA3qopNaqcJpyr0hVb1FeWdnqFA35/fUtXgBK8srQg==,
       }
     engines: { node: ">=6.9.0" }
 
-  "@babel/helper-environment-visitor@7.22.20":
+  "@babel/core@7.26.0":
     resolution:
       {
-        integrity: sha512-zfedSIzFhat/gFhWfHtgWvlec0nqB9YEIVrpuwjruLlXfUSnA8cJB0miHKwqDnQ7d32aKo2xt88/xZptwxbfhA==,
+        integrity: sha512-i1SLeK+DzNnQ3LL/CswPCa/E5u4lh1k6IAEphON8F+cXt0t9euTshDru0q7/IqMa1PMPz5RnHuHscF8/ZJsStg==,
       }
     engines: { node: ">=6.9.0" }
 
-  "@babel/helper-function-name@7.23.0":
+  "@babel/generator@7.26.2":
     resolution:
       {
-        integrity: sha512-OErEqsrxjZTJciZ4Oo+eoZqeW9UIiOcuYKRJA4ZAgV9myA+pOXhhmpfNCKjEH/auVfEYVFJ6y1Tc4r0eIApqiw==,
+        integrity: sha512-zevQbhbau95nkoxSq3f/DC/SC+EEOUZd3DYqfSkMhY2/wfSeaHV1Ew4vk8e+x8lja31IbyuUa2uQ3JONqKbysw==,
       }
     engines: { node: ">=6.9.0" }
 
-  "@babel/helper-hoist-variables@7.22.5":
+  "@babel/helper-annotate-as-pure@7.25.9":
     resolution:
       {
-        integrity: sha512-wGjk9QZVzvknA6yKIUURb8zY3grXCcOZt+/7Wcy8O2uctxhplmUPkOdlgoNhmdVee2c92JXbf1xpMtVNbfoxRw==,
+        integrity: sha512-gv7320KBUFJz1RnylIg5WWYPRXKZ884AGkYpgpWW02TH66Dl+HaC1t1CKd0z3R4b6hdYEcmrNZHUmfCP+1u3/g==,
       }
     engines: { node: ">=6.9.0" }
 
-  "@babel/helper-module-imports@7.22.15":
+  "@babel/helper-compilation-targets@7.25.9":
     resolution:
       {
-        integrity: sha512-0pYVBnDKZO2fnSPCrgM/6WMc7eS20Fbok+0r88fp+YtWVLZrp4CkafFGIp+W0VKw4a22sgebPT99y+FDNMdP4w==,
+        integrity: sha512-j9Db8Suy6yV/VHa4qzrj9yZfZxhLWQdVnRlXxmKLYlhWUVB1sB2G5sxuWYXk/whHD9iW76PmNzxZ4UCnTQTVEQ==,
       }
     engines: { node: ">=6.9.0" }
 
-  "@babel/helper-module-imports@7.24.3":
+  "@babel/helper-module-imports@7.25.9":
     resolution:
       {
-        integrity: sha512-viKb0F9f2s0BCS22QSF308z/+1YWKV/76mwt61NBzS5izMzDPwdq1pTrzf+Li3npBWX9KdQbkeCt1jSAM7lZqg==,
+        integrity: sha512-tnUA4RsrmflIM6W6RFTLFSXITtl0wKjgpnLgXyowocVPrbYrLUXSBXDgTs8BlbmIzIdlBySRQjINYs2BAkiLtw==,
       }
     engines: { node: ">=6.9.0" }
 
-  "@babel/helper-module-transforms@7.24.5":
+  "@babel/helper-module-transforms@7.26.0":
     resolution:
       {
-        integrity: sha512-9GxeY8c2d2mdQUP1Dye0ks3VDyIMS98kt/llQ2nUId8IsWqTF0l1LkSX0/uP7l7MCDrzXS009Hyhe2gzTiGW8A==,
+        integrity: sha512-xO+xu6B5K2czEnQye6BHA7DolFFmS3LB7stHZFaOLb1pAwO1HWLS8fXA+eh0A2yIvltPVmx3eNNDBJA2SLHXFw==,
       }
     engines: { node: ">=6.9.0" }
     peerDependencies:
       "@babel/core": ^7.0.0
 
-  "@babel/helper-plugin-utils@7.22.5":
-    resolution:
-      {
-        integrity: sha512-uLls06UVKgFG9QD4OeFYLEGteMIAa5kpTPcFL28yuCIIzsf6ZyKZMllKVOCZFhiZ5ptnwX4mtKdWCBE/uT4amg==,
-      }
-    engines: { node: ">=6.9.0" }
-
-  "@babel/helper-simple-access@7.24.5":
+  "@babel/helper-plugin-utils@7.25.9":
     resolution:
       {
-        integrity: sha512-uH3Hmf5q5n7n8mz7arjUlDOCbttY/DW4DYhE6FUsjKJ/oYC1kQQUvwEQWxRwUpX9qQKRXeqLwWxrqilMrf32sQ==,
+        integrity: sha512-kSMlyUVdWe25rEsRGviIgOWnoT/nfABVWlqt9N19/dIPWViAOW2s9wznP5tURbs/IDuNk4gPy3YdYRgH3uxhBw==,
       }
     engines: { node: ">=6.9.0" }
 
-  "@babel/helper-split-export-declaration@7.24.5":
+  "@babel/helper-string-parser@7.25.9":
     resolution:
       {
-        integrity: sha512-5CHncttXohrHk8GWOFCcCl4oRD9fKosWlIRgWm4ql9VYioKm52Mk2xsmoohvm7f3JoiLSM5ZgJuRaf5QZZYd3Q==,
+        integrity: sha512-4A/SCr/2KLd5jrtOMFzaKjVtAei3+2r/NChoBNoZ3EyP/+GlhoaEGoWOZUmFmoITP7zOJyHIMm+DYRd8o3PvHA==,
       }
     engines: { node: ">=6.9.0" }
 
-  "@babel/helper-string-parser@7.24.1":
+  "@babel/helper-validator-identifier@7.25.9":
     resolution:
       {
-        integrity: sha512-2ofRCjnnA9y+wk8b9IAREroeUP02KHp431N2mhKniy2yKIDKpbrHv9eXwm8cBeWQYcJmzv5qKCu65P47eCF7CQ==,
+        integrity: sha512-Ed61U6XJc3CVRfkERJWDz4dJwKe7iLmmJsbOGu9wSloNSFttHV0I8g6UAgb7qnK5ly5bGLPd4oXZlxCdANBOWQ==,
       }
     engines: { node: ">=6.9.0" }
 
-  "@babel/helper-validator-identifier@7.24.5":
+  "@babel/helper-validator-option@7.25.9":
     resolution:
       {
-        integrity: sha512-3q93SSKX2TWCG30M2G2kwaKeTYgEUp5Snjuj8qm729SObL6nbtUldAi37qbxkD5gg3xnBio+f9nqpSepGZMvxA==,
+        integrity: sha512-e/zv1co8pp55dNdEcCynfj9X7nyUKUXoUEwfXqaZt0omVOmDe9oOTdKStH4GmAw6zxMFs50ZayuMfHDKlO7Tfw==,
       }
     engines: { node: ">=6.9.0" }
 
-  "@babel/helper-validator-option@7.23.5":
+  "@babel/helpers@7.26.0":
     resolution:
       {
-        integrity: sha512-85ttAOMLsr53VgXkTbkx8oA6YTfT4q7/HzXSLEYmjcSTJPMPQtvq1BD79Byep5xMUYbGRzEpDsjUf3dyp54IKw==,
+        integrity: sha512-tbhNuIxNcVb21pInl3ZSjksLCvgdZy9KwJ8brv993QtIVKJBBkYXz4q4ZbAv31GdnC+R90np23L5FbEBlthAEw==,
       }
     engines: { node: ">=6.9.0" }
 
-  "@babel/helpers@7.24.5":
-    resolution:
-      {
-        integrity: sha512-CiQmBMMpMQHwM5m01YnrM6imUG1ebgYJ+fAIW4FZe6m4qHTPaRHti+R8cggAwkdz4oXhtO4/K9JWlh+8hIfR2Q==,
-      }
-    engines: { node: ">=6.9.0" }
-
-  "@babel/highlight@7.24.5":
+  "@babel/parser@7.24.5":
     resolution:
       {
-        integrity: sha512-8lLmua6AVh/8SLJRRVD6V8p73Hir9w5mJrhE+IPpILG31KKlI9iz5zmBYKcWPS59qSfgP9RaSBQSHHE81WKuEw==,
+        integrity: sha512-EOv5IK8arwh3LI47dz1b0tKUb/1uhHAnHJOrjgtQMIpu1uXd9mlFrJg9IUgGUgZ41Ch0K8REPTYpO7B76b4vJg==,
       }
-    engines: { node: ">=6.9.0" }
+    engines: { node: ">=6.0.0" }
+    hasBin: true
 
-  "@babel/parser@7.24.5":
+  "@babel/parser@7.26.2":
     resolution:
       {
-        integrity: sha512-EOv5IK8arwh3LI47dz1b0tKUb/1uhHAnHJOrjgtQMIpu1uXd9mlFrJg9IUgGUgZ41Ch0K8REPTYpO7B76b4vJg==,
+        integrity: sha512-DWMCZH9WA4Maitz2q21SRKHo9QXZxkDsbNZoVD62gusNtNBBqDg9i7uOhASfTfIGNzW+O+r7+jAlM8dwphcJKQ==,
       }
     engines: { node: ">=6.0.0" }
     hasBin: true
 
-  "@babel/plugin-syntax-jsx@7.23.3":
+  "@babel/plugin-syntax-jsx@7.25.9":
     resolution:
       {
-        integrity: sha512-EB2MELswq55OHUoRZLGg/zC7QWUKfNLpE57m/S2yr1uEneIgsTgrSzXP3NXEsMkVn76OlaVVnzN+ugObuYGwhg==,
+        integrity: sha512-ld6oezHQMZsZfp6pWtbjaNDF2tiiCYYDqQszHt5VV437lewP9aSi2Of99CK0D0XB21k7FLgnLcmQKyKzynfeAA==,
       }
     engines: { node: ">=6.9.0" }
     peerDependencies:
       "@babel/core": ^7.0.0-0
 
-  "@babel/plugin-transform-react-jsx@7.23.4":
+  "@babel/plugin-transform-react-jsx@7.25.9":
     resolution:
       {
-        integrity: sha512-5xOpoPguCZCRbo/JeHlloSkTA8Bld1J/E1/kLfD1nsuiW1m8tduTA1ERCgIZokDflX/IBzKcqR3l7VlRgiIfHA==,
+        integrity: sha512-s5XwpQYCqGerXl+Pu6VDL3x0j2d82eiV77UJ8a2mDHAW7j9SWRqQ2y1fNo1Z74CdcYipl5Z41zvjj4Nfzq36rw==,
       }
     engines: { node: ">=6.9.0" }
     peerDependencies:
       "@babel/core": ^7.0.0-0
 
-  "@babel/template@7.22.15":
+  "@babel/runtime@7.26.0":
     resolution:
       {
-        integrity: sha512-QPErUVm4uyJa60rkI73qneDacvdvzxshT3kksGqlGWYdOTIUOwJ7RDUL8sGqslY1uXWSL6xMFKEXDS3ox2uF0w==,
+        integrity: sha512-FDSOghenHTiToteC/QRlv2q3DhPZ/oOXTBoirfWNx1Cx3TMVcGWQtMMmQcSvb/JjpNeGzx8Pq/b4fKEJuWm1sw==,
       }
     engines: { node: ">=6.9.0" }
 
-  "@babel/template@7.24.0":
+  "@babel/template@7.25.9":
     resolution:
       {
-        integrity: sha512-Bkf2q8lMB0AFpX0NFEqSbx1OkTHf0f+0j82mkw+ZpzBnkk7e9Ql0891vlfgi+kHwOk8tQjiQHpqh4LaSa0fKEA==,
+        integrity: sha512-9DGttpmPvIxBb/2uwpVo3dqJ+O6RooAFOS+lB+xDqoE2PVCE8nfoHMdZLpfCQRLwvohzXISPZcgxt80xLfsuwg==,
       }
     engines: { node: ">=6.9.0" }
 
-  "@babel/traverse@7.24.5":
+  "@babel/traverse@7.25.9":
     resolution:
       {
-        integrity: sha512-7aaBLeDQ4zYcUFDUD41lJc1fG8+5IU9DaNSJAgal866FGvmD5EbWQgnEC6kO1gGLsX0esNkfnJSndbTXA3r7UA==,
+        integrity: sha512-ZCuvfwOwlz/bawvAuvcj8rrithP2/N55Tzz342AkTvq4qaWbGfmCk/tKhNaV2cthijKrPAA8SRJV5WWe7IBMJw==,
       }
     engines: { node: ">=6.9.0" }
 
-  "@babel/types@7.24.5":
+  "@babel/types@7.26.0":
     resolution:
       {
-        integrity: sha512-6mQNsaLeXTw0nxYUYu+NSa4Hx4BlF1x1x8/PMFbiR+GBSr+2DkECc69b8hgy2frEodNcvPffeH8YfWd3LI6jhQ==,
+        integrity: sha512-Z/yiTPj+lDVnF7lWeKCIJzaIkI0vYO87dMpZ4bg4TDrFe4XXLFWL1TbXU27gBP3QccxV9mZICCrnjnYlJjXHOA==,
       }
     engines: { node: ">=6.9.0" }
 
-  "@csstools/cascade-layer-name-parser@1.0.11":
+  "@csstools/cascade-layer-name-parser@2.0.4":
     resolution:
       {
-        integrity: sha512-yhsonEAhaWRQvHFYhSzOUobH2Ev++fMci+ppFRagw0qVSPlcPV4FnNmlwpM/b2BM10ZeMRkVV4So6YRswD0O0w==,
+        integrity: sha512-7DFHlPuIxviKYZrOiwVU/PiHLm3lLUR23OMuEEtfEOQTOp9hzQ2JjdY6X5H18RVuUPJqSCI+qNnD5iOLMVE0bA==,
       }
-    engines: { node: ^14 || ^16 || >=18 }
+    engines: { node: ">=18" }
     peerDependencies:
-      "@csstools/css-parser-algorithms": ^2.6.3
-      "@csstools/css-tokenizer": ^2.3.1
+      "@csstools/css-parser-algorithms": ^3.0.4
+      "@csstools/css-tokenizer": ^3.0.3
 
-  "@csstools/color-helpers@4.2.0":
+  "@csstools/color-helpers@5.0.1":
     resolution:
       {
-        integrity: sha512-hJJrSBzbfGxUsaR6X4Bzd/FLx0F1ulKnR5ljY9AiXCtsR+H+zSWQDFWlKES1BRaVZTDHLpIIHS9K2o0h+JLlrg==,
+        integrity: sha512-MKtmkA0BX87PKaO1NFRTFH+UnkgnmySQOvNxJubsadusqPEC2aJ9MOQiMceZJJ6oitUl/i0L6u0M1IrmAOmgBA==,
       }
-    engines: { node: ^14 || ^16 || >=18 }
+    engines: { node: ">=18" }
 
-  "@csstools/css-calc@1.2.2":
+  "@csstools/css-calc@2.0.4":
     resolution:
       {
-        integrity: sha512-0owrl7AruDRKAxoSIW8XzJdz7GnuW3AOj4rYLfmXsoKIX2ZZzttzGXoiC8n8V08X7wIBlEWWVB4C8fAN18+I6Q==,
+        integrity: sha512-8/iCd8lH10gKNsq5detnbGWiFd6PXK2wB8wjE6fHNNhtqvshyMrIJgffwRcw6yl/gzGTH+N1i+KRhjqHxqYTmg==,
       }
-    engines: { node: ^14 || ^16 || >=18 }
+    engines: { node: ">=18" }
     peerDependencies:
-      "@csstools/css-parser-algorithms": ^2.6.3
-      "@csstools/css-tokenizer": ^2.3.1
+      "@csstools/css-parser-algorithms": ^3.0.4
+      "@csstools/css-tokenizer": ^3.0.3
 
-  "@csstools/css-color-parser@2.0.2":
+  "@csstools/css-color-parser@3.0.5":
     resolution:
       {
-        integrity: sha512-Agx2YmxTcZ7TfB7KNZQ+iekaxbWSdblvtA35aTwE3KfuYyjOlCg3P4KGGdQF/cjm1pHWVSBo5duF/BRfZ8s07A==,
+        integrity: sha512-4Wo8raj9YF3PnZ5iGrAl+BSsk2MYBOEUS/X4k1HL9mInhyCVftEG02MywdvelXlwZGUF2XTQ0qj9Jd398mhqrw==,
       }
-    engines: { node: ^14 || ^16 || >=18 }
+    engines: { node: ">=18" }
     peerDependencies:
-      "@csstools/css-parser-algorithms": ^2.6.3
-      "@csstools/css-tokenizer": ^2.3.1
+      "@csstools/css-parser-algorithms": ^3.0.4
+      "@csstools/css-tokenizer": ^3.0.3
 
-  "@csstools/css-parser-algorithms@2.6.3":
+  "@csstools/css-parser-algorithms@3.0.4":
     resolution:
       {
-        integrity: sha512-xI/tL2zxzEbESvnSxwFgwvy5HS00oCXxL4MLs6HUiDcYfwowsoQaABKxUElp1ARITrINzBnsECOc1q0eg2GOrA==,
+        integrity: sha512-Up7rBoV77rv29d3uKHUIVubz1BTcgyUK72IvCQAbfbMv584xHcGKCKbWh7i8hPrRJ7qU4Y8IO3IY9m+iTB7P3A==,
       }
-    engines: { node: ^14 || ^16 || >=18 }
+    engines: { node: ">=18" }
     peerDependencies:
-      "@csstools/css-tokenizer": ^2.3.1
+      "@csstools/css-tokenizer": ^3.0.3
 
-  "@csstools/css-tokenizer@2.3.1":
+  "@csstools/css-tokenizer@3.0.3":
     resolution:
       {
-        integrity: sha512-iMNHTyxLbBlWIfGtabT157LH9DUx9X8+Y3oymFEuMj8HNc+rpE3dPFGFgHjpKfjeFDjLjYIAIhXPGvS2lKxL9g==,
+        integrity: sha512-UJnjoFsmxfKUdNYdWgOB0mWUypuLvAfQPH1+pyvRJs6euowbFkFC6P13w1l8mJyi3vxYMxc9kld5jZEGRQs6bw==,
       }
-    engines: { node: ^14 || ^16 || >=18 }
+    engines: { node: ">=18" }
 
-  "@csstools/media-query-list-parser@2.1.11":
+  "@csstools/media-query-list-parser@4.0.2":
     resolution:
       {
-        integrity: sha512-uox5MVhvNHqitPP+SynrB1o8oPxPMt2JLgp5ghJOWf54WGQ5OKu47efne49r1SWqs3wRP8xSWjnO9MBKxhB1dA==,
+        integrity: sha512-EUos465uvVvMJehckATTlNqGj4UJWkTmdWuDMjqvSUkjGpmOyFZBVwb4knxCm/k2GMTXY+c/5RkdndzFYWeX5A==,
       }
-    engines: { node: ^14 || ^16 || >=18 }
+    engines: { node: ">=18" }
     peerDependencies:
-      "@csstools/css-parser-algorithms": ^2.6.3
-      "@csstools/css-tokenizer": ^2.3.1
+      "@csstools/css-parser-algorithms": ^3.0.4
+      "@csstools/css-tokenizer": ^3.0.3
 
-  "@csstools/postcss-cascade-layers@4.0.6":
+  "@csstools/postcss-cascade-layers@5.0.1":
     resolution:
       {
-        integrity: sha512-Xt00qGAQyqAODFiFEJNkTpSUz5VfYqnDLECdlA/Vv17nl/OIV5QfTRHGAXrBGG5YcJyHpJ+GF9gF/RZvOQz4oA==,
+        integrity: sha512-XOfhI7GShVcKiKwmPAnWSqd2tBR0uxt+runAxttbSp/LY2U16yAVPmAf7e9q4JJ0d+xMNmpwNDLBXnmRCl3HMQ==,
       }
-    engines: { node: ^14 || ^16 || >=18 }
+    engines: { node: ">=18" }
     peerDependencies:
       postcss: ^8.4
 
-  "@csstools/postcss-color-function@3.0.16":
+  "@csstools/postcss-color-function@4.0.5":
     resolution:
       {
-        integrity: sha512-KtmXfckANSKsLBoTQCzggvKft1cmmmDKYjFO4yVlB23nWUgGInVBTE9T5JLmH29NNdTWSEPLWPUxoQ6XiIEn2Q==,
+        integrity: sha512-6dHr2NDsBMiZCPkGDi2qMfIbzV2kWV8Dh7SVb1FZGnN/r2TI4TSAkVF8rCG5L70yQZHMcQGB84yp8Zm+RGhoHA==,
       }
-    engines: { node: ^14 || ^16 || >=18 }
+    engines: { node: ">=18" }
     peerDependencies:
       postcss: ^8.4
 
-  "@csstools/postcss-color-mix-function@2.0.16":
+  "@csstools/postcss-color-mix-function@3.0.5":
     resolution:
       {
-        integrity: sha512-BJnD1M5Pdypl1cJuwGuzVC52PqgzaObsDLu34jgf+QU7daVFqz432PvpqvXTmfTSNt4OckOT1QIzWexEFlDNXw==,
+        integrity: sha512-jgq0oGbit7TxWYP8y2hWWfV64xzcAgJk54PBYZ2fDrRgEDy1l5YMCrFawnn+5JETh/E1jjXPDFhFEYhwr3vA3g==,
       }
-    engines: { node: ^14 || ^16 || >=18 }
+    engines: { node: ">=18" }
     peerDependencies:
       postcss: ^8.4
 
-  "@csstools/postcss-exponential-functions@1.0.7":
+  "@csstools/postcss-content-alt-text@2.0.4":
     resolution:
       {
-        integrity: sha512-9usBPQX74OhiF/VuaVrp44UAPzqbKNyoaxEa6tbEXiFp+OAm3yB/TLRKyPUWg5tvvHGCduGJVdJJB3w8c8NBtA==,
+        integrity: sha512-YItlZUOuZJCBlRaCf8Aucc1lgN41qYGALMly0qQllrxYJhiyzlI6RxOTMUvtWk+KhS8GphMDsDhKQ7KTPfEMSw==,
       }
-    engines: { node: ^14 || ^16 || >=18 }
+    engines: { node: ">=18" }
     peerDependencies:
       postcss: ^8.4
 
-  "@csstools/postcss-font-format-keywords@3.0.2":
+  "@csstools/postcss-exponential-functions@2.0.4":
     resolution:
       {
-        integrity: sha512-E0xz2sjm4AMCkXLCFvI/lyl4XO6aN1NCSMMVEOngFDJ+k2rDwfr6NDjWljk1li42jiLNChVX+YFnmfGCigZKXw==,
+        integrity: sha512-xmzFCGTkkLDs7q9vVaRGlnu8s51lRRJzHsaJ/nXmkQuyg0q7gh7rTbJ0bY5sSVet+KB7MTIxRXRUCl2tm7RODA==,
       }
-    engines: { node: ^14 || ^16 || >=18 }
+    engines: { node: ">=18" }
     peerDependencies:
       postcss: ^8.4
 
-  "@csstools/postcss-gamut-mapping@1.0.9":
+  "@csstools/postcss-font-format-keywords@4.0.0":
     resolution:
       {
-        integrity: sha512-JmOeiBJj1RJriAkr+aLBaiYUpEqdNOIo3ERQ5a4uNzy18upzrQ6tz7m2Vt1GQpJ62zQj7rC5PjAhCoZCoyE31g==,
+        integrity: sha512-usBzw9aCRDvchpok6C+4TXC57btc4bJtmKQWOHQxOVKen1ZfVqBUuCZ/wuqdX5GHsD0NRSr9XTP+5ID1ZZQBXw==,
       }
-    engines: { node: ^14 || ^16 || >=18 }
+    engines: { node: ">=18" }
     peerDependencies:
       postcss: ^8.4
 
-  "@csstools/postcss-gradients-interpolation-method@4.0.17":
+  "@csstools/postcss-gamut-mapping@2.0.5":
     resolution:
       {
-        integrity: sha512-qSNIqzLPKd2SadfWwHZv42lDRyYlLaM+Vx5rRIsnYCZbQxzFfe1XAwssrcCsHgba5bA6bi5oDoFCx0W+PRCpfw==,
+        integrity: sha512-VQDayRhC/Mg1fuo8/4F43La5aROgvVyqtCqdNyGvRKi6L1+zXfwQ583nImi7k/gn2GNJH82Bf9mutTuT1GtXzA==,
       }
-    engines: { node: ^14 || ^16 || >=18 }
+    engines: { node: ">=18" }
     peerDependencies:
       postcss: ^8.4
 
-  "@csstools/postcss-hwb-function@3.0.15":
+  "@csstools/postcss-gradients-interpolation-method@5.0.5":
     resolution:
       {
-        integrity: sha512-l34fRiZ7o5+pULv7OplXniBTU4TuKYNNOv0abuvUanddWGSy3+YHlMKUSgcVFo0d1DorxPAhJSTCrugl+4OmMQ==,
+        integrity: sha512-l3ShDdAt/szbyBh3Jz27MRFt5WPAbnVCMsU7Vs7EbBxJQNgVDrcu1APBB2nPagDJOyhI6/IahuW7nb6grWVTpA==,
       }
-    engines: { node: ^14 || ^16 || >=18 }
+    engines: { node: ">=18" }
     peerDependencies:
       postcss: ^8.4
 
-  "@csstools/postcss-ic-unit@3.0.6":
+  "@csstools/postcss-hwb-function@4.0.5":
     resolution:
       {
-        integrity: sha512-fHaU9C/sZPauXMrzPitZ/xbACbvxbkPpHoUgB9Kw5evtsBWdVkVrajOyiT9qX7/c+G1yjApoQjP1fQatldsy9w==,
+        integrity: sha512-bPn/SQyiiYjWkwK2ykc7O9LliMR50YfUGukd6jQI2okHzB7NxNt/IS45tS1Muk7Hhf3B9Lbmg1Ofq36tBmM92Q==,
       }
-    engines: { node: ^14 || ^16 || >=18 }
+    engines: { node: ">=18" }
     peerDependencies:
       postcss: ^8.4
 
-  "@csstools/postcss-initial@1.0.1":
+  "@csstools/postcss-ic-unit@4.0.0":
     resolution:
       {
-        integrity: sha512-wtb+IbUIrIf8CrN6MLQuFR7nlU5C7PwuebfeEXfjthUha1+XZj2RVi+5k/lukToA24sZkYAiSJfHM8uG/UZIdg==,
+        integrity: sha512-9QT5TDGgx7wD3EEMN3BSUG6ckb6Eh5gSPT5kZoVtUuAonfPmLDJyPhqR4ntPpMYhUKAMVKAg3I/AgzqHMSeLhA==,
       }
-    engines: { node: ^14 || ^16 || >=18 }
+    engines: { node: ">=18" }
     peerDependencies:
       postcss: ^8.4
 
-  "@csstools/postcss-is-pseudo-class@4.0.8":
+  "@csstools/postcss-initial@2.0.0":
     resolution:
       {
-        integrity: sha512-0aj591yGlq5Qac+plaWCbn5cpjs5Sh0daovYUKJUOMjIp70prGH/XPLp7QjxtbFXz3CTvb0H9a35dpEuIuUi3Q==,
+        integrity: sha512-dv2lNUKR+JV+OOhZm9paWzYBXOCi+rJPqJ2cJuhh9xd8USVrd0cBEPczla81HNOyThMQWeCcdln3gZkQV2kYxA==,
       }
-    engines: { node: ^14 || ^16 || >=18 }
+    engines: { node: ">=18" }
     peerDependencies:
       postcss: ^8.4
 
-  "@csstools/postcss-light-dark-function@1.0.5":
+  "@csstools/postcss-is-pseudo-class@5.0.1":
     resolution:
       {
-        integrity: sha512-kKM9dtEaVmSTb3scL2pgef62KyWv6SK19JiAnCCuiDhlRE6PADKzaPPBXmP3qj4IEgIH+cQhdEosB0eroU6Fnw==,
+        integrity: sha512-JLp3POui4S1auhDR0n8wHd/zTOWmMsmK3nQd3hhL6FhWPaox5W7j1se6zXOG/aP07wV2ww0lxbKYGwbBszOtfQ==,
       }
-    engines: { node: ^14 || ^16 || >=18 }
+    engines: { node: ">=18" }
     peerDependencies:
       postcss: ^8.4
 
-  "@csstools/postcss-logical-float-and-clear@2.0.1":
+  "@csstools/postcss-light-dark-function@2.0.7":
     resolution:
       {
-        integrity: sha512-SsrWUNaXKr+e/Uo4R/uIsqJYt3DaggIh/jyZdhy/q8fECoJSKsSMr7nObSLdvoULB69Zb6Bs+sefEIoMG/YfOA==,
+        integrity: sha512-ZZ0rwlanYKOHekyIPaU+sVm3BEHCe+Ha0/px+bmHe62n0Uc1lL34vbwrLYn6ote8PHlsqzKeTQdIejQCJ05tfw==,
       }
-    engines: { node: ^14 || ^16 || >=18 }
+    engines: { node: ">=18" }
     peerDependencies:
       postcss: ^8.4
 
-  "@csstools/postcss-logical-overflow@1.0.1":
+  "@csstools/postcss-logical-float-and-clear@3.0.0":
     resolution:
       {
-        integrity: sha512-Kl4lAbMg0iyztEzDhZuQw8Sj9r2uqFDcU1IPl+AAt2nue8K/f1i7ElvKtXkjhIAmKiy5h2EY8Gt/Cqg0pYFDCw==,
+        integrity: sha512-SEmaHMszwakI2rqKRJgE+8rpotFfne1ZS6bZqBoQIicFyV+xT1UF42eORPxJkVJVrH9C0ctUgwMSn3BLOIZldQ==,
       }
-    engines: { node: ^14 || ^16 || >=18 }
+    engines: { node: ">=18" }
     peerDependencies:
       postcss: ^8.4
 
-  "@csstools/postcss-logical-overscroll-behavior@1.0.1":
+  "@csstools/postcss-logical-overflow@2.0.0":
     resolution:
       {
-        integrity: sha512-+kHamNxAnX8ojPCtV8WPcUP3XcqMFBSDuBuvT6MHgq7oX4IQxLIXKx64t7g9LiuJzE7vd06Q9qUYR6bh4YnGpQ==,
+        integrity: sha512-spzR1MInxPuXKEX2csMamshR4LRaSZ3UXVaRGjeQxl70ySxOhMpP2252RAFsg8QyyBXBzuVOOdx1+bVO5bPIzA==,
       }
-    engines: { node: ^14 || ^16 || >=18 }
+    engines: { node: ">=18" }
     peerDependencies:
       postcss: ^8.4
 
-  "@csstools/postcss-logical-resize@2.0.1":
+  "@csstools/postcss-logical-overscroll-behavior@2.0.0":
     resolution:
       {
-        integrity: sha512-W5Gtwz7oIuFcKa5SmBjQ2uxr8ZoL7M2bkoIf0T1WeNqljMkBrfw1DDA8/J83k57NQ1kcweJEjkJ04pUkmyee3A==,
+        integrity: sha512-e/webMjoGOSYfqLunyzByZj5KKe5oyVg/YSbie99VEaSDE2kimFm0q1f6t/6Jo+VVCQ/jbe2Xy+uX+C4xzWs4w==,
       }
-    engines: { node: ^14 || ^16 || >=18 }
+    engines: { node: ">=18" }
     peerDependencies:
       postcss: ^8.4
 
-  "@csstools/postcss-logical-viewport-units@2.0.9":
+  "@csstools/postcss-logical-resize@3.0.0":
     resolution:
       {
-        integrity: sha512-iBBJuExgHwedFH9AqNOHWzZFgYnt17zhu1qWjmSihu1P5pw0lIG9q5t3uIgJJFDNmYoOGfBKan66z9u1QH8yBQ==,
+        integrity: sha512-DFbHQOFW/+I+MY4Ycd/QN6Dg4Hcbb50elIJCfnwkRTCX05G11SwViI5BbBlg9iHRl4ytB7pmY5ieAFk3ws7yyg==,
       }
-    engines: { node: ^14 || ^16 || >=18 }
+    engines: { node: ">=18" }
     peerDependencies:
       postcss: ^8.4
 
-  "@csstools/postcss-media-minmax@1.1.6":
+  "@csstools/postcss-logical-viewport-units@3.0.3":
     resolution:
       {
-        integrity: sha512-bc0frf2Lod53j6wEHVsaVElfvCf6uhc96v99M/wUfer4MmNYfO3YLx1kFuB8xXvb0AXiWx4fohCJqemHV3bfRg==,
+        integrity: sha512-OC1IlG/yoGJdi0Y+7duz/kU/beCwO+Gua01sD6GtOtLi7ByQUpcIqs7UE/xuRPay4cHgOMatWdnDdsIDjnWpPw==,
       }
-    engines: { node: ^14 || ^16 || >=18 }
+    engines: { node: ">=18" }
     peerDependencies:
       postcss: ^8.4
 
-  "@csstools/postcss-media-queries-aspect-ratio-number-values@2.0.9":
+  "@csstools/postcss-media-minmax@2.0.4":
     resolution:
       {
-        integrity: sha512-PR0s3tFSxPoKoPLoKuiZuYhwQC5bQxq/gFfywX2u/kh8rMzesARPZYKxE71I3jHWi6KDHGZl9Xb5xcFPwtvLiQ==,
+        integrity: sha512-zgdBOCI9aKoy5GK9tb/3ve0pl7vH0HJg7rfQEWT3TZiIKh7XEWucDSTSwnwgdgtgz50UxrOfbK+C59M+u2fE2Q==,
       }
-    engines: { node: ^14 || ^16 || >=18 }
+    engines: { node: ">=18" }
     peerDependencies:
       postcss: ^8.4
 
-  "@csstools/postcss-nested-calc@3.0.2":
+  "@csstools/postcss-media-queries-aspect-ratio-number-values@3.0.4":
     resolution:
       {
-        integrity: sha512-ySUmPyawiHSmBW/VI44+IObcKH0v88LqFe0d09Sb3w4B1qjkaROc6d5IA3ll9kjD46IIX/dbO5bwFN/swyoyZA==,
+        integrity: sha512-AnGjVslHMm5xw9keusQYvjVWvuS7KWK+OJagaG0+m9QnIjZsrysD2kJP/tr/UJIyYtMCtu8OkUd+Rajb4DqtIQ==,
       }
-    engines: { node: ^14 || ^16 || >=18 }
+    engines: { node: ">=18" }
     peerDependencies:
       postcss: ^8.4
 
-  "@csstools/postcss-normalize-display-values@3.0.2":
+  "@csstools/postcss-nested-calc@4.0.0":
     resolution:
       {
-        integrity: sha512-fCapyyT/dUdyPtrelQSIV+d5HqtTgnNP/BEG9IuhgXHt93Wc4CfC1bQ55GzKAjWrZbgakMQ7MLfCXEf3rlZJOw==,
+        integrity: sha512-jMYDdqrQQxE7k9+KjstC3NbsmC063n1FTPLCgCRS2/qHUbHM0mNy9pIn4QIiQGs9I/Bg98vMqw7mJXBxa0N88A==,
       }
-    engines: { node: ^14 || ^16 || >=18 }
+    engines: { node: ">=18" }
     peerDependencies:
       postcss: ^8.4
 
-  "@csstools/postcss-oklab-function@3.0.16":
+  "@csstools/postcss-normalize-display-values@4.0.0":
     resolution:
       {
-        integrity: sha512-zm8nND+EraZrmbO4mgcT8FrJrAQUfWNfMmbV5uTCpWtAcO5ycX3E3bO8T1TjczKYRxC5QMM/91n9YExYCF4Mvw==,
+        integrity: sha512-HlEoG0IDRoHXzXnkV4in47dzsxdsjdz6+j7MLjaACABX2NfvjFS6XVAnpaDyGesz9gK2SC7MbNwdCHusObKJ9Q==,
       }
-    engines: { node: ^14 || ^16 || >=18 }
+    engines: { node: ">=18" }
     peerDependencies:
       postcss: ^8.4
 
-  "@csstools/postcss-progressive-custom-properties@3.2.0":
+  "@csstools/postcss-oklab-function@4.0.5":
     resolution:
       {
-        integrity: sha512-BZlirVxCRgKlE7yVme+Xvif72eTn1MYXj8oZ4Knb+jwaH4u3AN1DjbhM7j86RP5vvuAOexJ4JwfifYYKWMN/QQ==,
+        integrity: sha512-19bsJQFyJNSEhpaVq0Mq1E0HDXfx8qMHa/bR1MaHr1UD4DWvM2/J6YXb9OVGS7eFl92Y3c84Yggn9uFv13vsiQ==,
       }
-    engines: { node: ^14 || ^16 || >=18 }
+    engines: { node: ">=18" }
     peerDependencies:
       postcss: ^8.4
 
-  "@csstools/postcss-relative-color-syntax@2.0.16":
+  "@csstools/postcss-progressive-custom-properties@4.0.0":
     resolution:
       {
-        integrity: sha512-TSM8fVqJkT8JZDranZPnkpxjU/Q1sNR192lXMND+EcKOUjYa6uYpGSfHgjnWjCRiBSciettS+sL7y9wmnas7qQ==,
+        integrity: sha512-XQPtROaQjomnvLUSy/bALTR5VCtTVUFwYs1SblvYgLSeTo2a/bMNwUwo2piXw5rTv/FEYiy5yPSXBqg9OKUx7Q==,
       }
-    engines: { node: ^14 || ^16 || >=18 }
+    engines: { node: ">=18" }
     peerDependencies:
       postcss: ^8.4
 
-  "@csstools/postcss-scope-pseudo-class@3.0.1":
+  "@csstools/postcss-relative-color-syntax@3.0.5":
     resolution:
       {
-        integrity: sha512-3ZFonK2gfgqg29gUJ2w7xVw2wFJ1eNWVDONjbzGkm73gJHVCYK5fnCqlLr+N+KbEfv2XbWAO0AaOJCFB6Fer6A==,
+        integrity: sha512-5VrE4hAwv/ZpuL1Yo0ZGGFi1QPpIikp/rzz7LnpQ31ACQVRIA5/M9qZmJbRlZVsJ4bUFSQ3dq6kHSHrCt2uM6Q==,
       }
-    engines: { node: ^14 || ^16 || >=18 }
+    engines: { node: ">=18" }
     peerDependencies:
       postcss: ^8.4
 
-  "@csstools/postcss-stepped-value-functions@3.0.8":
+  "@csstools/postcss-scope-pseudo-class@4.0.1":
     resolution:
       {
-        integrity: sha512-X76+thsvsmH/SkqVbN+vjeFKe1ABGLRx8/Wl68QTb/zvJWdzgx5S/nbszZP5O3nTRc5eI8NxIOrQUiy30fR+0g==,
+        integrity: sha512-IMi9FwtH6LMNuLea1bjVMQAsUhFxJnyLSgOp/cpv5hrzWmrUYU5fm0EguNDIIOHUqzXode8F/1qkC/tEo/qN8Q==,
       }
-    engines: { node: ^14 || ^16 || >=18 }
+    engines: { node: ">=18" }
     peerDependencies:
       postcss: ^8.4
 
-  "@csstools/postcss-text-decoration-shorthand@3.0.6":
+  "@csstools/postcss-stepped-value-functions@4.0.4":
     resolution:
       {
-        integrity: sha512-Q8HEu4AEiwNVZBD6+DpQ8M9SajpMow4+WtmndWIAv8qxDtDYL4JK1xXWkhOGk28PrcJawOvkrEZ8Ri59UN1TJw==,
+        integrity: sha512-JjShuWZkmIOT8EfI7lYjl7V5qM29LNDdnnSo5O7v/InJJHfeiQjtxyAaZzKGXzpkghPrCAcgLfJ+IyqTdXo7IA==,
       }
-    engines: { node: ^14 || ^16 || >=18 }
+    engines: { node: ">=18" }
     peerDependencies:
       postcss: ^8.4
 
-  "@csstools/postcss-trigonometric-functions@3.0.8":
+  "@csstools/postcss-text-decoration-shorthand@4.0.1":
     resolution:
       {
-        integrity: sha512-zEzyGriPqoIYFgHJqWNy8bmoxjM4+ONyTap1ZzQK/Lll/VsCYvx0IckB33W/u89uLSVeeB8xC7uTrkoQ7ogKyQ==,
+        integrity: sha512-xPZIikbx6jyzWvhms27uugIc0I4ykH4keRvoa3rxX5K7lEhkbd54rjj/dv60qOCTisoS+3bmwJTeyV1VNBrXaw==,
       }
-    engines: { node: ^14 || ^16 || >=18 }
+    engines: { node: ">=18" }
     peerDependencies:
       postcss: ^8.4
 
-  "@csstools/postcss-unset-value@3.0.1":
+  "@csstools/postcss-trigonometric-functions@4.0.4":
     resolution:
       {
-        integrity: sha512-dbDnZ2ja2U8mbPP0Hvmt2RMEGBiF1H7oY6HYSpjteXJGihYwgxgTr6KRbbJ/V6c+4wd51M+9980qG4gKVn5ttg==,
+        integrity: sha512-nn+gWTZZlSnwbyUtGQCnvBXIx1TX+HVStvIm3221dWGQvp47bB5giMBbuAK4a/UJGBbfDQhGKEbYq++WWM1i1A==,
       }
-    engines: { node: ^14 || ^16 || >=18 }
+    engines: { node: ">=18" }
     peerDependencies:
       postcss: ^8.4
 
-  "@csstools/selector-resolve-nested@1.1.0":
+  "@csstools/postcss-unset-value@4.0.0":
     resolution:
       {
-        integrity: sha512-uWvSaeRcHyeNenKg8tp17EVDRkpflmdyvbE0DHo6D/GdBb6PDnCYYU6gRpXhtICMGMcahQmj2zGxwFM/WC8hCg==,
+        integrity: sha512-cBz3tOCI5Fw6NIFEwU3RiwK6mn3nKegjpJuzCndoGq3BZPkUjnsq7uQmIeMNeMbMk7YD2MfKcgCpZwX5jyXqCA==,
       }
-    engines: { node: ^14 || ^16 || >=18 }
+    engines: { node: ">=18" }
     peerDependencies:
-      postcss-selector-parser: ^6.0.13
+      postcss: ^8.4
 
-  "@csstools/selector-specificity@3.1.1":
+  "@csstools/selector-resolve-nested@3.0.0":
     resolution:
       {
-        integrity: sha512-a7cxGcJ2wIlMFLlh8z2ONm+715QkPHiyJcxwQlKOz/03GPw1COpfhcmC9wm4xlZfp//jWHNNMwzjtqHXVWU9KA==,
+        integrity: sha512-ZoK24Yku6VJU1gS79a5PFmC8yn3wIapiKmPgun0hZgEI5AOqgH2kiPRsPz1qkGv4HL+wuDLH83yQyk6inMYrJQ==,
       }
-    engines: { node: ^14 || ^16 || >=18 }
+    engines: { node: ">=18" }
     peerDependencies:
-      postcss-selector-parser: ^6.0.13
+      postcss-selector-parser: ^7.0.0
 
-  "@csstools/utilities@1.0.0":
+  "@csstools/selector-specificity@5.0.0":
     resolution:
       {
-        integrity: sha512-tAgvZQe/t2mlvpNosA4+CkMiZ2azISW5WPAcdSalZlEjQvUfghHxfQcrCiK/7/CrfAWVxyM88kGFYO82heIGDg==,
+        integrity: sha512-PCqQV3c4CoVm3kdPhyeZ07VmBRdH2EpMFA/pd9OASpOEC3aXNGoqPDAZ80D0cLpMBxnmk0+yNhGsEx31hq7Gtw==,
       }
-    engines: { node: ^14 || ^16 || >=18 }
+    engines: { node: ">=18" }
+    peerDependencies:
+      postcss-selector-parser: ^7.0.0
+
+  "@csstools/utilities@2.0.0":
+    resolution:
+      {
+        integrity: sha512-5VdOr0Z71u+Yp3ozOx8T11N703wIFGVRgOWbOZMKgglPJsWA54MRIoMNVMa7shUToIhx5J8vX4sOZgD2XiihiQ==,
+      }
+    engines: { node: ">=18" }
     peerDependencies:
       postcss: ^8.4
 
@@ -756,726 +730,417 @@ packages:
         integrity: sha512-fXVXEyFA5Yv3M3n8sUGT7+fvecGrZP4k6FnWWMSZVQf69kAq0LLpaBQLGcPR30m3zMmKYhECP4k/ZkzvhEW5kw==,
       }
 
-  "@emnapi/runtime@1.1.1":
-    resolution:
-      {
-        integrity: sha512-3bfqkzuR1KLx57nZfjr2NLnFOobvyS0aTszaEGCGqmYMVDRaGvgIZbjGSV/MHSSmLgQ/b9JFHQ5xm5WRZYd+XQ==,
-      }
-
-  "@esbuild/aix-ppc64@0.20.2":
+  "@emnapi/runtime@1.3.1":
     resolution:
       {
-        integrity: sha512-D+EBOJHXdNZcLJRBkhENNG8Wji2kgc9AZ9KiPr1JuZjsNtyHzrsfLRrY0tk2H2aoFu6RANO1y1iPPUCDYWkb5g==,
+        integrity: sha512-kEBmG8KyqtxJZv+ygbEim+KCGtIq1fC22Ms3S4ziXmYKm8uyoLX0MHONVKwp+9opg390VaKRNt4a7A9NwmpNhw==,
       }
-    engines: { node: ">=12" }
-    cpu: [ppc64]
-    os: [aix]
 
-  "@esbuild/aix-ppc64@0.21.3":
+  "@esbuild/aix-ppc64@0.21.5":
     resolution:
       {
-        integrity: sha512-yTgnwQpFVYfvvo4SvRFB0SwrW8YjOxEoT7wfMT7Ol5v7v5LDNvSGo67aExmxOb87nQNeWPVvaGBNfQ7BXcrZ9w==,
+        integrity: sha512-1SDgH6ZSPTlggy1yI6+Dbkiz8xzpHJEVAlF/AM1tHPLsf5STom9rwtjE4hKAF20FfXXNTFqEYXyJNWh1GiZedQ==,
       }
     engines: { node: ">=12" }
     cpu: [ppc64]
     os: [aix]
 
-  "@esbuild/android-arm64@0.20.2":
+  "@esbuild/android-arm64@0.21.5":
     resolution:
       {
-        integrity: sha512-mRzjLacRtl/tWU0SvD8lUEwb61yP9cqQo6noDZP/O8VkwafSYwZ4yWy24kan8jE/IMERpYncRt2dw438LP3Xmg==,
+        integrity: sha512-c0uX9VAUBQ7dTDCjq+wdyGLowMdtR/GoC2U5IYk/7D1H1JYC0qseD7+11iMP2mRLN9RcCMRcjC4YMclCzGwS/A==,
       }
     engines: { node: ">=12" }
     cpu: [arm64]
     os: [android]
 
-  "@esbuild/android-arm64@0.21.3":
+  "@esbuild/android-arm@0.21.5":
     resolution:
       {
-        integrity: sha512-c+ty9necz3zB1Y+d/N+mC6KVVkGUUOcm4ZmT5i/Fk5arOaY3i6CA3P5wo/7+XzV8cb4GrI/Zjp8NuOQ9Lfsosw==,
-      }
-    engines: { node: ">=12" }
-    cpu: [arm64]
-    os: [android]
-
-  "@esbuild/android-arm@0.20.2":
-    resolution:
-      {
-        integrity: sha512-t98Ra6pw2VaDhqNWO2Oph2LXbz/EJcnLmKLGBJwEwXX/JAN83Fym1rU8l0JUWK6HkIbWONCSSatf4sf2NBRx/w==,
-      }
-    engines: { node: ">=12" }
-    cpu: [arm]
-    os: [android]
-
-  "@esbuild/android-arm@0.21.3":
-    resolution:
-      {
-        integrity: sha512-bviJOLMgurLJtF1/mAoJLxDZDL6oU5/ztMHnJQRejbJrSc9FFu0QoUoFhvi6qSKJEw9y5oGyvr9fuDtzJ30rNQ==,
+        integrity: sha512-vCPvzSjpPHEi1siZdlvAlsPxXl7WbOVUBBAowWug4rJHb68Ox8KualB+1ocNvT5fjv6wpkX6o/iEpbDrf68zcg==,
       }
     engines: { node: ">=12" }
     cpu: [arm]
     os: [android]
 
-  "@esbuild/android-x64@0.20.2":
-    resolution:
-      {
-        integrity: sha512-btzExgV+/lMGDDa194CcUQm53ncxzeBrWJcncOBxuC6ndBkKxnHdFJn86mCIgTELsooUmwUm9FkhSp5HYu00Rg==,
-      }
-    engines: { node: ">=12" }
-    cpu: [x64]
-    os: [android]
-
-  "@esbuild/android-x64@0.21.3":
+  "@esbuild/android-x64@0.21.5":
     resolution:
       {
-        integrity: sha512-JReHfYCRK3FVX4Ra+y5EBH1b9e16TV2OxrPAvzMsGeES0X2Ndm9ImQRI4Ket757vhc5XBOuGperw63upesclRw==,
+        integrity: sha512-D7aPRUUNHRBwHxzxRvp856rjUHRFW1SdQATKXH2hqA0kAZb1hKmi02OpYRacl0TxIGz/ZmXWlbZgjwWYaCakTA==,
       }
     engines: { node: ">=12" }
     cpu: [x64]
     os: [android]
 
-  "@esbuild/darwin-arm64@0.20.2":
-    resolution:
-      {
-        integrity: sha512-4J6IRT+10J3aJH3l1yzEg9y3wkTDgDk7TSDFX+wKFiWjqWp/iCfLIYzGyasx9l0SAFPT1HwSCR+0w/h1ES/MjA==,
-      }
-    engines: { node: ">=12" }
-    cpu: [arm64]
-    os: [darwin]
-
-  "@esbuild/darwin-arm64@0.21.3":
+  "@esbuild/darwin-arm64@0.21.5":
     resolution:
       {
-        integrity: sha512-U3fuQ0xNiAkXOmQ6w5dKpEvXQRSpHOnbw7gEfHCRXPeTKW9sBzVck6C5Yneb8LfJm0l6le4NQfkNPnWMSlTFUQ==,
+        integrity: sha512-DwqXqZyuk5AiWWf3UfLiRDJ5EDd49zg6O9wclZ7kUMv2WRFr4HKjXp/5t8JZ11QbQfUS6/cRCKGwYhtNAY88kQ==,
       }
     engines: { node: ">=12" }
     cpu: [arm64]
     os: [darwin]
 
-  "@esbuild/darwin-x64@0.20.2":
-    resolution:
-      {
-        integrity: sha512-tBcXp9KNphnNH0dfhv8KYkZhjc+H3XBkF5DKtswJblV7KlT9EI2+jeA8DgBjp908WEuYll6pF+UStUCfEpdysA==,
-      }
-    engines: { node: ">=12" }
-    cpu: [x64]
-    os: [darwin]
-
-  "@esbuild/darwin-x64@0.21.3":
+  "@esbuild/darwin-x64@0.21.5":
     resolution:
       {
-        integrity: sha512-3m1CEB7F07s19wmaMNI2KANLcnaqryJxO1fXHUV5j1rWn+wMxdUYoPyO2TnAbfRZdi7ADRwJClmOwgT13qlP3Q==,
+        integrity: sha512-se/JjF8NlmKVG4kNIuyWMV/22ZaerB+qaSi5MdrXtd6R08kvs2qCN4C09miupktDitvh8jRFflwGFBQcxZRjbw==,
       }
     engines: { node: ">=12" }
     cpu: [x64]
     os: [darwin]
 
-  "@esbuild/freebsd-arm64@0.20.2":
-    resolution:
-      {
-        integrity: sha512-d3qI41G4SuLiCGCFGUrKsSeTXyWG6yem1KcGZVS+3FYlYhtNoNgYrWcvkOoaqMhwXSMrZRl69ArHsGJ9mYdbbw==,
-      }
-    engines: { node: ">=12" }
-    cpu: [arm64]
-    os: [freebsd]
-
-  "@esbuild/freebsd-arm64@0.21.3":
+  "@esbuild/freebsd-arm64@0.21.5":
     resolution:
       {
-        integrity: sha512-fsNAAl5pU6wmKHq91cHWQT0Fz0vtyE1JauMzKotrwqIKAswwP5cpHUCxZNSTuA/JlqtScq20/5KZ+TxQdovU/g==,
+        integrity: sha512-5JcRxxRDUJLX8JXp/wcBCy3pENnCgBR9bN6JsY4OmhfUtIHe3ZW0mawA7+RDAcMLrMIZaf03NlQiX9DGyB8h4g==,
       }
     engines: { node: ">=12" }
     cpu: [arm64]
     os: [freebsd]
 
-  "@esbuild/freebsd-x64@0.20.2":
+  "@esbuild/freebsd-x64@0.21.5":
     resolution:
       {
-        integrity: sha512-d+DipyvHRuqEeM5zDivKV1KuXn9WeRX6vqSqIDgwIfPQtwMP4jaDsQsDncjTDDsExT4lR/91OLjRo8bmC1e+Cw==,
+        integrity: sha512-J95kNBj1zkbMXtHVH29bBriQygMXqoVQOQYA+ISs0/2l3T9/kj42ow2mpqerRBxDJnmkUDCaQT/dfNXWX/ZZCQ==,
       }
     engines: { node: ">=12" }
     cpu: [x64]
     os: [freebsd]
 
-  "@esbuild/freebsd-x64@0.21.3":
+  "@esbuild/linux-arm64@0.21.5":
     resolution:
       {
-        integrity: sha512-tci+UJ4zP5EGF4rp8XlZIdq1q1a/1h9XuronfxTMCNBslpCtmk97Q/5qqy1Mu4zIc0yswN/yP/BLX+NTUC1bXA==,
+        integrity: sha512-ibKvmyYzKsBeX8d8I7MH/TMfWDXBF3db4qM6sy+7re0YXya+K1cem3on9XgdT2EQGMu4hQyZhan7TeQ8XkGp4Q==,
       }
     engines: { node: ">=12" }
-    cpu: [x64]
-    os: [freebsd]
+    cpu: [arm64]
+    os: [linux]
 
-  "@esbuild/linux-arm64@0.20.2":
+  "@esbuild/linux-arm@0.21.5":
     resolution:
       {
-        integrity: sha512-9pb6rBjGvTFNira2FLIWqDk/uaf42sSyLE8j1rnUpuzsODBq7FvpwHYZxQ/It/8b+QOS1RYfqgGFNLRI+qlq2A==,
+        integrity: sha512-bPb5AHZtbeNGjCKVZ9UGqGwo8EUu4cLq68E95A53KlxAPRmUyYv2D6F0uUI65XisGOL1hBP5mTronbgo+0bFcA==,
       }
     engines: { node: ">=12" }
-    cpu: [arm64]
+    cpu: [arm]
     os: [linux]
 
-  "@esbuild/linux-arm64@0.21.3":
+  "@esbuild/linux-ia32@0.21.5":
     resolution:
       {
-        integrity: sha512-vvG6R5g5ieB4eCJBQevyDMb31LMHthLpXTc2IGkFnPWS/GzIFDnaYFp558O+XybTmYrVjxnryru7QRleJvmZ6Q==,
+        integrity: sha512-YvjXDqLRqPDl2dvRODYmmhz4rPeVKYvppfGYKSNGdyZkA01046pLWyRKKI3ax8fbJoK5QbxblURkwK/MWY18Tg==,
       }
     engines: { node: ">=12" }
-    cpu: [arm64]
+    cpu: [ia32]
     os: [linux]
 
-  "@esbuild/linux-arm@0.20.2":
+  "@esbuild/linux-loong64@0.21.5":
     resolution:
       {
-        integrity: sha512-VhLPeR8HTMPccbuWWcEUD1Az68TqaTYyj6nfE4QByZIQEQVWBB8vup8PpR7y1QHL3CpcF6xd5WVBU/+SBEvGTg==,
+        integrity: sha512-uHf1BmMG8qEvzdrzAqg2SIG/02+4/DHB6a9Kbya0XDvwDEKCoC8ZRWI5JJvNdUjtciBGFQ5PuBlpEOXQj+JQSg==,
       }
     engines: { node: ">=12" }
-    cpu: [arm]
+    cpu: [loong64]
     os: [linux]
 
-  "@esbuild/linux-arm@0.21.3":
+  "@esbuild/linux-mips64el@0.21.5":
     resolution:
       {
-        integrity: sha512-f6kz2QpSuyHHg01cDawj0vkyMwuIvN62UAguQfnNVzbge2uWLhA7TCXOn83DT0ZvyJmBI943MItgTovUob36SQ==,
+        integrity: sha512-IajOmO+KJK23bj52dFSNCMsz1QP1DqM6cwLUv3W1QwyxkyIWecfafnI555fvSGqEKwjMXVLokcV5ygHW5b3Jbg==,
       }
     engines: { node: ">=12" }
-    cpu: [arm]
+    cpu: [mips64el]
     os: [linux]
 
-  "@esbuild/linux-ia32@0.20.2":
+  "@esbuild/linux-ppc64@0.21.5":
     resolution:
       {
-        integrity: sha512-o10utieEkNPFDZFQm9CoP7Tvb33UutoJqg3qKf1PWVeeJhJw0Q347PxMvBgVVFgouYLGIhFYG0UGdBumROyiig==,
+        integrity: sha512-1hHV/Z4OEfMwpLO8rp7CvlhBDnjsC3CttJXIhBi+5Aj5r+MBvy4egg7wCbe//hSsT+RvDAG7s81tAvpL2XAE4w==,
       }
     engines: { node: ">=12" }
-    cpu: [ia32]
+    cpu: [ppc64]
     os: [linux]
 
-  "@esbuild/linux-ia32@0.21.3":
+  "@esbuild/linux-riscv64@0.21.5":
     resolution:
       {
-        integrity: sha512-HjCWhH7K96Na+66TacDLJmOI9R8iDWDDiqe17C7znGvvE4sW1ECt9ly0AJ3dJH62jHyVqW9xpxZEU1jKdt+29A==,
+        integrity: sha512-2HdXDMd9GMgTGrPWnJzP2ALSokE/0O5HhTUvWIbD3YdjME8JwvSCnNGBnTThKGEB91OZhzrJ4qIIxk/SBmyDDA==,
       }
     engines: { node: ">=12" }
-    cpu: [ia32]
+    cpu: [riscv64]
     os: [linux]
 
-  "@esbuild/linux-loong64@0.20.2":
+  "@esbuild/linux-s390x@0.21.5":
     resolution:
       {
-        integrity: sha512-PR7sp6R/UC4CFVomVINKJ80pMFlfDfMQMYynX7t1tNTeivQ6XdX5r2XovMmha/VjR1YN/HgHWsVcTRIMkymrgQ==,
+        integrity: sha512-zus5sxzqBJD3eXxwvjN1yQkRepANgxE9lgOW2qLnmr8ikMTphkjgXu1HR01K4FJg8h1kEEDAqDcZQtbrRnB41A==,
       }
     engines: { node: ">=12" }
-    cpu: [loong64]
+    cpu: [s390x]
     os: [linux]
 
-  "@esbuild/linux-loong64@0.21.3":
+  "@esbuild/linux-x64@0.21.5":
     resolution:
       {
-        integrity: sha512-BGpimEccmHBZRcAhdlRIxMp7x9PyJxUtj7apL2IuoG9VxvU/l/v1z015nFs7Si7tXUwEsvjc1rOJdZCn4QTU+Q==,
+        integrity: sha512-1rYdTpyv03iycF1+BhzrzQJCdOuAOtaqHTWJZCWvijKD2N5Xu0TtVC8/+1faWqcP9iBCWOmjmhoH94dH82BxPQ==,
       }
     engines: { node: ">=12" }
-    cpu: [loong64]
+    cpu: [x64]
     os: [linux]
 
-  "@esbuild/linux-mips64el@0.20.2":
+  "@esbuild/netbsd-x64@0.21.5":
     resolution:
       {
-        integrity: sha512-4BlTqeutE/KnOiTG5Y6Sb/Hw6hsBOZapOVF6njAESHInhlQAghVVZL1ZpIctBOoTFbQyGW+LsVYZ8lSSB3wkjA==,
+        integrity: sha512-Woi2MXzXjMULccIwMnLciyZH4nCIMpWQAs049KEeMvOcNADVxo0UBIQPfSmxB3CWKedngg7sWZdLvLczpe0tLg==,
       }
     engines: { node: ">=12" }
-    cpu: [mips64el]
-    os: [linux]
+    cpu: [x64]
+    os: [netbsd]
 
-  "@esbuild/linux-mips64el@0.21.3":
+  "@esbuild/openbsd-x64@0.21.5":
     resolution:
       {
-        integrity: sha512-5rMOWkp7FQGtAH3QJddP4w3s47iT20hwftqdm7b+loe95o8JU8ro3qZbhgMRy0VuFU0DizymF1pBKkn3YHWtsw==,
+        integrity: sha512-HLNNw99xsvx12lFBUwoT8EVCsSvRNDVxNpjZ7bPn947b8gJPzeHWyNVhFsaerc0n3TsbOINvRP2byTZ5LKezow==,
       }
     engines: { node: ">=12" }
-    cpu: [mips64el]
-    os: [linux]
+    cpu: [x64]
+    os: [openbsd]
 
-  "@esbuild/linux-ppc64@0.20.2":
+  "@esbuild/sunos-x64@0.21.5":
     resolution:
       {
-        integrity: sha512-rD3KsaDprDcfajSKdn25ooz5J5/fWBylaaXkuotBDGnMnDP1Uv5DLAN/45qfnf3JDYyJv/ytGHQaziHUdyzaAg==,
+        integrity: sha512-6+gjmFpfy0BHU5Tpptkuh8+uw3mnrvgs+dSPQXQOv3ekbordwnzTVEb4qnIvQcYXq6gzkyTnoZ9dZG+D4garKg==,
       }
     engines: { node: ">=12" }
-    cpu: [ppc64]
-    os: [linux]
+    cpu: [x64]
+    os: [sunos]
 
-  "@esbuild/linux-ppc64@0.21.3":
+  "@esbuild/win32-arm64@0.21.5":
     resolution:
       {
-        integrity: sha512-h0zj1ldel89V5sjPLo5H1SyMzp4VrgN1tPkN29TmjvO1/r0MuMRwJxL8QY05SmfsZRs6TF0c/IDH3u7XYYmbAg==,
+        integrity: sha512-Z0gOTd75VvXqyq7nsl93zwahcTROgqvuAcYDUr+vOv8uHhNSKROyU961kgtCD1e95IqPKSQKH7tBTslnS3tA8A==,
       }
     engines: { node: ">=12" }
-    cpu: [ppc64]
-    os: [linux]
+    cpu: [arm64]
+    os: [win32]
 
-  "@esbuild/linux-riscv64@0.20.2":
+  "@esbuild/win32-ia32@0.21.5":
     resolution:
       {
-        integrity: sha512-snwmBKacKmwTMmhLlz/3aH1Q9T8v45bKYGE3j26TsaOVtjIag4wLfWSiZykXzXuE1kbCE+zJRmwp+ZbIHinnVg==,
+        integrity: sha512-SWXFF1CL2RVNMaVs+BBClwtfZSvDgtL//G/smwAc5oVK/UPu2Gu9tIaRgFmYFFKrmg3SyAjSrElf0TiJ1v8fYA==,
       }
     engines: { node: ">=12" }
-    cpu: [riscv64]
-    os: [linux]
+    cpu: [ia32]
+    os: [win32]
 
-  "@esbuild/linux-riscv64@0.21.3":
+  "@esbuild/win32-x64@0.21.5":
     resolution:
       {
-        integrity: sha512-dkAKcTsTJ+CRX6bnO17qDJbLoW37npd5gSNtSzjYQr0svghLJYGYB0NF1SNcU1vDcjXLYS5pO4qOW4YbFama4A==,
+        integrity: sha512-tQd/1efJuzPC6rCFwEvLtci/xNFcTZknmXs98FYDfGE4wP9ClFV98nyKrzJKVPMhdDnjzLhdUyMX4PsQAPjwIw==,
       }
     engines: { node: ">=12" }
-    cpu: [riscv64]
-    os: [linux]
+    cpu: [x64]
+    os: [win32]
 
-  "@esbuild/linux-s390x@0.20.2":
+  "@expressive-code/core@0.35.6":
     resolution:
       {
-        integrity: sha512-wcWISOobRWNm3cezm5HOZcYz1sKoHLd8VL1dl309DiixxVFoFe/o8HnwuIwn6sXre88Nwj+VwZUvJf4AFxkyrQ==,
+        integrity: sha512-xGqCkmfkgT7lr/rvmfnYdDSeTdCSp1otAHgoFS6wNEeO7wGDPpxdosVqYiIcQ8CfWUABh/pGqWG90q+MV3824A==,
       }
-    engines: { node: ">=12" }
-    cpu: [s390x]
-    os: [linux]
 
-  "@esbuild/linux-s390x@0.21.3":
+  "@expressive-code/plugin-frames@0.35.6":
     resolution:
       {
-        integrity: sha512-vnD1YUkovEdnZWEuMmy2X2JmzsHQqPpZElXx6dxENcIwTu+Cu5ERax6+Ke1QsE814Zf3c6rxCfwQdCTQ7tPuXA==,
+        integrity: sha512-CqjSWjDJ3wabMJZfL9ZAzH5UAGKg7KWsf1TBzr4xvUbZvWoBtLA/TboBML0U1Ls8h/4TRCIvR4VEb8dv5+QG3w==,
       }
-    engines: { node: ">=12" }
-    cpu: [s390x]
-    os: [linux]
 
-  "@esbuild/linux-x64@0.20.2":
+  "@expressive-code/plugin-shiki@0.35.6":
     resolution:
       {
-        integrity: sha512-1MdwI6OOTsfQfek8sLwgyjOXAu+wKhLEoaOLTjbijk6E2WONYpH9ZU2mNtR+lZ2B4uwr+usqGuVfFT9tMtGvGw==,
+        integrity: sha512-xm+hzi9BsmhkDUGuyAWIydOAWer7Cs9cj8FM0t4HXaQ+qCubprT6wJZSKUxuvFJIUsIOqk1xXFaJzGJGnWtKMg==,
       }
-    engines: { node: ">=12" }
-    cpu: [x64]
-    os: [linux]
 
-  "@esbuild/linux-x64@0.21.3":
+  "@expressive-code/plugin-text-markers@0.35.6":
     resolution:
       {
-        integrity: sha512-IOXOIm9WaK7plL2gMhsWJd+l2bfrhfilv0uPTptoRoSb2p09RghhQQp9YY6ZJhk/kqmeRt6siRdMSLLwzuT0KQ==,
+        integrity: sha512-/k9eWVZSCs+uEKHR++22Uu6eIbHWEciVHbIuD8frT8DlqTtHYaaiwHPncO6KFWnGDz5i/gL7oyl6XmOi/E6GVg==,
       }
-    engines: { node: ">=12" }
-    cpu: [x64]
-    os: [linux]
 
-  "@esbuild/netbsd-x64@0.20.2":
+  "@fontsource/inter@5.1.0":
     resolution:
       {
-        integrity: sha512-K8/DhBxcVQkzYc43yJXDSyjlFeHQJBiowJ0uVL6Tor3jGQfSGHNNJcWxNbOI8v5k82prYqzPuwkzHt3J1T1iZQ==,
+        integrity: sha512-zKZR3kf1G0noIes1frLfOHP5EXVVm0M7sV/l9f/AaYf+M/DId35FO4LkigWjqWYjTJZGgplhdv4cB+ssvCqr5A==,
       }
-    engines: { node: ">=12" }
-    cpu: [x64]
-    os: [netbsd]
 
-  "@esbuild/netbsd-x64@0.21.3":
+  "@fontsource/rubik@5.1.0":
     resolution:
       {
-        integrity: sha512-uTgCwsvQ5+vCQnqM//EfDSuomo2LhdWhFPS8VL8xKf+PKTCrcT/2kPPoWMTs22aB63MLdGMJiE3f1PHvCDmUOw==,
+        integrity: sha512-QyZQw03z/v1RltDPPtWxAQsYgmwbDY6CKH/YWubRY4x9UFGuAImwFYPitR2sTB/FBj0Dxf0DftoC9kqGZKWjug==,
       }
-    engines: { node: ">=12" }
-    cpu: [x64]
-    os: [netbsd]
 
-  "@esbuild/openbsd-x64@0.20.2":
+  "@img/sharp-darwin-arm64@0.33.5":
     resolution:
       {
-        integrity: sha512-eMpKlV0SThJmmJgiVyN9jTPJ2VBPquf6Kt/nAoo6DgHAoN57K15ZghiHaMvqjCye/uU4X5u3YSMgVBI1h3vKrQ==,
+        integrity: sha512-UT4p+iz/2H4twwAoLCqfA9UH5pI6DggwKEGuaPy7nCVQ8ZsiY5PIcrRvD1DzuY3qYL07NtIQcWnBSY/heikIFQ==,
       }
-    engines: { node: ">=12" }
-    cpu: [x64]
-    os: [openbsd]
+    engines: { node: ^18.17.0 || ^20.3.0 || >=21.0.0 }
+    cpu: [arm64]
+    os: [darwin]
 
-  "@esbuild/openbsd-x64@0.21.3":
+  "@img/sharp-darwin-x64@0.33.5":
     resolution:
       {
-        integrity: sha512-vNAkR17Ub2MgEud2Wag/OE4HTSI6zlb291UYzHez/psiKarp0J8PKGDnAhMBcHFoOHMXHfExzmjMojJNbAStrQ==,
+        integrity: sha512-fyHac4jIc1ANYGRDxtiqelIbdWkIuQaI84Mv45KvGRRxSAa7o7d1ZKAOBaYbnepLC1WqxfpimdeWfvqqSGwR2Q==,
       }
-    engines: { node: ">=12" }
+    engines: { node: ^18.17.0 || ^20.3.0 || >=21.0.0 }
     cpu: [x64]
-    os: [openbsd]
+    os: [darwin]
 
-  "@esbuild/sunos-x64@0.20.2":
+  "@img/sharp-libvips-darwin-arm64@1.0.4":
     resolution:
       {
-        integrity: sha512-2UyFtRC6cXLyejf/YEld4Hajo7UHILetzE1vsRcGL3earZEW77JxrFjH4Ez2qaTiEfMgAXxfAZCm1fvM/G/o8w==,
+        integrity: sha512-XblONe153h0O2zuFfTAbQYAX2JhYmDHeWikp1LM9Hul9gVPjFY427k6dFEcOL72O01QxQsWi761svJ/ev9xEDg==,
       }
-    engines: { node: ">=12" }
-    cpu: [x64]
-    os: [sunos]
+    cpu: [arm64]
+    os: [darwin]
 
-  "@esbuild/sunos-x64@0.21.3":
+  "@img/sharp-libvips-darwin-x64@1.0.4":
     resolution:
       {
-        integrity: sha512-W8H9jlGiSBomkgmouaRoTXo49j4w4Kfbl6I1bIdO/vT0+0u4f20ko3ELzV3hPI6XV6JNBVX+8BC+ajHkvffIJA==,
+        integrity: sha512-xnGR8YuZYfJGmWPvmlunFaWJsb9T/AO2ykoP3Fz/0X5XV2aoYBPkX6xqCQvUTKKiLddarLaxpzNe+b1hjeWHAQ==,
       }
-    engines: { node: ">=12" }
     cpu: [x64]
-    os: [sunos]
+    os: [darwin]
 
-  "@esbuild/win32-arm64@0.20.2":
+  "@img/sharp-libvips-linux-arm64@1.0.4":
     resolution:
       {
-        integrity: sha512-GRibxoawM9ZCnDxnP3usoUDO9vUkpAxIIZ6GQI+IlVmr5kP3zUq+l17xELTHMWTWzjxa2guPNyrpq1GWmPvcGQ==,
+        integrity: sha512-9B+taZ8DlyyqzZQnoeIvDVR/2F4EbMepXMc/NdVbkzsJbzkUjhXv/70GQJ7tdLA4YJgNP25zukcxpX2/SueNrA==,
       }
-    engines: { node: ">=12" }
     cpu: [arm64]
-    os: [win32]
+    os: [linux]
 
-  "@esbuild/win32-arm64@0.21.3":
+  "@img/sharp-libvips-linux-arm@1.0.5":
     resolution:
       {
-        integrity: sha512-EjEomwyLSCg8Ag3LDILIqYCZAq/y3diJ04PnqGRgq8/4O3VNlXyMd54j/saShaN4h5o5mivOjAzmU6C3X4v0xw==,
+        integrity: sha512-gvcC4ACAOPRNATg/ov8/MnbxFDJqf/pDePbBnuBDcjsI8PssmjoKMAz4LtLaVi+OnSb5FK/yIOamqDwGmXW32g==,
       }
-    engines: { node: ">=12" }
-    cpu: [arm64]
-    os: [win32]
+    cpu: [arm]
+    os: [linux]
 
-  "@esbuild/win32-ia32@0.20.2":
+  "@img/sharp-libvips-linux-s390x@1.0.4":
     resolution:
       {
-        integrity: sha512-HfLOfn9YWmkSKRQqovpnITazdtquEW8/SoHW7pWpuEeguaZI4QnCRW6b+oZTztdBnZOS2hqJ6im/D5cPzBTTlQ==,
+        integrity: sha512-u7Wz6ntiSSgGSGcjZ55im6uvTrOxSIS8/dgoVMoiGE9I6JAfU50yH5BoDlYA1tcuGS7g/QNtetJnxA6QEsCVTA==,
       }
-    engines: { node: ">=12" }
-    cpu: [ia32]
-    os: [win32]
-
-  "@esbuild/win32-ia32@0.21.3":
-    resolution:
-      {
-        integrity: sha512-WGiE/GgbsEwR33++5rzjiYsKyHywE8QSZPF7Rfx9EBfK3Qn3xyR6IjyCr5Uk38Kg8fG4/2phN7sXp4NPWd3fcw==,
-      }
-    engines: { node: ">=12" }
-    cpu: [ia32]
-    os: [win32]
-
-  "@esbuild/win32-x64@0.20.2":
-    resolution:
-      {
-        integrity: sha512-N49X4lJX27+l9jbLKSqZ6bKNjzQvHaT8IIFUy+YIqmXQdjYCToGWwOItDrfby14c78aDd5NHQl29xingXfCdLQ==,
-      }
-    engines: { node: ">=12" }
-    cpu: [x64]
-    os: [win32]
-
-  "@esbuild/win32-x64@0.21.3":
-    resolution:
-      {
-        integrity: sha512-xRxC0jaJWDLYvcUvjQmHCJSfMrgmUuvsoXgDeU/wTorQ1ngDdUBuFtgY3W1Pc5sprGAvZBtWdJX7RPg/iZZUqA==,
-      }
-    engines: { node: ">=12" }
-    cpu: [x64]
-    os: [win32]
-
-  "@expressive-code/core@0.35.3":
-    resolution:
-      {
-        integrity: sha512-SYamcarAjufYhbuK/kfvJSvAXLsfnM7DKc78R7Dq4B73R5bKQK2m5zR0l57tXr4yp2C5Z8lu5xZncdwWxcmPdg==,
-      }
-
-  "@expressive-code/plugin-frames@0.35.3":
-    resolution:
-      {
-        integrity: sha512-QYytMq6IsaHgTofQ5b6d+CnbxkqLdikSF2hC+IL/ZZwPYHYZoUlmjIwmJZhY4/hHqJGELrtZsyVdlt06RntgmA==,
-      }
-
-  "@expressive-code/plugin-shiki@0.35.3":
-    resolution:
-      {
-        integrity: sha512-aFQBPepv0zhVXqJFAvfQ4vXYv/meJKiqmEEKSxdjAfwXllIV49PDlnGEXmbGYjR4hUQQjbfDgzAbrbfePc3YVQ==,
-      }
-
-  "@expressive-code/plugin-text-markers@0.35.3":
-    resolution:
-      {
-        integrity: sha512-gDdnQrfDRXw5Y+PKHJDkpAUdf2pthYOthGcgy3JB8GOTQ3EL1h+755Ct/bGc4MR6jn+dgnQP47uHMWQaccvN6Q==,
-      }
-
-  "@fontsource/inter@5.0.18":
-    resolution:
-      {
-        integrity: sha512-YCsoYPTcs713sI7tLtxaPrIhXAXvEetGg5Ry02ivA8qUOb3fQHojbK/X9HLD5OOKvFUNR2Ynkwb1kR1hVKQHpw==,
-      }
-
-  "@fontsource/rubik@5.0.20":
-    resolution:
-      {
-        integrity: sha512-4iEk1Nnnz4kzrpfsjfHXOm7HDVtsDfs8uihhE4LaXqQuxnY8lERZWJhtGAKILDwbx3gsnVXI+0beUNLRmaHeCw==,
-      }
-
-  "@img/sharp-darwin-arm64@0.33.4":
-    resolution:
-      {
-        integrity: sha512-p0suNqXufJs9t3RqLBO6vvrgr5OhgbWp76s5gTRvdmxmuv9E1rcaqGUsl3l4mKVmXPkTkTErXediAui4x+8PSA==,
-      }
-    engines:
-      {
-        glibc: ">=2.26",
-        node: ^18.17.0 || ^20.3.0 || >=21.0.0,
-        npm: ">=9.6.5",
-        pnpm: ">=7.1.0",
-        yarn: ">=3.2.0",
-      }
-    cpu: [arm64]
-    os: [darwin]
-
-  "@img/sharp-darwin-x64@0.33.4":
-    resolution:
-      {
-        integrity: sha512-0l7yRObwtTi82Z6ebVI2PnHT8EB2NxBgpK2MiKJZJ7cz32R4lxd001ecMhzzsZig3Yv9oclvqqdV93jo9hy+Dw==,
-      }
-    engines:
-      {
-        glibc: ">=2.26",
-        node: ^18.17.0 || ^20.3.0 || >=21.0.0,
-        npm: ">=9.6.5",
-        pnpm: ">=7.1.0",
-        yarn: ">=3.2.0",
-      }
-    cpu: [x64]
-    os: [darwin]
-
-  "@img/sharp-libvips-darwin-arm64@1.0.2":
-    resolution:
-      {
-        integrity: sha512-tcK/41Rq8IKlSaKRCCAuuY3lDJjQnYIW1UXU1kxcEKrfL8WR7N6+rzNoOxoQRJWTAECuKwgAHnPvqXGN8XfkHA==,
-      }
-    engines: { macos: ">=11", npm: ">=9.6.5", pnpm: ">=7.1.0", yarn: ">=3.2.0" }
-    cpu: [arm64]
-    os: [darwin]
-
-  "@img/sharp-libvips-darwin-x64@1.0.2":
-    resolution:
-      {
-        integrity: sha512-Ofw+7oaWa0HiiMiKWqqaZbaYV3/UGL2wAPeLuJTx+9cXpCRdvQhCLG0IH8YGwM0yGWGLpsF4Su9vM1o6aer+Fw==,
-      }
-    engines:
-      { macos: ">=10.13", npm: ">=9.6.5", pnpm: ">=7.1.0", yarn: ">=3.2.0" }
-    cpu: [x64]
-    os: [darwin]
-
-  "@img/sharp-libvips-linux-arm64@1.0.2":
-    resolution:
-      {
-        integrity: sha512-x7kCt3N00ofFmmkkdshwj3vGPCnmiDh7Gwnd4nUwZln2YjqPxV1NlTyZOvoDWdKQVDL911487HOueBvrpflagw==,
-      }
-    engines:
-      { glibc: ">=2.26", npm: ">=9.6.5", pnpm: ">=7.1.0", yarn: ">=3.2.0" }
-    cpu: [arm64]
-    os: [linux]
-
-  "@img/sharp-libvips-linux-arm@1.0.2":
-    resolution:
-      {
-        integrity: sha512-iLWCvrKgeFoglQxdEwzu1eQV04o8YeYGFXtfWU26Zr2wWT3q3MTzC+QTCO3ZQfWd3doKHT4Pm2kRmLbupT+sZw==,
-      }
-    engines:
-      { glibc: ">=2.28", npm: ">=9.6.5", pnpm: ">=7.1.0", yarn: ">=3.2.0" }
-    cpu: [arm]
-    os: [linux]
-
-  "@img/sharp-libvips-linux-s390x@1.0.2":
-    resolution:
-      {
-        integrity: sha512-cmhQ1J4qVhfmS6szYW7RT+gLJq9dH2i4maq+qyXayUSn9/3iY2ZeWpbAgSpSVbV2E1JUL2Gg7pwnYQ1h8rQIog==,
-      }
-    engines:
-      { glibc: ">=2.28", npm: ">=9.6.5", pnpm: ">=7.1.0", yarn: ">=3.2.0" }
     cpu: [s390x]
     os: [linux]
 
-  "@img/sharp-libvips-linux-x64@1.0.2":
+  "@img/sharp-libvips-linux-x64@1.0.4":
     resolution:
       {
-        integrity: sha512-E441q4Qdb+7yuyiADVi5J+44x8ctlrqn8XgkDTwr4qPJzWkaHwD489iZ4nGDgcuya4iMN3ULV6NwbhRZJ9Z7SQ==,
+        integrity: sha512-MmWmQ3iPFZr0Iev+BAgVMb3ZyC4KeFc3jFxnNbEPas60e1cIfevbtuyf9nDGIzOaW9PdnDciJm+wFFaTlj5xYw==,
       }
-    engines:
-      { glibc: ">=2.26", npm: ">=9.6.5", pnpm: ">=7.1.0", yarn: ">=3.2.0" }
     cpu: [x64]
     os: [linux]
 
-  "@img/sharp-libvips-linuxmusl-arm64@1.0.2":
+  "@img/sharp-libvips-linuxmusl-arm64@1.0.4":
     resolution:
       {
-        integrity: sha512-3CAkndNpYUrlDqkCM5qhksfE+qSIREVpyoeHIU6jd48SJZViAmznoQQLAv4hVXF7xyUB9zf+G++e2v1ABjCbEQ==,
+        integrity: sha512-9Ti+BbTYDcsbp4wfYib8Ctm1ilkugkA/uscUn6UXK1ldpC1JjiXbLfFZtRlBhjPZ5o1NCLiDbg8fhUPKStHoTA==,
       }
-    engines:
-      { musl: ">=1.2.2", npm: ">=9.6.5", pnpm: ">=7.1.0", yarn: ">=3.2.0" }
     cpu: [arm64]
     os: [linux]
 
-  "@img/sharp-libvips-linuxmusl-x64@1.0.2":
+  "@img/sharp-libvips-linuxmusl-x64@1.0.4":
     resolution:
       {
-        integrity: sha512-VI94Q6khIHqHWNOh6LLdm9s2Ry4zdjWJwH56WoiJU7NTeDwyApdZZ8c+SADC8OH98KWNQXnE01UdJ9CSfZvwZw==,
+        integrity: sha512-viYN1KX9m+/hGkJtvYYp+CCLgnJXwiQB39damAO7WMdKWlIhmYTfHjwSbQeUK/20vY154mwezd9HflVFM1wVSw==,
       }
-    engines:
-      { musl: ">=1.2.2", npm: ">=9.6.5", pnpm: ">=7.1.0", yarn: ">=3.2.0" }
     cpu: [x64]
     os: [linux]
 
-  "@img/sharp-linux-arm64@0.33.4":
+  "@img/sharp-linux-arm64@0.33.5":
     resolution:
       {
-        integrity: sha512-2800clwVg1ZQtxwSoTlHvtm9ObgAax7V6MTAB/hDT945Tfyy3hVkmiHpeLPCKYqYR1Gcmv1uDZ3a4OFwkdBL7Q==,
-      }
-    engines:
-      {
-        glibc: ">=2.26",
-        node: ^18.17.0 || ^20.3.0 || >=21.0.0,
-        npm: ">=9.6.5",
-        pnpm: ">=7.1.0",
-        yarn: ">=3.2.0",
+        integrity: sha512-JMVv+AMRyGOHtO1RFBiJy/MBsgz0x4AWrT6QoEVVTyh1E39TrCUpTRI7mx9VksGX4awWASxqCYLCV4wBZHAYxA==,
       }
+    engines: { node: ^18.17.0 || ^20.3.0 || >=21.0.0 }
     cpu: [arm64]
     os: [linux]
 
-  "@img/sharp-linux-arm@0.33.4":
+  "@img/sharp-linux-arm@0.33.5":
     resolution:
       {
-        integrity: sha512-RUgBD1c0+gCYZGCCe6mMdTiOFS0Zc/XrN0fYd6hISIKcDUbAW5NtSQW9g/powkrXYm6Vzwd6y+fqmExDuCdHNQ==,
-      }
-    engines:
-      {
-        glibc: ">=2.28",
-        node: ^18.17.0 || ^20.3.0 || >=21.0.0,
-        npm: ">=9.6.5",
-        pnpm: ">=7.1.0",
-        yarn: ">=3.2.0",
+        integrity: sha512-JTS1eldqZbJxjvKaAkxhZmBqPRGmxgu+qFKSInv8moZ2AmT5Yib3EQ1c6gp493HvrvV8QgdOXdyaIBrhvFhBMQ==,
       }
+    engines: { node: ^18.17.0 || ^20.3.0 || >=21.0.0 }
     cpu: [arm]
     os: [linux]
 
-  "@img/sharp-linux-s390x@0.33.4":
+  "@img/sharp-linux-s390x@0.33.5":
     resolution:
       {
-        integrity: sha512-h3RAL3siQoyzSoH36tUeS0PDmb5wINKGYzcLB5C6DIiAn2F3udeFAum+gj8IbA/82+8RGCTn7XW8WTFnqag4tQ==,
-      }
-    engines:
-      {
-        glibc: ">=2.31",
-        node: ^18.17.0 || ^20.3.0 || >=21.0.0,
-        npm: ">=9.6.5",
-        pnpm: ">=7.1.0",
-        yarn: ">=3.2.0",
+        integrity: sha512-y/5PCd+mP4CA/sPDKl2961b+C9d+vPAveS33s6Z3zfASk2j5upL6fXVPZi7ztePZ5CuH+1kW8JtvxgbuXHRa4Q==,
       }
+    engines: { node: ^18.17.0 || ^20.3.0 || >=21.0.0 }
     cpu: [s390x]
     os: [linux]
 
-  "@img/sharp-linux-x64@0.33.4":
+  "@img/sharp-linux-x64@0.33.5":
     resolution:
       {
-        integrity: sha512-GoR++s0XW9DGVi8SUGQ/U4AeIzLdNjHka6jidVwapQ/JebGVQIpi52OdyxCNVRE++n1FCLzjDovJNozif7w/Aw==,
-      }
-    engines:
-      {
-        glibc: ">=2.26",
-        node: ^18.17.0 || ^20.3.0 || >=21.0.0,
-        npm: ">=9.6.5",
-        pnpm: ">=7.1.0",
-        yarn: ">=3.2.0",
+        integrity: sha512-opC+Ok5pRNAzuvq1AG0ar+1owsu842/Ab+4qvU879ippJBHvyY5n2mxF1izXqkPYlGuP/M556uh53jRLJmzTWA==,
       }
+    engines: { node: ^18.17.0 || ^20.3.0 || >=21.0.0 }
     cpu: [x64]
     os: [linux]
 
-  "@img/sharp-linuxmusl-arm64@0.33.4":
+  "@img/sharp-linuxmusl-arm64@0.33.5":
     resolution:
       {
-        integrity: sha512-nhr1yC3BlVrKDTl6cO12gTpXMl4ITBUZieehFvMntlCXFzH2bvKG76tBL2Y/OqhupZt81pR7R+Q5YhJxW0rGgQ==,
-      }
-    engines:
-      {
-        musl: ">=1.2.2",
-        node: ^18.17.0 || ^20.3.0 || >=21.0.0,
-        npm: ">=9.6.5",
-        pnpm: ">=7.1.0",
-        yarn: ">=3.2.0",
+        integrity: sha512-XrHMZwGQGvJg2V/oRSUfSAfjfPxO+4DkiRh6p2AFjLQztWUuY/o8Mq0eMQVIY7HJ1CDQUJlxGGZRw1a5bqmd1g==,
       }
+    engines: { node: ^18.17.0 || ^20.3.0 || >=21.0.0 }
     cpu: [arm64]
     os: [linux]
 
-  "@img/sharp-linuxmusl-x64@0.33.4":
+  "@img/sharp-linuxmusl-x64@0.33.5":
     resolution:
       {
-        integrity: sha512-uCPTku0zwqDmZEOi4ILyGdmW76tH7dm8kKlOIV1XC5cLyJ71ENAAqarOHQh0RLfpIpbV5KOpXzdU6XkJtS0daw==,
-      }
-    engines:
-      {
-        musl: ">=1.2.2",
-        node: ^18.17.0 || ^20.3.0 || >=21.0.0,
-        npm: ">=9.6.5",
-        pnpm: ">=7.1.0",
-        yarn: ">=3.2.0",
+        integrity: sha512-WT+d/cgqKkkKySYmqoZ8y3pxx7lx9vVejxW/W4DOFMYVSkErR+w7mf2u8m/y4+xHe7yY9DAXQMWQhpnMuFfScw==,
       }
+    engines: { node: ^18.17.0 || ^20.3.0 || >=21.0.0 }
     cpu: [x64]
     os: [linux]
 
-  "@img/sharp-wasm32@0.33.4":
+  "@img/sharp-wasm32@0.33.5":
     resolution:
       {
-        integrity: sha512-Bmmauh4sXUsUqkleQahpdNXKvo+wa1V9KhT2pDA4VJGKwnKMJXiSTGphn0gnJrlooda0QxCtXc6RX1XAU6hMnQ==,
-      }
-    engines:
-      {
-        node: ^18.17.0 || ^20.3.0 || >=21.0.0,
-        npm: ">=9.6.5",
-        pnpm: ">=7.1.0",
-        yarn: ">=3.2.0",
+        integrity: sha512-ykUW4LVGaMcU9lu9thv85CbRMAwfeadCJHRsg2GmeRa/cJxsVY9Rbd57JcMxBkKHag5U/x7TSBpScF4U8ElVzg==,
       }
+    engines: { node: ^18.17.0 || ^20.3.0 || >=21.0.0 }
     cpu: [wasm32]
 
-  "@img/sharp-win32-ia32@0.33.4":
+  "@img/sharp-win32-ia32@0.33.5":
     resolution:
       {
-        integrity: sha512-99SJ91XzUhYHbx7uhK3+9Lf7+LjwMGQZMDlO/E/YVJ7Nc3lyDFZPGhjwiYdctoH2BOzW9+TnfqcaMKt0jHLdqw==,
-      }
-    engines:
-      {
-        node: ^18.17.0 || ^20.3.0 || >=21.0.0,
-        npm: ">=9.6.5",
-        pnpm: ">=7.1.0",
-        yarn: ">=3.2.0",
+        integrity: sha512-T36PblLaTwuVJ/zw/LaH0PdZkRz5rd3SmMHX8GSmR7vtNSP5Z6bQkExdSK7xGWyxLw4sUknBuugTelgw2faBbQ==,
       }
+    engines: { node: ^18.17.0 || ^20.3.0 || >=21.0.0 }
     cpu: [ia32]
     os: [win32]
 
-  "@img/sharp-win32-x64@0.33.4":
+  "@img/sharp-win32-x64@0.33.5":
     resolution:
       {
-        integrity: sha512-3QLocdTRVIrFNye5YocZl+KKpYKP+fksi1QhmOArgx7GyhIbQp/WrJRu176jm8IxromS7RIkzMiMINVdBtC8Aw==,
-      }
-    engines:
-      {
-        node: ^18.17.0 || ^20.3.0 || >=21.0.0,
-        npm: ">=9.6.5",
-        pnpm: ">=7.1.0",
-        yarn: ">=3.2.0",
+        integrity: sha512-MpY/o8/8kj+EcnxwvrP4aTJSWw/aZ7JIGR4aBeZkZw5B7/Jn+tY9/VNwtcoGmdT7GfggGIU4kygOMSbYnOrAbg==,
       }
+    engines: { node: ^18.17.0 || ^20.3.0 || >=21.0.0 }
     cpu: [x64]
     os: [win32]
 
-  "@johnsoncodehk/vscode-html-languageservice@5.2.0-34a5462":
-    resolution:
-      {
-        integrity: sha512-etqLfpSJ5zaw76KUNF603be6d6QsiQPmaHr9FKEp4zhLZJzWCCMH6Icak7MtLUFLZLMpL761mZNImi/joBo1ZA==,
-      }
-
-  "@jridgewell/gen-mapping@0.3.3":
-    resolution:
-      {
-        integrity: sha512-HLhSWOLRi875zjjMG/r+Nv0oCW8umGb0BgEhyX3dDX3egwZtB8PqLnjz3yedt8R5StBrzcg4aBpnh8UA9D1BoQ==,
-      }
-    engines: { node: ">=6.0.0" }
-
   "@jridgewell/gen-mapping@0.3.5":
     resolution:
       {
@@ -1490,13 +1155,6 @@ packages:
       }
     engines: { node: ">=6.0.0" }
 
-  "@jridgewell/set-array@1.1.2":
-    resolution:
-      {
-        integrity: sha512-xnkseuNADM0gt2bs+BvhO0p78Mk762YnZdsuzFV018NoG1Sj1SCQvpSqa7XUaTam5vAGasABV9qXASMKnFMwMw==,
-      }
-    engines: { node: ">=6.0.0" }
-
   "@jridgewell/set-array@1.2.1":
     resolution:
       {
@@ -1510,10 +1168,10 @@ packages:
         integrity: sha512-eF2rxCRulEKXHTRiDrDy6erMYWqNw4LPdQ8UQA4huuxaQsVeRPFl2oM8oDGxMFhJUWZf9McpLtJasDDZb/Bpeg==,
       }
 
-  "@jridgewell/trace-mapping@0.3.20":
+  "@jridgewell/sourcemap-codec@1.5.0":
     resolution:
       {
-        integrity: sha512-R8LcPeWZol2zR8mmH3JeKQ6QRCFb7XgUhV9ZlGhHLGyg4wpPiPZNQOOWhFZhxKw8u//yTbNGI42Bx/3paXEQ+Q==,
+        integrity: sha512-gv3ZRaISU3fjPAgNsriBRqGWQL6quFx04YMPW/zD8XMLsU32mhCCbfbO6KZFLjvYpCZ8zyDEgqsgf+PwPaM7GQ==,
       }
 
   "@jridgewell/trace-mapping@0.3.25":
@@ -1522,10 +1180,10 @@ packages:
         integrity: sha512-vNk6aEwybGtawWmy/PzwnGDOjCkLWSD2wqvjGGAgOAwCGWySYXfYoxt00IJkTF+8Lb57DwOb3Aa0o9CApepiYQ==,
       }
 
-  "@mdx-js/mdx@3.0.0":
+  "@mdx-js/mdx@3.1.0":
     resolution:
       {
-        integrity: sha512-Icm0TBKBLYqroYbNW3BPnzMGn+7mwpQOK310aZ7+fkCtiU3aqv2cdcX+nd0Ydo3wI5Rx8bX2Z2QmGb/XcAClCw==,
+        integrity: sha512-/QxEhPAvGwbQmy1Px8F899L5Uc2KZ6JtXwlCgJmjSTBedwOZkByYcBG4GceIGPXRDsmfxhHazuS+hlOShRLeDw==,
       }
 
   "@nodelib/fs.scandir@2.1.5":
@@ -1549,6 +1207,12 @@ packages:
       }
     engines: { node: ">= 8" }
 
+  "@oslojs/encoding@1.1.0":
+    resolution:
+      {
+        integrity: sha512-70wQhgYmndg4GCPxPPxPGevRKqTIJ2Nh4OkiMWmDAVYsTQ+Ta7Sq+rPevXyXGdzr30/qZBnyOalCszoMxlyldQ==,
+      }
+
   "@pagefind/darwin-arm64@1.0.4":
     resolution:
       {
@@ -1595,140 +1259,198 @@ packages:
     cpu: [x64]
     os: [win32]
 
-  "@rollup/rollup-android-arm-eabi@4.17.2":
+  "@rollup/pluginutils@5.1.3":
+    resolution:
+      {
+        integrity: sha512-Pnsb6f32CD2W3uCaLZIzDmeFyQ2b8UWMFI7xtwUezpcGBDVDW6y9XgAWIlARiGAo6eNF5FK5aQTr0LFyNyqq5A==,
+      }
+    engines: { node: ">=14.0.0" }
+    peerDependencies:
+      rollup: ^1.20.0||^2.0.0||^3.0.0||^4.0.0
+    peerDependenciesMeta:
+      rollup:
+        optional: true
+
+  "@rollup/rollup-android-arm-eabi@4.24.4":
     resolution:
       {
-        integrity: sha512-NM0jFxY8bB8QLkoKxIQeObCaDlJKewVlIEkuyYKm5An1tdVZ966w2+MPQ2l8LBZLjR+SgyV+nRkTIunzOYBMLQ==,
+        integrity: sha512-jfUJrFct/hTA0XDM5p/htWKoNNTbDLY0KRwEt6pyOA6k2fmk0WVwl65PdUdJZgzGEHWx+49LilkcSaumQRyNQw==,
       }
     cpu: [arm]
     os: [android]
 
-  "@rollup/rollup-android-arm64@4.17.2":
+  "@rollup/rollup-android-arm64@4.24.4":
     resolution:
       {
-        integrity: sha512-yeX/Usk7daNIVwkq2uGoq2BYJKZY1JfyLTaHO/jaiSwi/lsf8fTFoQW/n6IdAsx5tx+iotu2zCJwz8MxI6D/Bw==,
+        integrity: sha512-j4nrEO6nHU1nZUuCfRKoCcvh7PIywQPUCBa2UsootTHvTHIoIu2BzueInGJhhvQO/2FTRdNYpf63xsgEqH9IhA==,
       }
     cpu: [arm64]
     os: [android]
 
-  "@rollup/rollup-darwin-arm64@4.17.2":
+  "@rollup/rollup-darwin-arm64@4.24.4":
     resolution:
       {
-        integrity: sha512-kcMLpE6uCwls023+kknm71ug7MZOrtXo+y5p/tsg6jltpDtgQY1Eq5sGfHcQfb+lfuKwhBmEURDga9N0ol4YPw==,
+        integrity: sha512-GmU/QgGtBTeraKyldC7cDVVvAJEOr3dFLKneez/n7BvX57UdhOqDsVwzU7UOnYA7AAOt+Xb26lk79PldDHgMIQ==,
       }
     cpu: [arm64]
     os: [darwin]
 
-  "@rollup/rollup-darwin-x64@4.17.2":
+  "@rollup/rollup-darwin-x64@4.24.4":
     resolution:
       {
-        integrity: sha512-AtKwD0VEx0zWkL0ZjixEkp5tbNLzX+FCqGG1SvOu993HnSz4qDI6S4kGzubrEJAljpVkhRSlg5bzpV//E6ysTQ==,
+        integrity: sha512-N6oDBiZCBKlwYcsEPXGDE4g9RoxZLK6vT98M8111cW7VsVJFpNEqvJeIPfsCzbf0XEakPslh72X0gnlMi4Ddgg==,
       }
     cpu: [x64]
     os: [darwin]
 
-  "@rollup/rollup-linux-arm-gnueabihf@4.17.2":
+  "@rollup/rollup-freebsd-arm64@4.24.4":
+    resolution:
+      {
+        integrity: sha512-py5oNShCCjCyjWXCZNrRGRpjWsF0ic8f4ieBNra5buQz0O/U6mMXCpC1LvrHuhJsNPgRt36tSYMidGzZiJF6mw==,
+      }
+    cpu: [arm64]
+    os: [freebsd]
+
+  "@rollup/rollup-freebsd-x64@4.24.4":
     resolution:
       {
-        integrity: sha512-3reX2fUHqN7sffBNqmEyMQVj/CKhIHZd4y631duy0hZqI8Qoqf6lTtmAKvJFYa6bhU95B1D0WgzHkmTg33In0A==,
+        integrity: sha512-L7VVVW9FCnTTp4i7KrmHeDsDvjB4++KOBENYtNYAiYl96jeBThFfhP6HVxL74v4SiZEVDH/1ILscR5U9S4ms4g==,
+      }
+    cpu: [x64]
+    os: [freebsd]
+
+  "@rollup/rollup-linux-arm-gnueabihf@4.24.4":
+    resolution:
+      {
+        integrity: sha512-10ICosOwYChROdQoQo589N5idQIisxjaFE/PAnX2i0Zr84mY0k9zul1ArH0rnJ/fpgiqfu13TFZR5A5YJLOYZA==,
       }
     cpu: [arm]
     os: [linux]
 
-  "@rollup/rollup-linux-arm-musleabihf@4.17.2":
+  "@rollup/rollup-linux-arm-musleabihf@4.24.4":
     resolution:
       {
-        integrity: sha512-uSqpsp91mheRgw96xtyAGP9FW5ChctTFEoXP0r5FAzj/3ZRv3Uxjtc7taRQSaQM/q85KEKjKsZuiZM3GyUivRg==,
+        integrity: sha512-ySAfWs69LYC7QhRDZNKqNhz2UKN8LDfbKSMAEtoEI0jitwfAG2iZwVqGACJT+kfYvvz3/JgsLlcBP+WWoKCLcw==,
       }
     cpu: [arm]
     os: [linux]
 
-  "@rollup/rollup-linux-arm64-gnu@4.17.2":
+  "@rollup/rollup-linux-arm64-gnu@4.24.4":
     resolution:
       {
-        integrity: sha512-EMMPHkiCRtE8Wdk3Qhtciq6BndLtstqZIroHiiGzB3C5LDJmIZcSzVtLRbwuXuUft1Cnv+9fxuDtDxz3k3EW2A==,
+        integrity: sha512-uHYJ0HNOI6pGEeZ/5mgm5arNVTI0nLlmrbdph+pGXpC9tFHFDQmDMOEqkmUObRfosJqpU8RliYoGz06qSdtcjg==,
       }
     cpu: [arm64]
     os: [linux]
 
-  "@rollup/rollup-linux-arm64-musl@4.17.2":
+  "@rollup/rollup-linux-arm64-musl@4.24.4":
     resolution:
       {
-        integrity: sha512-NMPylUUZ1i0z/xJUIx6VUhISZDRT+uTWpBcjdv0/zkp7b/bQDF+NfnfdzuTiB1G6HTodgoFa93hp0O1xl+/UbA==,
+        integrity: sha512-38yiWLemQf7aLHDgTg85fh3hW9stJ0Muk7+s6tIkSUOMmi4Xbv5pH/5Bofnsb6spIwD5FJiR+jg71f0CH5OzoA==,
       }
     cpu: [arm64]
     os: [linux]
 
-  "@rollup/rollup-linux-powerpc64le-gnu@4.17.2":
+  "@rollup/rollup-linux-powerpc64le-gnu@4.24.4":
     resolution:
       {
-        integrity: sha512-T19My13y8uYXPw/L/k0JYaX1fJKFT/PWdXiHr8mTbXWxjVF1t+8Xl31DgBBvEKclw+1b00Chg0hxE2O7bTG7GQ==,
+        integrity: sha512-q73XUPnkwt9ZNF2xRS4fvneSuaHw2BXuV5rI4cw0fWYVIWIBeDZX7c7FWhFQPNTnE24172K30I+dViWRVD9TwA==,
       }
     cpu: [ppc64]
     os: [linux]
 
-  "@rollup/rollup-linux-riscv64-gnu@4.17.2":
+  "@rollup/rollup-linux-riscv64-gnu@4.24.4":
     resolution:
       {
-        integrity: sha512-BOaNfthf3X3fOWAB+IJ9kxTgPmMqPPH5f5k2DcCsRrBIbWnaJCgX2ll77dV1TdSy9SaXTR5iDXRL8n7AnoP5cg==,
+        integrity: sha512-Aie/TbmQi6UXokJqDZdmTJuZBCU3QBDA8oTKRGtd4ABi/nHgXICulfg1KI6n9/koDsiDbvHAiQO3YAUNa/7BCw==,
       }
     cpu: [riscv64]
     os: [linux]
 
-  "@rollup/rollup-linux-s390x-gnu@4.17.2":
+  "@rollup/rollup-linux-s390x-gnu@4.24.4":
     resolution:
       {
-        integrity: sha512-W0UP/x7bnn3xN2eYMql2T/+wpASLE5SjObXILTMPUBDB/Fg/FxC+gX4nvCfPBCbNhz51C+HcqQp2qQ4u25ok6g==,
+        integrity: sha512-P8MPErVO/y8ohWSP9JY7lLQ8+YMHfTI4bAdtCi3pC2hTeqFJco2jYspzOzTUB8hwUWIIu1xwOrJE11nP+0JFAQ==,
       }
     cpu: [s390x]
     os: [linux]
 
-  "@rollup/rollup-linux-x64-gnu@4.17.2":
+  "@rollup/rollup-linux-x64-gnu@4.24.4":
     resolution:
       {
-        integrity: sha512-Hy7pLwByUOuyaFC6mAr7m+oMC+V7qyifzs/nW2OJfC8H4hbCzOX07Ov0VFk/zP3kBsELWNFi7rJtgbKYsav9QQ==,
+        integrity: sha512-K03TljaaoPK5FOyNMZAAEmhlyO49LaE4qCsr0lYHUKyb6QacTNF9pnfPpXnFlFD3TXuFbFbz7tJ51FujUXkXYA==,
       }
     cpu: [x64]
     os: [linux]
 
-  "@rollup/rollup-linux-x64-musl@4.17.2":
+  "@rollup/rollup-linux-x64-musl@4.24.4":
     resolution:
       {
-        integrity: sha512-h1+yTWeYbRdAyJ/jMiVw0l6fOOm/0D1vNLui9iPuqgRGnXA0u21gAqOyB5iHjlM9MMfNOm9RHCQ7zLIzT0x11Q==,
+        integrity: sha512-VJYl4xSl/wqG2D5xTYncVWW+26ICV4wubwN9Gs5NrqhJtayikwCXzPL8GDsLnaLU3WwhQ8W02IinYSFJfyo34Q==,
       }
     cpu: [x64]
     os: [linux]
 
-  "@rollup/rollup-win32-arm64-msvc@4.17.2":
+  "@rollup/rollup-win32-arm64-msvc@4.24.4":
     resolution:
       {
-        integrity: sha512-tmdtXMfKAjy5+IQsVtDiCfqbynAQE/TQRpWdVataHmhMb9DCoJxp9vLcCBjEQWMiUYxO1QprH/HbY9ragCEFLA==,
+        integrity: sha512-ku2GvtPwQfCqoPFIJCqZ8o7bJcj+Y54cZSr43hHca6jLwAiCbZdBUOrqE6y29QFajNAzzpIOwsckaTFmN6/8TA==,
       }
     cpu: [arm64]
     os: [win32]
 
-  "@rollup/rollup-win32-ia32-msvc@4.17.2":
+  "@rollup/rollup-win32-ia32-msvc@4.24.4":
     resolution:
       {
-        integrity: sha512-7II/QCSTAHuE5vdZaQEwJq2ZACkBpQDOmQsE6D6XUbnBHW8IAhm4eTufL6msLJorzrHDFv3CF8oCA/hSIRuZeQ==,
+        integrity: sha512-V3nCe+eTt/W6UYNr/wGvO1fLpHUrnlirlypZfKCT1fG6hWfqhPgQV/K/mRBXBpxc0eKLIF18pIOFVPh0mqHjlg==,
       }
     cpu: [ia32]
     os: [win32]
 
-  "@rollup/rollup-win32-x64-msvc@4.17.2":
+  "@rollup/rollup-win32-x64-msvc@4.24.4":
     resolution:
       {
-        integrity: sha512-TGGO7v7qOq4CYmSBVEYpI1Y5xDuCEnbVC5Vth8mOsW0gDSzxNrVERPc790IGHsrT2dQSimgMr9Ub3Y1Jci5/8w==,
+        integrity: sha512-LTw1Dfd0mBIEqUVCxbvTE/LLo+9ZxVC9k99v1v4ahg9Aak6FpqOfNu5kRkeTAn0wphoC4JU7No1/rL+bBCEwhg==,
       }
     cpu: [x64]
     os: [win32]
 
+  "@shikijs/core@1.22.2":
+    resolution:
+      {
+        integrity: sha512-bvIQcd8BEeR1yFvOYv6HDiyta2FFVePbzeowf5pPS1avczrPK+cjmaxxh0nx5QzbON7+Sv0sQfQVciO7bN72sg==,
+      }
+
   "@shikijs/core@1.5.2":
     resolution:
       {
         integrity: sha512-wSAOgaz48GmhILFElMCeQypSZmj6Ru6DttOOtl3KNkdJ17ApQuGNCfzpk4cClasVrnIu45++2DBwG4LNMQAfaA==,
       }
 
+  "@shikijs/engine-javascript@1.22.2":
+    resolution:
+      {
+        integrity: sha512-iOvql09ql6m+3d1vtvP8fLCVCK7BQD1pJFmHIECsujB0V32BJ0Ab6hxk1ewVSMFA58FI0pR2Had9BKZdyQrxTw==,
+      }
+
+  "@shikijs/engine-oniguruma@1.22.2":
+    resolution:
+      {
+        integrity: sha512-GIZPAGzQOy56mGvWMoZRPggn0dTlBf1gutV5TdceLCZlFNqWmuc7u+CzD0Gd9vQUTgLbrt0KLzz6FNprqYAxlA==,
+      }
+
+  "@shikijs/types@1.22.2":
+    resolution:
+      {
+        integrity: sha512-NCWDa6LGZqTuzjsGfXOBWfjS/fDIbDdmVDug+7ykVe1IKT4c1gakrvlfFYp5NhAXH/lyqLM8wsAPo5wNy73Feg==,
+      }
+
+  "@shikijs/vscode-textmate@9.3.0":
+    resolution:
+      {
+        integrity: sha512-jn7/7ky30idSkd/O5yDBfAnVt+JJpepofP/POZ1iMOxK59cOfqIgg/Dj0eFsjOTMw+4ycJN0uhZH/Eb0bs/EUA==,
+      }
+
   "@trysound/sax@0.2.0":
     resolution:
       {
@@ -1790,18 +1512,36 @@ packages:
         integrity: sha512-/kYRxGDLWzHOB7q+wtSUQlFrtcdUccpfy+X+9iMBpHK8QLLhx2wIPYuS5DYtR9Wa/YlZAbIovy7qVdB1Aq6Lyw==,
       }
 
+  "@types/estree@1.0.6":
+    resolution:
+      {
+        integrity: sha512-AYnb1nQyY49te+VRAVgmzfcgjYS91mY5P0TKUDCLEM+gNnA+3T6rWITXRLYCpahpqSQbN5cE+gHpnPyXjHWxcw==,
+      }
+
   "@types/hast@3.0.3":
     resolution:
       {
         integrity: sha512-2fYGlaDy/qyLlhidX42wAH0KBi2TCjKMH8CHmBXgRlJ3Y+OXTiqsPQ6IWarZKwF1JoUcAJdPogv1d4b0COTpmQ==,
       }
 
+  "@types/hast@3.0.4":
+    resolution:
+      {
+        integrity: sha512-WPs+bbQw5aCj+x6laNGWLH3wviHtoCv/P3+otBhbOhJgG8qtpdAMlTCxLtsTWA7LH1Oh/bFCHsBn0TPS5m30EQ==,
+      }
+
   "@types/mdast@4.0.3":
     resolution:
       {
         integrity: sha512-LsjtqsyF+d2/yFOYaN22dHZI1Cpwkrj+g06G8+qtUKlhovPW89YhqSnfKtMbkgmEtYpH2gydRNULd6y8mciAFg==,
       }
 
+  "@types/mdast@4.0.4":
+    resolution:
+      {
+        integrity: sha512-kGaNbPh1k7AFzgpud/gMdvIm5xuECykRR+JnWKQno9TAXVa6WIVCGTPvYGekIDL4uwCZQSYbUxNBSb1aUo79oA==,
+      }
+
   "@types/mdx@2.0.10":
     resolution:
       {
@@ -1814,10 +1554,10 @@ packages:
         integrity: sha512-nG96G3Wp6acyAgJqGasjODb+acrI7KltPiRxzHPXnP3NgI28bpQDRv53olbqGXbfcgF5aiiHmO3xpwEpS5Ld9g==,
       }
 
-  "@types/nlcst@1.0.4":
+  "@types/nlcst@2.0.3":
     resolution:
       {
-        integrity: sha512-ABoYdNQ/kBSsLvZAekMhIPMQ3YUZvavStpKYs7BjLLuKVmIMA0LUgZ7b54zzuWJRbHF80v1cNf4r90Vd6eMQDg==,
+        integrity: sha512-vSYNSDe6Ix3q+6Z7ri9lyWqgGhJTmzRjZRqyq15N0Z/1/UnVsno9G/N40NBijoYx2seFDIl0+B2mgAb9mezUCA==,
       }
 
   "@types/node@17.0.45":
@@ -1850,60 +1590,48 @@ packages:
         integrity: sha512-zuVdFrMJiuCDQUMCzQaD6KL28MjnqqN8XnAqiEq9PNm/hCPTSGfrXCOfwj1ow4LFb/tNymJPwsNbVePc1xFqrQ==,
       }
 
-  "@volar/kit@2.2.4":
+  "@volar/kit@2.4.8":
     resolution:
       {
-        integrity: sha512-TyRYaj56NBwa+0DgYbIkNQm+pN5DaV1dvZ5PzoKGDk9oag/sCG+W6wVkyaqmYCNJkXpmRtM627RkeMRTBvnYzw==,
+        integrity: sha512-HY+HTP9sSqj0St9j1N8l85YMu4w0GxCtelzkzZWuq2GVz0+QRYwlyc0mPH7749OknUAdtsdozBR5Ecez55Ncug==,
       }
     peerDependencies:
       typescript: "*"
 
-  "@volar/language-core@2.2.4":
-    resolution:
-      {
-        integrity: sha512-7As47GndxGxsqqYnbreLrfB5NDUeQioPM2LJKUuB4/34c0NpEJ2byVl3c9KYdjIdiEstWZ9JLtLKNTaPWb5jtA==,
-      }
-
-  "@volar/language-server@2.2.4":
-    resolution:
-      {
-        integrity: sha512-wgRsKsqFMY7MRkmBfIX+GB0uzAv2Nks7YS3Ud6RWdHsjEu7tF+cXzBX/IRgW5HOayLLPC1xES2PYXk26hdOIoA==,
-      }
-
-  "@volar/language-service@2.2.4":
+  "@volar/language-core@2.4.8":
     resolution:
       {
-        integrity: sha512-3OxJFADEsAZp1RoTS3SX2GY9SeVnB9mbd3N/Faz45IvnT2EFAyVJGPOyrz5bJDvKuCtjdoTNNWS1GX1bHGytrA==,
+        integrity: sha512-K/GxMOXGq997bO00cdFhTNuR85xPxj0BEEAy+BaqqayTmy9Tmhfgmq2wpJcVspRhcwfgPoE2/mEJa26emUhG/g==,
       }
 
-  "@volar/snapshot-document@2.2.4":
+  "@volar/language-server@2.4.8":
     resolution:
       {
-        integrity: sha512-XwL9Jo5+nn4WZystok1+kRXbmFuJXaCx0KfJYZizJQDd7kPDgBcyci/aKsBVNhIgiD9JT0KKycru0ndyHRadGQ==,
+        integrity: sha512-3Jd9Y+0Zhwi/zfdRxqoNrm7AxP6lgTsw4Ni9r6eCyWYGVsTnpVwGmlcbiZyDja6anoKZxnaeDatX1jkaHHWaRQ==,
       }
 
-  "@volar/source-map@2.2.4":
+  "@volar/language-service@2.4.8":
     resolution:
       {
-        integrity: sha512-m92FLpR9vB1YEZfiZ+bfgpLrToL/DNkOrorWVep3pffHrwwI4Tx2oIQN+sqHJfKkiT5N3J1owC+8crhAEinfjg==,
+        integrity: sha512-9y8X4cdUxXmy4s5HoB8jmOpDIZG7XVFu4iEFvouhZlJX2leCq0pbq5h7dhA+O8My0fne3vtE6cJ4t9nc+8UBZw==,
       }
 
-  "@volar/typescript@2.2.4":
+  "@volar/source-map@2.4.8":
     resolution:
       {
-        integrity: sha512-uAQC53tgEbHO62G8NXMfmBrJAlP2QJ9WxVEEQqqK3I6VSy8frL5LbH3hAWODxiwMWixv74wJLWlKbWXOgdIoRQ==,
+        integrity: sha512-jeWJBkC/WivdelMwxKkpFL811uH/jJ1kVxa+c7OvG48DXc3VrP7pplSWPP2W1dLMqBxD+awRlg55FQQfiup4cA==,
       }
 
-  "@vscode/emmet-helper@2.9.2":
+  "@volar/typescript@2.4.8":
     resolution:
       {
-        integrity: sha512-MaGuyW+fa13q3aYsluKqclmh62Hgp0BpKIqS66fCxfOaBcVQ1OnMQxRRgQUYnCkxFISAQlkJ0qWWPyXjro1Qrg==,
+        integrity: sha512-6xkIYJ5xxghVBhVywMoPMidDDAFT1OoQeXwa27HSgJ6AiIKRe61RXLoik+14Z7r0JvnblXVsjsRLmCr42SGzqg==,
       }
 
-  "@vscode/l10n@0.0.16":
+  "@vscode/emmet-helper@2.9.3":
     resolution:
       {
-        integrity: sha512-JT5CvrIYYCrmB+dCana8sUqJEcGB1ZDXNLMQ2+42bW995WmNoenijWMUdZfwmuQUTQcEVVIa2OecZzTYWUW9Cg==,
+        integrity: sha512-rB39LHWWPQYYlYfpv9qCoZOVioPCftKXXqrsyqN1mTWZM6dTnONT63Db+03vgrBbHzJN45IrgS/AGxw9iiqfEw==,
       }
 
   "@vscode/l10n@0.0.18":
@@ -1920,21 +1648,19 @@ packages:
     peerDependencies:
       acorn: ^6.0.0 || ^7.0.0 || ^8.0.0
 
-  acorn@8.11.2:
+  acorn@8.14.0:
     resolution:
       {
-        integrity: sha512-nc0Axzp/0FILLEVsm4fNwLCwMttvhEI263QtVPQcbpfZZ3ts0hLsZGOpE6czNlid7CJ9MlyH8reXkpsf3YUY4w==,
+        integrity: sha512-cl669nCJTZBsL97OF4kUQm5g5hC2uihk0NxY3WENAC0TYdILVkAyHymAntgxGkl7K+t0cXIrH5siy5S4XkFycA==,
       }
     engines: { node: ">=0.4.0" }
     hasBin: true
 
-  acorn@8.11.3:
+  ajv@8.17.1:
     resolution:
       {
-        integrity: sha512-Y9rRfJG5jcKOE0CLisYbojUjIrIEE7AGMzA/Sm4BslANhbS+cDMpgBdcPT91oJ7OuJ9hYJBx59RjbhxVnrF8Xg==,
+        integrity: sha512-B/gBuNg5SiMTrPkC+A2+cW0RszwxYmn6VYxB/inlBStS5nx6xHIt/ehKRhIMhqusl7a8LjQoZnjCs5vhwxOQ1g==,
       }
-    engines: { node: ">=0.4.0" }
-    hasBin: true
 
   ansi-align@3.0.1:
     resolution:
@@ -1956,13 +1682,6 @@ packages:
       }
     engines: { node: ">=12" }
 
-  ansi-styles@3.2.1:
-    resolution:
-      {
-        integrity: sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==,
-      }
-    engines: { node: ">=4" }
-
   ansi-styles@4.3.0:
     resolution:
       {
@@ -2008,11 +1727,12 @@ packages:
         integrity: sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q==,
       }
 
-  aria-query@5.3.0:
+  aria-query@5.3.2:
     resolution:
       {
-        integrity: sha512-b0P0sZPKtyu8HkeRAfCq0IfURZK+SuwMjY1UXGBU27wpAiTwQAIlq56IbIO+ytk/JjS1fMR14ee5WBBfKi5J6A==,
+        integrity: sha512-COROpnaoap1E2F000S62r6A60uHZnmlvomhfyT2DlTcrY1OrBKn2UhH7qn5wTC9zMvD0AY7csdPSNwKP+7WiQw==,
       }
+    engines: { node: ">= 0.4" }
 
   array-iterate@2.0.1:
     resolution:
@@ -2027,38 +1747,39 @@ packages:
       }
     hasBin: true
 
-  astro-expressive-code@0.35.3:
+  astro-expressive-code@0.35.6:
     resolution:
       {
-        integrity: sha512-f1L1m3J3EzZHDEox6TXmuKo5fTSbaNxE/HU0S0UQmvlCowtOKnU/LOsoDwsbQSYGKz+fdLRPsCjFMiKqEoyfcw==,
+        integrity: sha512-1U4KrvFuodaCV3z4I1bIR16SdhQlPkolGsYTtiANxPZUVv/KitGSCTjzksrkPonn1XuwVqvnwmUUVzTLWngnBA==,
       }
     peerDependencies:
       astro: ^4.0.0-beta || ^3.3.0
 
-  astro@4.8.6:
+  astro@4.16.9:
     resolution:
       {
-        integrity: sha512-psHIfK+e+bMPhRwghV9yCGH/uc1jvY4DHmDZdoEepax9yA7kzYH0wt3dpkqlcrO2zxl5jzSC3DmqZfkD6wnW9A==,
+        integrity: sha512-DFYzPZooVArKSGu969BBByUV44tJMVDPGKxgqWNFBaIrkvGljdVUqQSVwD+/iPYACoSkI8BRYvDMEBDkathIUQ==,
       }
     engines:
       { node: ^18.17.1 || ^20.3.0 || >=21.0.0, npm: ">=9.6.5", pnpm: ">=7.1.0" }
     hasBin: true
 
-  autoprefixer@10.4.19:
+  autoprefixer@10.4.20:
     resolution:
       {
-        integrity: sha512-BaENR2+zBZ8xXhM4pUaKUxlVdxZ0EZhjvbopwnXmxRUfqDmwSpC2lAi/QXvx7NRdPCo1WKEcEF6mV64si1z4Ew==,
+        integrity: sha512-XY25y5xSv/wEoqzDyXXME4AFfkZI0P23z6Fs3YgymDnKJkCGOnkL0iTxCa85UTqaSgfcqyf3UA6+c7wUvx/16g==,
       }
     engines: { node: ^10 || ^12 || >=14 }
     hasBin: true
     peerDependencies:
       postcss: ^8.1.0
 
-  axobject-query@4.0.0:
+  axobject-query@4.1.0:
     resolution:
       {
-        integrity: sha512-+60uv1hiVFhHZeO+Lz0RYzsVHy5Wr1ayX0mwda9KPDVLNJgZ1T9Ny7VmFbLDzxsH0D87I86vgj3gFrjTJUYznw==,
+        integrity: sha512-qIj0G9wZbMGNLjLmg1PT6v2mE9AH2zlnADJD/2tC6E00hgmhUOfEB6greHPAfLRSufHqROIUTkw6E+M3lH0PTQ==,
       }
+    engines: { node: ">= 0.4" }
 
   bail@2.0.2:
     resolution:
@@ -2103,12 +1824,12 @@ packages:
         integrity: sha512-JZOSA7Mo9sNGB8+UjSgzdLtokWAky1zbztM3WRLCbZ70/3cTANmQmOdR7y2g+J0e2WXywy1yS468tY+IruqEww==,
       }
 
-  boxen@7.1.1:
+  boxen@8.0.1:
     resolution:
       {
-        integrity: sha512-2hCgjEmP8YLWQ130n2FerGv7rYpfBmnmp9Uy2Le1vge6X3gZIfSmEzP5QTDElFxcvVcXlEn8Aq6MU/PZygIOog==,
+        integrity: sha512-F3PH5k5juxom4xktynS7MoFY+NUWH5LC4CnH11YB8NPew+HLpmBLCybSAEyb2F+4pRXhuhWqFesoQd6DAyc2hw==,
       }
-    engines: { node: ">=14.16" }
+    engines: { node: ">=18" }
 
   brace-expansion@1.1.11:
     resolution:
@@ -2123,10 +1844,17 @@ packages:
       }
     engines: { node: ">=8" }
 
-  browserslist@4.23.0:
+  braces@3.0.3:
+    resolution:
+      {
+        integrity: sha512-yQbXgO/OSZVD2IsiLlro+7Hf6Q18EJrKSEsdoMzKePKXct3gvD8oLcOQdIzGupr5Fj+EDe8gO/lxc1BzfMpxvA==,
+      }
+    engines: { node: ">=8" }
+
+  browserslist@4.24.2:
     resolution:
       {
-        integrity: sha512-QW8HiM1shhT2GuzkvklfjcKDiWFXHOeFCIA/huJPwHsslwcydgk7X+z2zXpEijP98UCY7HbubZt5J2Zgvf0CaQ==,
+        integrity: sha512-ZIc+Q62revdMcqC6aChtW4jz3My3klmCO1fEmINZY/8J3EpBg5/A/D0AKmBveUh6pgoeycoMkVMko84tuYS+Gg==,
       }
     engines: { node: ^6 || ^7 || ^8 || ^9 || ^10 || ^11 || ^12 || >=13.7 }
     hasBin: true
@@ -2138,12 +1866,12 @@ packages:
       }
     engines: { node: ">= 6" }
 
-  camelcase@7.0.1:
+  camelcase@8.0.0:
     resolution:
       {
-        integrity: sha512-xlx1yCK2Oc1APsPXDL2LdlNP6+uu8OCDdhOBSVT279M/S+y75O30C2VuD8T2ogdePBBl7PfPF4504tnLgX3zfw==,
+        integrity: sha512-8WB3Jcas3swSvjIeA2yvCJ+Miyz5l1ZmB6HFb9R1317dt9LCQoswg/BGrmAmkWVEszSrrg4RwmO46qIm2OEnSA==,
       }
-    engines: { node: ">=14.16" }
+    engines: { node: ">=16" }
 
   caniuse-api@3.0.0:
     resolution:
@@ -2157,18 +1885,17 @@ packages:
         integrity: sha512-WJvYsOjd1/BYUY6SNGUosK9DUidBPDTnOARHp3fSmFO1ekdxaY6nKRttEVrfMmYi80ctS0kz1wiWmm14fVc3ew==,
       }
 
-  ccount@2.0.1:
+  caniuse-lite@1.0.30001677:
     resolution:
       {
-        integrity: sha512-eyrF0jiFpY+3drT6383f1qhkbGsLSifNAjA61IUjZjmLCWjItY6LB9ft9YhoDgwfmclB2zhu51Lc7+95b8NRAg==,
+        integrity: sha512-fmfjsOlJUpMWu+mAAtZZZHz7UEwsUxIIvu1TJfO1HqFQvB/B+ii0xr9B5HpbZY/mC4XZ8SvjHJqtAY6pDPQEog==,
       }
 
-  chalk@2.4.2:
+  ccount@2.0.1:
     resolution:
       {
-        integrity: sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==,
+        integrity: sha512-eyrF0jiFpY+3drT6383f1qhkbGsLSifNAjA61IUjZjmLCWjItY6LB9ft9YhoDgwfmclB2zhu51Lc7+95b8NRAg==,
       }
-    engines: { node: ">=4" }
 
   chalk@5.3.0:
     resolution:
@@ -2201,19 +1928,19 @@ packages:
         integrity: sha512-iBZ4F4wRbyORVsu0jPV7gXkOsGYjGHPmAyv+HiHG8gi5PtC9KI2j1+v8/tlibRvjoWX027ypmG/n0HtO5t7unw==,
       }
 
-  chokidar@3.5.3:
+  chokidar@3.6.0:
     resolution:
       {
-        integrity: sha512-Dr3sfKRP6oTcjf2JmUmFJfeVMvXBdegxB0iVQ5eb2V10uFJUCAS8OByZdVAyVb8xXNz3GjjTgj9kLWsZTqE6kw==,
+        integrity: sha512-7VT13fmjotKpGipCW9JEQAusEPE+Ei8nl6/g4FBAmIm0GOOLMua9NDDo/DWp0ZAxCr3cPq5ZpBqmPAQgDda2Pw==,
       }
     engines: { node: ">= 8.10.0" }
 
-  chokidar@3.6.0:
+  chokidar@4.0.1:
     resolution:
       {
-        integrity: sha512-7VT13fmjotKpGipCW9JEQAusEPE+Ei8nl6/g4FBAmIm0GOOLMua9NDDo/DWp0ZAxCr3cPq5ZpBqmPAQgDda2Pw==,
+        integrity: sha512-n8enUVCED/KVRQlab1hr3MVpcVMvxtZjmEa956u+4YijlmQED223XMSYj2tLuKvr4jcCTzNNMpQDUer72MMmzA==,
       }
-    engines: { node: ">= 8.10.0" }
+    engines: { node: ">= 14.16.0" }
 
   ci-info@4.0.0:
     resolution:
@@ -2229,12 +1956,12 @@ packages:
       }
     engines: { node: ">=10" }
 
-  cli-cursor@4.0.0:
+  cli-cursor@5.0.0:
     resolution:
       {
-        integrity: sha512-VGtlMu3x/4DOtIUwEkRezxUZ2lBacNJCHash0N0WeZDBS+7Ux1dm3XWAgWYxLJFMMdOeXMHXorshEFhbMSGelg==,
+        integrity: sha512-aCj4O5wKyszjMmDT4tZj93kxyydN/K5zPWSCe6/0AV/AA1pqe5ZBIw0a2ZfPQV7lL5/yb5HsUreJ6UFAF1tEQw==,
       }
-    engines: { node: ^12.20.0 || ^14.13.1 || >=16.0.0 }
+    engines: { node: ">=18" }
 
   cli-spinners@2.9.2:
     resolution:
@@ -2263,12 +1990,6 @@ packages:
         integrity: sha512-loKTxY1zCOuG4j9f6EPnuyyYkf58RnhhWTvRoZEokgB+WbdXehfjFviyOVYkqzEWz1Q5kRiZdBYS5SwxbQYwzw==,
       }
 
-  color-convert@1.9.3:
-    resolution:
-      {
-        integrity: sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==,
-      }
-
   color-convert@2.0.1:
     resolution:
       {
@@ -2276,12 +1997,6 @@ packages:
       }
     engines: { node: ">=7.0.0" }
 
-  color-name@1.1.3:
-    resolution:
-      {
-        integrity: sha512-72fSenhMw2HZMTVHeCA9KCmpEIbzWiQsjN+BHcBbS9vr1mtt+vJjPdksIBNUmKAW8TFUDPJK5SUU3QhE9NEXDw==,
-      }
-
   color-name@1.1.4:
     resolution:
       {
@@ -2345,26 +2060,19 @@ packages:
         integrity: sha512-Kvp459HrV2FEJ1CAsi1Ku+MY3kasH19TFykTz2xWmMeq6bk2NU3XXvfJ+Q61m0xktWwt+1HSYf3JZsTms3aRJg==,
       }
 
-  cookie@0.6.0:
+  cookie@0.7.2:
     resolution:
       {
-        integrity: sha512-U71cyTamuh1CRNCfpGY6to28lxvNwPG4Guz/EVjgf3Jmzv0vlDp1atT9eS5dDjMYHucpHbWns6Lwf3BKz6svdw==,
+        integrity: sha512-yki5XnKuf750l50uGTllt6kKILY4nQ1eNIQatoXEByZ5dWgnKqbnqmTrBE5B4N7lrMJKQ2ytWMiTO2o0v6Ew/w==,
       }
     engines: { node: ">= 0.6" }
 
-  cross-spawn@7.0.3:
-    resolution:
-      {
-        integrity: sha512-iRDPJKUPVEND7dHPO8rkbOnPpyDygcDFtWjpeWNCgy8WP2rXcxXL8TskReQl6OrB2G7+UJrags1q15Fudc7G6w==,
-      }
-    engines: { node: ">= 8" }
-
-  css-blank-pseudo@6.0.2:
+  css-blank-pseudo@7.0.1:
     resolution:
       {
-        integrity: sha512-J/6m+lsqpKPqWHOifAFtKFeGLOzw3jR92rxQcwRUfA/eTuZzKfKlxOmYDx2+tqOPQAueNvBiY8WhAeHu5qNmTg==,
+        integrity: sha512-jf+twWGDf6LDoXDUode+nc7ZlrqfaNphrBIBrcmeP3D8yw1uPaix1gCC8LUQUGQ6CycuK2opkbFFWFuq/a94ag==,
       }
-    engines: { node: ^14 || ^16 || >=18 }
+    engines: { node: ">=18" }
     peerDependencies:
       postcss: ^8.4
 
@@ -2377,21 +2085,21 @@ packages:
     peerDependencies:
       postcss: ^8.0.9
 
-  css-has-pseudo@6.0.5:
+  css-has-pseudo@7.0.1:
     resolution:
       {
-        integrity: sha512-ZTv6RlvJJZKp32jPYnAJVhowDCrRrHUTAxsYSuUPBEDJjzws6neMnzkRblxtgmv1RgcV5dhH2gn7E3wA9Wt6lw==,
+        integrity: sha512-EOcoyJt+OsuKfCADgLT7gADZI5jMzIe/AeI6MeAYKiFBDmNmM7kk46DtSfMj5AohUJisqVzopBpnQTlvbyaBWg==,
       }
-    engines: { node: ^14 || ^16 || >=18 }
+    engines: { node: ">=18" }
     peerDependencies:
       postcss: ^8.4
 
-  css-prefers-color-scheme@9.0.1:
+  css-prefers-color-scheme@10.0.0:
     resolution:
       {
-        integrity: sha512-iFit06ochwCKPRiWagbTa1OAWCvWWVdEnIFd8BaRrgO8YrrNh4RAWUQTFcYX5tdFZgFl1DJ3iiULchZyEbnF4g==,
+        integrity: sha512-VCtXZAWivRglTZditUfB4StnsWr6YVZ2PRtuxQLKTNRdtAf8tpzaVPE9zXIF3VaSc7O70iK/j1+NXxyQCqdPjQ==,
       }
-    engines: { node: ^14 || ^16 || >=18 }
+    engines: { node: ">=18" }
     peerDependencies:
       postcss: ^8.4
 
@@ -2428,10 +2136,10 @@ packages:
       }
     engines: { node: ">= 6" }
 
-  cssdb@8.0.1:
+  cssdb@8.1.2:
     resolution:
       {
-        integrity: sha512-diegY/vnOYmPXY0bOBj5jeHaiK8MMpjgPuipirY8pF9AthtqEXgqVdKF5tnb6RTc/ZdhQqG0TBnInQ5CbbUW7Q==,
+        integrity: sha512-ba3HmHU/lxy9nfz/fQLA/Ul+/oSdSOXqoR53BDmRvXTfRbkGqHKqr2rSxADYMRF4uD8vZhMlCQ6c5TEfLLkkVA==,
       }
 
   cssesc@3.0.0:
@@ -2442,10 +2150,10 @@ packages:
     engines: { node: ">=4" }
     hasBin: true
 
-  cssnano-preset-default@7.0.1:
+  cssnano-preset-default@7.0.6:
     resolution:
       {
-        integrity: sha512-Fumyr+uZMcjYQeuHssAZxn0cKj3cdQc5GcxkBcmEzISGB+UW9CLNlU4tBOJbJGcPukFDlicG32eFbrc8K9V5pw==,
+        integrity: sha512-ZzrgYupYxEvdGGuqL+JKOY70s7+saoNlHSCK/OGn1vB2pQK8KSET8jvenzItcY+kA7NoWvfbb/YhlzuzNKjOhQ==,
       }
     engines: { node: ^18.12.0 || ^20.9.0 || >=22.0 }
     peerDependencies:
@@ -2460,10 +2168,10 @@ packages:
     peerDependencies:
       postcss: ^8.4.31
 
-  cssnano@7.0.1:
+  cssnano@7.0.6:
     resolution:
       {
-        integrity: sha512-917Mej/4SdI7b55atsli3sU4MOJ9XDoKgnlCtQtXYj8XUFcM3riTuYHyqBBnnskawW+zWwp0KxJzpEUodlpqUg==,
+        integrity: sha512-54woqx8SCbp8HwvNZYn68ZFAepuouZW4lTwiMVnBErM3VkO7/Sd4oTOt3Zz3bPx3kxQ36aISppyXj2Md4lg8bw==,
       }
     engines: { node: ^18.12.0 || ^20.9.0 || >=22.0 }
     peerDependencies:
@@ -2488,7 +2196,19 @@ packages:
       supports-color:
         optional: true
 
-  decode-named-character-reference@1.0.2:
+  debug@4.3.7:
+    resolution:
+      {
+        integrity: sha512-Er2nc/H7RrMXZBFCEim6TCmMk02Z8vLC2Rbi1KEBggpo0fS6l0S1nnapwmIi3yW/+GOJap1Krg4w0Hg80oCqgQ==,
+      }
+    engines: { node: ">=6.0" }
+    peerDependencies:
+      supports-color: "*"
+    peerDependenciesMeta:
+      supports-color:
+        optional: true
+
+  decode-named-character-reference@1.0.2:
     resolution:
       {
         integrity: sha512-O8x12RzrUF8xyVcY0KJowWsmaJxQbmy0/EtnNtHRpsOcT7dFk5W598coHqBVpmWo1oQQfsCqfCmkZN5DJrZVdg==,
@@ -2515,10 +2235,10 @@ packages:
       }
     engines: { node: ">=18" }
 
-  devalue@5.0.0:
+  devalue@5.1.1:
     resolution:
       {
-        integrity: sha512-gO+/OMXF7488D+u3ue+G7Y4AA3ZmUnB3eHJXmBTgNHvr4ZNzl36A0ZtG+XCRNYCkYx/bFmw4qtkoFLa+wSrwAA==,
+        integrity: sha512-maua5KUiapvEwiEAe+XnlZ3Rh0GD+qI1J/nb9vrJc3muPXvcF/8gXYTWF76+5DAqHyDUtOIImEuo0YKE9mshVw==,
       }
 
   devlop@1.1.0:
@@ -2578,23 +2298,17 @@ packages:
         integrity: sha512-H78uMmQtI2AhgDJjWeQmHwJJ2bLPD3GMmO7Zja/ZZh84wkm+4ut+IUnUdRa8uCGX88DiVx1j6FRe1XfxEgjEZA==,
       }
 
-  dset@3.1.3:
+  dset@3.1.4:
     resolution:
       {
-        integrity: sha512-20TuZZHCEZ2O71q9/+8BwKwZ0QtD9D8ObhrihJPr+vLLYlSuAU3/zL4cSlgbfeoGHTjCSJBa7NGcrF9/Bx/WJQ==,
+        integrity: sha512-2QF/g9/zTaPDc3BjNcVTGoBbXBgYfMTTceLaYcFJ/W9kggFUkhxD/hMEeuLKbugyef9SqAx8cpgwlIP/jinUTA==,
       }
     engines: { node: ">=4" }
 
-  eastasianwidth@0.2.0:
-    resolution:
-      {
-        integrity: sha512-I88TYZWc9XiYHRQ4/3c5rjjfgkjhLyW2luGIheGERbNQ6OY7yTybanSpDXZa8y7VUP9YmDcYa+eyq4ca7iLqWA==,
-      }
-
-  electron-to-chromium@1.4.773:
+  electron-to-chromium@1.5.51:
     resolution:
       {
-        integrity: sha512-87eHF+h3PlCRwbxVEAw9KtK3v7lWfc/sUDr0W76955AdYTG4bV/k0zrl585Qnj/skRMH2qOSiE+kqMeOQ+LOpw==,
+        integrity: sha512-kKeWV57KSS8jH4alKt/jKnvHPmJgBxXzGUSbMd4eQF+iOsVPl7bz2KUmu6eo80eMP8wVioTfTyTzdMgM15WXNg==,
       }
 
   emmet@2.4.6:
@@ -2615,12 +2329,6 @@ packages:
         integrity: sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==,
       }
 
-  emoji-regex@9.2.2:
-    resolution:
-      {
-        integrity: sha512-L18DaJsXSUk2+42pv8mLs5jJT2hqFkFE4j21wOmgbUqsZ2hL72NsUU785g9RXgo3s0ZNgVl42TiHp3ZtOv/Vyg==,
-      }
-
   entities@4.5.0:
     resolution:
       {
@@ -2628,30 +2336,28 @@ packages:
       }
     engines: { node: ">=0.12" }
 
-  es-module-lexer@1.4.1:
+  es-module-lexer@1.5.4:
     resolution:
       {
-        integrity: sha512-cXLGjP0c4T3flZJKQSuziYoq7MlT+rnvfZjfp7h+I7K9BNX54kP9nyWvdbwjQ4u1iWbOL4u96fgeZLToQlZC7w==,
+        integrity: sha512-MVNK56NiMrOwitFB7cqDwq0CQutbw+0BvLshJSse0MUNU+y1FC3bUS/AQg7oUng+/wKrrki7JfmwtVHkVfPLlw==,
       }
 
-  es-module-lexer@1.5.2:
+  esast-util-from-estree@2.0.0:
     resolution:
       {
-        integrity: sha512-l60ETUTmLqbVbVHv1J4/qj+M8nq7AwMzEcg3kmJDt9dCNrTk+yHcYFf/Kw75pMDwd9mPcIGCG5LcS20SxYRzFA==,
+        integrity: sha512-4CyanoAudUSBAn5K13H4JhsMH6L9ZP7XbLVe/dKybkxMO7eDyLsT8UHl9TRNrU2Gr9nz+FovfSIjuXWJ81uVwQ==,
       }
 
-  esbuild@0.20.2:
+  esast-util-from-js@2.0.1:
     resolution:
       {
-        integrity: sha512-WdOOppmUNU+IbZ0PaDiTst80zjnrOkyJNHoKupIcVyU8Lvla3Ugx94VzkQ32Ijqd7UhHJy75gNWDMUekcrSJ6g==,
+        integrity: sha512-8Ja+rNJ0Lt56Pcf3TAmpBZjmx8ZcK5Ts4cAzIOjsjevg9oSXJnl6SUQ2EevU8tv3h6ZLWmoKL5H4fgWvdvfETw==,
       }
-    engines: { node: ">=12" }
-    hasBin: true
 
-  esbuild@0.21.3:
+  esbuild@0.21.5:
     resolution:
       {
-        integrity: sha512-Kgq0/ZsAPzKrbOjCQcjoSmPoWhlcVnGAUo7jvaLHoxW1Drto0KGkR1xBNg2Cp43b9ImvxmPEJZ9xkfcnqPsfBw==,
+        integrity: sha512-mg3OPMV4hXywwpoDxu3Qda5xCKQi+vCTZq8S9J/EpkhB2HzKXq4SNFZE3+NK93JYxc8VMSep+lOUSC/RVKaBqw==,
       }
     engines: { node: ">=12" }
     hasBin: true
@@ -2663,12 +2369,12 @@ packages:
       }
     engines: { node: ">=6" }
 
-  escape-string-regexp@1.0.5:
+  escalade@3.2.0:
     resolution:
       {
-        integrity: sha512-vbRorB5FUQWvla16U8R/qgaFIya2qGzwDrNmCZuYKrbdSUMG6I1ZCGQRefkRVhuOkIGVne7BQ35DSfo1qvJqFg==,
+        integrity: sha512-WUj2qlxaQtO4g6Pq5c29GTcWGDyd8itL8zTlipgECz3JesAiiOKotd8JU6otB3PACgG6xkJUyVhboMS+bje/jA==,
       }
-    engines: { node: ">=0.8.0" }
+    engines: { node: ">=6" }
 
   escape-string-regexp@5.0.0:
     resolution:
@@ -2703,6 +2409,12 @@ packages:
         integrity: sha512-hFtqIDZTIUZ9BXLb8y4pYGyk6+wekIivNVTcmvk8NoOh+VeRn5y6cEHzbURrWbfp1fIqdVipilzj+lfaadNZmg==,
       }
 
+  estree-util-scope@1.0.0:
+    resolution:
+      {
+        integrity: sha512-2CAASclonf+JFWBNJPndcOpA8EMJwa0Q8LUFJEKqXLW6+qBvbFZuF5gItbQOs/umBUkjviCSDCbBwU2cXbmrhQ==,
+      }
+
   estree-util-to-js@2.0.0:
     resolution:
       {
@@ -2715,29 +2427,28 @@ packages:
         integrity: sha512-m5KgiH85xAhhW8Wta0vShLcUvOsh3LLPI2YVwcbio1l7E09NTLL1EyMZFM1OyWowoH0skScNbhOPl4kcBgzTww==,
       }
 
-  estree-walker@3.0.3:
+  estree-walker@2.0.2:
     resolution:
       {
-        integrity: sha512-7RUKfXgSMMkzt6ZuXmqapOurLGPPfgj6l9uRZ7lRGolvk0y2yocc35LdcxKC5PQZdn2DMqioAQ2NoWcrTKmm6g==,
+        integrity: sha512-Rfkk/Mp/DL7JVje3u18FxFujQlTNR2q6QfMSMB7AvCBx91NGj/ba3kCfza0f6dVDbw7YlRf/nDrn7pQrCCyQ/w==,
       }
 
-  eventemitter3@5.0.1:
+  estree-walker@3.0.3:
     resolution:
       {
-        integrity: sha512-GWkBvjiSZK87ELrYOSESUYeVIc9mvLLf/nXalMOS5dYrgZq9o5OVkbZAVM06CVxYsCwH9BDZFPlQTlPA1j4ahA==,
+        integrity: sha512-7RUKfXgSMMkzt6ZuXmqapOurLGPPfgj6l9uRZ7lRGolvk0y2yocc35LdcxKC5PQZdn2DMqioAQ2NoWcrTKmm6g==,
       }
 
-  execa@8.0.1:
+  eventemitter3@5.0.1:
     resolution:
       {
-        integrity: sha512-VyhnebXciFV2DESc+p6B+y0LjSm0krU4OgJN44qFAhBY0TJ+1V61tYD2+wHusZ6F9n5K+vl8k0sTy7PEfV4qpg==,
+        integrity: sha512-GWkBvjiSZK87ELrYOSESUYeVIc9mvLLf/nXalMOS5dYrgZq9o5OVkbZAVM06CVxYsCwH9BDZFPlQTlPA1j4ahA==,
       }
-    engines: { node: ">=16.17" }
 
-  expressive-code@0.35.3:
+  expressive-code@0.35.6:
     resolution:
       {
-        integrity: sha512-XjWWUCxS4uQjPoRM98R7SNWWIYlFEaOeHm1piWv+c7coHCekuWno81thsc3g/UJ+DajNtOEsIQIAAcsBQZ8LMg==,
+        integrity: sha512-+mx+TPTbMqgo0mL92Xh9QgjW0kSQIsEivMgEcOnaqKqL7qCw8Vkqc5Rg/di7ZYw4aMUSr74VTc+w8GQWu05j1g==,
       }
 
   extend-shallow@2.0.1:
@@ -2753,6 +2464,12 @@ packages:
         integrity: sha512-fjquC59cD7CyW6urNXK0FBufkZcoiGG80wTuPujX590cB5Ttln20E2UB4S/WARVqhXffZl2LNgS+gQdPIIim/g==,
       }
 
+  fast-deep-equal@3.1.3:
+    resolution:
+      {
+        integrity: sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==,
+      }
+
   fast-glob@3.3.2:
     resolution:
       {
@@ -2760,6 +2477,12 @@ packages:
       }
     engines: { node: ">=8.6.0" }
 
+  fast-uri@3.0.3:
+    resolution:
+      {
+        integrity: sha512-aLrHthzCjH5He4Z2H9YZ+v6Ujb9ocRuW6ZzkJQOrTxleEijANq4v1TsaPaVG1PZcuurEzrLcWRyYBYXD5cEiaw==,
+      }
+
   fastq@1.15.0:
     resolution:
       {
@@ -2773,19 +2496,26 @@ packages:
       }
     engines: { node: ">=8" }
 
-  find-up@4.1.0:
+  fill-range@7.1.1:
     resolution:
       {
-        integrity: sha512-PpOwAdQ/YlXQ2vj8a3h8IipDuYRi3wceVQQGYWxNINccq40Anw7BlsEXCMbt1Zt+OLA6Fq9suIpIWD0OsnISlw==,
+        integrity: sha512-YsGpe3WHLK8ZYi4tWDg2Jy3ebRz2rXowDxnld4bkQB00cc/1Zw9AWnC0i9ztDJitivtQvaI9KaLyKrc+hBW0yg==,
       }
     engines: { node: ">=8" }
 
-  find-up@5.0.0:
+  find-up-simple@1.0.0:
     resolution:
       {
-        integrity: sha512-78/PXT1wlLLDgTzDs7sjq9hzz0vXD+zn+7wypEe4fXQxCmdmqfGsEPQxmiCSQI3ajFV91bVSsvNtrJRiW6nGng==,
+        integrity: sha512-q7Us7kcjj2VMePAa02hDAF6d+MzsdsAWEwYyOpwUtlerRBkOEPBCRZrAV4XfcSN8fHAgaD0hP7miwoay6DCprw==,
       }
-    engines: { node: ">=10" }
+    engines: { node: ">=18" }
+
+  find-up@4.1.0:
+    resolution:
+      {
+        integrity: sha512-PpOwAdQ/YlXQ2vj8a3h8IipDuYRi3wceVQQGYWxNINccq40Anw7BlsEXCMbt1Zt+OLA6Fq9suIpIWD0OsnISlw==,
+      }
+    engines: { node: ">=8" }
 
   find-yarn-workspace-root2@1.2.16:
     resolution:
@@ -2847,13 +2577,6 @@ packages:
       }
     engines: { node: ">=18" }
 
-  get-stream@8.0.1:
-    resolution:
-      {
-        integrity: sha512-VaUJspBffn/LMCJVoMvSAdmscJyS1auj5Zulnn5UoYcY531UWmdwhRWkcGKnGU93m5HSXP9LP2usOryrBtQowA==,
-      }
-    engines: { node: ">=16" }
-
   github-slugger@2.0.0:
     resolution:
       {
@@ -2879,6 +2602,7 @@ packages:
       {
         integrity: sha512-LwaxwyZ72Lk7vZINtNNrywX0ZuLyStrdDtabefZKAY5ZGJhVtgdznluResxNmPitE0SAO+O26sWTHeKSI2wMBA==,
       }
+    deprecated: Glob versions prior to v9 are no longer supported
 
   globals@11.12.0:
     resolution:
@@ -2900,13 +2624,6 @@ packages:
       }
     engines: { node: ">=6.0" }
 
-  has-flag@3.0.0:
-    resolution:
-      {
-        integrity: sha512-sKJf1+ceQBr4SMkvQnBDNDtf4TXpVhVGateu0t918bl30FnbE2m4vNLX+VWe/dpjlb+HugGYzW7uQXH98HPEYw==,
-      }
-    engines: { node: ">=4" }
-
   hasown@2.0.0:
     resolution:
       {
@@ -2926,6 +2643,12 @@ packages:
         integrity: sha512-RXQBLMl9kjKVNkJTIO6bZyb2n+cUH8LFaSSzo82jiLT6Tfc+Pt7VQCS+/h3YwG4jaNE2TA2sdJisGWR+aJrp0g==,
       }
 
+  hast-util-from-html@2.0.3:
+    resolution:
+      {
+        integrity: sha512-CUSRHXyKjzHov8yKsQjGOElXy/3EKpyX56ELnkHH34vDVw1N1XSQ1ZcAvTyAPtGqLTuKP/uxM+aLkSPqF/EtMw==,
+      }
+
   hast-util-from-parse5@8.0.1:
     resolution:
       {
@@ -2980,16 +2703,16 @@ packages:
         integrity: sha512-lfX5g6hqVh9kjS/B9E2gSkvHH4SZNiQFiqWS0x9fENzEl+8W12RqdRxX6d/Cwxi30tPQs3bIO+aolQJNp1bIyw==,
       }
 
-  hast-util-to-html@9.0.0:
+  hast-util-to-html@9.0.1:
     resolution:
       {
-        integrity: sha512-IVGhNgg7vANuUA2XKrT6sOIIPgaYZnmLx3l/CCOAK0PtgfoHrZwX7jCSYyFxHTrGmC6S9q8aQQekjp4JPZF+cw==,
+        integrity: sha512-hZOofyZANbyWo+9RP75xIDV/gq+OUKx+T46IlwERnKmfpwp81XBFbT9mi26ws+SJchA4RVUQwIBJpqEOBhMzEQ==,
       }
 
-  hast-util-to-html@9.0.1:
+  hast-util-to-html@9.0.3:
     resolution:
       {
-        integrity: sha512-hZOofyZANbyWo+9RP75xIDV/gq+OUKx+T46IlwERnKmfpwp81XBFbT9mi26ws+SJchA4RVUQwIBJpqEOBhMzEQ==,
+        integrity: sha512-M17uBDzMJ9RPCqLMO92gNNUDuBSq10a25SDBI08iCCxmorf4Yy6sYHK57n9WAbRAAaU+DuR4W6GN9K4DFZesYg==,
       }
 
   hast-util-to-jsx-runtime@2.3.0:
@@ -3058,17 +2781,16 @@ packages:
         integrity: sha512-er295DKPVsV82j5kw1Gjt+ADA/XYHsajl82cGNQG2eyoPkvgUhX+nDIyelzhIWbbsXP39EHcI6l5tYs2FYqYXQ==,
       }
 
-  human-signals@5.0.0:
+  i18next@23.16.4:
     resolution:
       {
-        integrity: sha512-AXcZb6vzzrFAUE61HnN4mpLqd/cSIwNQjtNWR0euPm6y0iqx3G4gOXaIDdtdDwZmhwe82LA6+zinmW4UBWVePQ==,
+        integrity: sha512-9NIYBVy9cs4wIqzurf7nLXPyf3R78xYbxExVqHLK9od3038rjpyOEzW+XB130kZ1N4PZ9inTtJ471CRJ4Ituyg==,
       }
-    engines: { node: ">=16.17.0" }
 
-  import-meta-resolve@4.0.0:
+  import-meta-resolve@4.1.0:
     resolution:
       {
-        integrity: sha512-okYUR7ZQPH+efeuMJGlq4f8ubUgO50kByRPyt/Cy1Io4PSRsPjxME+YlVaCOx+NIToW7hCsZNFJyTPFFKepRSA==,
+        integrity: sha512-I6fiaX09Xivtk+THaMfAwnA3MVA5Big1WHF1Dfx9hFuvNIWpXnorlkzhcQf6ehrqQiiZECRt1poOAkPmer3ruw==,
       }
 
   inflight@1.0.6:
@@ -3076,6 +2798,7 @@ packages:
       {
         integrity: sha512-k92I/b08q4wvFscXCLvqfsHCrjrF7yiXsQuIVvVE7N82W3+aqpzuUdBbfhWcy/FZR3/4IgflMgKLOsvPDrGCJA==,
       }
+    deprecated: This module is not supported, and leaks memory. Do not use it. Check out lru-cache if you want a good and tested way to coalesce async requests by a key value, which is much more comprehensive and powerful.
 
   inherits@2.0.4:
     resolution:
@@ -3120,13 +2843,6 @@ packages:
       }
     engines: { node: ">=8" }
 
-  is-buffer@2.0.5:
-    resolution:
-      {
-        integrity: sha512-i2R6zNFDwgEHJyQUtJEk0XFi1i0dPFn/oqjK3/vPCcDeJvW5NQ83V8QbicfF1SupOaB0h8ntgBC2YiE7dfyctQ==,
-      }
-    engines: { node: ">=4" }
-
   is-core-module@2.13.1:
     resolution:
       {
@@ -3210,19 +2926,6 @@ packages:
       }
     engines: { node: ">=12" }
 
-  is-reference@3.0.2:
-    resolution:
-      {
-        integrity: sha512-v3rht/LgVcsdZa3O2Nqs+NMowLOxeOm7Ay9+/ARQ2F+qEoANRcqrjAZKGN0v8ymUetZGgkp26LTnGT7H0Qo9Pg==,
-      }
-
-  is-stream@3.0.0:
-    resolution:
-      {
-        integrity: sha512-LnQR4bZ9IADDRSkvpqMGvt/tEJWclzklNgSw48V5EAaAeDd6qGvN8ei6k5p0tvxSR171VmGyHuTiAOfxAbr8kA==,
-      }
-    engines: { node: ^12.20.0 || ^14.13.1 || >=16.0.0 }
-
   is-unicode-supported@1.3.0:
     resolution:
       {
@@ -3244,12 +2947,6 @@ packages:
       }
     engines: { node: ">=16" }
 
-  isexe@2.0.0:
-    resolution:
-      {
-        integrity: sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw==,
-      }
-
   jiti@1.21.0:
     resolution:
       {
@@ -3277,14 +2974,20 @@ packages:
       }
     hasBin: true
 
-  jsesc@2.5.2:
+  jsesc@3.0.2:
     resolution:
       {
-        integrity: sha512-OYu7XEzjkCQ3C5Ps3QIZsQfNpqoJyZZA99wd9aWd05NCtC5pWOkShK2mkL6HXQR6/Cy2lbNdPlZBpuQHXE63gA==,
+        integrity: sha512-xKqzzWXDttJuOcawBt4KnKHHIf5oQ/Cxax+0PWFG+DFDgHNAdi+TXECADI+RYiFUMmx8792xsMbbgXj4CwnP4g==,
       }
-    engines: { node: ">=4" }
+    engines: { node: ">=6" }
     hasBin: true
 
+  json-schema-traverse@1.0.0:
+    resolution:
+      {
+        integrity: sha512-NM8/P9n3XjXhIZn1lLhkFaACTOURQXjWhV4BA/RnOv8xvgqtqpAX9IO4mRQxSx1Rlo4tqzeqb0sOlruaOy3dug==,
+      }
+
   json5@2.2.3:
     resolution:
       {
@@ -3299,6 +3002,12 @@ packages:
         integrity: sha512-H8jvkz1O50L3dMZCsLqiuB2tA7muqbSg1AtGEkN0leAqGjsUzDJir3Zwr02BhqdcITPg3ei3mZ+HjMocAknhhg==,
       }
 
+  jsonc-parser@3.3.1:
+    resolution:
+      {
+        integrity: sha512-HUgH65KyejrUFPvHFPbqOY0rsFip3Bo5wb4ngvdi1EpCYWUQDC5V+Y7mZws+DLkr4M//zQJoanu1SP+87Dv1oQ==,
+      }
+
   kind-of@6.0.3:
     resolution:
       {
@@ -3327,17 +3036,17 @@ packages:
       }
     engines: { node: ">=10" }
 
-  lilconfig@3.0.0:
+  lilconfig@3.1.1:
     resolution:
       {
-        integrity: sha512-K2U4W2Ff5ibV7j7ydLr+zLAkIg5JJ4lPn1Ltsdt+Tz/IjQ8buJ55pZAxoP34lqIiwtF9iAvtLv3JGv7CAyAg+g==,
+        integrity: sha512-O18pf7nyvHTckunPWCV1XUNXU1piu01y2b7ATJ0ppkUkk8ocqVWBrYjJBCwHDjD/ZWcfyrA0P4gKhzWGi5EINQ==,
       }
     engines: { node: ">=14" }
 
-  lilconfig@3.1.1:
+  lilconfig@3.1.2:
     resolution:
       {
-        integrity: sha512-O18pf7nyvHTckunPWCV1XUNXU1piu01y2b7ATJ0ppkUkk8ocqVWBrYjJBCwHDjD/ZWcfyrA0P4gKhzWGi5EINQ==,
+        integrity: sha512-eop+wDAvpItUys0FWkHIKeC9ybYrTGbU41U5K7+bttZZeohvnY7M9dZ5kB21GNWiFT2q1OoPTvncPCgSOVO5ow==,
       }
     engines: { node: ">=14" }
 
@@ -3361,13 +3070,6 @@ packages:
       }
     engines: { node: ">=8" }
 
-  locate-path@6.0.0:
-    resolution:
-      {
-        integrity: sha512-iPZK6eYjbxRu3uB4/WZ3EsEIMJFMqAoopl3R+zuq0UjcAm/MO6KCweDgPfP3elTztoKP3KtnVHxTn2NHBSDVUw==,
-      }
-    engines: { node: ">=10" }
-
   lodash.memoize@4.1.2:
     resolution:
       {
@@ -3380,6 +3082,12 @@ packages:
         integrity: sha512-xfBaXQd9ryd9dlSDvnvI0lvxfLJlYAZzXomUYzLKtUeOQvOP5piqAWuGtrhWeqaXK9hhoM/iyJc5AV+XfsX3HQ==,
       }
 
+  lodash@4.17.21:
+    resolution:
+      {
+        integrity: sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg==,
+      }
+
   log-symbols@6.0.0:
     resolution:
       {
@@ -3399,17 +3107,16 @@ packages:
         integrity: sha512-KpNARQA3Iwv+jTA0utUVVbrh+Jlrr1Fv0e56GGzAFOXN7dk/FviaDW8LHmK52DlcH4WP2n6gI8vN1aesBFgo9w==,
       }
 
-  lru-cache@6.0.0:
+  magic-string@0.30.12:
     resolution:
       {
-        integrity: sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==,
+        integrity: sha512-Ea8I3sQMVXr8JhN4z+H/d8zwo+tYDgHE9+5G4Wnrwhs0gaK9fXTKx0Tw5Xwsd/bCPTTZNRAdpyzvoeORe9LYpw==,
       }
-    engines: { node: ">=10" }
 
-  magic-string@0.30.10:
+  magicast@0.3.5:
     resolution:
       {
-        integrity: sha512-iIRwTIf0QKV3UAnYK4PU8uiEc4SRh5jX0mwpIwETPpHdhVM4f53RSwS/vXvN1JhGX+Cs7B8qIq3d6AH49O5fAQ==,
+        integrity: sha512-L0WhttDl+2BOsybvEOLK7fW3UA0OQ0IQ2d6Zl2x/a6vVRs3bAY0ECOSHHeL5jD+SbOpOCUEi0y1DgHEn9Qn1AQ==,
       }
 
   markdown-extensions@2.0.0:
@@ -3545,12 +3252,6 @@ packages:
         integrity: sha512-GaqWWShW4kv/G9IEucWScBx9G1/vsFZZJUO+tD26M8J8z3Kw5RDQjaoZe03YAClgeS/SWPOcb4nkFBTEi5DUEA==,
       }
 
-  merge-stream@2.0.0:
-    resolution:
-      {
-        integrity: sha512-abv/qOcuPfk3URPfDzmZU1LKmuw8kT+0nIHvKrKgFrwifol/doWcdA4ZqsWQ8ENrFKkd67Mfpo/LovbIUsbt3w==,
-      }
-
   merge2@1.4.1:
     resolution:
       {
@@ -3781,19 +3482,19 @@ packages:
       }
     engines: { node: ">=8.6" }
 
-  mimic-fn@2.1.0:
+  micromatch@4.0.8:
     resolution:
       {
-        integrity: sha512-OqbOk5oEQeAZ8WXWydlu9HJjz9WVdEIvamMCcXmuqUYjTknH/sqsWvhQ3vgwKFRR1HpjvNBKQ37nbJgYzGqGcg==,
+        integrity: sha512-PXwfBhYu0hBCPw8Dn0E+WDYb7af3dSLVWKi3HGv84IdF4TyFoC0ysxFd0Goxw7nSv4T/PzEJQxsYsEiFCKo2BA==,
       }
-    engines: { node: ">=6" }
+    engines: { node: ">=8.6" }
 
-  mimic-fn@4.0.0:
+  mimic-function@5.0.1:
     resolution:
       {
-        integrity: sha512-vqiC06CuhBTUdZH+RYl8sFrL096vA45Ok5ISO6sE/Mr1jRbGH4Csnhi8f3wKVl7x8mO4Au7Ir9D3Oyv1VYMFJw==,
+        integrity: sha512-VP79XUPxV2CigYP3jWwAUFSku2aKqBH7uTAapFWCBqutsbmDo96KY5o8uh6U+/YSIn5OxJnXp73beVkpqMIGhA==,
       }
-    engines: { node: ">=12" }
+    engines: { node: ">=18" }
 
   minimatch@3.1.2:
     resolution:
@@ -3814,6 +3515,12 @@ packages:
         integrity: sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==,
       }
 
+  ms@2.1.3:
+    resolution:
+      {
+        integrity: sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==,
+      }
+
   muggle-string@0.4.1:
     resolution:
       {
@@ -3834,16 +3541,23 @@ packages:
     engines: { node: ^10 || ^12 || ^13.7 || ^14 || >=15.0.1 }
     hasBin: true
 
-  nlcst-to-string@3.1.1:
+  neotraverse@0.6.18:
+    resolution:
+      {
+        integrity: sha512-Z4SmBUweYa09+o6pG+eASabEpP6QkQ70yHj351pQoEXIs8uHbaU2DWVmzBANKgflPa47A50PtB2+NgRpQvr7vA==,
+      }
+    engines: { node: ">= 10" }
+
+  nlcst-to-string@4.0.0:
     resolution:
       {
-        integrity: sha512-63mVyqaqt0cmn2VcI2aH6kxe1rLAmSROqHMA0i4qqg1tidkfExgpb0FGMikMCn86mw5dFtBtEANfmSSK7TjNHw==,
+        integrity: sha512-YKLBCcUYKAg0FNlOBT6aI91qFmSiFKiluk655WzPF+DDMA02qIyy8uiRqI8QXtcFpEvll12LpL5MXqEmAZ+dcA==,
       }
 
-  node-releases@2.0.14:
+  node-releases@2.0.18:
     resolution:
       {
-        integrity: sha512-y10wOWt8yZpqXmOgRo77WaHEmhYQYGNA6y421PKsKYWEK8aW+cqAphborZDhqfyKrbZEN92CN1X2KbafY2s7Yw==,
+        integrity: sha512-d9VeXT4SJ7ZeOqGX6R5EM022wpL+eWPooLI+5UpWn2jCT1aosUQEhQP214x33Wkwx3JQMvIm+tIoVOdodFS40g==,
       }
 
   normalize-path@3.0.0:
@@ -3866,13 +3580,6 @@ packages:
         integrity: sha512-5PDmaAsVfnWUgTUbJ3ERwn7u79Z0dYxN9ErxCpVJJqe2RK0PJ3z+iFUxuqjwtlDDegXvtWoxD/3Fzxox7tFGWA==,
       }
 
-  npm-run-path@5.1.0:
-    resolution:
-      {
-        integrity: sha512-sJOdmRGrY2sjNTRMbSvluQqg+8X7ZK61yvzBEIDhz4f8z1TZFYABsqjjCBd/0PUNE9M6QDgHJXQkGUEm7Q+l9Q==,
-      }
-    engines: { node: ^12.20.0 || ^14.13.1 || >=16.0.0 }
-
   nth-check@2.1.1:
     resolution:
       {
@@ -3899,24 +3606,23 @@ packages:
         integrity: sha512-lNaJgI+2Q5URQBkccEKHTQOPaXdUxnZZElQTZY0MFUAuaEqe1E+Nyvgdz/aIyNi6Z9MzO5dv1H8n58/GELp3+w==,
       }
 
-  onetime@5.1.2:
+  onetime@7.0.0:
     resolution:
       {
-        integrity: sha512-kbpaSSGJTWdAY5KPVeMOKXSrPtr8C8C7wodJbcsd51jRnmD+GZu8Y0VoU6Dm5Z4vWr0Ig/1NKuWRKf7j5aaYSg==,
+        integrity: sha512-VXJjc87FScF88uafS3JllDgvAm+c/Slfz06lorj2uAY34rlUu0Nt+v8wreiImcrgAjjIHp1rXpTDlLOGw29WwQ==,
       }
-    engines: { node: ">=6" }
+    engines: { node: ">=18" }
 
-  onetime@6.0.0:
+  oniguruma-to-js@0.4.3:
     resolution:
       {
-        integrity: sha512-1FlR+gjXK7X+AsAHso35MnyN5KqGwJRi/31ft6x0M194ht7S+rWAvd7PHss9xSKMzE0asv1pyIHaJYq+BbacAQ==,
+        integrity: sha512-X0jWUcAlxORhOqqBREgPMgnshB7ZGYszBNspP+tS9hPD3l13CdaXcHbgImoHUHlrvGx/7AvFEkTRhAGYh+jzjQ==,
       }
-    engines: { node: ">=12" }
 
-  ora@8.0.1:
+  ora@8.1.1:
     resolution:
       {
-        integrity: sha512-ANIvzobt1rls2BDny5fWZ3ZVKyD6nscLvfFRpQgfWsythlcsVUC9kL0zq6j2Z5z9wwp1kd7wpsD/T9qNPVLCaQ==,
+        integrity: sha512-YWielGi1XzG1UTvOaCFaNgEnuhZVMSHYkW/FQ7UX8O26PtlpdM84c0f7wLPlkvx2RfiQmnzd61d/MGxmpQeJPw==,
       }
     engines: { node: ">=18" }
 
@@ -3927,17 +3633,10 @@ packages:
       }
     engines: { node: ">=6" }
 
-  p-limit@3.1.0:
-    resolution:
-      {
-        integrity: sha512-TYOanM3wGwNGsZN2cVTYPArw454xnXj5qmWF1bEoAc4+cU/ol7GVh7odevjp1FNHduHc3KZMcFduxU5Xc6uJRQ==,
-      }
-    engines: { node: ">=10" }
-
-  p-limit@5.0.0:
+  p-limit@6.1.0:
     resolution:
       {
-        integrity: sha512-/Eaoq+QyLSiXQ4lyYV23f14mZRQcXnxfHrN0vCai+ak9G0pp9iEQukIIZq5NccEvwRB8PUnZT0KsOoDCINS1qQ==,
+        integrity: sha512-H0jc0q1vOzlEk0TqAKXKZxdl7kX3OFUzCnNVUnq5Pc3DGo0kpeaMuPqxQn235HibwBEb0/pm9dgKTjXy66fBkg==,
       }
     engines: { node: ">=18" }
 
@@ -3948,13 +3647,6 @@ packages:
       }
     engines: { node: ">=8" }
 
-  p-locate@5.0.0:
-    resolution:
-      {
-        integrity: sha512-LaNjtRWUBY++zB5nE/NwcaoMylSPk+S+ZHNB1TzdbMJMny6dynpAGt7X/tl/QYq3TIeE6nxHppbo2LGymrG5Pw==,
-      }
-    engines: { node: ">=10" }
-
   p-queue@8.0.1:
     resolution:
       {
@@ -3989,10 +3681,10 @@ packages:
         integrity: sha512-SWzvYcSJh4d/SGLIOQfZ/CoNv6BTlI6YEQ7Nj82oDVnRpwe/Z/F1EMx42x3JAOwGBlCjeCH0BRJQbQ/opHL17w==,
       }
 
-  parse-latin@5.0.1:
+  parse-latin@7.0.0:
     resolution:
       {
-        integrity: sha512-b/K8ExXaWC9t34kKeDV8kGXBkXZ1HCSAZRYE7HR14eA1GlXX5L8iWhs8USJNhQU9q5ci413jCKF0gOyovvyRBg==,
+        integrity: sha512-mhHgobPPua5kZ98EF4HWiH167JWBfl4pvAIXXdbaVohtK7a6YBOy56kvhCqduqyo/f3yrHFWmqmiMg/BkBkYYQ==,
       }
 
   parse5@7.1.2:
@@ -4021,50 +3713,37 @@ packages:
       }
     engines: { node: ">=0.10.0" }
 
-  path-key@3.1.1:
-    resolution:
-      {
-        integrity: sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==,
-      }
-    engines: { node: ">=8" }
-
-  path-key@4.0.0:
-    resolution:
-      {
-        integrity: sha512-haREypq7xkM7ErfgIyA0z+Bj4AGKlMSdlQE2jvJo6huWD1EdkKYV+G/T4nq0YEF2vgTT8kqMFKo1uHn950r4SQ==,
-      }
-    engines: { node: ">=12" }
-
   path-parse@1.0.7:
     resolution:
       {
         integrity: sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw==,
       }
 
-  path-to-regexp@6.2.2:
+  picocolors@1.0.0:
     resolution:
       {
-        integrity: sha512-GQX3SSMokngb36+whdpRXE+3f9V8UzyAorlYvOGx87ufGHehNTn5lCxrKtLyZ4Yl/wEKnNnr98ZzOwwDZV5ogw==,
+        integrity: sha512-1fygroTLlHu66zi26VoTDv8yRgm0Fccecssto+MhsZ0D/DGW2sm8E8AjW7NU5VVTRt5GxbeZ5qBuJr+HyLYkjQ==,
       }
 
-  periscopic@3.1.0:
+  picocolors@1.1.1:
     resolution:
       {
-        integrity: sha512-vKiQ8RRtkl9P+r/+oefh25C3fhybptkHKCZSPlcXiJux2tJF55GnEj3BVn4A5gKfq9NWWXXrxkHBwVPUfH0opw==,
+        integrity: sha512-xceH2snhtb5M9liqDsmEw56le376mTZkEX/jEb/RxNFyegNul7eNslCXP9FDj/Lcu0X8KEyMceP2ntpaHrDEVA==,
       }
 
-  picocolors@1.0.0:
+  picomatch@2.3.1:
     resolution:
       {
-        integrity: sha512-1fygroTLlHu66zi26VoTDv8yRgm0Fccecssto+MhsZ0D/DGW2sm8E8AjW7NU5VVTRt5GxbeZ5qBuJr+HyLYkjQ==,
+        integrity: sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==,
       }
+    engines: { node: ">=8.6" }
 
-  picomatch@2.3.1:
+  picomatch@4.0.2:
     resolution:
       {
-        integrity: sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==,
+        integrity: sha512-M7BAV6Rlcy5u+m6oPhAPFgJTzAioX/6B0DxyvDlo9l8+T3nLKbrczg2WLUyzd45L8RqfUMyGPzekbMvX2Ldkwg==,
       }
-    engines: { node: ">=8.6" }
+    engines: { node: ">=12" }
 
   pify@2.3.0:
     resolution:
@@ -4094,19 +3773,19 @@ packages:
       }
     engines: { node: ">=8" }
 
-  postcss-attribute-case-insensitive@6.0.3:
+  postcss-attribute-case-insensitive@7.0.1:
     resolution:
       {
-        integrity: sha512-KHkmCILThWBRtg+Jn1owTnHPnFit4OkqS+eKiGEOPIGke54DCeYGJ6r0Fx/HjfE9M9kznApCLcU0DvnPchazMQ==,
+        integrity: sha512-Uai+SupNSqzlschRyNx3kbCTWgY/2hcwtHEI/ej2LJWc9JJ77qKgGptd8DHwY1mXtZ7Aoh4z4yxfwMBue9eNgw==,
       }
-    engines: { node: ^14 || ^16 || >=18 }
+    engines: { node: ">=18" }
     peerDependencies:
       postcss: ^8.4
 
-  postcss-calc@10.0.0:
+  postcss-calc@10.0.2:
     resolution:
       {
-        integrity: sha512-OmjhudoNTP0QleZCwl1i6NeBwN+5MZbY5ersLZz69mjJiDVv/p57RjRuKDkHeDWr4T+S97wQfsqRTNoDHB2e3g==,
+        integrity: sha512-DT/Wwm6fCKgpYVI7ZEWuPJ4az8hiEHtCUeYjZXqU7Ou4QqYh1Df2yCQ7Ca6N7xqKPFkxN3fhf+u9KSoOCJNAjg==,
       }
     engines: { node: ^18.12 || ^20.9 || >=22.0 }
     peerDependencies:
@@ -4121,100 +3800,100 @@ packages:
     peerDependencies:
       postcss: ^8.4.6
 
-  postcss-color-functional-notation@6.0.11:
+  postcss-color-functional-notation@7.0.5:
     resolution:
       {
-        integrity: sha512-gJ+hAtAsgBF4w7eh28Pg7EA60lx7vE5xO/B/yZawaI6FYHky+5avA9YSe73nJHnAMEVFpCMeJc6Wts5g+niksg==,
+        integrity: sha512-zW97tq5t2sSSSZQcIS4y6NDZj79zVv8hrBIJ4PSFZFmMBcjYqCt8sRXFGIYZohCpfFHmimMNqJje2Qd3qqMNdg==,
       }
-    engines: { node: ^14 || ^16 || >=18 }
+    engines: { node: ">=18" }
     peerDependencies:
       postcss: ^8.4
 
-  postcss-color-hex-alpha@9.0.4:
+  postcss-color-hex-alpha@10.0.0:
     resolution:
       {
-        integrity: sha512-XQZm4q4fNFqVCYMGPiBjcqDhuG7Ey2xrl99AnDJMyr5eDASsAGalndVgHZF8i97VFNy1GQeZc4q2ydagGmhelQ==,
+        integrity: sha512-1kervM2cnlgPs2a8Vt/Qbe5cQ++N7rkYo/2rz2BkqJZIHQwaVuJgQH38REHrAi4uM0b1fqxMkWYmese94iMp3w==,
       }
-    engines: { node: ^14 || ^16 || >=18 }
+    engines: { node: ">=18" }
     peerDependencies:
       postcss: ^8.4
 
-  postcss-color-rebeccapurple@9.0.3:
+  postcss-color-rebeccapurple@10.0.0:
     resolution:
       {
-        integrity: sha512-ruBqzEFDYHrcVq3FnW3XHgwRqVMrtEPLBtD7K2YmsLKVc2jbkxzzNEctJKsPCpDZ+LeMHLKRDoSShVefGc+CkQ==,
+        integrity: sha512-JFta737jSP+hdAIEhk1Vs0q0YF5P8fFcj+09pweS8ktuGuZ8pPlykHsk6mPxZ8awDl4TrcxUqJo9l1IhVr/OjQ==,
       }
-    engines: { node: ^14 || ^16 || >=18 }
+    engines: { node: ">=18" }
     peerDependencies:
       postcss: ^8.4
 
-  postcss-colormin@7.0.0:
+  postcss-colormin@7.0.2:
     resolution:
       {
-        integrity: sha512-5CN6fqtsEtEtwf3mFV3B4UaZnlYljPpzmGeDB4yCK067PnAtfLe9uX2aFZaEwxHE7HopG5rUkW8gyHrNAesHEg==,
+        integrity: sha512-YntRXNngcvEvDbEjTdRWGU606eZvB5prmHG4BF0yLmVpamXbpsRJzevyy6MZVyuecgzI2AWAlvFi8DAeCqwpvA==,
       }
     engines: { node: ^18.12.0 || ^20.9.0 || >=22.0 }
     peerDependencies:
       postcss: ^8.4.31
 
-  postcss-convert-values@7.0.0:
+  postcss-convert-values@7.0.4:
     resolution:
       {
-        integrity: sha512-bMuzDgXBbFbByPgj+/r6va8zNuIDUaIIbvAFgdO1t3zdgJZ77BZvu6dfWyd6gHEJnYzmeVr9ayUsAQL3/qLJ0w==,
+        integrity: sha512-e2LSXPqEHVW6aoGbjV9RsSSNDO3A0rZLCBxN24zvxF25WknMPpX8Dm9UxxThyEbaytzggRuZxaGXqaOhxQ514Q==,
       }
     engines: { node: ^18.12.0 || ^20.9.0 || >=22.0 }
     peerDependencies:
       postcss: ^8.4.31
 
-  postcss-custom-media@10.0.6:
+  postcss-custom-media@11.0.5:
     resolution:
       {
-        integrity: sha512-BjihQoIO4Wjqv9fQNExSJIim8UAmkhLxuJnhJsLTRFSba1y1MhxkJK5awsM//6JJ+/Tu5QUxf624RQAvKHv6SA==,
+        integrity: sha512-SQHhayVNgDvSAdX9NQ/ygcDQGEY+aSF4b/96z7QUX6mqL5yl/JgG/DywcF6fW9XbnCRE+aVYk+9/nqGuzOPWeQ==,
       }
-    engines: { node: ^14 || ^16 || >=18 }
+    engines: { node: ">=18" }
     peerDependencies:
       postcss: ^8.4
 
-  postcss-custom-properties@13.3.10:
+  postcss-custom-properties@14.0.4:
     resolution:
       {
-        integrity: sha512-ejaalIpl7p0k0L5ngIZ86AZGmp3m1KdeOCbSQTK4gQcB1ncaoPTHorw206+tsZRIhIDYvh5ZButEje6740YDXw==,
+        integrity: sha512-QnW8FCCK6q+4ierwjnmXF9Y9KF8q0JkbgVfvQEMa93x1GT8FvOiUevWCN2YLaOWyByeDX8S6VFbZEeWoAoXs2A==,
       }
-    engines: { node: ^14 || ^16 || >=18 }
+    engines: { node: ">=18" }
     peerDependencies:
       postcss: ^8.4
 
-  postcss-custom-selectors@7.1.10:
+  postcss-custom-selectors@8.0.4:
     resolution:
       {
-        integrity: sha512-bV/6+IExyT2J4kMzX6c+ZMlN1xDfjcC4ePr1ywKezcTgwgUn11qQN3jdzFBpo8Dk1K7vO/OYOwMb5AtJP4JZcg==,
+        integrity: sha512-ASOXqNvDCE0dAJ/5qixxPeL1aOVGHGW2JwSy7HyjWNbnWTQCl+fDc968HY1jCmZI0+BaYT5CxsOiUhavpG/7eg==,
       }
-    engines: { node: ^14 || ^16 || >=18 }
+    engines: { node: ">=18" }
     peerDependencies:
       postcss: ^8.4
 
-  postcss-dir-pseudo-class@8.0.1:
+  postcss-dir-pseudo-class@9.0.1:
     resolution:
       {
-        integrity: sha512-uULohfWBBVoFiZXgsQA24JV6FdKIidQ+ZqxOouhWwdE+qJlALbkS5ScB43ZTjPK+xUZZhlaO/NjfCt5h4IKUfw==,
+        integrity: sha512-tRBEK0MHYvcMUrAuYMEOa0zg9APqirBcgzi6P21OhxtJyJADo/SWBwY1CAwEohQ/6HDaa9jCjLRG7K3PVQYHEA==,
       }
-    engines: { node: ^14 || ^16 || >=18 }
+    engines: { node: ">=18" }
     peerDependencies:
       postcss: ^8.4
 
-  postcss-discard-comments@7.0.0:
+  postcss-discard-comments@7.0.3:
     resolution:
       {
-        integrity: sha512-xpSdzRqYmy4YIVmjfGyYXKaI1SRnK6CTr+4Zmvyof8ANwvgfZgGdVtmgAvzh59gJm808mJCWQC9tFN0KF5dEXA==,
+        integrity: sha512-q6fjd4WU4afNhWOA2WltHgCbkRhZPgQe7cXF74fuVB/ge4QbM9HEaOIzGSiMvM+g/cOsNAUGdf2JDzqA2F8iLA==,
       }
     engines: { node: ^18.12.0 || ^20.9.0 || >=22.0 }
     peerDependencies:
       postcss: ^8.4.31
 
-  postcss-discard-duplicates@7.0.0:
+  postcss-discard-duplicates@7.0.1:
     resolution:
       {
-        integrity: sha512-bAnSuBop5LpAIUmmOSsuvtKAAKREB6BBIYStWUTGq8oG5q9fClDMMuY8i4UPI/cEcDx2TN+7PMnXYIId20UVDw==,
+        integrity: sha512-oZA+v8Jkpu1ct/xbbrntHRsfLGuzoP+cpt0nJe5ED2FQF8n8bJtn7Bo28jSmBYwqgqnqkuSXJfSUEE7if4nClQ==,
       }
     engines: { node: ^18.12.0 || ^20.9.0 || >=22.0 }
     peerDependencies:
@@ -4238,30 +3917,30 @@ packages:
     peerDependencies:
       postcss: ^8.4.31
 
-  postcss-double-position-gradients@5.0.6:
+  postcss-double-position-gradients@6.0.0:
     resolution:
       {
-        integrity: sha512-QJ+089FKMaqDxOhhIHsJrh4IP7h4PIHNC5jZP5PMmnfUScNu8Hji2lskqpFWCvu+5sj+2EJFyzKd13sLEWOZmQ==,
+        integrity: sha512-JkIGah3RVbdSEIrcobqj4Gzq0h53GG4uqDPsho88SgY84WnpkTpI0k50MFK/sX7XqVisZ6OqUfFnoUO6m1WWdg==,
       }
-    engines: { node: ^14 || ^16 || >=18 }
+    engines: { node: ">=18" }
     peerDependencies:
       postcss: ^8.4
 
-  postcss-focus-visible@9.0.1:
+  postcss-focus-visible@10.0.1:
     resolution:
       {
-        integrity: sha512-N2VQ5uPz3Z9ZcqI5tmeholn4d+1H14fKXszpjogZIrFbhaq0zNAtq8sAnw6VLiqGbL8YBzsnu7K9bBkTqaRimQ==,
+        integrity: sha512-U58wyjS/I1GZgjRok33aE8juW9qQgQUNwTSdxQGuShHzwuYdcklnvK/+qOWX1Q9kr7ysbraQ6ht6r+udansalA==,
       }
-    engines: { node: ^14 || ^16 || >=18 }
+    engines: { node: ">=18" }
     peerDependencies:
       postcss: ^8.4
 
-  postcss-focus-within@8.0.1:
+  postcss-focus-within@9.0.1:
     resolution:
       {
-        integrity: sha512-NFU3xcY/xwNaapVb+1uJ4n23XImoC86JNwkY/uduytSl2s9Ekc2EpzmRR63+ExitnW3Mab3Fba/wRPCT5oDILA==,
+        integrity: sha512-fzNUyS1yOYa7mOjpci/bR+u+ESvdar6hk8XNK/TRR0fiGTp2QT5N+ducP0n3rfH/m9I7H/EQU6lsa2BrgxkEjw==,
       }
-    engines: { node: ^14 || ^16 || >=18 }
+    engines: { node: ">=18" }
     peerDependencies:
       postcss: ^8.4
 
@@ -4273,21 +3952,21 @@ packages:
     peerDependencies:
       postcss: ^8.1.0
 
-  postcss-gap-properties@5.0.1:
+  postcss-gap-properties@6.0.0:
     resolution:
       {
-        integrity: sha512-k2z9Cnngc24c0KF4MtMuDdToROYqGMMUQGcE6V0odwjHyOHtaDBlLeRBV70y9/vF7KIbShrTRZ70JjsI1BZyWw==,
+        integrity: sha512-Om0WPjEwiM9Ru+VhfEDPZJAKWUd0mV1HmNXqp2C29z80aQ2uP9UVhLc7e3aYMIor/S5cVhoPgYQ7RtfeZpYTRw==,
       }
-    engines: { node: ^14 || ^16 || >=18 }
+    engines: { node: ">=18" }
     peerDependencies:
       postcss: ^8.4
 
-  postcss-image-set-function@6.0.3:
+  postcss-image-set-function@7.0.0:
     resolution:
       {
-        integrity: sha512-i2bXrBYzfbRzFnm+pVuxVePSTCRiNmlfssGI4H0tJQvDue+yywXwUxe68VyzXs7cGtMaH6MCLY6IbCShrSroCw==,
+        integrity: sha512-QL7W7QNlZuzOwBTeXEmbVckNt1FSmhQtbMRvGGqqU4Nf4xk6KUEQhAoWuMzwbSv5jxiRiSZ5Tv7eiDB9U87znA==,
       }
-    engines: { node: ^14 || ^16 || >=18 }
+    engines: { node: ">=18" }
     peerDependencies:
       postcss: ^8.4
 
@@ -4309,12 +3988,12 @@ packages:
     peerDependencies:
       postcss: ^8.4.21
 
-  postcss-lab-function@6.0.16:
+  postcss-lab-function@7.0.5:
     resolution:
       {
-        integrity: sha512-QWv0VxfjgIl8jBR/wuQcm/o31jn4P/LwzYuVKzNQoO5t7HPcU0d3RfWUiDrHN3frmSv+YYZppr3P81tKFTDyqg==,
+        integrity: sha512-q2M8CfQbjHxbwv1GPAny05EVuj0WByUgq/OWKgpfbTHnMchtUqsVQgaW1mztjSZ4UPufwuTLB14fmFGsoTE/VQ==,
       }
-    engines: { node: ^14 || ^16 || >=18 }
+    engines: { node: ">=18" }
     peerDependencies:
       postcss: ^8.4
 
@@ -4333,28 +4012,28 @@ packages:
       ts-node:
         optional: true
 
-  postcss-logical@7.0.1:
+  postcss-logical@8.0.0:
     resolution:
       {
-        integrity: sha512-8GwUQZE0ri0K0HJHkDv87XOLC8DE0msc+HoWLeKdtjDZEwpZ5xuK3QdV6FhmHSQW40LPkg43QzvATRAI3LsRkg==,
+        integrity: sha512-HpIdsdieClTjXLOyYdUPAX/XQASNIwdKt5hoZW08ZOAiI+tbV0ta1oclkpVkW5ANU+xJvk3KkA0FejkjGLXUkg==,
       }
-    engines: { node: ^14 || ^16 || >=18 }
+    engines: { node: ">=18" }
     peerDependencies:
       postcss: ^8.4
 
-  postcss-merge-longhand@7.0.0:
+  postcss-merge-longhand@7.0.4:
     resolution:
       {
-        integrity: sha512-0X8I4/9+G03X5/5NnrfopG/YEln2XU8heDh7YqBaiq2SeaKIG3n66ShZPjIolmVuLBQ0BEm3yS8o1mlCLHdW7A==,
+        integrity: sha512-zer1KoZA54Q8RVHKOY5vMke0cCdNxMP3KBfDerjH/BYHh4nCIh+1Yy0t1pAEQF18ac/4z3OFclO+ZVH8azjR4A==,
       }
     engines: { node: ^18.12.0 || ^20.9.0 || >=22.0 }
     peerDependencies:
       postcss: ^8.4.31
 
-  postcss-merge-rules@7.0.0:
+  postcss-merge-rules@7.0.4:
     resolution:
       {
-        integrity: sha512-Zty3VlOsD6VSjBMu6PiHCVpLegtBT/qtZRVBcSeyEZ6q1iU5qTYT0WtEoLRV+YubZZguS5/ycfP+NRiKfjv6aw==,
+        integrity: sha512-ZsaamiMVu7uBYsIdGtKJ64PkcQt6Pcpep/uO90EpLS3dxJi6OXamIobTYcImyXGoW0Wpugh7DSD3XzxZS9JCPg==,
       }
     engines: { node: ^18.12.0 || ^20.9.0 || >=22.0 }
     peerDependencies:
@@ -4378,19 +4057,19 @@ packages:
     peerDependencies:
       postcss: ^8.4.31
 
-  postcss-minify-params@7.0.0:
+  postcss-minify-params@7.0.2:
     resolution:
       {
-        integrity: sha512-XOJAuX8Q/9GT1sGxlUvaFEe2H9n50bniLZblXXsAT/BwSfFYvzSZeFG7uupwc0KbKpTnflnQ7aMwGzX6JUWliQ==,
+        integrity: sha512-nyqVLu4MFl9df32zTsdcLqCFfE/z2+f8GE1KHPxWOAmegSo6lpV2GNy5XQvrzwbLmiU7d+fYay4cwto1oNdAaQ==,
       }
     engines: { node: ^18.12.0 || ^20.9.0 || >=22.0 }
     peerDependencies:
       postcss: ^8.4.31
 
-  postcss-minify-selectors@7.0.0:
+  postcss-minify-selectors@7.0.4:
     resolution:
       {
-        integrity: sha512-f00CExZhD6lNw2vTZbcnmfxVgaVKzUw6IRsIFX3JTT8GdsoABc1WnhhGwL1i8YPJ3sSWw39fv7XPtvLb+3Uitw==,
+        integrity: sha512-JG55VADcNb4xFCf75hXkzc1rNeURhlo7ugf6JjiiKRfMsKlDzN9CXHZDyiG6x/zGchpjQS+UAgb1d4nqXqOpmA==,
       }
     engines: { node: ^18.12.0 || ^20.9.0 || >=22.0 }
     peerDependencies:
@@ -4405,12 +4084,12 @@ packages:
     peerDependencies:
       postcss: ^8.2.14
 
-  postcss-nesting@12.1.4:
+  postcss-nesting@13.0.1:
     resolution:
       {
-        integrity: sha512-CcHOq94K137E+U4Ommu7pexcpp0Tjm24zl4UcqWs1oSLAr5cLI+jLrqQ5h/bdjhMX6cMbzunyustVNnvrzF8Zg==,
+        integrity: sha512-VbqqHkOBOt4Uu3G8Dm8n6lU5+9cJFxiuty9+4rcoyRPO9zZS1JIs6td49VIoix3qYqELHlJIn46Oih9SAKo+yQ==,
       }
-    engines: { node: ^14 || ^16 || >=18 }
+    engines: { node: ">=18" }
     peerDependencies:
       postcss: ^8.4
 
@@ -4468,10 +4147,10 @@ packages:
     peerDependencies:
       postcss: ^8.4.31
 
-  postcss-normalize-unicode@7.0.0:
+  postcss-normalize-unicode@7.0.2:
     resolution:
       {
-        integrity: sha512-OnKV52/VFFDAim4n0pdI+JAhsolLBdnCKxE6VV5lW5Q/JeVGFN8UM8ur6/A3EAMLsT1ZRm3fDHh/rBoBQpqi2w==,
+        integrity: sha512-ztisabK5C/+ZWBdYC+Y9JCkp3M9qBv/XFvDtSw0d/XwfT3UaKeW/YTm/MD/QrPNxuecia46vkfEhewjwcYFjkg==,
       }
     engines: { node: ^18.12.0 || ^20.9.0 || >=22.0 }
     peerDependencies:
@@ -4495,30 +4174,30 @@ packages:
     peerDependencies:
       postcss: ^8.4.31
 
-  postcss-opacity-percentage@2.0.0:
+  postcss-opacity-percentage@3.0.0:
     resolution:
       {
-        integrity: sha512-lyDrCOtntq5Y1JZpBFzIWm2wG9kbEdujpNt4NLannF+J9c8CgFIzPa80YQfdza+Y+yFfzbYj/rfoOsYsooUWTQ==,
+        integrity: sha512-K6HGVzyxUxd/VgZdX04DCtdwWJ4NGLG212US4/LA1TLAbHgmAsTWVR86o+gGIbFtnTkfOpb9sCRBx8K7HO66qQ==,
       }
-    engines: { node: ^14 || ^16 || >=18 }
+    engines: { node: ">=18" }
     peerDependencies:
-      postcss: ^8.2
+      postcss: ^8.4
 
-  postcss-ordered-values@7.0.0:
+  postcss-ordered-values@7.0.1:
     resolution:
       {
-        integrity: sha512-KROvC63A8UQW1eYDljQe1dtwc1E/M+mMwDT6z7khV/weHYLWTghaLRLunU7x1xw85lWFwVZOAGakxekYvKV+0w==,
+        integrity: sha512-irWScWRL6nRzYmBOXReIKch75RRhNS86UPUAxXdmW/l0FcAsg0lvAXQCby/1lymxn/o0gVa6Rv/0f03eJOwHxw==,
       }
     engines: { node: ^18.12.0 || ^20.9.0 || >=22.0 }
     peerDependencies:
       postcss: ^8.4.31
 
-  postcss-overflow-shorthand@5.0.1:
+  postcss-overflow-shorthand@6.0.0:
     resolution:
       {
-        integrity: sha512-XzjBYKLd1t6vHsaokMV9URBt2EwC9a7nDhpQpjoPk2HRTSQfokPfyAS/Q7AOrzUu6q+vp/GnrDBGuj/FCaRqrQ==,
+        integrity: sha512-BdDl/AbVkDjoTofzDQnwDdm/Ym6oS9KgmO7Gr+LHYjNWJ6ExORe4+3pcLQsLA9gIROMkiGVjjwZNoL/mpXHd5Q==,
       }
-    engines: { node: ^14 || ^16 || >=18 }
+    engines: { node: ">=18" }
     peerDependencies:
       postcss: ^8.4
 
@@ -4530,37 +4209,37 @@ packages:
     peerDependencies:
       postcss: ^8
 
-  postcss-place@9.0.1:
+  postcss-place@10.0.0:
     resolution:
       {
-        integrity: sha512-JfL+paQOgRQRMoYFc2f73pGuG/Aw3tt4vYMR6UA3cWVMxivviPTnMFnFTczUJOA4K2Zga6xgQVE+PcLs64WC8Q==,
+        integrity: sha512-5EBrMzat2pPAxQNWYavwAfoKfYcTADJ8AXGVPcUZ2UkNloUTWzJQExgrzrDkh3EKzmAx1evfTAzF9I8NGcc+qw==,
       }
-    engines: { node: ^14 || ^16 || >=18 }
+    engines: { node: ">=18" }
     peerDependencies:
       postcss: ^8.4
 
-  postcss-preset-env@9.5.13:
+  postcss-preset-env@10.0.9:
     resolution:
       {
-        integrity: sha512-YQMwWu6MAc4Envrjf/mW2BTrb5J8WkrJ4dV2VostZVDhrmEPpYREOyhmvtlFLDxK1/AmTDY8aXjZViMC1qKu/w==,
+        integrity: sha512-mpfJWMAW6szov+ifW9HpNUUZE3BoXoHc4CDzNQHdH2I4CwsqulQ3bpFNUR6zh4tg0BUcqM7UUAbzG4UTel8QYw==,
       }
-    engines: { node: ^14 || ^16 || >=18 }
+    engines: { node: ">=18" }
     peerDependencies:
       postcss: ^8.4
 
-  postcss-pseudo-class-any-link@9.0.2:
+  postcss-pseudo-class-any-link@10.0.1:
     resolution:
       {
-        integrity: sha512-HFSsxIqQ9nA27ahyfH37cRWGk3SYyQLpk0LiWw/UGMV4VKT5YG2ONee4Pz/oFesnK0dn2AjcyequDbIjKJgB0g==,
+        integrity: sha512-3el9rXlBOqTFaMFkWDOkHUTQekFIYnaQY55Rsp8As8QQkpiSgIYEcF/6Ond93oHiDsGb4kad8zjt+NPlOC1H0Q==,
       }
-    engines: { node: ^14 || ^16 || >=18 }
+    engines: { node: ">=18" }
     peerDependencies:
       postcss: ^8.4
 
-  postcss-reduce-initial@7.0.0:
+  postcss-reduce-initial@7.0.2:
     resolution:
       {
-        integrity: sha512-iqGgmBxY9LrblZ0BKLjmrA1mC/cf9A/wYCCqSmD6tMi+xAyVl0+DfixZIHSVDMbCPRPjNmVF0DFGth/IDGelFQ==,
+        integrity: sha512-pOnu9zqQww7dEKf62Nuju6JgsW2V0KRNBHxeKohU+JkHd/GAH5uvoObqFLqkeB2n20mr6yrlWDvo5UBU5GnkfA==,
       }
     engines: { node: ^18.12.0 || ^20.9.0 || >=22.0 }
     peerDependencies:
@@ -4583,42 +4262,49 @@ packages:
     peerDependencies:
       postcss: ^8.0.3
 
-  postcss-selector-not@7.0.2:
+  postcss-selector-not@8.0.1:
     resolution:
       {
-        integrity: sha512-/SSxf/90Obye49VZIfc0ls4H0P6i6V1iHv0pzZH8SdgvZOPFkF37ef1r5cyWcMflJSFJ5bfuoluTnFnBBFiuSA==,
+        integrity: sha512-kmVy/5PYVb2UOhy0+LqUYAhKj7DUGDpSWa5LZqlkWJaaAV+dxxsOG3+St0yNLu6vsKD7Dmqx+nWQt0iil89+WA==,
       }
-    engines: { node: ^14 || ^16 || >=18 }
+    engines: { node: ">=18" }
     peerDependencies:
       postcss: ^8.4
 
-  postcss-selector-parser@6.0.13:
+  postcss-selector-parser@6.0.16:
+    resolution:
+      {
+        integrity: sha512-A0RVJrX+IUkVZbW3ClroRWurercFhieevHB38sr2+l9eUClMqome3LmEmnhlNy+5Mr2EYN6B2Kaw9wYdd+VHiw==,
+      }
+    engines: { node: ">=4" }
+
+  postcss-selector-parser@6.1.2:
     resolution:
       {
-        integrity: sha512-EaV1Gl4mUEV4ddhDnv/xtj7sxwrwxdetHdWUGnT4VJQf+4d05v6lHYZr8N573k5Z0BViss7BDhfWtKS3+sfAqQ==,
+        integrity: sha512-Q8qQfPiZ+THO/3ZrOrO0cJJKfpYCagtMUkXbnEfmgUjwXg6z/WBeOyS9APBBPCTSiDV+s4SwQGu8yFsiMRIudg==,
       }
     engines: { node: ">=4" }
 
-  postcss-selector-parser@6.0.16:
+  postcss-selector-parser@7.0.0:
     resolution:
       {
-        integrity: sha512-A0RVJrX+IUkVZbW3ClroRWurercFhieevHB38sr2+l9eUClMqome3LmEmnhlNy+5Mr2EYN6B2Kaw9wYdd+VHiw==,
+        integrity: sha512-9RbEr1Y7FFfptd/1eEdntyjMwLeghW1bHX9GWjXo19vx4ytPQhANltvVxDggzJl7mnWM+dX28kb6cyS/4iQjlQ==,
       }
     engines: { node: ">=4" }
 
-  postcss-svgo@7.0.0:
+  postcss-svgo@7.0.1:
     resolution:
       {
-        integrity: sha512-Xj5DRdvA97yRy3wjbCH2NKXtDUwEnph6EHr5ZXszsBVKCNrKXYBjzAXqav7/Afz5WwJ/1peZoTguCEJIg7ytmA==,
+        integrity: sha512-0WBUlSL4lhD9rA5k1e5D8EN5wCEyZD6HJk0jIvRxl+FDVOMlJ7DePHYWGGVc5QRqrJ3/06FTXM0bxjmJpmTPSA==,
       }
     engines: { node: ^18.12.0 || ^20.9.0 || >= 18 }
     peerDependencies:
       postcss: ^8.4.31
 
-  postcss-unique-selectors@7.0.0:
+  postcss-unique-selectors@7.0.3:
     resolution:
       {
-        integrity: sha512-NYFqcft7vVQMZlQPsMdMPy+qU/zDpy95Malpw4GeA9ZZjM6dVXDshXtDmLc0m4WCD6XeZCJqjTfPT1USsdt+rA==,
+        integrity: sha512-J+58u5Ic5T1QjP/LDV9g3Cx4CNOgB5vz+kM6+OxHHhFACdcDeKhBXjQmB7fnIZM12YSTvsL0Opwco83DmacW2g==,
       }
     engines: { node: ^18.12.0 || ^20.9.0 || >=22.0 }
     peerDependencies:
@@ -4630,33 +4316,34 @@ packages:
         integrity: sha512-1NNCs6uurfkVbeXG4S8JFT9t19m45ICnif8zWLd5oPSZ50QnwMfK+H3jv408d4jw/7Bttv5axS5IiHoLaVNHeQ==,
       }
 
-  postcss@8.4.31:
+  postcss@8.4.38:
     resolution:
       {
-        integrity: sha512-PS08Iboia9mts/2ygV3eLpY5ghnUcfLV/EXTOW1E2qYxJKGGBUtNjN76FYHnMs36RmARn41bC0AZmn+rR0OVpQ==,
+        integrity: sha512-Wglpdk03BSfXkHoQa3b/oulrotAkwrlLDRSOb9D0bN86FdRyE9lppSp33aHNPgBa0JKCoB+drFLZkQoRRYae5A==,
       }
     engines: { node: ^10 || ^12 || >=14 }
 
-  postcss@8.4.33:
+  postcss@8.4.47:
     resolution:
       {
-        integrity: sha512-Kkpbhhdjw2qQs2O2DGX+8m5OVqEcbB9HRBvuYM9pgrjEFUg30A9LmXNlTAUj4S9kgtGyrMbTzVjH7E+s5Re2yg==,
+        integrity: sha512-56rxCq7G/XfB4EkXq9Egn5GCqugWvDFjafDOThIdMBsI15iqPqR5r15TfSr1YPYeEI19YeaXMCbY6u88Y76GLQ==,
       }
     engines: { node: ^10 || ^12 || >=14 }
 
-  postcss@8.4.38:
+  preferred-pm@4.0.0:
     resolution:
       {
-        integrity: sha512-Wglpdk03BSfXkHoQa3b/oulrotAkwrlLDRSOb9D0bN86FdRyE9lppSp33aHNPgBa0JKCoB+drFLZkQoRRYae5A==,
+        integrity: sha512-gYBeFTZLu055D8Vv3cSPox/0iTPtkzxpLroSYYA7WXgRi31WCJ51Uyl8ZiPeUUjyvs2MBzK+S8v9JVUgHU/Sqw==,
       }
-    engines: { node: ^10 || ^12 || >=14 }
+    engines: { node: ">=18.12" }
 
-  preferred-pm@3.1.3:
+  prettier@2.8.7:
     resolution:
       {
-        integrity: sha512-MkXsENfftWSRpzCzImcp4FRsCc3y1opwB73CfCNWyzMqArju2CrlMHlqB7VexKiPEOjGMbttv1r9fSCn5S610w==,
+        integrity: sha512-yPngTo3aXUUmyuTjeTUT75txrf+aMh9FiD7q9ZE/i6r0bPb22g4FsE6Y338PQX1bmfy08i9QQCB7/rcUAVntfw==,
       }
-    engines: { node: ">=10" }
+    engines: { node: ">=10.13.0" }
+    hasBin: true
 
   prismjs@1.29.0:
     resolution:
@@ -4697,70 +4384,131 @@ packages:
       }
     engines: { node: ">=8.10.0" }
 
-  rehype-expressive-code@0.35.3:
+  readdirp@4.0.2:
     resolution:
       {
-        integrity: sha512-kj43Rg+WzYUs8RRr6XyBr60pnrIZEgbmn9yJoV6qka1UDpcx7r8icn6Q2uSAgaLtlEUy+HCPgQJraOZrA53LOQ==,
+        integrity: sha512-yDMz9g+VaZkqBYS/ozoBJwaBhTbZo3UNYQHNRw1D3UFQB8oHB4uS/tAODO+ZLjGWmUbKnIlOWO+aaIiAxrUWHA==,
       }
+    engines: { node: ">= 14.16.0" }
 
-  rehype-format@5.0.0:
+  recma-build-jsx@1.0.0:
     resolution:
       {
-        integrity: sha512-kM4II8krCHmUhxrlvzFSptvaWh280Fr7UGNJU5DCMuvmAwGCNmGfi9CvFAQK6JDjsNoRMWQStglK3zKJH685Wg==,
+        integrity: sha512-8GtdyqaBcDfva+GUKDr3nev3VpKAhup1+RvkMvUxURHpW7QyIvk9F5wz7Vzo06CEMSilw6uArgRqhpiUcWp8ew==,
       }
 
-  rehype-minify-whitespace@6.0.0:
+  recma-jsx@1.0.0:
     resolution:
       {
-        integrity: sha512-i9It4YHR0Sf3GsnlR5jFUKXRr9oayvEk9GKQUkwZv6hs70OH9q3OCZrq9PpLvIGKt3W+JxBOxCidNVpH/6rWdA==,
+        integrity: sha512-5vwkv65qWwYxg+Atz95acp8DMu1JDSqdGkA2Of1j6rCreyFUE/gp15fC8MnGEuG1W68UKjM6x6+YTWIh7hZM/Q==,
       }
 
-  rehype-parse@9.0.0:
+  recma-parse@1.0.0:
     resolution:
       {
-        integrity: sha512-WG7nfvmWWkCR++KEkZevZb/uw41E8TsH4DsY9UxsTbIXCVGbAs4S+r8FrQ+OtH5EEQAs+5UxKC42VinkmpA1Yw==,
+        integrity: sha512-OYLsIGBB5Y5wjnSnQW6t3Xg7q3fQ7FWbw/vcXtORTnyaSFscOtABg+7Pnz6YZ6c27fG1/aN8CjfwoUEUIdwqWQ==,
       }
 
-  rehype-raw@7.0.0:
+  recma-stringify@1.0.0:
     resolution:
       {
-        integrity: sha512-/aE8hCfKlQeA8LmyeyQvQF3eBiLRGNlfBJEvWH7ivp9sBqs7TNqBL5X3v157rM4IFETqDnIOO+z5M/biZbo9Ww==,
+        integrity: sha512-cjwII1MdIIVloKvC9ErQ+OgAtwHBmcZ0Bg4ciz78FtbT8In39aAYbaA7zvxQ61xVMSPE8WxhLwLbhif4Js2C+g==,
       }
 
-  rehype-stringify@10.0.0:
+  regenerator-runtime@0.14.1:
     resolution:
       {
-        integrity: sha512-1TX1i048LooI9QoecrXy7nGFFbFSufxVRAfc6Y9YMRAi56l+oB0zP51mLSV312uRuvVLPV1opSlJmslozR1XHQ==,
+        integrity: sha512-dYnhHh0nJoMfnkZs6GmmhFknAGRrLznOu5nc9ML+EJxGvrx6H7teuevqVqCuPcPK//3eDrrjQhehXVx9cnkGdw==,
       }
 
-  rehype@13.0.1:
+  regex@4.4.0:
     resolution:
       {
-        integrity: sha512-AcSLS2mItY+0fYu9xKxOu1LhUZeBZZBx8//5HKzF+0XP+eP8+6a5MXn2+DW2kfXR6Dtp1FEXMVrjyKAcvcU8vg==,
+        integrity: sha512-uCUSuobNVeqUupowbdZub6ggI5/JZkYyJdDogddJr60L764oxC2pMZov1fQ3wM9bdyzUILDG+Sqx6NAKAz9rKQ==,
       }
 
-  remark-directive@3.0.0:
+  rehype-expressive-code@0.35.6:
     resolution:
       {
-        integrity: sha512-l1UyWJ6Eg1VPU7Hm/9tt0zKtReJQNOA4+iDMAxTyZNWnJnFlbS/7zhiel/rogTLQ2vMYwDzSJa4BiVNqGlqIMA==,
+        integrity: sha512-pPdE+pRcRw01kxMOwHQjuRxgwlblZt5+wAc3w2aPGgmcnn57wYjn07iKO7zaznDxYVxMYVvYlnL+R3vWFQS4Gw==,
       }
 
-  remark-gfm@4.0.0:
+  rehype-format@5.0.0:
     resolution:
       {
-        integrity: sha512-U92vJgBPkbw4Zfu/IiW2oTZLSL3Zpv+uI7My2eq8JxKgqraFdU8YUGicEJCEgSbeaG+QDFqIcwwfMTOEelPxuA==,
+        integrity: sha512-kM4II8krCHmUhxrlvzFSptvaWh280Fr7UGNJU5DCMuvmAwGCNmGfi9CvFAQK6JDjsNoRMWQStglK3zKJH685Wg==,
       }
 
-  remark-mdx@3.0.0:
+  rehype-minify-whitespace@6.0.0:
     resolution:
       {
-        integrity: sha512-O7yfjuC6ra3NHPbRVxfflafAj3LTwx3b73aBvkEFU5z4PsD6FD4vrqJAkE5iNGLz71GdjXfgRqm3SQ0h0VuE7g==,
+        integrity: sha512-i9It4YHR0Sf3GsnlR5jFUKXRr9oayvEk9GKQUkwZv6hs70OH9q3OCZrq9PpLvIGKt3W+JxBOxCidNVpH/6rWdA==,
       }
 
-  remark-parse@11.0.0:
+  rehype-parse@9.0.0:
     resolution:
       {
-        integrity: sha512-FCxlKLNGknS5ba/1lmpYijMUzX2esxW5xQqjWxw2eHFfS2MSdaHVINFmhjo+qN1WhZhNimq0dZATN9pH0IDrpA==,
+        integrity: sha512-WG7nfvmWWkCR++KEkZevZb/uw41E8TsH4DsY9UxsTbIXCVGbAs4S+r8FrQ+OtH5EEQAs+5UxKC42VinkmpA1Yw==,
+      }
+
+  rehype-raw@7.0.0:
+    resolution:
+      {
+        integrity: sha512-/aE8hCfKlQeA8LmyeyQvQF3eBiLRGNlfBJEvWH7ivp9sBqs7TNqBL5X3v157rM4IFETqDnIOO+z5M/biZbo9Ww==,
+      }
+
+  rehype-recma@1.0.0:
+    resolution:
+      {
+        integrity: sha512-lqA4rGUf1JmacCNWWZx0Wv1dHqMwxzsDWYMTowuplHF3xH0N/MmrZ/G3BDZnzAkRmxDadujCjaKM2hqYdCBOGw==,
+      }
+
+  rehype-stringify@10.0.0:
+    resolution:
+      {
+        integrity: sha512-1TX1i048LooI9QoecrXy7nGFFbFSufxVRAfc6Y9YMRAi56l+oB0zP51mLSV312uRuvVLPV1opSlJmslozR1XHQ==,
+      }
+
+  rehype-stringify@10.0.1:
+    resolution:
+      {
+        integrity: sha512-k9ecfXHmIPuFVI61B9DeLPN0qFHfawM6RsuX48hoqlaKSF61RskNjSm1lI8PhBEM0MRdLxVVm4WmTqJQccH9mA==,
+      }
+
+  rehype@13.0.1:
+    resolution:
+      {
+        integrity: sha512-AcSLS2mItY+0fYu9xKxOu1LhUZeBZZBx8//5HKzF+0XP+eP8+6a5MXn2+DW2kfXR6Dtp1FEXMVrjyKAcvcU8vg==,
+      }
+
+  rehype@13.0.2:
+    resolution:
+      {
+        integrity: sha512-j31mdaRFrwFRUIlxGeuPXXKWQxet52RBQRvCmzl5eCefn/KGbomK5GMHNMsOJf55fgo3qw5tST5neDuarDYR2A==,
+      }
+
+  remark-directive@3.0.0:
+    resolution:
+      {
+        integrity: sha512-l1UyWJ6Eg1VPU7Hm/9tt0zKtReJQNOA4+iDMAxTyZNWnJnFlbS/7zhiel/rogTLQ2vMYwDzSJa4BiVNqGlqIMA==,
+      }
+
+  remark-gfm@4.0.0:
+    resolution:
+      {
+        integrity: sha512-U92vJgBPkbw4Zfu/IiW2oTZLSL3Zpv+uI7My2eq8JxKgqraFdU8YUGicEJCEgSbeaG+QDFqIcwwfMTOEelPxuA==,
+      }
+
+  remark-mdx@3.0.0:
+    resolution:
+      {
+        integrity: sha512-O7yfjuC6ra3NHPbRVxfflafAj3LTwx3b73aBvkEFU5z4PsD6FD4vrqJAkE5iNGLz71GdjXfgRqm3SQ0h0VuE7g==,
+      }
+
+  remark-parse@11.0.0:
+    resolution:
+      {
+        integrity: sha512-FCxlKLNGknS5ba/1lmpYijMUzX2esxW5xQqjWxw2eHFfS2MSdaHVINFmhjo+qN1WhZhNimq0dZATN9pH0IDrpA==,
       }
 
   remark-rehype@11.1.0:
@@ -4769,12 +4517,18 @@ packages:
         integrity: sha512-z3tJrAs2kIs1AqIIy6pzHmAHlF1hWQ+OdY4/hv+Wxe35EhyLKcajL33iUEn3ScxtFox9nUvRufR/Zre8Q08H/g==,
       }
 
-  remark-smartypants@2.0.0:
+  remark-rehype@11.1.1:
     resolution:
       {
-        integrity: sha512-Rc0VDmr/yhnMQIz8n2ACYXlfw/P/XZev884QU1I5u+5DgJls32o97Vc1RbK3pfumLsJomS2yy8eT4Fxj/2MDVA==,
+        integrity: sha512-g/osARvjkBXb6Wo0XvAeXQohVta8i84ACbenPpoSsxTOQH/Ae0/RGP4WZgnMH5pMLpsj4FG7OHmcIcXxpza8eQ==,
       }
-    engines: { node: ^12.20.0 || ^14.13.1 || >=16.0.0 }
+
+  remark-smartypants@3.0.2:
+    resolution:
+      {
+        integrity: sha512-ILTWeOriIluwEvPjv67v7Blgrcx+LZOkAUVtKI3putuhlZm84FnqDORNXPPm+HY3NdZOMhyDwZ1E+eZB/Df5dA==,
+      }
+    engines: { node: ">=16.0.0" }
 
   remark-stringify@11.0.0:
     resolution:
@@ -4782,6 +4536,12 @@ packages:
         integrity: sha512-1OSmLd3awB/t8qdoEOMazZkNsfVTeY4fTsgzcQFdXNq8ToTN4ZGwrMnlda4K6smTFKD+GRV6O48i6Z4iKgPPpw==,
       }
 
+  request-light@0.5.8:
+    resolution:
+      {
+        integrity: sha512-3Zjgh+8b5fhRJBQZoy+zbVKpAQGLyka0MPgW3zruTF4dFFJ8Fqcfu9YsAvi/rvdcaTeWG3MkbZv4WKxAn/84Lg==,
+      }
+
   request-light@0.7.0:
     resolution:
       {
@@ -4795,6 +4555,13 @@ packages:
       }
     engines: { node: ">=0.10.0" }
 
+  require-from-string@2.0.2:
+    resolution:
+      {
+        integrity: sha512-Xf0nWe6RseziFMu+Ap9biiUbmplq6S9/p+7w7YXP/JBHhrUDDUhwa+vANyubuqfZWTveU//DYVGsDG7RKL/vEw==,
+      }
+    engines: { node: ">=0.10.0" }
+
   resolve@1.22.8:
     resolution:
       {
@@ -4802,35 +4569,35 @@ packages:
       }
     hasBin: true
 
-  restore-cursor@4.0.0:
+  restore-cursor@5.1.0:
     resolution:
       {
-        integrity: sha512-I9fPXU9geO9bHOt9pHHOhOkYerIMsmVaWB0rA2AI9ERh/+x/i7MV5HKBNrg+ljO5eoPVgCcnFuRjJ9uH6I/3eg==,
+        integrity: sha512-oMA2dcrw6u0YfxJQXm342bFKX/E4sG9rbTzO9ptUcR/e8A33cHuvStiYOwH7fszkZlZ1z/ta9AAoPk2F4qIOHA==,
       }
-    engines: { node: ^12.20.0 || ^14.13.1 || >=16.0.0 }
+    engines: { node: ">=18" }
 
-  retext-latin@3.1.0:
+  retext-latin@4.0.0:
     resolution:
       {
-        integrity: sha512-5MrD1tuebzO8ppsja5eEu+ZbBeUNCjoEarn70tkXOS7Bdsdf6tNahsv2bY0Z8VooFF6cw7/6S+d3yI/TMlMVVQ==,
+        integrity: sha512-hv9woG7Fy0M9IlRQloq/N6atV82NxLGveq+3H2WOi79dtIYWN8OaxogDm77f8YnVXJL2VD3bbqowu5E3EMhBYA==,
       }
 
-  retext-smartypants@5.2.0:
+  retext-smartypants@6.2.0:
     resolution:
       {
-        integrity: sha512-Do8oM+SsjrbzT2UNIKgheP0hgUQTDDQYyZaIY3kfq0pdFzoPk+ZClYJ+OERNXveog4xf1pZL4PfRxNoVL7a/jw==,
+        integrity: sha512-kk0jOU7+zGv//kfjXEBjdIryL1Acl4i9XNkHxtM7Tm5lFiCog576fjNC9hjoR7LTKQ0DsPWy09JummSsH1uqfQ==,
       }
 
-  retext-stringify@3.1.0:
+  retext-stringify@4.0.0:
     resolution:
       {
-        integrity: sha512-767TLOaoXFXyOnjx/EggXlb37ZD2u4P1n0GJqVdpipqACsQP+20W+BNpMYrlJkq7hxffnFk+jc6mAK9qrbuB8w==,
+        integrity: sha512-rtfN/0o8kL1e+78+uxPTqu1Klt0yPzKuQ2BfWwwfgIUSayyzxpM1PJzkKt4V8803uB9qSy32MvI7Xep9khTpiA==,
       }
 
-  retext@8.1.0:
+  retext@9.0.0:
     resolution:
       {
-        integrity: sha512-N9/Kq7YTn6ZpzfiGW45WfEGJqFf1IM1q8OsRa1CGzIebCJBNCANDRmOrholiDRGKo/We7ofKR4SEvcGAWEMD3Q==,
+        integrity: sha512-sbMDcpHCNjvlheSgMfEcVrZko3cDzdbe1x/e7G66dFp0Ff7Mldvi2uv6JkJQzdRcvLYE8CA8Oe8siQx8ZOgTcA==,
       }
 
   reusify@1.0.4:
@@ -4840,10 +4607,10 @@ packages:
       }
     engines: { iojs: ">=1.0.0", node: ">=0.10.0" }
 
-  rollup@4.17.2:
+  rollup@4.24.4:
     resolution:
       {
-        integrity: sha512-/9ClTJPByC0U4zNLowV1tMBe8yMEAxewtR3cUNX5BoEpGH3dQEWpJLr6CLp0fPdYRF/fzVOgvDb1zXuakwF5kQ==,
+        integrity: sha512-vGorVWIsWfX3xbcyAS+I047kFKapHYivmkaT63Smj77XwvLSJos6M1xGqZnBPFQFBRZDOcG1QnYEIxAvTr/HjA==,
       }
     engines: { node: ">=18.0.0", npm: ">=8.0.0" }
     hasBin: true
@@ -4874,14 +4641,6 @@ packages:
       }
     hasBin: true
 
-  semver@7.5.4:
-    resolution:
-      {
-        integrity: sha512-1bCSESV6Pv+i21Hvpxp3Dx+pSD8lIPt8uVjRrxAUt/nbswYc+tK6Y2btiULjd4+fnq15PX+nqQDC7Oft7WkwcA==,
-      }
-    engines: { node: ">=10" }
-    hasBin: true
-
   semver@7.6.2:
     resolution:
       {
@@ -4890,26 +4649,26 @@ packages:
     engines: { node: ">=10" }
     hasBin: true
 
-  sharp@0.33.4:
+  semver@7.6.3:
     resolution:
       {
-        integrity: sha512-7i/dt5kGl7qR4gwPRD2biwD2/SvBn3O04J77XKFgL2OnZtQw+AG9wnuS/csmu80nPRHLYE9E41fyEiG8nhH6/Q==,
+        integrity: sha512-oVekP1cKtI+CTDvHWYFUcMtsK/00wmAEfyqKfNdARm8u1wNVhSgaX7A8d4UuIlUI5e84iEwOhs7ZPYRmzU9U6A==,
       }
-    engines: { libvips: ">=8.15.2", node: ^18.17.0 || ^20.3.0 || >=21.0.0 }
+    engines: { node: ">=10" }
+    hasBin: true
 
-  shebang-command@2.0.0:
+  sharp@0.33.5:
     resolution:
       {
-        integrity: sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA==,
+        integrity: sha512-haPVm1EkS9pgvHrQ/F3Xy+hgcuMV0Wm9vfIBSiwZ05k+xgb0PkBQpGsAA/oWdDobNaZTH5ppvHtzCFbnSEwHVw==,
       }
-    engines: { node: ">=8" }
+    engines: { node: ^18.17.0 || ^20.3.0 || >=21.0.0 }
 
-  shebang-regex@3.0.0:
+  shiki@1.22.2:
     resolution:
       {
-        integrity: sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==,
+        integrity: sha512-3IZau0NdGKXhH2bBlUk4w1IHNxPh6A5B2sUpyY+8utLu2j/h1QpFkAaUA1bAMxOWWGtTWcAh531vnS4NJKS/lA==,
       }
-    engines: { node: ">=8" }
 
   shiki@1.5.2:
     resolution:
@@ -4917,12 +4676,6 @@ packages:
         integrity: sha512-fpPbuSaatinmdGijE7VYUD3hxLozR3ZZ+iAx8Iy2X6REmJGyF5hQl94SgmiUNTospq346nXUVZx0035dyGvIVw==,
       }
 
-  signal-exit@3.0.7:
-    resolution:
-      {
-        integrity: sha512-wnD2ZE+l+SPC/uoS0vXeE9L1+0wuaMqKlfz9AMUo38JsyLSBWSFcHR1Rri62LZc12vLr1gb3jl7iwQhgwpAbGQ==,
-      }
-
   signal-exit@4.1.0:
     resolution:
       {
@@ -4942,25 +4695,25 @@ packages:
         integrity: sha512-bLGGlR1QxBcynn2d5YmDX4MGjlZvy2MRBDRNHLJ8VI6l6+9FUiyTFNJ0IveOSP0bcXgVDPRcfGqA0pjaqUpfVg==,
       }
 
-  sitemap@7.1.1:
+  sitemap@8.0.0:
     resolution:
       {
-        integrity: sha512-mK3aFtjz4VdJN0igpIJrinf3EO8U8mxOPsTBzSsy06UtjZQJ3YY3o3Xa7zSc5nMqcMrRwlChHZ18Kxg0caiPBg==,
+        integrity: sha512-+AbdxhM9kJsHtruUF39bwS/B0Fytw6Fr1o4ZAIAEqA6cke2xcoO2GleBw9Zw7nRzILVEgz7zBM5GiTJjie1G9A==,
       }
-    engines: { node: ">=12.0.0", npm: ">=5.6.0" }
+    engines: { node: ">=14.0.0", npm: ">=6.0.0" }
     hasBin: true
 
-  source-map-js@1.0.2:
+  source-map-js@1.2.0:
     resolution:
       {
-        integrity: sha512-R0XvVJ9WusLiqTCEiGCmICCMplcCkIwwR11mOSD9CR5u+IXYdiseeEuXCVAjS54zqwkLcPNnmU4OeJ6tUrWhDw==,
+        integrity: sha512-itJW8lvSA0TXEphiRoawsCksnlf8SyvmFzIhltqAHluXd88pkCd+cXJVHTDwdCr0IzwptSm035IHQktUu1QUMg==,
       }
     engines: { node: ">=0.10.0" }
 
-  source-map-js@1.2.0:
+  source-map-js@1.2.1:
     resolution:
       {
-        integrity: sha512-itJW8lvSA0TXEphiRoawsCksnlf8SyvmFzIhltqAHluXd88pkCd+cXJVHTDwdCr0IzwptSm035IHQktUu1QUMg==,
+        integrity: sha512-UXWMKhLOwVKb728IUtQPXxfYU+usdybtUrK/8uGE8CQMvrhOpwvzDBwj0QhSL7MQc7vIsISBG8VQ8+IDQxpfQA==,
       }
     engines: { node: ">=0.10.0" }
 
@@ -4990,24 +4743,23 @@ packages:
       }
     engines: { node: ">=18" }
 
-  string-width@4.2.3:
+  stream-replace-string@2.0.0:
     resolution:
       {
-        integrity: sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==,
+        integrity: sha512-TlnjJ1C0QrmxRNrON00JvaFFlNh5TTG00APw23j74ET7gkQpTASi6/L2fuiav8pzK715HXtUeClpBTw2NPSn6w==,
       }
-    engines: { node: ">=8" }
 
-  string-width@5.1.2:
+  string-width@4.2.3:
     resolution:
       {
-        integrity: sha512-HnLOCR3vjcY8beoNLtcjZ5/nxn2afmME6lhrDrebokqMap+XbeW8n9TXpPDOqdGK5qcI3oT0GKTW6wC7EMiVqA==,
+        integrity: sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==,
       }
-    engines: { node: ">=12" }
+    engines: { node: ">=8" }
 
-  string-width@7.1.0:
+  string-width@7.2.0:
     resolution:
       {
-        integrity: sha512-SEIJCWiX7Kg4c129n48aDRwLbFb2LJmXXFrWBG4NGaRtMQ3myKPKbwrD1BKqQn74oCoNMBVrfDEr5M9YxCsrkw==,
+        integrity: sha512-tsaTIkKW9b4N+AEj+SVA+WhJzV7/zMhcSu78mLKWSk7cXMOSHsBKFWUs0fWwq8QyK3MgJBQRX6Gbi4kYbdvGkQ==,
       }
     engines: { node: ">=18" }
 
@@ -5045,13 +4797,6 @@ packages:
       }
     engines: { node: ">=4" }
 
-  strip-final-newline@3.0.0:
-    resolution:
-      {
-        integrity: sha512-dOESqjYr96iWYylGObzd39EuNTa5VJxyvVAEm5Jnh7KGo75V43Hk1odPQkNDyXNmUR6k+gEiDVXnjB8HJ3crXw==,
-      }
-    engines: { node: ">=12" }
-
   style-to-object@0.4.4:
     resolution:
       {
@@ -5064,10 +4809,10 @@ packages:
         integrity: sha512-rDRwHtoDD3UMMrmZ6BzOW0naTjMsVZLIjsGleSKS/0Oz+cgCfAPRspaqJuE8rDzpKha/nEvnM0IF4seEAZUTKQ==,
       }
 
-  stylehacks@7.0.0:
+  stylehacks@7.0.4:
     resolution:
       {
-        integrity: sha512-47Nw4pQ6QJb4CA6dzF2m9810sjQik4dfk4UwAm5wlwhrW3syzZKF8AR4/cfO3Cr6lsFgAoznQq0Wg57qhjTA2A==,
+        integrity: sha512-i4zfNrGMt9SB4xRK9L83rlsFCgdGANfeDAYacO1pkqcE7cRHPdWHwnKZVz7WY17Veq/FvyYsRAU++Ga+qDFIww==,
       }
     engines: { node: ^18.12.0 || ^20.9.0 || >=22.0 }
     peerDependencies:
@@ -5081,13 +4826,6 @@ packages:
     engines: { node: ">=8" }
     hasBin: true
 
-  supports-color@5.5.0:
-    resolution:
-      {
-        integrity: sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==,
-      }
-    engines: { node: ">=4" }
-
   supports-preserve-symlinks-flag@1.0.0:
     resolution:
       {
@@ -5103,10 +4841,10 @@ packages:
     engines: { node: ">=14.0.0" }
     hasBin: true
 
-  tailwindcss@3.4.3:
+  tailwindcss@3.4.14:
     resolution:
       {
-        integrity: sha512-U7sxQk/n397Bmx4JHbJx/iSOOv5G+II3f1kpLpY2QeUv5DcPdcTsYLlusZfq1NthHS1c1cZoyFmmkex1rzke0A==,
+        integrity: sha512-IcSvOcTRcUtQQ7ILQL5quRDg7Xs93PdJEk1ZLbhhvJc7uj/OAhYOnruEiwnGgBvUtaUAJ8/mhSw1o8L2jCiENA==,
       }
     engines: { node: ">=14.0.0" }
     hasBin: true
@@ -5124,12 +4862,11 @@ packages:
         integrity: sha512-RVZSIV5IG10Hk3enotrhvz0T9em6cyHBLkH/YAZuKqd8hRkKhSfCGIcP2KUY0EPxndzANBmNllzWPwak+bheSw==,
       }
 
-  to-fast-properties@2.0.0:
+  tinyexec@0.3.1:
     resolution:
       {
-        integrity: sha512-/OaKK0xYrs3DmxRYqL/yDc+FxFUVYhDlXMhRmv3z915w2HF1tnN1omB354j8VUGO/hbRzyD6Y3sA7v7GS/ceog==,
+        integrity: sha512-WiCJLEECkO18gwqIp6+hJg0//p23HXp4S+gGtAKu3mI2F2/sXC4FvHvXvB0zJVVaTPhx1/tOwdbRsa1sOBIKqQ==,
       }
-    engines: { node: ">=4" }
 
   to-regex-range@5.0.1:
     resolution:
@@ -5156,10 +4893,10 @@ packages:
         integrity: sha512-Y/arvbn+rrz3JCKl9C4kVNfTfSm2/mEp5FSz5EsZSANGPSlQrpRI5M4PKF+mJnE52jOO90PnPSc3Ur3bTQw0gA==,
       }
 
-  tsconfck@3.0.3:
+  tsconfck@3.1.4:
     resolution:
       {
-        integrity: sha512-4t0noZX9t6GcPTfBAbIbbIU4pfpCwh0ueq3S4O/5qXI1VwK1outmxhe9dOiEWqMz3MW2LKgDTpqWV+37IWuVbA==,
+        integrity: sha512-kdqWFGVJqe+KGYvlSO9NIaWn9jT1Ny4oKVzAJsKii5eoE9snzTJzL4+MMVOMn+fikWGFmKEylcXL710V/kIPJQ==,
       }
     engines: { node: ^18 || >=20 }
     hasBin: true
@@ -5175,12 +4912,12 @@ packages:
         integrity: sha512-AEYxH93jGFPn/a2iVAwW87VuUIkR1FVUKB77NwMF7nBTDkDrrT/Hpt/IrCJ0QXhW27jTBDcf5ZY7w6RiqTMw2Q==,
       }
 
-  type-fest@2.19.0:
+  type-fest@4.26.1:
     resolution:
       {
-        integrity: sha512-RAH822pAdBgcNMAfWnCBU3CFZcfZ/i1eZjwFU/dsLKumyuuP3niueg2UAukXYF0E2AAoc82ZSSf9J0WQBinzHA==,
+        integrity: sha512-yOGpmOAL7CkKe/91I5O3gPICmJNLJ1G4zFYVAsRHg7M64biSnPtRj0WNQt++bRkjYOqjWXrhnUw1utzmVErAdg==,
       }
-    engines: { node: ">=12.20" }
+    engines: { node: ">=16" }
 
   typesafe-path@0.2.2:
     resolution:
@@ -5188,48 +4925,36 @@ packages:
         integrity: sha512-OJabfkAg1WLZSqJAJ0Z6Sdt3utnbzr/jh+NAHoyWHJe8CMSy79Gm085094M9nvTPy22KzTVn5Zq5mbapCI/hPA==,
       }
 
-  typescript-auto-import-cache@0.3.2:
+  typescript-auto-import-cache@0.3.5:
     resolution:
       {
-        integrity: sha512-+laqe5SFL1vN62FPOOJSUDTZxtgsoOXjneYOXIpx5rQ4UMiN89NAtJLpqLqyebv9fgQ/IMeeTX+mQyRnwvJzvg==,
+        integrity: sha512-fAIveQKsoYj55CozUiBoj4b/7WpN0i4o74wiGY5JVUEoD0XiqDk1tJqTEjgzL2/AizKQrXxyRosSebyDzBZKjw==,
       }
 
-  typescript@5.4.5:
+  typescript@5.6.3:
     resolution:
       {
-        integrity: sha512-vcI4UpRgg81oIRUFwR0WSIHKt11nJ7SAVlYNIu+QpqeyXP+gpQJy/Z4+F0aGxSE4MqwjyXvW/TzgkLAx2AGHwQ==,
+        integrity: sha512-hjcS1mhfuyi4WW8IWtjP7brDrG2cuDZukyrYrSauoXGNgx0S7zceP07adYkJycEr56BOUTNPzbInooiN3fn1qw==,
       }
     engines: { node: ">=14.17" }
     hasBin: true
 
-  unherit@3.0.1:
-    resolution:
-      {
-        integrity: sha512-akOOQ/Yln8a2sgcLj4U0Jmx0R5jpIg2IUyRrWOzmEbjBtGzBdHtSeFKgoEcoH4KYIG/Pb8GQ/BwtYm0GCq1Sqg==,
-      }
-
-  unified@10.1.2:
-    resolution:
-      {
-        integrity: sha512-pUSWAi/RAnVy1Pif2kAoeWNBa3JVrx0MId2LASj8G+7AiHWoKZNTomq6LG326T68U7/e263X6fTdcXIy7XnF7Q==,
-      }
-
   unified@11.0.4:
     resolution:
       {
         integrity: sha512-apMPnyLjAX+ty4OrNap7yumyVAMlKx5IWU2wlzzUdYJO9A8f1p9m/gywF/GM2ZDFcjQPrx59Mc90KwmxsoklxQ==,
       }
 
-  unist-util-find-after@5.0.0:
+  unified@11.0.5:
     resolution:
       {
-        integrity: sha512-amQa0Ep2m6hE2g72AugUItjbuM8X8cGQnFoHk0pGfrFeT9GZhzN5SW8nRsiGKK7Aif4CrACPENkA6P/Lw6fHGQ==,
+        integrity: sha512-xKvGhPWw3k84Qjh8bI3ZeJjqnyadK+GEFtazSfZv/rKeTkTjOJho6mFqh2SM96iIcZokxiOpg78GazTSg8+KHA==,
       }
 
-  unist-util-is@5.2.1:
+  unist-util-find-after@5.0.0:
     resolution:
       {
-        integrity: sha512-u9njyyfEh43npf1M+yGKDGVPbY/JWEemg5nH05ncKPfi+kBbKBJoTdsogMu33uhytuLlv9y0O7GH7fEdwLdLQw==,
+        integrity: sha512-amQa0Ep2m6hE2g72AugUItjbuM8X8cGQnFoHk0pGfrFeT9GZhzN5SW8nRsiGKK7Aif4CrACPENkA6P/Lw6fHGQ==,
       }
 
   unist-util-is@6.0.0:
@@ -5238,10 +4963,10 @@ packages:
         integrity: sha512-2qCTHimwdxLfz+YzdGfkqNlH0tLi9xjTnHddPmJwtIG9MGsdbutfTc4P+haPD7l7Cjxf/WZj+we5qfVPvvxfYw==,
       }
 
-  unist-util-modify-children@3.1.1:
+  unist-util-modify-children@4.0.0:
     resolution:
       {
-        integrity: sha512-yXi4Lm+TG5VG+qvokP6tpnk+r1EPwyYL04JWDxLvgvPV40jANh7nm3udk65OOWquvbMDe+PL9+LmkxDpTv/7BA==,
+        integrity: sha512-+tdN5fGNddvsQdIzUF3Xx82CU9sMM+fA0dLgR9vOmT0oPT2jH+P1nd5lSqfCfXAw+93NhcXNY2qqvTUtE4cQkw==,
       }
 
   unist-util-position-from-estree@2.0.0:
@@ -5262,28 +4987,16 @@ packages:
         integrity: sha512-Hp5Kh3wLxv0PHj9m2yZhhLt58KzPtEYKQQ4yxfYFEO7EvHwzyDYnduhHnY1mDxoqr7VUwVuHXk9RXKIiYS1N8Q==,
       }
 
-  unist-util-stringify-position@3.0.3:
-    resolution:
-      {
-        integrity: sha512-k5GzIBZ/QatR8N5X2y+drfpWG8IDBzdnVj6OInRNWm1oXrzydiaAT2OQiA8DPRRZyAKb9b6I2a6PxYklZD0gKg==,
-      }
-
   unist-util-stringify-position@4.0.0:
     resolution:
       {
         integrity: sha512-0ASV06AAoKCDkS2+xw5RXJywruurpbC4JZSm7nr7MOt1ojAzvyyaO+UxZf18j8FCF6kmzCZKcAgN/yu2gm2XgQ==,
       }
 
-  unist-util-visit-children@2.0.2:
-    resolution:
-      {
-        integrity: sha512-+LWpMFqyUwLGpsQxpumsQ9o9DG2VGLFrpz+rpVXYIEdPy57GSy5HioC0g3bg/8WP9oCLlapQtklOzQ8uLS496Q==,
-      }
-
-  unist-util-visit-parents@5.1.3:
+  unist-util-visit-children@3.0.0:
     resolution:
       {
-        integrity: sha512-x6+y8g7wWMyQhL1iZfhIPhDAs7Xwbn9nRosDXl7qoPTSCy0yNxnKc+hWokFifWQIDGi154rdUqKvbCa4+1kLhg==,
+        integrity: sha512-RgmdTfSBOg04sdPcpTSD1jzoNBjt9a80/ZCzp5cI9n1qPzLZWF9YdvWGN2zmTumP1HWhXKdUWexjy/Wy/lJ7tA==,
       }
 
   unist-util-visit-parents@6.0.1:
@@ -5292,22 +5005,16 @@ packages:
         integrity: sha512-L/PqWzfTP9lzzEa6CKs0k2nARxTdZduw3zyh8d2NVBnsyvHjSX4TWse388YrrQKbvI8w20fGjGlhgT96WwKykw==,
       }
 
-  unist-util-visit@4.1.2:
-    resolution:
-      {
-        integrity: sha512-MSd8OUGISqHdVvfY9TPhyK2VdUrPgxkUtWSuMHF6XAAFuL4LokseigBnZtPnJMu+FbynTkFNnFlyjxpVKujMRg==,
-      }
-
   unist-util-visit@5.0.0:
     resolution:
       {
         integrity: sha512-MR04uvD+07cwl/yhVuVWAtw+3GOR/knlL55Nd/wAdblk27GCVt3lqpTivy/tkJcZoNPzTwS1Y+KMojlLDhoTzg==,
       }
 
-  update-browserslist-db@1.0.13:
+  update-browserslist-db@1.1.1:
     resolution:
       {
-        integrity: sha512-xebP81SNcPuNpPP3uzeW1NYXxI3rxyJzF3pD6sH4jE7o/IX+WtSpwnVU+qIsDPyk0d3hmFQ7mjqc6AtV604hbg==,
+        integrity: sha512-R8UzCaa9Az+38REPiJ1tXlImTJXlVfgHZsglwBD/k6nj76ctsH1E3q4doGrukiLQd3sGQYu56r5+lo5r94l29A==,
       }
     hasBin: true
     peerDependencies:
@@ -5325,34 +5032,22 @@ packages:
         integrity: sha512-NXPYyxyBSH7zB5U6+3uDdd6Nybz6o6/od9rk8bp9H8GR3L+cm/fC0uUTbqBmUTnMCUDslAGBOIKNfvvb+gGlDg==,
       }
 
-  vfile-message@3.1.4:
-    resolution:
-      {
-        integrity: sha512-fa0Z6P8HUrQN4BZaX05SIVXic+7kE3b05PWAtPuYP9QLHsLKYR7/AlLW3NtOrpXRLeawpDLMsVkmk5DG0NXgWw==,
-      }
-
   vfile-message@4.0.2:
     resolution:
       {
         integrity: sha512-jRDZ1IMLttGj41KcZvlrYAaI3CfqpLpfpf+Mfig13viT6NKvRzWZ+lXz0Y5D60w6uJIBAOGq9mSHf0gktF0duw==,
       }
 
-  vfile@5.3.7:
-    resolution:
-      {
-        integrity: sha512-r7qlzkgErKjobAmyNIkkSpizsFPYiUPuJb5pNW1RB4JcYVZhs4lIbVqk8XPk033CV/1z8ss5pkax8SuhGpcG8g==,
-      }
-
-  vfile@6.0.1:
+  vfile@6.0.3:
     resolution:
       {
-        integrity: sha512-1bYqc7pt6NIADBJ98UiG0Bn/CHIVOoZ/IyEkqIruLg0mE1BKzkOXY2D6CSqQIcKqgadppE5lrxgWXJmXd7zZJw==,
+        integrity: sha512-KzIbH/9tXat2u30jf+smMwFCsno4wHVdNmzFyL+T/L3UGqqk6JKfVqOFOZEpZSHADH1k40ab6NUIXZq422ov3Q==,
       }
 
-  vite@5.2.11:
+  vite@5.4.10:
     resolution:
       {
-        integrity: sha512-HndV31LWW05i1BLPMUCE1B9E9GFbOu1MbenhS58FuK6owSO5qHm7GiCotrNY1YE5rMeQSFBGmT5ZaLEjFizgiQ==,
+        integrity: sha512-1hvaPshuPUtxeQ0hsVH3Mud0ZanOLwVTneA1EgbAM5LhaZEqyPWGRQ7BtaMvUrTDeEaC8pxtj6a6jku3x4z6SQ==,
       }
     engines: { node: ^18.0.0 || >=20.0.0 }
     hasBin: true
@@ -5361,6 +5056,7 @@ packages:
       less: "*"
       lightningcss: ^1.21.0
       sass: "*"
+      sass-embedded: "*"
       stylus: "*"
       sugarss: "*"
       terser: ^5.4.0
@@ -5373,6 +5069,8 @@ packages:
         optional: true
       sass:
         optional: true
+      sass-embedded:
+        optional: true
       stylus:
         optional: true
       sugarss:
@@ -5380,57 +5078,57 @@ packages:
       terser:
         optional: true
 
-  vitefu@0.2.5:
+  vitefu@1.0.3:
     resolution:
       {
-        integrity: sha512-SgHtMLoqaeeGnd2evZ849ZbACbnwQCIwRH57t18FxcXoZop0uQu0uzlIhJBlF/eWVzuce0sHeqPcDo+evVcg8Q==,
+        integrity: sha512-iKKfOMBHob2WxEJbqbJjHAkmYgvFDPhuqrO82om83S8RLk+17FtyMBfcyeH8GqD0ihShtkMW/zzJgiA51hCNCQ==,
       }
     peerDependencies:
-      vite: ^3.0.0 || ^4.0.0 || ^5.0.0
+      vite: ^3.0.0 || ^4.0.0 || ^5.0.0 || ^6.0.0-beta.0
     peerDependenciesMeta:
       vite:
         optional: true
 
-  volar-service-css@0.0.45:
+  volar-service-css@0.0.62:
     resolution:
       {
-        integrity: sha512-f+AlUI1+kESbcZSVaNJVAnK0c/9Da5StoxzPqA5/8VqUHJWNdubWNnwG5xpFVTfgh6pgTcey3UBhBfHytFaIOg==,
+        integrity: sha512-JwNyKsH3F8PuzZYuqPf+2e+4CTU8YoyUHEHVnoXNlrLe7wy9U3biomZ56llN69Ris7TTy/+DEX41yVxQpM4qvg==,
       }
     peerDependencies:
-      "@volar/language-service": ~2.2.3
+      "@volar/language-service": ~2.4.0
     peerDependenciesMeta:
       "@volar/language-service":
         optional: true
 
-  volar-service-emmet@0.0.45:
+  volar-service-emmet@0.0.62:
     resolution:
       {
-        integrity: sha512-9nLXSDkR1vA/3fQkFEsSXAu3XovQxOpTkVG2jilQgfek/K1ZLkaA/WMhN/TtmPmQg4NxE9Ni6mA5udBQ5gVXIA==,
+        integrity: sha512-U4dxWDBWz7Pi4plpbXf4J4Z/ss6kBO3TYrACxWNsE29abu75QzVS0paxDDhI6bhqpbDFXlpsDhZ9aXVFpnfGRQ==,
       }
     peerDependencies:
-      "@volar/language-service": ~2.2.3
+      "@volar/language-service": ~2.4.0
     peerDependenciesMeta:
       "@volar/language-service":
         optional: true
 
-  volar-service-html@0.0.45:
+  volar-service-html@0.0.62:
     resolution:
       {
-        integrity: sha512-tLTJqfy1v5C4nmeAsfekFIKPl4r4qDMyL0L9MWywr/EApZzPCsbeUGxCqdzxSMC2q7PMCfX2i167txDo+J0LVA==,
+        integrity: sha512-Zw01aJsZRh4GTGUjveyfEzEqpULQUdQH79KNEiKVYHZyuGtdBRYCHlrus1sueSNMxwwkuF5WnOHfvBzafs8yyQ==,
       }
     peerDependencies:
-      "@volar/language-service": ~2.2.3
+      "@volar/language-service": ~2.4.0
     peerDependenciesMeta:
       "@volar/language-service":
         optional: true
 
-  volar-service-prettier@0.0.45:
+  volar-service-prettier@0.0.62:
     resolution:
       {
-        integrity: sha512-+mBS2EsDgp/kunKEBnHvhBwIQm5v2ahw4NKpKdg4sTpXy3UxqHt+Fq/wRYQ7Z8LlNVNRVfp75ThjM+w2zaZBAw==,
+        integrity: sha512-h2yk1RqRTE+vkYZaI9KYuwpDfOQRrTEMvoHol0yW4GFKc75wWQRrb5n/5abDrzMPrkQbSip8JH2AXbvrRtYh4w==,
       }
     peerDependencies:
-      "@volar/language-service": ~2.2.3
+      "@volar/language-service": ~2.4.0
       prettier: ^2.2 || ^3.0
     peerDependenciesMeta:
       "@volar/language-service":
@@ -5438,32 +5136,43 @@ packages:
       prettier:
         optional: true
 
-  volar-service-typescript-twoslash-queries@0.0.45:
+  volar-service-typescript-twoslash-queries@0.0.62:
+    resolution:
+      {
+        integrity: sha512-KxFt4zydyJYYI0kFAcWPTh4u0Ha36TASPZkAnNY784GtgajerUqM80nX/W1d0wVhmcOFfAxkVsf/Ed+tiYU7ng==,
+      }
+    peerDependencies:
+      "@volar/language-service": ~2.4.0
+    peerDependenciesMeta:
+      "@volar/language-service":
+        optional: true
+
+  volar-service-typescript@0.0.62:
     resolution:
       {
-        integrity: sha512-KrPUUvKggZgV9mrDpstCzmf20irgv0ooMv+FGDzIIQUkya+d2+nSS8Mx2h9FvsYgLccUVw5jU3Rhwhd3pv/7qg==,
+        integrity: sha512-p7MPi71q7KOsH0eAbZwPBiKPp9B2+qrdHAd6VY5oTo9BUXatsOAdakTm9Yf0DUj6uWBAaOT01BSeVOPwucMV1g==,
       }
     peerDependencies:
-      "@volar/language-service": ~2.2.3
+      "@volar/language-service": ~2.4.0
     peerDependenciesMeta:
       "@volar/language-service":
         optional: true
 
-  volar-service-typescript@0.0.45:
+  volar-service-yaml@0.0.62:
     resolution:
       {
-        integrity: sha512-i/mMIIAMastJ2kgPo3qvX0Rrl7NyxhIYZ0ug/B4ambZcLPI1vzBgS2fmvyWX3jhBYHh8NmbAotFj+0Y9JtN47A==,
+        integrity: sha512-k7gvv7sk3wa+nGll3MaSKyjwQsJjIGCHFjVkl3wjaSP2nouKyn9aokGmqjrl39mi88Oy49giog2GkZH526wjig==,
       }
     peerDependencies:
-      "@volar/language-service": ~2.2.3
+      "@volar/language-service": ~2.4.0
     peerDependenciesMeta:
       "@volar/language-service":
         optional: true
 
-  vscode-css-languageservice@6.2.10:
+  vscode-css-languageservice@6.3.1:
     resolution:
       {
-        integrity: sha512-sYUZPku4mQ06AWGCbMyjv2tdR6juBW6hTbVPFwbJvNVzdtEfBioQOgkdXg7yMJNWnXkvWSU1FL2kb4Vxu5Cdyw==,
+        integrity: sha512-1BzTBuJfwMc3A0uX4JBdJgoxp74cjj4q2mDJdp49yD/GuAq4X0k5WtK6fNcMYr+FfJ9nqgR6lpfCSZDkARJ5qQ==,
       }
 
   vscode-html-languageservice@5.2.0:
@@ -5472,6 +5181,26 @@ packages:
         integrity: sha512-cdNMhyw57/SQzgUUGSIMQ66jikqEN6nBNyhx5YuOyj9310+eY9zw8Q0cXpiKzDX8aHYFewQEXRnigl06j/TVwQ==,
       }
 
+  vscode-html-languageservice@5.3.1:
+    resolution:
+      {
+        integrity: sha512-ysUh4hFeW/WOWz/TO9gm08xigiSsV/FOAZ+DolgJfeLftna54YdmZ4A+lIn46RbdO3/Qv5QHTn1ZGqmrXQhZyA==,
+      }
+
+  vscode-json-languageservice@4.1.8:
+    resolution:
+      {
+        integrity: sha512-0vSpg6Xd9hfV+eZAaYN63xVVMOTmJ4GgHxXnkLCh+9RsQBkWKIghzLhW2B9ebfG+LQQg8uLtsQ2aUKjTgE+QOg==,
+      }
+    engines: { npm: ">=7.0.0" }
+
+  vscode-jsonrpc@6.0.0:
+    resolution:
+      {
+        integrity: sha512-wnJA4BnEjOSyFMvjZdpiOwhSq9uDoK8e/kpRJDTaMYzwlkrhG1fwDIZI94CLsLzlCK5cIbMMtFlJlfR57Lavmg==,
+      }
+    engines: { node: ">=8.0.0 || >=10.0.0" }
+
   vscode-jsonrpc@8.2.0:
     resolution:
       {
@@ -5479,6 +5208,12 @@ packages:
       }
     engines: { node: ">=14.0.0" }
 
+  vscode-languageserver-protocol@3.16.0:
+    resolution:
+      {
+        integrity: sha512-sdeUoAawceQdgIfTI+sdcwkiK2KU+2cbEYA0agzM2uqaUy2UpnnGHtWTHVEtS0ES4zHU0eMFRGN+oQgDxlD66A==,
+      }
+
   vscode-languageserver-protocol@3.17.5:
     resolution:
       {
@@ -5491,12 +5226,31 @@ packages:
         integrity: sha512-X+8T3GoiwTVlJbicx/sIAF+yuJAqz8VvwJyoMVhwEMoEKE/fkDmrqUgDMyBECcM2A2frVZIUj5HI/ErRXCfOeA==,
       }
 
+  vscode-languageserver-textdocument@1.0.12:
+    resolution:
+      {
+        integrity: sha512-cxWNPesCnQCcMPeenjKKsOCKQZ/L6Tv19DTRIGuLWe32lyzWhihGVJ/rcckZXJxfdKCFvRLS3fpBIsV/ZGX4zA==,
+      }
+
+  vscode-languageserver-types@3.16.0:
+    resolution:
+      {
+        integrity: sha512-k8luDIWJWyenLc5ToFQQMaSrqCHiLwyKPHKPQZ5zz21vM+vIVUSvsRpcbiECH4WR88K2XZqc4ScRcZ7nk/jbeA==,
+      }
+
   vscode-languageserver-types@3.17.5:
     resolution:
       {
         integrity: sha512-Ld1VelNuX9pdF39h2Hgaeb5hEZM2Z3jUrrMgWQAu82jMtZp7p3vJT3BzToKtZI7NgQssZje5o0zryOrhQvzQAg==,
       }
 
+  vscode-languageserver@7.0.0:
+    resolution:
+      {
+        integrity: sha512-60HTx5ID+fLRcgdHfmz0LDZAXYEV68fzwG0JWwEPBode9NuMYTIxuYXPg4ngO8i8+Ou0lM7y6GzaYWbiDL0drw==,
+      }
+    hasBin: true
+
   vscode-languageserver@9.0.1:
     resolution:
       {
@@ -5535,34 +5289,19 @@ packages:
       }
     engines: { node: ">=4" }
 
-  which-pm@2.0.0:
-    resolution:
-      {
-        integrity: sha512-Lhs9Pmyph0p5n5Z3mVnN0yWcbQYUAD7rbQUiMsQxOJ3T57k7RFe35SUwWMf7dsbDZks1uOmw4AecB/JMDj3v/w==,
-      }
-    engines: { node: ">=8.15" }
-
-  which-pm@2.1.1:
-    resolution:
-      {
-        integrity: sha512-xzzxNw2wMaoCWXiGE8IJ9wuPMU+EYhFksjHxrRT8kMT5SnocBPRg69YAMtyV4D12fP582RA+k3P8H9J5EMdIxQ==,
-      }
-    engines: { node: ">=8.15" }
-
-  which@2.0.2:
+  which-pm@3.0.0:
     resolution:
       {
-        integrity: sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==,
+        integrity: sha512-ysVYmw6+ZBhx3+ZkcPwRuJi38ZOTLJJ33PSHaitLxSKUMsh0LkKd0nC69zZCwt5D+AYUcMK2hhw4yWny20vSGg==,
       }
-    engines: { node: ">= 8" }
-    hasBin: true
+    engines: { node: ">=18.12" }
 
-  widest-line@4.0.1:
+  widest-line@5.0.0:
     resolution:
       {
-        integrity: sha512-o0cyEG0e8GPzT4iGHphIOh0cJOV8fivsXxddQasHPHfoZf1ZexrfeA21w2NaEN1RHE+fXlfISmOE8R9N3u3Qig==,
+        integrity: sha512-c9bZp7b5YtRj2wOe6dlj32MK+Bx/M/d+9VB2SHM1OtsUHR0aV0tdP6DWh/iMt0kWi1t5g1Iudu6hQRNd1A4PVA==,
       }
-    engines: { node: ">=12" }
+    engines: { node: ">=18" }
 
   wrap-ansi@7.0.0:
     resolution:
@@ -5571,12 +5310,12 @@ packages:
       }
     engines: { node: ">=10" }
 
-  wrap-ansi@8.1.0:
+  wrap-ansi@9.0.0:
     resolution:
       {
-        integrity: sha512-si7QWI6zUMq56bESFvagtmzMdGOtoxfR+Sez11Mobfc7tm+VkUckk9bW2UeffTGVUbOksxmSw0AA2gs8g71NCQ==,
+        integrity: sha512-G8ura3S+3Z2G+mkgNRq8dqaFZAuxfsxpBB8OCTGRTCtp+l/v9nbFNmCUP1BZMts3G1142MsZfn6eeUKrr4PD1Q==,
       }
-    engines: { node: ">=12" }
+    engines: { node: ">=18" }
 
   wrappy@1.0.2:
     resolution:
@@ -5584,6 +5323,12 @@ packages:
         integrity: sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ==,
       }
 
+  xxhash-wasm@1.0.2:
+    resolution:
+      {
+        integrity: sha512-ibF0Or+FivM9lNrg+HGJfVX8WJqgo+kCLDc4vx6xMeTce7Aj+DLttKbxxRR/gNLSAelRc1omAPlJ77N/Jem07A==,
+      }
+
   y18n@5.0.8:
     resolution:
       {
@@ -5597,11 +5342,19 @@ packages:
         integrity: sha512-a4UGQaWPH59mOXUYnAG2ewncQS4i4F43Tv3JoAM+s2VDAmS9NsK8GpDMLrCHPksFT7h3K6TOoUNn2pb7RoXx4g==,
       }
 
-  yallist@4.0.0:
+  yaml-language-server@1.15.0:
+    resolution:
+      {
+        integrity: sha512-N47AqBDCMQmh6mBLmI6oqxryHRzi33aPFPsJhYy3VTUGCdLHYjGh4FZzpUjRlphaADBBkDmnkM/++KNIOHi5Rw==,
+      }
+    hasBin: true
+
+  yaml@2.2.2:
     resolution:
       {
-        integrity: sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==,
+        integrity: sha512-CBKFWExMn46Foo4cldiChEzn7S7SRV+wqiluAb6xmueD/fGyRHIhX8m14vVGgeFWjN540nKCNVj6P21eQjgTuA==,
       }
+    engines: { node: ">= 14" }
 
   yaml@2.3.4:
     resolution:
@@ -5610,6 +5363,14 @@ packages:
       }
     engines: { node: ">= 14" }
 
+  yaml@2.6.0:
+    resolution:
+      {
+        integrity: sha512-a6ae//JvKDEra2kdi1qzCyrJW/WZCgFi8ydDV+eXExl95t+5R+ijnqHJbz9tmMh8FUjx3iv2fCQ4dclAQlO2UQ==,
+      }
+    engines: { node: ">= 14" }
+    hasBin: true
+
   yargs-parser@21.1.1:
     resolution:
       {
@@ -5624,33 +5385,29 @@ packages:
       }
     engines: { node: ">=12" }
 
-  yocto-queue@0.1.0:
-    resolution:
-      {
-        integrity: sha512-rVksvsnNCdJ/ohGc6xgPwyN8eheCxsiLM8mxuE/t/mOVqJewPuO1miLpTHQiRgTKCLexL4MeAFVagts7HmNZ2Q==,
-      }
-    engines: { node: ">=10" }
-
-  yocto-queue@1.0.0:
+  yocto-queue@1.1.1:
     resolution:
       {
-        integrity: sha512-9bnSc/HEW2uRy67wc+T8UwauLuPJVn28jb+GtJY16iiKWyvmYJRXVT4UamsAEGQfPohgr2q4Tq0sQbQlxTfi1g==,
+        integrity: sha512-b4JR1PFR10y1mKjhHY9LaGo6tmrgjit7hxVIeAmyMw3jegXR4dhYqLaQF5zMXZxY7tLpMyJeLjr1C4rLmkVe8g==,
       }
     engines: { node: ">=12.20" }
 
-  zod-to-json-schema@3.23.0:
+  zod-to-json-schema@3.23.5:
     resolution:
       {
-        integrity: sha512-az0uJ243PxsRIa2x1WmNE/pnuA05gUq/JB8Lwe1EDCCL/Fz9MgjYQ0fPlyc2Tcv6aF2ZA7WM5TWaRZVEFaAIag==,
+        integrity: sha512-5wlSS0bXfF/BrL4jPAbz9da5hDlDptdEppYfe+x4eIJ7jioqKG9uUxOwPzqof09u/XeVdrgFu29lZi+8XNDJtA==,
       }
     peerDependencies:
       zod: ^3.23.3
 
-  zod@3.22.4:
+  zod-to-ts@1.2.0:
     resolution:
       {
-        integrity: sha512-iC+8Io04lddc+mVqQ9AZ7OQ2MrUKGN+oIQyq1vemgt46jwCwLfhq7/pwnBnNXXXZb8VTVLKwp9EDkx+ryxIWmg==,
+        integrity: sha512-x30XE43V+InwGpvTySRNz9kB7qFU8DlyEy7BsSTCHPH1R0QasMmHWZDCzYm6bVXtj/9NNJAZF3jW8rzFvH5OFA==,
       }
+    peerDependencies:
+      typescript: ^4.9.4 || ^5.0.2
+      zod: ^3
 
   zod@3.23.8:
     resolution:
@@ -5669,87 +5426,87 @@ snapshots:
 
   "@ampproject/remapping@2.2.1":
     dependencies:
-      "@jridgewell/gen-mapping": 0.3.3
-      "@jridgewell/trace-mapping": 0.3.20
+      "@jridgewell/gen-mapping": 0.3.5
+      "@jridgewell/trace-mapping": 0.3.25
 
-  "@astrojs/check@0.7.0(typescript@5.4.5)":
+  "@astrojs/check@0.9.4(typescript@5.6.3)":
     dependencies:
-      "@astrojs/language-server": 2.10.0(typescript@5.4.5)
-      chokidar: 3.5.3
-      fast-glob: 3.3.2
+      "@astrojs/language-server": 2.15.4(typescript@5.6.3)
+      chokidar: 4.0.1
       kleur: 4.1.5
-      typescript: 5.4.5
+      typescript: 5.6.3
       yargs: 17.7.2
     transitivePeerDependencies:
       - prettier
       - prettier-plugin-astro
 
-  "@astrojs/compiler@2.8.0": {}
+  "@astrojs/compiler@2.10.3": {}
 
-  "@astrojs/internal-helpers@0.4.0": {}
+  "@astrojs/internal-helpers@0.4.1": {}
 
-  "@astrojs/language-server@2.10.0(typescript@5.4.5)":
+  "@astrojs/language-server@2.15.4(typescript@5.6.3)":
     dependencies:
-      "@astrojs/compiler": 2.8.0
+      "@astrojs/compiler": 2.10.3
+      "@astrojs/yaml2ts": 0.2.2
       "@jridgewell/sourcemap-codec": 1.4.15
-      "@volar/kit": 2.2.4(typescript@5.4.5)
-      "@volar/language-core": 2.2.4
-      "@volar/language-server": 2.2.4
-      "@volar/language-service": 2.2.4
-      "@volar/typescript": 2.2.4
+      "@volar/kit": 2.4.8(typescript@5.6.3)
+      "@volar/language-core": 2.4.8
+      "@volar/language-server": 2.4.8
+      "@volar/language-service": 2.4.8
       fast-glob: 3.3.2
-      volar-service-css: 0.0.45(@volar/language-service@2.2.4)
-      volar-service-emmet: 0.0.45(@volar/language-service@2.2.4)
-      volar-service-html: 0.0.45(@volar/language-service@2.2.4)
-      volar-service-prettier: 0.0.45(@volar/language-service@2.2.4)
-      volar-service-typescript: 0.0.45(@volar/language-service@2.2.4)
-      volar-service-typescript-twoslash-queries: 0.0.45(@volar/language-service@2.2.4)
+      muggle-string: 0.4.1
+      volar-service-css: 0.0.62(@volar/language-service@2.4.8)
+      volar-service-emmet: 0.0.62(@volar/language-service@2.4.8)
+      volar-service-html: 0.0.62(@volar/language-service@2.4.8)
+      volar-service-prettier: 0.0.62(@volar/language-service@2.4.8)
+      volar-service-typescript: 0.0.62(@volar/language-service@2.4.8)
+      volar-service-typescript-twoslash-queries: 0.0.62(@volar/language-service@2.4.8)
+      volar-service-yaml: 0.0.62(@volar/language-service@2.4.8)
       vscode-html-languageservice: 5.2.0
       vscode-uri: 3.0.8
     transitivePeerDependencies:
       - typescript
 
-  "@astrojs/markdown-remark@5.1.0":
+  "@astrojs/markdown-remark@5.3.0":
     dependencies:
       "@astrojs/prism": 3.1.0
       github-slugger: 2.0.0
-      hast-util-from-html: 2.0.1
+      hast-util-from-html: 2.0.3
       hast-util-to-text: 4.0.2
-      import-meta-resolve: 4.0.0
+      import-meta-resolve: 4.1.0
       mdast-util-definitions: 6.0.0
       rehype-raw: 7.0.0
-      rehype-stringify: 10.0.0
+      rehype-stringify: 10.0.1
       remark-gfm: 4.0.0
       remark-parse: 11.0.0
-      remark-rehype: 11.1.0
-      remark-smartypants: 2.0.0
-      shiki: 1.5.2
-      unified: 11.0.4
+      remark-rehype: 11.1.1
+      remark-smartypants: 3.0.2
+      shiki: 1.22.2
+      unified: 11.0.5
       unist-util-remove-position: 5.0.0
       unist-util-visit: 5.0.0
       unist-util-visit-parents: 6.0.1
-      vfile: 6.0.1
+      vfile: 6.0.3
     transitivePeerDependencies:
       - supports-color
 
-  "@astrojs/mdx@2.3.1(astro@4.8.6(typescript@5.4.5))":
+  "@astrojs/mdx@3.1.9(astro@4.16.9(rollup@4.24.4)(typescript@5.6.3))":
     dependencies:
-      "@astrojs/markdown-remark": 5.1.0
-      "@mdx-js/mdx": 3.0.0
-      acorn: 8.11.2
-      astro: 4.8.6(typescript@5.4.5)
-      es-module-lexer: 1.4.1
+      "@astrojs/markdown-remark": 5.3.0
+      "@mdx-js/mdx": 3.1.0(acorn@8.14.0)
+      acorn: 8.14.0
+      astro: 4.16.9(rollup@4.24.4)(typescript@5.6.3)
+      es-module-lexer: 1.5.4
       estree-util-visit: 2.0.0
-      github-slugger: 2.0.0
       gray-matter: 4.0.3
-      hast-util-to-html: 9.0.0
+      hast-util-to-html: 9.0.3
       kleur: 4.1.5
       rehype-raw: 7.0.0
       remark-gfm: 4.0.0
-      remark-smartypants: 2.0.0
+      remark-smartypants: 3.0.2
       source-map: 0.7.4
       unist-util-visit: 5.0.0
-      vfile: 6.0.1
+      vfile: 6.0.3
     transitivePeerDependencies:
       - supports-color
 
@@ -5757,450 +5514,438 @@ snapshots:
     dependencies:
       prismjs: 1.29.0
 
-  "@astrojs/sitemap@3.0.5":
+  "@astrojs/sitemap@3.2.1":
     dependencies:
-      sitemap: 7.1.1
-      zod: 3.22.4
+      sitemap: 8.0.0
+      stream-replace-string: 2.0.0
+      zod: 3.23.8
 
-  "@astrojs/starlight-tailwind@2.0.2(@astrojs/starlight@0.22.4(astro@4.8.6(typescript@5.4.5)))(@astrojs/tailwind@5.1.0(astro@4.8.6(typescript@5.4.5))(tailwindcss@3.4.3))(tailwindcss@3.4.3)":
+  "@astrojs/starlight-tailwind@2.0.3(@astrojs/starlight@0.28.6(astro@4.16.9(rollup@4.24.4)(typescript@5.6.3)))(@astrojs/tailwind@5.1.2(astro@4.16.9(rollup@4.24.4)(typescript@5.6.3))(tailwindcss@3.4.14))(tailwindcss@3.4.14)":
     dependencies:
-      "@astrojs/starlight": 0.22.4(astro@4.8.6(typescript@5.4.5))
-      "@astrojs/tailwind": 5.1.0(astro@4.8.6(typescript@5.4.5))(tailwindcss@3.4.3)
-      tailwindcss: 3.4.3
+      "@astrojs/starlight": 0.28.6(astro@4.16.9(rollup@4.24.4)(typescript@5.6.3))
+      "@astrojs/tailwind": 5.1.2(astro@4.16.9(rollup@4.24.4)(typescript@5.6.3))(tailwindcss@3.4.14)
+      tailwindcss: 3.4.14
 
-  "@astrojs/starlight@0.22.4(astro@4.8.6(typescript@5.4.5))":
+  "@astrojs/starlight@0.28.6(astro@4.16.9(rollup@4.24.4)(typescript@5.6.3))":
     dependencies:
-      "@astrojs/mdx": 2.3.1(astro@4.8.6(typescript@5.4.5))
-      "@astrojs/sitemap": 3.0.5
+      "@astrojs/mdx": 3.1.9(astro@4.16.9(rollup@4.24.4)(typescript@5.6.3))
+      "@astrojs/sitemap": 3.2.1
       "@pagefind/default-ui": 1.0.4
-      "@types/hast": 3.0.3
-      "@types/mdast": 4.0.3
-      astro: 4.8.6(typescript@5.4.5)
-      astro-expressive-code: 0.35.3(astro@4.8.6(typescript@5.4.5))
+      "@types/hast": 3.0.4
+      "@types/mdast": 4.0.4
+      astro: 4.16.9(rollup@4.24.4)(typescript@5.6.3)
+      astro-expressive-code: 0.35.6(astro@4.16.9(rollup@4.24.4)(typescript@5.6.3))
       bcp-47: 2.1.0
       hast-util-from-html: 2.0.1
       hast-util-select: 6.0.2
       hast-util-to-string: 3.0.0
-      hastscript: 8.0.0
+      hastscript: 9.0.0
+      i18next: 23.16.4
+      js-yaml: 4.1.0
       mdast-util-directive: 3.0.0
       mdast-util-to-markdown: 2.1.0
+      mdast-util-to-string: 4.0.0
       pagefind: 1.0.4
       rehype: 13.0.1
       rehype-format: 5.0.0
       remark-directive: 3.0.0
-      unified: 11.0.4
+      unified: 11.0.5
       unist-util-visit: 5.0.0
-      vfile: 6.0.1
+      vfile: 6.0.3
     transitivePeerDependencies:
       - supports-color
 
-  "@astrojs/tailwind@5.1.0(astro@4.8.6(typescript@5.4.5))(tailwindcss@3.4.3)":
+  "@astrojs/tailwind@5.1.2(astro@4.16.9(rollup@4.24.4)(typescript@5.6.3))(tailwindcss@3.4.14)":
     dependencies:
-      astro: 4.8.6(typescript@5.4.5)
-      autoprefixer: 10.4.19(postcss@8.4.31)
-      postcss: 8.4.31
-      postcss-load-config: 4.0.2(postcss@8.4.31)
-      tailwindcss: 3.4.3
+      astro: 4.16.9(rollup@4.24.4)(typescript@5.6.3)
+      autoprefixer: 10.4.20(postcss@8.4.47)
+      postcss: 8.4.47
+      postcss-load-config: 4.0.2(postcss@8.4.47)
+      tailwindcss: 3.4.14
     transitivePeerDependencies:
       - ts-node
 
   "@astrojs/telemetry@3.1.0":
     dependencies:
       ci-info: 4.0.0
-      debug: 4.3.4
+      debug: 4.3.7
       dlv: 1.1.3
-      dset: 3.1.3
+      dset: 3.1.4
       is-docker: 3.0.0
       is-wsl: 3.1.0
       which-pm-runs: 1.1.0
     transitivePeerDependencies:
       - supports-color
 
-  "@babel/code-frame@7.24.2":
+  "@astrojs/yaml2ts@0.2.2":
+    dependencies:
+      yaml: 2.6.0
+
+  "@babel/code-frame@7.26.2":
     dependencies:
-      "@babel/highlight": 7.24.5
+      "@babel/helper-validator-identifier": 7.25.9
+      js-tokens: 4.0.0
       picocolors: 1.0.0
 
-  "@babel/compat-data@7.24.4": {}
+  "@babel/compat-data@7.26.2": {}
 
-  "@babel/core@7.24.5":
+  "@babel/core@7.26.0":
     dependencies:
       "@ampproject/remapping": 2.2.1
-      "@babel/code-frame": 7.24.2
-      "@babel/generator": 7.24.5
-      "@babel/helper-compilation-targets": 7.23.6
-      "@babel/helper-module-transforms": 7.24.5(@babel/core@7.24.5)
-      "@babel/helpers": 7.24.5
-      "@babel/parser": 7.24.5
-      "@babel/template": 7.24.0
-      "@babel/traverse": 7.24.5
-      "@babel/types": 7.24.5
+      "@babel/code-frame": 7.26.2
+      "@babel/generator": 7.26.2
+      "@babel/helper-compilation-targets": 7.25.9
+      "@babel/helper-module-transforms": 7.26.0(@babel/core@7.26.0)
+      "@babel/helpers": 7.26.0
+      "@babel/parser": 7.26.2
+      "@babel/template": 7.25.9
+      "@babel/traverse": 7.25.9
+      "@babel/types": 7.26.0
       convert-source-map: 2.0.0
-      debug: 4.3.4
+      debug: 4.3.7
       gensync: 1.0.0-beta.2
       json5: 2.2.3
       semver: 6.3.1
     transitivePeerDependencies:
       - supports-color
 
-  "@babel/generator@7.24.5":
+  "@babel/generator@7.26.2":
     dependencies:
-      "@babel/types": 7.24.5
+      "@babel/parser": 7.26.2
+      "@babel/types": 7.26.0
       "@jridgewell/gen-mapping": 0.3.5
       "@jridgewell/trace-mapping": 0.3.25
-      jsesc: 2.5.2
+      jsesc: 3.0.2
 
-  "@babel/helper-annotate-as-pure@7.22.5":
+  "@babel/helper-annotate-as-pure@7.25.9":
     dependencies:
-      "@babel/types": 7.24.5
+      "@babel/types": 7.26.0
 
-  "@babel/helper-compilation-targets@7.23.6":
+  "@babel/helper-compilation-targets@7.25.9":
     dependencies:
-      "@babel/compat-data": 7.24.4
-      "@babel/helper-validator-option": 7.23.5
-      browserslist: 4.23.0
+      "@babel/compat-data": 7.26.2
+      "@babel/helper-validator-option": 7.25.9
+      browserslist: 4.24.2
       lru-cache: 5.1.1
       semver: 6.3.1
 
-  "@babel/helper-environment-visitor@7.22.20": {}
-
-  "@babel/helper-function-name@7.23.0":
+  "@babel/helper-module-imports@7.25.9":
     dependencies:
-      "@babel/template": 7.22.15
-      "@babel/types": 7.24.5
+      "@babel/traverse": 7.25.9
+      "@babel/types": 7.26.0
+    transitivePeerDependencies:
+      - supports-color
 
-  "@babel/helper-hoist-variables@7.22.5":
+  "@babel/helper-module-transforms@7.26.0(@babel/core@7.26.0)":
     dependencies:
-      "@babel/types": 7.24.5
+      "@babel/core": 7.26.0
+      "@babel/helper-module-imports": 7.25.9
+      "@babel/helper-validator-identifier": 7.25.9
+      "@babel/traverse": 7.25.9
+    transitivePeerDependencies:
+      - supports-color
 
-  "@babel/helper-module-imports@7.22.15":
-    dependencies:
-      "@babel/types": 7.24.5
+  "@babel/helper-plugin-utils@7.25.9": {}
 
-  "@babel/helper-module-imports@7.24.3":
-    dependencies:
-      "@babel/types": 7.24.5
+  "@babel/helper-string-parser@7.25.9": {}
 
-  "@babel/helper-module-transforms@7.24.5(@babel/core@7.24.5)":
-    dependencies:
-      "@babel/core": 7.24.5
-      "@babel/helper-environment-visitor": 7.22.20
-      "@babel/helper-module-imports": 7.24.3
-      "@babel/helper-simple-access": 7.24.5
-      "@babel/helper-split-export-declaration": 7.24.5
-      "@babel/helper-validator-identifier": 7.24.5
+  "@babel/helper-validator-identifier@7.25.9": {}
 
-  "@babel/helper-plugin-utils@7.22.5": {}
+  "@babel/helper-validator-option@7.25.9": {}
 
-  "@babel/helper-simple-access@7.24.5":
+  "@babel/helpers@7.26.0":
     dependencies:
-      "@babel/types": 7.24.5
+      "@babel/template": 7.25.9
+      "@babel/types": 7.26.0
 
-  "@babel/helper-split-export-declaration@7.24.5":
+  "@babel/parser@7.24.5":
     dependencies:
-      "@babel/types": 7.24.5
+      "@babel/types": 7.26.0
 
-  "@babel/helper-string-parser@7.24.1": {}
-
-  "@babel/helper-validator-identifier@7.24.5": {}
+  "@babel/parser@7.26.2":
+    dependencies:
+      "@babel/types": 7.26.0
 
-  "@babel/helper-validator-option@7.23.5": {}
+  "@babel/plugin-syntax-jsx@7.25.9(@babel/core@7.26.0)":
+    dependencies:
+      "@babel/core": 7.26.0
+      "@babel/helper-plugin-utils": 7.25.9
 
-  "@babel/helpers@7.24.5":
+  "@babel/plugin-transform-react-jsx@7.25.9(@babel/core@7.26.0)":
     dependencies:
-      "@babel/template": 7.24.0
-      "@babel/traverse": 7.24.5
-      "@babel/types": 7.24.5
+      "@babel/core": 7.26.0
+      "@babel/helper-annotate-as-pure": 7.25.9
+      "@babel/helper-module-imports": 7.25.9
+      "@babel/helper-plugin-utils": 7.25.9
+      "@babel/plugin-syntax-jsx": 7.25.9(@babel/core@7.26.0)
+      "@babel/types": 7.26.0
     transitivePeerDependencies:
       - supports-color
 
-  "@babel/highlight@7.24.5":
-    dependencies:
-      "@babel/helper-validator-identifier": 7.24.5
-      chalk: 2.4.2
-      js-tokens: 4.0.0
-      picocolors: 1.0.0
-
-  "@babel/parser@7.24.5":
+  "@babel/runtime@7.26.0":
     dependencies:
-      "@babel/types": 7.24.5
+      regenerator-runtime: 0.14.1
 
-  "@babel/plugin-syntax-jsx@7.23.3(@babel/core@7.24.5)":
+  "@babel/template@7.25.9":
     dependencies:
-      "@babel/core": 7.24.5
-      "@babel/helper-plugin-utils": 7.22.5
+      "@babel/code-frame": 7.26.2
+      "@babel/parser": 7.26.2
+      "@babel/types": 7.26.0
 
-  "@babel/plugin-transform-react-jsx@7.23.4(@babel/core@7.24.5)":
+  "@babel/traverse@7.25.9":
     dependencies:
-      "@babel/core": 7.24.5
-      "@babel/helper-annotate-as-pure": 7.22.5
-      "@babel/helper-module-imports": 7.22.15
-      "@babel/helper-plugin-utils": 7.22.5
-      "@babel/plugin-syntax-jsx": 7.23.3(@babel/core@7.24.5)
-      "@babel/types": 7.24.5
-
-  "@babel/template@7.22.15":
-    dependencies:
-      "@babel/code-frame": 7.24.2
-      "@babel/parser": 7.24.5
-      "@babel/types": 7.24.5
-
-  "@babel/template@7.24.0":
-    dependencies:
-      "@babel/code-frame": 7.24.2
-      "@babel/parser": 7.24.5
-      "@babel/types": 7.24.5
-
-  "@babel/traverse@7.24.5":
-    dependencies:
-      "@babel/code-frame": 7.24.2
-      "@babel/generator": 7.24.5
-      "@babel/helper-environment-visitor": 7.22.20
-      "@babel/helper-function-name": 7.23.0
-      "@babel/helper-hoist-variables": 7.22.5
-      "@babel/helper-split-export-declaration": 7.24.5
-      "@babel/parser": 7.24.5
-      "@babel/types": 7.24.5
-      debug: 4.3.4
+      "@babel/code-frame": 7.26.2
+      "@babel/generator": 7.26.2
+      "@babel/parser": 7.26.2
+      "@babel/template": 7.25.9
+      "@babel/types": 7.26.0
+      debug: 4.3.7
       globals: 11.12.0
     transitivePeerDependencies:
       - supports-color
 
-  "@babel/types@7.24.5":
+  "@babel/types@7.26.0":
     dependencies:
-      "@babel/helper-string-parser": 7.24.1
-      "@babel/helper-validator-identifier": 7.24.5
-      to-fast-properties: 2.0.0
+      "@babel/helper-string-parser": 7.25.9
+      "@babel/helper-validator-identifier": 7.25.9
 
-  "@csstools/cascade-layer-name-parser@1.0.11(@csstools/css-parser-algorithms@2.6.3(@csstools/css-tokenizer@2.3.1))(@csstools/css-tokenizer@2.3.1)":
+  "@csstools/cascade-layer-name-parser@2.0.4(@csstools/css-parser-algorithms@3.0.4(@csstools/css-tokenizer@3.0.3))(@csstools/css-tokenizer@3.0.3)":
     dependencies:
-      "@csstools/css-parser-algorithms": 2.6.3(@csstools/css-tokenizer@2.3.1)
-      "@csstools/css-tokenizer": 2.3.1
+      "@csstools/css-parser-algorithms": 3.0.4(@csstools/css-tokenizer@3.0.3)
+      "@csstools/css-tokenizer": 3.0.3
 
-  "@csstools/color-helpers@4.2.0": {}
+  "@csstools/color-helpers@5.0.1": {}
 
-  "@csstools/css-calc@1.2.2(@csstools/css-parser-algorithms@2.6.3(@csstools/css-tokenizer@2.3.1))(@csstools/css-tokenizer@2.3.1)":
+  "@csstools/css-calc@2.0.4(@csstools/css-parser-algorithms@3.0.4(@csstools/css-tokenizer@3.0.3))(@csstools/css-tokenizer@3.0.3)":
     dependencies:
-      "@csstools/css-parser-algorithms": 2.6.3(@csstools/css-tokenizer@2.3.1)
-      "@csstools/css-tokenizer": 2.3.1
+      "@csstools/css-parser-algorithms": 3.0.4(@csstools/css-tokenizer@3.0.3)
+      "@csstools/css-tokenizer": 3.0.3
 
-  "@csstools/css-color-parser@2.0.2(@csstools/css-parser-algorithms@2.6.3(@csstools/css-tokenizer@2.3.1))(@csstools/css-tokenizer@2.3.1)":
+  "@csstools/css-color-parser@3.0.5(@csstools/css-parser-algorithms@3.0.4(@csstools/css-tokenizer@3.0.3))(@csstools/css-tokenizer@3.0.3)":
     dependencies:
-      "@csstools/color-helpers": 4.2.0
-      "@csstools/css-calc": 1.2.2(@csstools/css-parser-algorithms@2.6.3(@csstools/css-tokenizer@2.3.1))(@csstools/css-tokenizer@2.3.1)
-      "@csstools/css-parser-algorithms": 2.6.3(@csstools/css-tokenizer@2.3.1)
-      "@csstools/css-tokenizer": 2.3.1
+      "@csstools/color-helpers": 5.0.1
+      "@csstools/css-calc": 2.0.4(@csstools/css-parser-algorithms@3.0.4(@csstools/css-tokenizer@3.0.3))(@csstools/css-tokenizer@3.0.3)
+      "@csstools/css-parser-algorithms": 3.0.4(@csstools/css-tokenizer@3.0.3)
+      "@csstools/css-tokenizer": 3.0.3
 
-  "@csstools/css-parser-algorithms@2.6.3(@csstools/css-tokenizer@2.3.1)":
+  "@csstools/css-parser-algorithms@3.0.4(@csstools/css-tokenizer@3.0.3)":
     dependencies:
-      "@csstools/css-tokenizer": 2.3.1
+      "@csstools/css-tokenizer": 3.0.3
 
-  "@csstools/css-tokenizer@2.3.1": {}
+  "@csstools/css-tokenizer@3.0.3": {}
 
-  "@csstools/media-query-list-parser@2.1.11(@csstools/css-parser-algorithms@2.6.3(@csstools/css-tokenizer@2.3.1))(@csstools/css-tokenizer@2.3.1)":
+  "@csstools/media-query-list-parser@4.0.2(@csstools/css-parser-algorithms@3.0.4(@csstools/css-tokenizer@3.0.3))(@csstools/css-tokenizer@3.0.3)":
     dependencies:
-      "@csstools/css-parser-algorithms": 2.6.3(@csstools/css-tokenizer@2.3.1)
-      "@csstools/css-tokenizer": 2.3.1
+      "@csstools/css-parser-algorithms": 3.0.4(@csstools/css-tokenizer@3.0.3)
+      "@csstools/css-tokenizer": 3.0.3
 
-  "@csstools/postcss-cascade-layers@4.0.6(postcss@8.4.33)":
+  "@csstools/postcss-cascade-layers@5.0.1(postcss@8.4.38)":
     dependencies:
-      "@csstools/selector-specificity": 3.1.1(postcss-selector-parser@6.0.16)
-      postcss: 8.4.33
-      postcss-selector-parser: 6.0.16
+      "@csstools/selector-specificity": 5.0.0(postcss-selector-parser@7.0.0)
+      postcss: 8.4.38
+      postcss-selector-parser: 7.0.0
 
-  "@csstools/postcss-color-function@3.0.16(postcss@8.4.33)":
+  "@csstools/postcss-color-function@4.0.5(postcss@8.4.38)":
     dependencies:
-      "@csstools/css-color-parser": 2.0.2(@csstools/css-parser-algorithms@2.6.3(@csstools/css-tokenizer@2.3.1))(@csstools/css-tokenizer@2.3.1)
-      "@csstools/css-parser-algorithms": 2.6.3(@csstools/css-tokenizer@2.3.1)
-      "@csstools/css-tokenizer": 2.3.1
-      "@csstools/postcss-progressive-custom-properties": 3.2.0(postcss@8.4.33)
-      "@csstools/utilities": 1.0.0(postcss@8.4.33)
-      postcss: 8.4.33
+      "@csstools/css-color-parser": 3.0.5(@csstools/css-parser-algorithms@3.0.4(@csstools/css-tokenizer@3.0.3))(@csstools/css-tokenizer@3.0.3)
+      "@csstools/css-parser-algorithms": 3.0.4(@csstools/css-tokenizer@3.0.3)
+      "@csstools/css-tokenizer": 3.0.3
+      "@csstools/postcss-progressive-custom-properties": 4.0.0(postcss@8.4.38)
+      "@csstools/utilities": 2.0.0(postcss@8.4.38)
+      postcss: 8.4.38
+
+  "@csstools/postcss-color-mix-function@3.0.5(postcss@8.4.38)":
+    dependencies:
+      "@csstools/css-color-parser": 3.0.5(@csstools/css-parser-algorithms@3.0.4(@csstools/css-tokenizer@3.0.3))(@csstools/css-tokenizer@3.0.3)
+      "@csstools/css-parser-algorithms": 3.0.4(@csstools/css-tokenizer@3.0.3)
+      "@csstools/css-tokenizer": 3.0.3
+      "@csstools/postcss-progressive-custom-properties": 4.0.0(postcss@8.4.38)
+      "@csstools/utilities": 2.0.0(postcss@8.4.38)
+      postcss: 8.4.38
 
-  "@csstools/postcss-color-mix-function@2.0.16(postcss@8.4.33)":
+  "@csstools/postcss-content-alt-text@2.0.4(postcss@8.4.38)":
     dependencies:
-      "@csstools/css-color-parser": 2.0.2(@csstools/css-parser-algorithms@2.6.3(@csstools/css-tokenizer@2.3.1))(@csstools/css-tokenizer@2.3.1)
-      "@csstools/css-parser-algorithms": 2.6.3(@csstools/css-tokenizer@2.3.1)
-      "@csstools/css-tokenizer": 2.3.1
-      "@csstools/postcss-progressive-custom-properties": 3.2.0(postcss@8.4.33)
-      "@csstools/utilities": 1.0.0(postcss@8.4.33)
-      postcss: 8.4.33
+      "@csstools/css-parser-algorithms": 3.0.4(@csstools/css-tokenizer@3.0.3)
+      "@csstools/css-tokenizer": 3.0.3
+      "@csstools/postcss-progressive-custom-properties": 4.0.0(postcss@8.4.38)
+      "@csstools/utilities": 2.0.0(postcss@8.4.38)
+      postcss: 8.4.38
 
-  "@csstools/postcss-exponential-functions@1.0.7(postcss@8.4.33)":
+  "@csstools/postcss-exponential-functions@2.0.4(postcss@8.4.38)":
     dependencies:
-      "@csstools/css-calc": 1.2.2(@csstools/css-parser-algorithms@2.6.3(@csstools/css-tokenizer@2.3.1))(@csstools/css-tokenizer@2.3.1)
-      "@csstools/css-parser-algorithms": 2.6.3(@csstools/css-tokenizer@2.3.1)
-      "@csstools/css-tokenizer": 2.3.1
-      postcss: 8.4.33
+      "@csstools/css-calc": 2.0.4(@csstools/css-parser-algorithms@3.0.4(@csstools/css-tokenizer@3.0.3))(@csstools/css-tokenizer@3.0.3)
+      "@csstools/css-parser-algorithms": 3.0.4(@csstools/css-tokenizer@3.0.3)
+      "@csstools/css-tokenizer": 3.0.3
+      postcss: 8.4.38
 
-  "@csstools/postcss-font-format-keywords@3.0.2(postcss@8.4.33)":
+  "@csstools/postcss-font-format-keywords@4.0.0(postcss@8.4.38)":
     dependencies:
-      "@csstools/utilities": 1.0.0(postcss@8.4.33)
-      postcss: 8.4.33
+      "@csstools/utilities": 2.0.0(postcss@8.4.38)
+      postcss: 8.4.38
       postcss-value-parser: 4.2.0
 
-  "@csstools/postcss-gamut-mapping@1.0.9(postcss@8.4.33)":
+  "@csstools/postcss-gamut-mapping@2.0.5(postcss@8.4.38)":
     dependencies:
-      "@csstools/css-color-parser": 2.0.2(@csstools/css-parser-algorithms@2.6.3(@csstools/css-tokenizer@2.3.1))(@csstools/css-tokenizer@2.3.1)
-      "@csstools/css-parser-algorithms": 2.6.3(@csstools/css-tokenizer@2.3.1)
-      "@csstools/css-tokenizer": 2.3.1
-      postcss: 8.4.33
+      "@csstools/css-color-parser": 3.0.5(@csstools/css-parser-algorithms@3.0.4(@csstools/css-tokenizer@3.0.3))(@csstools/css-tokenizer@3.0.3)
+      "@csstools/css-parser-algorithms": 3.0.4(@csstools/css-tokenizer@3.0.3)
+      "@csstools/css-tokenizer": 3.0.3
+      postcss: 8.4.38
 
-  "@csstools/postcss-gradients-interpolation-method@4.0.17(postcss@8.4.33)":
+  "@csstools/postcss-gradients-interpolation-method@5.0.5(postcss@8.4.38)":
     dependencies:
-      "@csstools/css-color-parser": 2.0.2(@csstools/css-parser-algorithms@2.6.3(@csstools/css-tokenizer@2.3.1))(@csstools/css-tokenizer@2.3.1)
-      "@csstools/css-parser-algorithms": 2.6.3(@csstools/css-tokenizer@2.3.1)
-      "@csstools/css-tokenizer": 2.3.1
-      "@csstools/postcss-progressive-custom-properties": 3.2.0(postcss@8.4.33)
-      "@csstools/utilities": 1.0.0(postcss@8.4.33)
-      postcss: 8.4.33
+      "@csstools/css-color-parser": 3.0.5(@csstools/css-parser-algorithms@3.0.4(@csstools/css-tokenizer@3.0.3))(@csstools/css-tokenizer@3.0.3)
+      "@csstools/css-parser-algorithms": 3.0.4(@csstools/css-tokenizer@3.0.3)
+      "@csstools/css-tokenizer": 3.0.3
+      "@csstools/postcss-progressive-custom-properties": 4.0.0(postcss@8.4.38)
+      "@csstools/utilities": 2.0.0(postcss@8.4.38)
+      postcss: 8.4.38
 
-  "@csstools/postcss-hwb-function@3.0.15(postcss@8.4.33)":
+  "@csstools/postcss-hwb-function@4.0.5(postcss@8.4.38)":
     dependencies:
-      "@csstools/css-color-parser": 2.0.2(@csstools/css-parser-algorithms@2.6.3(@csstools/css-tokenizer@2.3.1))(@csstools/css-tokenizer@2.3.1)
-      "@csstools/css-parser-algorithms": 2.6.3(@csstools/css-tokenizer@2.3.1)
-      "@csstools/css-tokenizer": 2.3.1
-      "@csstools/postcss-progressive-custom-properties": 3.2.0(postcss@8.4.33)
-      "@csstools/utilities": 1.0.0(postcss@8.4.33)
-      postcss: 8.4.33
+      "@csstools/css-color-parser": 3.0.5(@csstools/css-parser-algorithms@3.0.4(@csstools/css-tokenizer@3.0.3))(@csstools/css-tokenizer@3.0.3)
+      "@csstools/css-parser-algorithms": 3.0.4(@csstools/css-tokenizer@3.0.3)
+      "@csstools/css-tokenizer": 3.0.3
+      "@csstools/postcss-progressive-custom-properties": 4.0.0(postcss@8.4.38)
+      "@csstools/utilities": 2.0.0(postcss@8.4.38)
+      postcss: 8.4.38
 
-  "@csstools/postcss-ic-unit@3.0.6(postcss@8.4.33)":
+  "@csstools/postcss-ic-unit@4.0.0(postcss@8.4.38)":
     dependencies:
-      "@csstools/postcss-progressive-custom-properties": 3.2.0(postcss@8.4.33)
-      "@csstools/utilities": 1.0.0(postcss@8.4.33)
-      postcss: 8.4.33
+      "@csstools/postcss-progressive-custom-properties": 4.0.0(postcss@8.4.38)
+      "@csstools/utilities": 2.0.0(postcss@8.4.38)
+      postcss: 8.4.38
       postcss-value-parser: 4.2.0
 
-  "@csstools/postcss-initial@1.0.1(postcss@8.4.33)":
+  "@csstools/postcss-initial@2.0.0(postcss@8.4.38)":
     dependencies:
-      postcss: 8.4.33
+      postcss: 8.4.38
 
-  "@csstools/postcss-is-pseudo-class@4.0.8(postcss@8.4.33)":
+  "@csstools/postcss-is-pseudo-class@5.0.1(postcss@8.4.38)":
     dependencies:
-      "@csstools/selector-specificity": 3.1.1(postcss-selector-parser@6.0.16)
-      postcss: 8.4.33
-      postcss-selector-parser: 6.0.16
+      "@csstools/selector-specificity": 5.0.0(postcss-selector-parser@7.0.0)
+      postcss: 8.4.38
+      postcss-selector-parser: 7.0.0
 
-  "@csstools/postcss-light-dark-function@1.0.5(postcss@8.4.33)":
+  "@csstools/postcss-light-dark-function@2.0.7(postcss@8.4.38)":
     dependencies:
-      "@csstools/css-parser-algorithms": 2.6.3(@csstools/css-tokenizer@2.3.1)
-      "@csstools/css-tokenizer": 2.3.1
-      "@csstools/postcss-progressive-custom-properties": 3.2.0(postcss@8.4.33)
-      "@csstools/utilities": 1.0.0(postcss@8.4.33)
-      postcss: 8.4.33
+      "@csstools/css-parser-algorithms": 3.0.4(@csstools/css-tokenizer@3.0.3)
+      "@csstools/css-tokenizer": 3.0.3
+      "@csstools/postcss-progressive-custom-properties": 4.0.0(postcss@8.4.38)
+      "@csstools/utilities": 2.0.0(postcss@8.4.38)
+      postcss: 8.4.38
 
-  "@csstools/postcss-logical-float-and-clear@2.0.1(postcss@8.4.33)":
+  "@csstools/postcss-logical-float-and-clear@3.0.0(postcss@8.4.38)":
     dependencies:
-      postcss: 8.4.33
+      postcss: 8.4.38
 
-  "@csstools/postcss-logical-overflow@1.0.1(postcss@8.4.33)":
+  "@csstools/postcss-logical-overflow@2.0.0(postcss@8.4.38)":
     dependencies:
-      postcss: 8.4.33
+      postcss: 8.4.38
 
-  "@csstools/postcss-logical-overscroll-behavior@1.0.1(postcss@8.4.33)":
+  "@csstools/postcss-logical-overscroll-behavior@2.0.0(postcss@8.4.38)":
     dependencies:
-      postcss: 8.4.33
+      postcss: 8.4.38
 
-  "@csstools/postcss-logical-resize@2.0.1(postcss@8.4.33)":
+  "@csstools/postcss-logical-resize@3.0.0(postcss@8.4.38)":
     dependencies:
-      postcss: 8.4.33
+      postcss: 8.4.38
       postcss-value-parser: 4.2.0
 
-  "@csstools/postcss-logical-viewport-units@2.0.9(postcss@8.4.33)":
+  "@csstools/postcss-logical-viewport-units@3.0.3(postcss@8.4.38)":
     dependencies:
-      "@csstools/css-tokenizer": 2.3.1
-      "@csstools/utilities": 1.0.0(postcss@8.4.33)
-      postcss: 8.4.33
+      "@csstools/css-tokenizer": 3.0.3
+      "@csstools/utilities": 2.0.0(postcss@8.4.38)
+      postcss: 8.4.38
 
-  "@csstools/postcss-media-minmax@1.1.6(postcss@8.4.33)":
+  "@csstools/postcss-media-minmax@2.0.4(postcss@8.4.38)":
     dependencies:
-      "@csstools/css-calc": 1.2.2(@csstools/css-parser-algorithms@2.6.3(@csstools/css-tokenizer@2.3.1))(@csstools/css-tokenizer@2.3.1)
-      "@csstools/css-parser-algorithms": 2.6.3(@csstools/css-tokenizer@2.3.1)
-      "@csstools/css-tokenizer": 2.3.1
-      "@csstools/media-query-list-parser": 2.1.11(@csstools/css-parser-algorithms@2.6.3(@csstools/css-tokenizer@2.3.1))(@csstools/css-tokenizer@2.3.1)
-      postcss: 8.4.33
+      "@csstools/css-calc": 2.0.4(@csstools/css-parser-algorithms@3.0.4(@csstools/css-tokenizer@3.0.3))(@csstools/css-tokenizer@3.0.3)
+      "@csstools/css-parser-algorithms": 3.0.4(@csstools/css-tokenizer@3.0.3)
+      "@csstools/css-tokenizer": 3.0.3
+      "@csstools/media-query-list-parser": 4.0.2(@csstools/css-parser-algorithms@3.0.4(@csstools/css-tokenizer@3.0.3))(@csstools/css-tokenizer@3.0.3)
+      postcss: 8.4.38
 
-  "@csstools/postcss-media-queries-aspect-ratio-number-values@2.0.9(postcss@8.4.33)":
+  "@csstools/postcss-media-queries-aspect-ratio-number-values@3.0.4(postcss@8.4.38)":
     dependencies:
-      "@csstools/css-parser-algorithms": 2.6.3(@csstools/css-tokenizer@2.3.1)
-      "@csstools/css-tokenizer": 2.3.1
-      "@csstools/media-query-list-parser": 2.1.11(@csstools/css-parser-algorithms@2.6.3(@csstools/css-tokenizer@2.3.1))(@csstools/css-tokenizer@2.3.1)
-      postcss: 8.4.33
+      "@csstools/css-parser-algorithms": 3.0.4(@csstools/css-tokenizer@3.0.3)
+      "@csstools/css-tokenizer": 3.0.3
+      "@csstools/media-query-list-parser": 4.0.2(@csstools/css-parser-algorithms@3.0.4(@csstools/css-tokenizer@3.0.3))(@csstools/css-tokenizer@3.0.3)
+      postcss: 8.4.38
 
-  "@csstools/postcss-nested-calc@3.0.2(postcss@8.4.33)":
+  "@csstools/postcss-nested-calc@4.0.0(postcss@8.4.38)":
     dependencies:
-      "@csstools/utilities": 1.0.0(postcss@8.4.33)
-      postcss: 8.4.33
+      "@csstools/utilities": 2.0.0(postcss@8.4.38)
+      postcss: 8.4.38
       postcss-value-parser: 4.2.0
 
-  "@csstools/postcss-normalize-display-values@3.0.2(postcss@8.4.33)":
+  "@csstools/postcss-normalize-display-values@4.0.0(postcss@8.4.38)":
     dependencies:
-      postcss: 8.4.33
+      postcss: 8.4.38
       postcss-value-parser: 4.2.0
 
-  "@csstools/postcss-oklab-function@3.0.16(postcss@8.4.33)":
+  "@csstools/postcss-oklab-function@4.0.5(postcss@8.4.38)":
     dependencies:
-      "@csstools/css-color-parser": 2.0.2(@csstools/css-parser-algorithms@2.6.3(@csstools/css-tokenizer@2.3.1))(@csstools/css-tokenizer@2.3.1)
-      "@csstools/css-parser-algorithms": 2.6.3(@csstools/css-tokenizer@2.3.1)
-      "@csstools/css-tokenizer": 2.3.1
-      "@csstools/postcss-progressive-custom-properties": 3.2.0(postcss@8.4.33)
-      "@csstools/utilities": 1.0.0(postcss@8.4.33)
-      postcss: 8.4.33
+      "@csstools/css-color-parser": 3.0.5(@csstools/css-parser-algorithms@3.0.4(@csstools/css-tokenizer@3.0.3))(@csstools/css-tokenizer@3.0.3)
+      "@csstools/css-parser-algorithms": 3.0.4(@csstools/css-tokenizer@3.0.3)
+      "@csstools/css-tokenizer": 3.0.3
+      "@csstools/postcss-progressive-custom-properties": 4.0.0(postcss@8.4.38)
+      "@csstools/utilities": 2.0.0(postcss@8.4.38)
+      postcss: 8.4.38
 
-  "@csstools/postcss-progressive-custom-properties@3.2.0(postcss@8.4.33)":
+  "@csstools/postcss-progressive-custom-properties@4.0.0(postcss@8.4.38)":
     dependencies:
-      postcss: 8.4.33
+      postcss: 8.4.38
       postcss-value-parser: 4.2.0
 
-  "@csstools/postcss-relative-color-syntax@2.0.16(postcss@8.4.33)":
+  "@csstools/postcss-relative-color-syntax@3.0.5(postcss@8.4.38)":
     dependencies:
-      "@csstools/css-color-parser": 2.0.2(@csstools/css-parser-algorithms@2.6.3(@csstools/css-tokenizer@2.3.1))(@csstools/css-tokenizer@2.3.1)
-      "@csstools/css-parser-algorithms": 2.6.3(@csstools/css-tokenizer@2.3.1)
-      "@csstools/css-tokenizer": 2.3.1
-      "@csstools/postcss-progressive-custom-properties": 3.2.0(postcss@8.4.33)
-      "@csstools/utilities": 1.0.0(postcss@8.4.33)
-      postcss: 8.4.33
+      "@csstools/css-color-parser": 3.0.5(@csstools/css-parser-algorithms@3.0.4(@csstools/css-tokenizer@3.0.3))(@csstools/css-tokenizer@3.0.3)
+      "@csstools/css-parser-algorithms": 3.0.4(@csstools/css-tokenizer@3.0.3)
+      "@csstools/css-tokenizer": 3.0.3
+      "@csstools/postcss-progressive-custom-properties": 4.0.0(postcss@8.4.38)
+      "@csstools/utilities": 2.0.0(postcss@8.4.38)
+      postcss: 8.4.38
 
-  "@csstools/postcss-scope-pseudo-class@3.0.1(postcss@8.4.33)":
+  "@csstools/postcss-scope-pseudo-class@4.0.1(postcss@8.4.38)":
     dependencies:
-      postcss: 8.4.33
-      postcss-selector-parser: 6.0.16
+      postcss: 8.4.38
+      postcss-selector-parser: 7.0.0
 
-  "@csstools/postcss-stepped-value-functions@3.0.8(postcss@8.4.33)":
+  "@csstools/postcss-stepped-value-functions@4.0.4(postcss@8.4.38)":
     dependencies:
-      "@csstools/css-calc": 1.2.2(@csstools/css-parser-algorithms@2.6.3(@csstools/css-tokenizer@2.3.1))(@csstools/css-tokenizer@2.3.1)
-      "@csstools/css-parser-algorithms": 2.6.3(@csstools/css-tokenizer@2.3.1)
-      "@csstools/css-tokenizer": 2.3.1
-      postcss: 8.4.33
+      "@csstools/css-calc": 2.0.4(@csstools/css-parser-algorithms@3.0.4(@csstools/css-tokenizer@3.0.3))(@csstools/css-tokenizer@3.0.3)
+      "@csstools/css-parser-algorithms": 3.0.4(@csstools/css-tokenizer@3.0.3)
+      "@csstools/css-tokenizer": 3.0.3
+      postcss: 8.4.38
 
-  "@csstools/postcss-text-decoration-shorthand@3.0.6(postcss@8.4.33)":
+  "@csstools/postcss-text-decoration-shorthand@4.0.1(postcss@8.4.38)":
     dependencies:
-      "@csstools/color-helpers": 4.2.0
-      postcss: 8.4.33
+      "@csstools/color-helpers": 5.0.1
+      postcss: 8.4.38
       postcss-value-parser: 4.2.0
 
-  "@csstools/postcss-trigonometric-functions@3.0.8(postcss@8.4.33)":
+  "@csstools/postcss-trigonometric-functions@4.0.4(postcss@8.4.38)":
     dependencies:
-      "@csstools/css-calc": 1.2.2(@csstools/css-parser-algorithms@2.6.3(@csstools/css-tokenizer@2.3.1))(@csstools/css-tokenizer@2.3.1)
-      "@csstools/css-parser-algorithms": 2.6.3(@csstools/css-tokenizer@2.3.1)
-      "@csstools/css-tokenizer": 2.3.1
-      postcss: 8.4.33
+      "@csstools/css-calc": 2.0.4(@csstools/css-parser-algorithms@3.0.4(@csstools/css-tokenizer@3.0.3))(@csstools/css-tokenizer@3.0.3)
+      "@csstools/css-parser-algorithms": 3.0.4(@csstools/css-tokenizer@3.0.3)
+      "@csstools/css-tokenizer": 3.0.3
+      postcss: 8.4.38
 
-  "@csstools/postcss-unset-value@3.0.1(postcss@8.4.33)":
+  "@csstools/postcss-unset-value@4.0.0(postcss@8.4.38)":
     dependencies:
-      postcss: 8.4.33
+      postcss: 8.4.38
 
-  "@csstools/selector-resolve-nested@1.1.0(postcss-selector-parser@6.0.16)":
+  "@csstools/selector-resolve-nested@3.0.0(postcss-selector-parser@7.0.0)":
     dependencies:
-      postcss-selector-parser: 6.0.16
+      postcss-selector-parser: 7.0.0
 
-  "@csstools/selector-specificity@3.1.1(postcss-selector-parser@6.0.16)":
+  "@csstools/selector-specificity@5.0.0(postcss-selector-parser@7.0.0)":
     dependencies:
-      postcss-selector-parser: 6.0.16
+      postcss-selector-parser: 7.0.0
 
-  "@csstools/utilities@1.0.0(postcss@8.4.33)":
+  "@csstools/utilities@2.0.0(postcss@8.4.38)":
     dependencies:
-      postcss: 8.4.33
+      postcss: 8.4.38
 
   "@ctrl/tinycolor@4.1.0": {}
 
@@ -6227,150 +5972,81 @@ snapshots:
 
   "@emmetio/stream-reader@2.2.0": {}
 
-  "@emnapi/runtime@1.1.1":
+  "@emnapi/runtime@1.3.1":
     dependencies:
       tslib: 2.6.2
     optional: true
 
-  "@esbuild/aix-ppc64@0.20.2":
-    optional: true
-
-  "@esbuild/aix-ppc64@0.21.3":
-    optional: true
-
-  "@esbuild/android-arm64@0.20.2":
-    optional: true
-
-  "@esbuild/android-arm64@0.21.3":
-    optional: true
-
-  "@esbuild/android-arm@0.20.2":
-    optional: true
-
-  "@esbuild/android-arm@0.21.3":
-    optional: true
-
-  "@esbuild/android-x64@0.20.2":
-    optional: true
-
-  "@esbuild/android-x64@0.21.3":
-    optional: true
-
-  "@esbuild/darwin-arm64@0.20.2":
+  "@esbuild/aix-ppc64@0.21.5":
     optional: true
 
-  "@esbuild/darwin-arm64@0.21.3":
+  "@esbuild/android-arm64@0.21.5":
     optional: true
 
-  "@esbuild/darwin-x64@0.20.2":
+  "@esbuild/android-arm@0.21.5":
     optional: true
 
-  "@esbuild/darwin-x64@0.21.3":
+  "@esbuild/android-x64@0.21.5":
     optional: true
 
-  "@esbuild/freebsd-arm64@0.20.2":
+  "@esbuild/darwin-arm64@0.21.5":
     optional: true
 
-  "@esbuild/freebsd-arm64@0.21.3":
+  "@esbuild/darwin-x64@0.21.5":
     optional: true
 
-  "@esbuild/freebsd-x64@0.20.2":
+  "@esbuild/freebsd-arm64@0.21.5":
     optional: true
 
-  "@esbuild/freebsd-x64@0.21.3":
+  "@esbuild/freebsd-x64@0.21.5":
     optional: true
 
-  "@esbuild/linux-arm64@0.20.2":
+  "@esbuild/linux-arm64@0.21.5":
     optional: true
 
-  "@esbuild/linux-arm64@0.21.3":
+  "@esbuild/linux-arm@0.21.5":
     optional: true
 
-  "@esbuild/linux-arm@0.20.2":
+  "@esbuild/linux-ia32@0.21.5":
     optional: true
 
-  "@esbuild/linux-arm@0.21.3":
+  "@esbuild/linux-loong64@0.21.5":
     optional: true
 
-  "@esbuild/linux-ia32@0.20.2":
+  "@esbuild/linux-mips64el@0.21.5":
     optional: true
 
-  "@esbuild/linux-ia32@0.21.3":
+  "@esbuild/linux-ppc64@0.21.5":
     optional: true
 
-  "@esbuild/linux-loong64@0.20.2":
+  "@esbuild/linux-riscv64@0.21.5":
     optional: true
 
-  "@esbuild/linux-loong64@0.21.3":
+  "@esbuild/linux-s390x@0.21.5":
     optional: true
 
-  "@esbuild/linux-mips64el@0.20.2":
+  "@esbuild/linux-x64@0.21.5":
     optional: true
 
-  "@esbuild/linux-mips64el@0.21.3":
+  "@esbuild/netbsd-x64@0.21.5":
     optional: true
 
-  "@esbuild/linux-ppc64@0.20.2":
+  "@esbuild/openbsd-x64@0.21.5":
     optional: true
 
-  "@esbuild/linux-ppc64@0.21.3":
+  "@esbuild/sunos-x64@0.21.5":
     optional: true
 
-  "@esbuild/linux-riscv64@0.20.2":
+  "@esbuild/win32-arm64@0.21.5":
     optional: true
 
-  "@esbuild/linux-riscv64@0.21.3":
+  "@esbuild/win32-ia32@0.21.5":
     optional: true
 
-  "@esbuild/linux-s390x@0.20.2":
+  "@esbuild/win32-x64@0.21.5":
     optional: true
 
-  "@esbuild/linux-s390x@0.21.3":
-    optional: true
-
-  "@esbuild/linux-x64@0.20.2":
-    optional: true
-
-  "@esbuild/linux-x64@0.21.3":
-    optional: true
-
-  "@esbuild/netbsd-x64@0.20.2":
-    optional: true
-
-  "@esbuild/netbsd-x64@0.21.3":
-    optional: true
-
-  "@esbuild/openbsd-x64@0.20.2":
-    optional: true
-
-  "@esbuild/openbsd-x64@0.21.3":
-    optional: true
-
-  "@esbuild/sunos-x64@0.20.2":
-    optional: true
-
-  "@esbuild/sunos-x64@0.21.3":
-    optional: true
-
-  "@esbuild/win32-arm64@0.20.2":
-    optional: true
-
-  "@esbuild/win32-arm64@0.21.3":
-    optional: true
-
-  "@esbuild/win32-ia32@0.20.2":
-    optional: true
-
-  "@esbuild/win32-ia32@0.21.3":
-    optional: true
-
-  "@esbuild/win32-x64@0.20.2":
-    optional: true
-
-  "@esbuild/win32-x64@0.21.3":
-    optional: true
-
-  "@expressive-code/core@0.35.3":
+  "@expressive-code/core@0.35.6":
     dependencies:
       "@ctrl/tinycolor": 4.1.0
       hast-util-select: 6.0.2
@@ -6382,111 +6058,98 @@ snapshots:
       unist-util-visit: 5.0.0
       unist-util-visit-parents: 6.0.1
 
-  "@expressive-code/plugin-frames@0.35.3":
+  "@expressive-code/plugin-frames@0.35.6":
     dependencies:
-      "@expressive-code/core": 0.35.3
+      "@expressive-code/core": 0.35.6
 
-  "@expressive-code/plugin-shiki@0.35.3":
+  "@expressive-code/plugin-shiki@0.35.6":
     dependencies:
-      "@expressive-code/core": 0.35.3
+      "@expressive-code/core": 0.35.6
       shiki: 1.5.2
 
-  "@expressive-code/plugin-text-markers@0.35.3":
+  "@expressive-code/plugin-text-markers@0.35.6":
     dependencies:
-      "@expressive-code/core": 0.35.3
+      "@expressive-code/core": 0.35.6
 
-  "@fontsource/inter@5.0.18": {}
+  "@fontsource/inter@5.1.0": {}
 
-  "@fontsource/rubik@5.0.20": {}
+  "@fontsource/rubik@5.1.0": {}
 
-  "@img/sharp-darwin-arm64@0.33.4":
+  "@img/sharp-darwin-arm64@0.33.5":
     optionalDependencies:
-      "@img/sharp-libvips-darwin-arm64": 1.0.2
+      "@img/sharp-libvips-darwin-arm64": 1.0.4
     optional: true
 
-  "@img/sharp-darwin-x64@0.33.4":
+  "@img/sharp-darwin-x64@0.33.5":
     optionalDependencies:
-      "@img/sharp-libvips-darwin-x64": 1.0.2
+      "@img/sharp-libvips-darwin-x64": 1.0.4
     optional: true
 
-  "@img/sharp-libvips-darwin-arm64@1.0.2":
+  "@img/sharp-libvips-darwin-arm64@1.0.4":
     optional: true
 
-  "@img/sharp-libvips-darwin-x64@1.0.2":
+  "@img/sharp-libvips-darwin-x64@1.0.4":
     optional: true
 
-  "@img/sharp-libvips-linux-arm64@1.0.2":
+  "@img/sharp-libvips-linux-arm64@1.0.4":
     optional: true
 
-  "@img/sharp-libvips-linux-arm@1.0.2":
+  "@img/sharp-libvips-linux-arm@1.0.5":
     optional: true
 
-  "@img/sharp-libvips-linux-s390x@1.0.2":
+  "@img/sharp-libvips-linux-s390x@1.0.4":
     optional: true
 
-  "@img/sharp-libvips-linux-x64@1.0.2":
+  "@img/sharp-libvips-linux-x64@1.0.4":
     optional: true
 
-  "@img/sharp-libvips-linuxmusl-arm64@1.0.2":
+  "@img/sharp-libvips-linuxmusl-arm64@1.0.4":
     optional: true
 
-  "@img/sharp-libvips-linuxmusl-x64@1.0.2":
+  "@img/sharp-libvips-linuxmusl-x64@1.0.4":
     optional: true
 
-  "@img/sharp-linux-arm64@0.33.4":
+  "@img/sharp-linux-arm64@0.33.5":
     optionalDependencies:
-      "@img/sharp-libvips-linux-arm64": 1.0.2
+      "@img/sharp-libvips-linux-arm64": 1.0.4
     optional: true
 
-  "@img/sharp-linux-arm@0.33.4":
+  "@img/sharp-linux-arm@0.33.5":
     optionalDependencies:
-      "@img/sharp-libvips-linux-arm": 1.0.2
+      "@img/sharp-libvips-linux-arm": 1.0.5
     optional: true
 
-  "@img/sharp-linux-s390x@0.33.4":
+  "@img/sharp-linux-s390x@0.33.5":
     optionalDependencies:
-      "@img/sharp-libvips-linux-s390x": 1.0.2
+      "@img/sharp-libvips-linux-s390x": 1.0.4
     optional: true
 
-  "@img/sharp-linux-x64@0.33.4":
+  "@img/sharp-linux-x64@0.33.5":
     optionalDependencies:
-      "@img/sharp-libvips-linux-x64": 1.0.2
+      "@img/sharp-libvips-linux-x64": 1.0.4
     optional: true
 
-  "@img/sharp-linuxmusl-arm64@0.33.4":
+  "@img/sharp-linuxmusl-arm64@0.33.5":
     optionalDependencies:
-      "@img/sharp-libvips-linuxmusl-arm64": 1.0.2
+      "@img/sharp-libvips-linuxmusl-arm64": 1.0.4
     optional: true
 
-  "@img/sharp-linuxmusl-x64@0.33.4":
+  "@img/sharp-linuxmusl-x64@0.33.5":
     optionalDependencies:
-      "@img/sharp-libvips-linuxmusl-x64": 1.0.2
+      "@img/sharp-libvips-linuxmusl-x64": 1.0.4
     optional: true
 
-  "@img/sharp-wasm32@0.33.4":
+  "@img/sharp-wasm32@0.33.5":
     dependencies:
-      "@emnapi/runtime": 1.1.1
+      "@emnapi/runtime": 1.3.1
     optional: true
 
-  "@img/sharp-win32-ia32@0.33.4":
+  "@img/sharp-win32-ia32@0.33.5":
     optional: true
 
-  "@img/sharp-win32-x64@0.33.4":
+  "@img/sharp-win32-x64@0.33.5":
     optional: true
 
-  "@johnsoncodehk/vscode-html-languageservice@5.2.0-34a5462":
-    dependencies:
-      "@vscode/l10n": 0.0.18
-      vscode-languageserver-textdocument: 1.0.11
-      vscode-languageserver-types: 3.17.5
-      vscode-uri: 3.0.8
-
-  "@jridgewell/gen-mapping@0.3.3":
-    dependencies:
-      "@jridgewell/set-array": 1.1.2
-      "@jridgewell/sourcemap-codec": 1.4.15
-      "@jridgewell/trace-mapping": 0.3.20
-
   "@jridgewell/gen-mapping@0.3.5":
     dependencies:
       "@jridgewell/set-array": 1.2.1
@@ -6495,48 +6158,45 @@ snapshots:
 
   "@jridgewell/resolve-uri@3.1.1": {}
 
-  "@jridgewell/set-array@1.1.2": {}
-
   "@jridgewell/set-array@1.2.1": {}
 
   "@jridgewell/sourcemap-codec@1.4.15": {}
 
-  "@jridgewell/trace-mapping@0.3.20":
-    dependencies:
-      "@jridgewell/resolve-uri": 3.1.1
-      "@jridgewell/sourcemap-codec": 1.4.15
+  "@jridgewell/sourcemap-codec@1.5.0": {}
 
   "@jridgewell/trace-mapping@0.3.25":
     dependencies:
       "@jridgewell/resolve-uri": 3.1.1
       "@jridgewell/sourcemap-codec": 1.4.15
 
-  "@mdx-js/mdx@3.0.0":
+  "@mdx-js/mdx@3.1.0(acorn@8.14.0)":
     dependencies:
       "@types/estree": 1.0.5
       "@types/estree-jsx": 1.0.3
-      "@types/hast": 3.0.3
+      "@types/hast": 3.0.4
       "@types/mdx": 2.0.10
       collapse-white-space: 2.1.0
       devlop: 1.1.0
-      estree-util-build-jsx: 3.0.1
       estree-util-is-identifier-name: 3.0.0
-      estree-util-to-js: 2.0.0
+      estree-util-scope: 1.0.0
       estree-walker: 3.0.3
-      hast-util-to-estree: 3.1.0
       hast-util-to-jsx-runtime: 2.3.0
       markdown-extensions: 2.0.0
-      periscopic: 3.1.0
+      recma-build-jsx: 1.0.0
+      recma-jsx: 1.0.0(acorn@8.14.0)
+      recma-stringify: 1.0.0
+      rehype-recma: 1.0.0
       remark-mdx: 3.0.0
       remark-parse: 11.0.0
       remark-rehype: 11.1.0
       source-map: 0.7.4
-      unified: 11.0.4
+      unified: 11.0.5
       unist-util-position-from-estree: 2.0.0
       unist-util-stringify-position: 4.0.0
       unist-util-visit: 5.0.0
-      vfile: 6.0.1
+      vfile: 6.0.3
     transitivePeerDependencies:
+      - acorn
       - supports-color
 
   "@nodelib/fs.scandir@2.1.5":
@@ -6551,6 +6211,8 @@ snapshots:
       "@nodelib/fs.scandir": 2.1.5
       fastq: 1.15.0
 
+  "@oslojs/encoding@1.1.0": {}
+
   "@pagefind/darwin-arm64@1.0.4":
     optional: true
 
@@ -6568,56 +6230,97 @@ snapshots:
   "@pagefind/windows-x64@1.0.4":
     optional: true
 
-  "@rollup/rollup-android-arm-eabi@4.17.2":
+  "@rollup/pluginutils@5.1.3(rollup@4.24.4)":
+    dependencies:
+      "@types/estree": 1.0.5
+      estree-walker: 2.0.2
+      picomatch: 4.0.2
+    optionalDependencies:
+      rollup: 4.24.4
+
+  "@rollup/rollup-android-arm-eabi@4.24.4":
+    optional: true
+
+  "@rollup/rollup-android-arm64@4.24.4":
+    optional: true
+
+  "@rollup/rollup-darwin-arm64@4.24.4":
     optional: true
 
-  "@rollup/rollup-android-arm64@4.17.2":
+  "@rollup/rollup-darwin-x64@4.24.4":
     optional: true
 
-  "@rollup/rollup-darwin-arm64@4.17.2":
+  "@rollup/rollup-freebsd-arm64@4.24.4":
     optional: true
 
-  "@rollup/rollup-darwin-x64@4.17.2":
+  "@rollup/rollup-freebsd-x64@4.24.4":
     optional: true
 
-  "@rollup/rollup-linux-arm-gnueabihf@4.17.2":
+  "@rollup/rollup-linux-arm-gnueabihf@4.24.4":
     optional: true
 
-  "@rollup/rollup-linux-arm-musleabihf@4.17.2":
+  "@rollup/rollup-linux-arm-musleabihf@4.24.4":
     optional: true
 
-  "@rollup/rollup-linux-arm64-gnu@4.17.2":
+  "@rollup/rollup-linux-arm64-gnu@4.24.4":
     optional: true
 
-  "@rollup/rollup-linux-arm64-musl@4.17.2":
+  "@rollup/rollup-linux-arm64-musl@4.24.4":
     optional: true
 
-  "@rollup/rollup-linux-powerpc64le-gnu@4.17.2":
+  "@rollup/rollup-linux-powerpc64le-gnu@4.24.4":
     optional: true
 
-  "@rollup/rollup-linux-riscv64-gnu@4.17.2":
+  "@rollup/rollup-linux-riscv64-gnu@4.24.4":
     optional: true
 
-  "@rollup/rollup-linux-s390x-gnu@4.17.2":
+  "@rollup/rollup-linux-s390x-gnu@4.24.4":
     optional: true
 
-  "@rollup/rollup-linux-x64-gnu@4.17.2":
+  "@rollup/rollup-linux-x64-gnu@4.24.4":
     optional: true
 
-  "@rollup/rollup-linux-x64-musl@4.17.2":
+  "@rollup/rollup-linux-x64-musl@4.24.4":
     optional: true
 
-  "@rollup/rollup-win32-arm64-msvc@4.17.2":
+  "@rollup/rollup-win32-arm64-msvc@4.24.4":
     optional: true
 
-  "@rollup/rollup-win32-ia32-msvc@4.17.2":
+  "@rollup/rollup-win32-ia32-msvc@4.24.4":
     optional: true
 
-  "@rollup/rollup-win32-x64-msvc@4.17.2":
+  "@rollup/rollup-win32-x64-msvc@4.24.4":
     optional: true
 
+  "@shikijs/core@1.22.2":
+    dependencies:
+      "@shikijs/engine-javascript": 1.22.2
+      "@shikijs/engine-oniguruma": 1.22.2
+      "@shikijs/types": 1.22.2
+      "@shikijs/vscode-textmate": 9.3.0
+      "@types/hast": 3.0.4
+      hast-util-to-html: 9.0.3
+
   "@shikijs/core@1.5.2": {}
 
+  "@shikijs/engine-javascript@1.22.2":
+    dependencies:
+      "@shikijs/types": 1.22.2
+      "@shikijs/vscode-textmate": 9.3.0
+      oniguruma-to-js: 0.4.3
+
+  "@shikijs/engine-oniguruma@1.22.2":
+    dependencies:
+      "@shikijs/types": 1.22.2
+      "@shikijs/vscode-textmate": 9.3.0
+
+  "@shikijs/types@1.22.2":
+    dependencies:
+      "@shikijs/vscode-textmate": 9.3.0
+      "@types/hast": 3.0.4
+
+  "@shikijs/vscode-textmate@9.3.0": {}
+
   "@trysound/sax@0.2.0": {}
 
   "@types/acorn@4.0.6":
@@ -6627,23 +6330,23 @@ snapshots:
   "@types/babel__core@7.20.5":
     dependencies:
       "@babel/parser": 7.24.5
-      "@babel/types": 7.24.5
+      "@babel/types": 7.26.0
       "@types/babel__generator": 7.6.7
       "@types/babel__template": 7.4.4
       "@types/babel__traverse": 7.20.4
 
   "@types/babel__generator@7.6.7":
     dependencies:
-      "@babel/types": 7.24.5
+      "@babel/types": 7.26.0
 
   "@types/babel__template@7.4.4":
     dependencies:
       "@babel/parser": 7.24.5
-      "@babel/types": 7.24.5
+      "@babel/types": 7.26.0
 
   "@types/babel__traverse@7.20.4":
     dependencies:
-      "@babel/types": 7.24.5
+      "@babel/types": 7.26.0
 
   "@types/cookie@0.6.0": {}
 
@@ -6657,21 +6360,31 @@ snapshots:
 
   "@types/estree@1.0.5": {}
 
+  "@types/estree@1.0.6": {}
+
   "@types/hast@3.0.3":
     dependencies:
       "@types/unist": 3.0.2
 
+  "@types/hast@3.0.4":
+    dependencies:
+      "@types/unist": 3.0.2
+
   "@types/mdast@4.0.3":
     dependencies:
       "@types/unist": 3.0.2
 
+  "@types/mdast@4.0.4":
+    dependencies:
+      "@types/unist": 3.0.2
+
   "@types/mdx@2.0.10": {}
 
   "@types/ms@0.7.34": {}
 
-  "@types/nlcst@1.0.4":
+  "@types/nlcst@2.0.3":
     dependencies:
-      "@types/unist": 2.0.10
+      "@types/unist": 3.0.2
 
   "@types/node@17.0.45": {}
 
@@ -6685,26 +6398,24 @@ snapshots:
 
   "@ungap/structured-clone@1.2.0": {}
 
-  "@volar/kit@2.2.4(typescript@5.4.5)":
+  "@volar/kit@2.4.8(typescript@5.6.3)":
     dependencies:
-      "@volar/language-service": 2.2.4
-      "@volar/typescript": 2.2.4
+      "@volar/language-service": 2.4.8
+      "@volar/typescript": 2.4.8
       typesafe-path: 0.2.2
-      typescript: 5.4.5
+      typescript: 5.6.3
       vscode-languageserver-textdocument: 1.0.11
       vscode-uri: 3.0.8
 
-  "@volar/language-core@2.2.4":
+  "@volar/language-core@2.4.8":
     dependencies:
-      "@volar/source-map": 2.2.4
+      "@volar/source-map": 2.4.8
 
-  "@volar/language-server@2.2.4":
+  "@volar/language-server@2.4.8":
     dependencies:
-      "@volar/language-core": 2.2.4
-      "@volar/language-service": 2.2.4
-      "@volar/snapshot-document": 2.2.4
-      "@volar/typescript": 2.2.4
-      "@vscode/l10n": 0.0.16
+      "@volar/language-core": 2.4.8
+      "@volar/language-service": 2.4.8
+      "@volar/typescript": 2.4.8
       path-browserify: 1.0.1
       request-light: 0.7.0
       vscode-languageserver: 9.0.1
@@ -6712,28 +6423,22 @@ snapshots:
       vscode-languageserver-textdocument: 1.0.11
       vscode-uri: 3.0.8
 
-  "@volar/language-service@2.2.4":
+  "@volar/language-service@2.4.8":
     dependencies:
-      "@volar/language-core": 2.2.4
+      "@volar/language-core": 2.4.8
       vscode-languageserver-protocol: 3.17.5
       vscode-languageserver-textdocument: 1.0.11
       vscode-uri: 3.0.8
 
-  "@volar/snapshot-document@2.2.4":
-    dependencies:
-      vscode-languageserver-protocol: 3.17.5
-      vscode-languageserver-textdocument: 1.0.11
-
-  "@volar/source-map@2.2.4":
-    dependencies:
-      muggle-string: 0.4.1
+  "@volar/source-map@2.4.8": {}
 
-  "@volar/typescript@2.2.4":
+  "@volar/typescript@2.4.8":
     dependencies:
-      "@volar/language-core": 2.2.4
+      "@volar/language-core": 2.4.8
       path-browserify: 1.0.1
+      vscode-uri: 3.0.8
 
-  "@vscode/emmet-helper@2.9.2":
+  "@vscode/emmet-helper@2.9.3":
     dependencies:
       emmet: 2.4.6
       jsonc-parser: 2.3.1
@@ -6741,17 +6446,20 @@ snapshots:
       vscode-languageserver-types: 3.17.5
       vscode-uri: 2.1.2
 
-  "@vscode/l10n@0.0.16": {}
-
   "@vscode/l10n@0.0.18": {}
 
-  acorn-jsx@5.3.2(acorn@8.11.2):
+  acorn-jsx@5.3.2(acorn@8.14.0):
     dependencies:
-      acorn: 8.11.2
+      acorn: 8.14.0
 
-  acorn@8.11.2: {}
+  acorn@8.14.0: {}
 
-  acorn@8.11.3: {}
+  ajv@8.17.1:
+    dependencies:
+      fast-deep-equal: 3.1.3
+      fast-uri: 3.0.3
+      json-schema-traverse: 1.0.0
+      require-from-string: 2.0.2
 
   ansi-align@3.0.1:
     dependencies:
@@ -6761,10 +6469,6 @@ snapshots:
 
   ansi-regex@6.0.1: {}
 
-  ansi-styles@3.2.1:
-    dependencies:
-      color-convert: 1.9.3
-
   ansi-styles@4.3.0:
     dependencies:
       color-convert: 2.0.1
@@ -6786,53 +6490,48 @@ snapshots:
 
   argparse@2.0.1: {}
 
-  aria-query@5.3.0:
-    dependencies:
-      dequal: 2.0.3
+  aria-query@5.3.2: {}
 
   array-iterate@2.0.1: {}
 
   astring@1.8.6: {}
 
-  astro-expressive-code@0.35.3(astro@4.8.6(typescript@5.4.5)):
+  astro-expressive-code@0.35.6(astro@4.16.9(rollup@4.24.4)(typescript@5.6.3)):
     dependencies:
-      astro: 4.8.6(typescript@5.4.5)
-      rehype-expressive-code: 0.35.3
+      astro: 4.16.9(rollup@4.24.4)(typescript@5.6.3)
+      rehype-expressive-code: 0.35.6
 
-  astro@4.8.6(typescript@5.4.5):
+  astro@4.16.9(rollup@4.24.4)(typescript@5.6.3):
     dependencies:
-      "@astrojs/compiler": 2.8.0
-      "@astrojs/internal-helpers": 0.4.0
-      "@astrojs/markdown-remark": 5.1.0
+      "@astrojs/compiler": 2.10.3
+      "@astrojs/internal-helpers": 0.4.1
+      "@astrojs/markdown-remark": 5.3.0
       "@astrojs/telemetry": 3.1.0
-      "@babel/core": 7.24.5
-      "@babel/generator": 7.24.5
-      "@babel/parser": 7.24.5
-      "@babel/plugin-transform-react-jsx": 7.23.4(@babel/core@7.24.5)
-      "@babel/traverse": 7.24.5
-      "@babel/types": 7.24.5
+      "@babel/core": 7.26.0
+      "@babel/plugin-transform-react-jsx": 7.25.9(@babel/core@7.26.0)
+      "@babel/types": 7.26.0
+      "@oslojs/encoding": 1.1.0
+      "@rollup/pluginutils": 5.1.3(rollup@4.24.4)
       "@types/babel__core": 7.20.5
       "@types/cookie": 0.6.0
-      acorn: 8.11.3
-      aria-query: 5.3.0
-      axobject-query: 4.0.0
-      boxen: 7.1.1
-      chokidar: 3.6.0
+      acorn: 8.14.0
+      aria-query: 5.3.2
+      axobject-query: 4.1.0
+      boxen: 8.0.1
       ci-info: 4.0.0
       clsx: 2.1.1
       common-ancestor-path: 1.0.1
-      cookie: 0.6.0
+      cookie: 0.7.2
       cssesc: 3.0.0
-      debug: 4.3.4
+      debug: 4.3.7
       deterministic-object-hash: 2.0.2
-      devalue: 5.0.0
+      devalue: 5.1.1
       diff: 5.2.0
       dlv: 1.1.3
-      dset: 3.1.3
-      es-module-lexer: 1.5.2
-      esbuild: 0.21.3
+      dset: 3.1.4
+      es-module-lexer: 1.5.4
+      esbuild: 0.21.5
       estree-walker: 3.0.3
-      execa: 8.0.1
       fast-glob: 3.3.2
       flattie: 1.1.1
       github-slugger: 2.0.0
@@ -6841,65 +6540,67 @@ snapshots:
       http-cache-semantics: 4.1.1
       js-yaml: 4.1.0
       kleur: 4.1.5
-      magic-string: 0.30.10
+      magic-string: 0.30.12
+      magicast: 0.3.5
+      micromatch: 4.0.8
       mrmime: 2.0.0
-      ora: 8.0.1
-      p-limit: 5.0.0
+      neotraverse: 0.6.18
+      ora: 8.1.1
+      p-limit: 6.1.0
       p-queue: 8.0.1
-      path-to-regexp: 6.2.2
-      preferred-pm: 3.1.3
+      preferred-pm: 4.0.0
       prompts: 2.4.2
-      rehype: 13.0.1
-      resolve: 1.22.8
-      semver: 7.6.2
-      shiki: 1.5.2
-      string-width: 7.1.0
-      strip-ansi: 7.1.0
-      tsconfck: 3.0.3(typescript@5.4.5)
+      rehype: 13.0.2
+      semver: 7.6.3
+      shiki: 1.22.2
+      tinyexec: 0.3.1
+      tsconfck: 3.1.4(typescript@5.6.3)
       unist-util-visit: 5.0.0
-      vfile: 6.0.1
-      vite: 5.2.11
-      vitefu: 0.2.5(vite@5.2.11)
-      which-pm: 2.1.1
+      vfile: 6.0.3
+      vite: 5.4.10
+      vitefu: 1.0.3(vite@5.4.10)
+      which-pm: 3.0.0
+      xxhash-wasm: 1.0.2
       yargs-parser: 21.1.1
       zod: 3.23.8
-      zod-to-json-schema: 3.23.0(zod@3.23.8)
+      zod-to-json-schema: 3.23.5(zod@3.23.8)
+      zod-to-ts: 1.2.0(typescript@5.6.3)(zod@3.23.8)
     optionalDependencies:
-      sharp: 0.33.4
+      sharp: 0.33.5
     transitivePeerDependencies:
       - "@types/node"
       - less
       - lightningcss
+      - rollup
       - sass
+      - sass-embedded
       - stylus
       - sugarss
       - supports-color
       - terser
       - typescript
 
-  autoprefixer@10.4.19(postcss@8.4.31):
+  autoprefixer@10.4.20(postcss@8.4.38):
     dependencies:
-      browserslist: 4.23.0
-      caniuse-lite: 1.0.30001620
+      browserslist: 4.24.2
+      caniuse-lite: 1.0.30001677
       fraction.js: 4.3.7
       normalize-range: 0.1.2
-      picocolors: 1.0.0
-      postcss: 8.4.31
+      picocolors: 1.1.1
+      postcss: 8.4.38
       postcss-value-parser: 4.2.0
 
-  autoprefixer@10.4.19(postcss@8.4.33):
+  autoprefixer@10.4.20(postcss@8.4.47):
     dependencies:
-      browserslist: 4.23.0
-      caniuse-lite: 1.0.30001620
+      browserslist: 4.24.2
+      caniuse-lite: 1.0.30001677
       fraction.js: 4.3.7
       normalize-range: 0.1.2
-      picocolors: 1.0.0
-      postcss: 8.4.33
+      picocolors: 1.1.1
+      postcss: 8.4.47
       postcss-value-parser: 4.2.0
 
-  axobject-query@4.0.0:
-    dependencies:
-      dequal: 2.0.3
+  axobject-query@4.1.0: {}
 
   bail@2.0.2: {}
 
@@ -6919,16 +6620,16 @@ snapshots:
 
   boolbase@1.0.0: {}
 
-  boxen@7.1.1:
+  boxen@8.0.1:
     dependencies:
       ansi-align: 3.0.1
-      camelcase: 7.0.1
+      camelcase: 8.0.0
       chalk: 5.3.0
       cli-boxes: 3.0.0
-      string-width: 5.1.2
-      type-fest: 2.19.0
-      widest-line: 4.0.1
-      wrap-ansi: 8.1.0
+      string-width: 7.2.0
+      type-fest: 4.26.1
+      widest-line: 5.0.0
+      wrap-ansi: 9.0.0
 
   brace-expansion@1.1.11:
     dependencies:
@@ -6939,33 +6640,33 @@ snapshots:
     dependencies:
       fill-range: 7.0.1
 
-  browserslist@4.23.0:
+  braces@3.0.3:
     dependencies:
-      caniuse-lite: 1.0.30001620
-      electron-to-chromium: 1.4.773
-      node-releases: 2.0.14
-      update-browserslist-db: 1.0.13(browserslist@4.23.0)
+      fill-range: 7.1.1
+
+  browserslist@4.24.2:
+    dependencies:
+      caniuse-lite: 1.0.30001677
+      electron-to-chromium: 1.5.51
+      node-releases: 2.0.18
+      update-browserslist-db: 1.1.1(browserslist@4.24.2)
 
   camelcase-css@2.0.1: {}
 
-  camelcase@7.0.1: {}
+  camelcase@8.0.0: {}
 
   caniuse-api@3.0.0:
     dependencies:
-      browserslist: 4.23.0
+      browserslist: 4.24.2
       caniuse-lite: 1.0.30001620
       lodash.memoize: 4.1.2
       lodash.uniq: 4.5.0
 
   caniuse-lite@1.0.30001620: {}
 
-  ccount@2.0.1: {}
+  caniuse-lite@1.0.30001677: {}
 
-  chalk@2.4.2:
-    dependencies:
-      ansi-styles: 3.2.1
-      escape-string-regexp: 1.0.5
-      supports-color: 5.5.0
+  ccount@2.0.1: {}
 
   chalk@5.3.0: {}
 
@@ -6977,7 +6678,7 @@ snapshots:
 
   character-reference-invalid@2.0.1: {}
 
-  chokidar@3.5.3:
+  chokidar@3.6.0:
     dependencies:
       anymatch: 3.1.3
       braces: 3.0.2
@@ -6989,25 +6690,17 @@ snapshots:
     optionalDependencies:
       fsevents: 2.3.3
 
-  chokidar@3.6.0:
+  chokidar@4.0.1:
     dependencies:
-      anymatch: 3.1.3
-      braces: 3.0.2
-      glob-parent: 5.1.2
-      is-binary-path: 2.1.0
-      is-glob: 4.0.3
-      normalize-path: 3.0.0
-      readdirp: 3.6.0
-    optionalDependencies:
-      fsevents: 2.3.3
+      readdirp: 4.0.2
 
   ci-info@4.0.0: {}
 
   cli-boxes@3.0.0: {}
 
-  cli-cursor@4.0.0:
+  cli-cursor@5.0.0:
     dependencies:
-      restore-cursor: 4.0.0
+      restore-cursor: 5.1.0
 
   cli-spinners@2.9.2: {}
 
@@ -7021,16 +6714,10 @@ snapshots:
 
   collapse-white-space@2.1.0: {}
 
-  color-convert@1.9.3:
-    dependencies:
-      color-name: 1.1.3
-
   color-convert@2.0.1:
     dependencies:
       color-name: 1.1.4
 
-  color-name@1.1.3: {}
-
   color-name@1.1.4: {}
 
   color-string@1.9.1:
@@ -7057,33 +6744,27 @@ snapshots:
 
   convert-source-map@2.0.0: {}
 
-  cookie@0.6.0: {}
-
-  cross-spawn@7.0.3:
-    dependencies:
-      path-key: 3.1.1
-      shebang-command: 2.0.0
-      which: 2.0.2
+  cookie@0.7.2: {}
 
-  css-blank-pseudo@6.0.2(postcss@8.4.33):
+  css-blank-pseudo@7.0.1(postcss@8.4.38):
     dependencies:
-      postcss: 8.4.33
-      postcss-selector-parser: 6.0.16
+      postcss: 8.4.38
+      postcss-selector-parser: 7.0.0
 
-  css-declaration-sorter@7.2.0(postcss@8.4.33):
+  css-declaration-sorter@7.2.0(postcss@8.4.38):
     dependencies:
-      postcss: 8.4.33
+      postcss: 8.4.38
 
-  css-has-pseudo@6.0.5(postcss@8.4.33):
+  css-has-pseudo@7.0.1(postcss@8.4.38):
     dependencies:
-      "@csstools/selector-specificity": 3.1.1(postcss-selector-parser@6.0.16)
-      postcss: 8.4.33
-      postcss-selector-parser: 6.0.16
+      "@csstools/selector-specificity": 5.0.0(postcss-selector-parser@7.0.0)
+      postcss: 8.4.38
+      postcss-selector-parser: 7.0.0
       postcss-value-parser: 4.2.0
 
-  css-prefers-color-scheme@9.0.1(postcss@8.4.33):
+  css-prefers-color-scheme@10.0.0(postcss@8.4.38):
     dependencies:
-      postcss: 8.4.33
+      postcss: 8.4.38
 
   css-select@5.1.0:
     dependencies:
@@ -7107,53 +6788,53 @@ snapshots:
 
   css-what@6.1.0: {}
 
-  cssdb@8.0.1: {}
+  cssdb@8.1.2: {}
 
   cssesc@3.0.0: {}
 
-  cssnano-preset-default@7.0.1(postcss@8.4.33):
-    dependencies:
-      browserslist: 4.23.0
-      css-declaration-sorter: 7.2.0(postcss@8.4.33)
-      cssnano-utils: 5.0.0(postcss@8.4.33)
-      postcss: 8.4.33
-      postcss-calc: 10.0.0(postcss@8.4.33)
-      postcss-colormin: 7.0.0(postcss@8.4.33)
-      postcss-convert-values: 7.0.0(postcss@8.4.33)
-      postcss-discard-comments: 7.0.0(postcss@8.4.33)
-      postcss-discard-duplicates: 7.0.0(postcss@8.4.33)
-      postcss-discard-empty: 7.0.0(postcss@8.4.33)
-      postcss-discard-overridden: 7.0.0(postcss@8.4.33)
-      postcss-merge-longhand: 7.0.0(postcss@8.4.33)
-      postcss-merge-rules: 7.0.0(postcss@8.4.33)
-      postcss-minify-font-values: 7.0.0(postcss@8.4.33)
-      postcss-minify-gradients: 7.0.0(postcss@8.4.33)
-      postcss-minify-params: 7.0.0(postcss@8.4.33)
-      postcss-minify-selectors: 7.0.0(postcss@8.4.33)
-      postcss-normalize-charset: 7.0.0(postcss@8.4.33)
-      postcss-normalize-display-values: 7.0.0(postcss@8.4.33)
-      postcss-normalize-positions: 7.0.0(postcss@8.4.33)
-      postcss-normalize-repeat-style: 7.0.0(postcss@8.4.33)
-      postcss-normalize-string: 7.0.0(postcss@8.4.33)
-      postcss-normalize-timing-functions: 7.0.0(postcss@8.4.33)
-      postcss-normalize-unicode: 7.0.0(postcss@8.4.33)
-      postcss-normalize-url: 7.0.0(postcss@8.4.33)
-      postcss-normalize-whitespace: 7.0.0(postcss@8.4.33)
-      postcss-ordered-values: 7.0.0(postcss@8.4.33)
-      postcss-reduce-initial: 7.0.0(postcss@8.4.33)
-      postcss-reduce-transforms: 7.0.0(postcss@8.4.33)
-      postcss-svgo: 7.0.0(postcss@8.4.33)
-      postcss-unique-selectors: 7.0.0(postcss@8.4.33)
-
-  cssnano-utils@5.0.0(postcss@8.4.33):
-    dependencies:
-      postcss: 8.4.33
-
-  cssnano@7.0.1(postcss@8.4.33):
-    dependencies:
-      cssnano-preset-default: 7.0.1(postcss@8.4.33)
-      lilconfig: 3.1.1
-      postcss: 8.4.33
+  cssnano-preset-default@7.0.6(postcss@8.4.38):
+    dependencies:
+      browserslist: 4.24.2
+      css-declaration-sorter: 7.2.0(postcss@8.4.38)
+      cssnano-utils: 5.0.0(postcss@8.4.38)
+      postcss: 8.4.38
+      postcss-calc: 10.0.2(postcss@8.4.38)
+      postcss-colormin: 7.0.2(postcss@8.4.38)
+      postcss-convert-values: 7.0.4(postcss@8.4.38)
+      postcss-discard-comments: 7.0.3(postcss@8.4.38)
+      postcss-discard-duplicates: 7.0.1(postcss@8.4.38)
+      postcss-discard-empty: 7.0.0(postcss@8.4.38)
+      postcss-discard-overridden: 7.0.0(postcss@8.4.38)
+      postcss-merge-longhand: 7.0.4(postcss@8.4.38)
+      postcss-merge-rules: 7.0.4(postcss@8.4.38)
+      postcss-minify-font-values: 7.0.0(postcss@8.4.38)
+      postcss-minify-gradients: 7.0.0(postcss@8.4.38)
+      postcss-minify-params: 7.0.2(postcss@8.4.38)
+      postcss-minify-selectors: 7.0.4(postcss@8.4.38)
+      postcss-normalize-charset: 7.0.0(postcss@8.4.38)
+      postcss-normalize-display-values: 7.0.0(postcss@8.4.38)
+      postcss-normalize-positions: 7.0.0(postcss@8.4.38)
+      postcss-normalize-repeat-style: 7.0.0(postcss@8.4.38)
+      postcss-normalize-string: 7.0.0(postcss@8.4.38)
+      postcss-normalize-timing-functions: 7.0.0(postcss@8.4.38)
+      postcss-normalize-unicode: 7.0.2(postcss@8.4.38)
+      postcss-normalize-url: 7.0.0(postcss@8.4.38)
+      postcss-normalize-whitespace: 7.0.0(postcss@8.4.38)
+      postcss-ordered-values: 7.0.1(postcss@8.4.38)
+      postcss-reduce-initial: 7.0.2(postcss@8.4.38)
+      postcss-reduce-transforms: 7.0.0(postcss@8.4.38)
+      postcss-svgo: 7.0.1(postcss@8.4.38)
+      postcss-unique-selectors: 7.0.3(postcss@8.4.38)
+
+  cssnano-utils@5.0.0(postcss@8.4.38):
+    dependencies:
+      postcss: 8.4.38
+
+  cssnano@7.0.6(postcss@8.4.38):
+    dependencies:
+      cssnano-preset-default: 7.0.6(postcss@8.4.38)
+      lilconfig: 3.1.2
+      postcss: 8.4.38
 
   csso@5.0.5:
     dependencies:
@@ -7163,6 +6844,10 @@ snapshots:
     dependencies:
       ms: 2.1.2
 
+  debug@4.3.7:
+    dependencies:
+      ms: 2.1.3
+
   decode-named-character-reference@1.0.2:
     dependencies:
       character-entities: 2.0.2
@@ -7175,7 +6860,7 @@ snapshots:
     dependencies:
       base-64: 1.0.0
 
-  devalue@5.0.0: {}
+  devalue@5.1.1: {}
 
   devlop@1.1.0:
     dependencies:
@@ -7207,11 +6892,9 @@ snapshots:
       domelementtype: 2.3.0
       domhandler: 5.0.3
 
-  dset@3.1.3: {}
-
-  eastasianwidth@0.2.0: {}
+  dset@3.1.4: {}
 
-  electron-to-chromium@1.4.773: {}
+  electron-to-chromium@1.5.51: {}
 
   emmet@2.4.6:
     dependencies:
@@ -7222,69 +6905,53 @@ snapshots:
 
   emoji-regex@8.0.0: {}
 
-  emoji-regex@9.2.2: {}
-
   entities@4.5.0: {}
 
-  es-module-lexer@1.4.1: {}
+  es-module-lexer@1.5.4: {}
+
+  esast-util-from-estree@2.0.0:
+    dependencies:
+      "@types/estree-jsx": 1.0.3
+      devlop: 1.1.0
+      estree-util-visit: 2.0.0
+      unist-util-position-from-estree: 2.0.0
 
-  es-module-lexer@1.5.2: {}
+  esast-util-from-js@2.0.1:
+    dependencies:
+      "@types/estree-jsx": 1.0.3
+      acorn: 8.14.0
+      esast-util-from-estree: 2.0.0
+      vfile-message: 4.0.2
 
-  esbuild@0.20.2:
+  esbuild@0.21.5:
     optionalDependencies:
-      "@esbuild/aix-ppc64": 0.20.2
-      "@esbuild/android-arm": 0.20.2
-      "@esbuild/android-arm64": 0.20.2
-      "@esbuild/android-x64": 0.20.2
-      "@esbuild/darwin-arm64": 0.20.2
-      "@esbuild/darwin-x64": 0.20.2
-      "@esbuild/freebsd-arm64": 0.20.2
-      "@esbuild/freebsd-x64": 0.20.2
-      "@esbuild/linux-arm": 0.20.2
-      "@esbuild/linux-arm64": 0.20.2
-      "@esbuild/linux-ia32": 0.20.2
-      "@esbuild/linux-loong64": 0.20.2
-      "@esbuild/linux-mips64el": 0.20.2
-      "@esbuild/linux-ppc64": 0.20.2
-      "@esbuild/linux-riscv64": 0.20.2
-      "@esbuild/linux-s390x": 0.20.2
-      "@esbuild/linux-x64": 0.20.2
-      "@esbuild/netbsd-x64": 0.20.2
-      "@esbuild/openbsd-x64": 0.20.2
-      "@esbuild/sunos-x64": 0.20.2
-      "@esbuild/win32-arm64": 0.20.2
-      "@esbuild/win32-ia32": 0.20.2
-      "@esbuild/win32-x64": 0.20.2
-
-  esbuild@0.21.3:
-    optionalDependencies:
-      "@esbuild/aix-ppc64": 0.21.3
-      "@esbuild/android-arm": 0.21.3
-      "@esbuild/android-arm64": 0.21.3
-      "@esbuild/android-x64": 0.21.3
-      "@esbuild/darwin-arm64": 0.21.3
-      "@esbuild/darwin-x64": 0.21.3
-      "@esbuild/freebsd-arm64": 0.21.3
-      "@esbuild/freebsd-x64": 0.21.3
-      "@esbuild/linux-arm": 0.21.3
-      "@esbuild/linux-arm64": 0.21.3
-      "@esbuild/linux-ia32": 0.21.3
-      "@esbuild/linux-loong64": 0.21.3
-      "@esbuild/linux-mips64el": 0.21.3
-      "@esbuild/linux-ppc64": 0.21.3
-      "@esbuild/linux-riscv64": 0.21.3
-      "@esbuild/linux-s390x": 0.21.3
-      "@esbuild/linux-x64": 0.21.3
-      "@esbuild/netbsd-x64": 0.21.3
-      "@esbuild/openbsd-x64": 0.21.3
-      "@esbuild/sunos-x64": 0.21.3
-      "@esbuild/win32-arm64": 0.21.3
-      "@esbuild/win32-ia32": 0.21.3
-      "@esbuild/win32-x64": 0.21.3
+      "@esbuild/aix-ppc64": 0.21.5
+      "@esbuild/android-arm": 0.21.5
+      "@esbuild/android-arm64": 0.21.5
+      "@esbuild/android-x64": 0.21.5
+      "@esbuild/darwin-arm64": 0.21.5
+      "@esbuild/darwin-x64": 0.21.5
+      "@esbuild/freebsd-arm64": 0.21.5
+      "@esbuild/freebsd-x64": 0.21.5
+      "@esbuild/linux-arm": 0.21.5
+      "@esbuild/linux-arm64": 0.21.5
+      "@esbuild/linux-ia32": 0.21.5
+      "@esbuild/linux-loong64": 0.21.5
+      "@esbuild/linux-mips64el": 0.21.5
+      "@esbuild/linux-ppc64": 0.21.5
+      "@esbuild/linux-riscv64": 0.21.5
+      "@esbuild/linux-s390x": 0.21.5
+      "@esbuild/linux-x64": 0.21.5
+      "@esbuild/netbsd-x64": 0.21.5
+      "@esbuild/openbsd-x64": 0.21.5
+      "@esbuild/sunos-x64": 0.21.5
+      "@esbuild/win32-arm64": 0.21.5
+      "@esbuild/win32-ia32": 0.21.5
+      "@esbuild/win32-x64": 0.21.5
 
   escalade@3.1.1: {}
 
-  escape-string-regexp@1.0.5: {}
+  escalade@3.2.0: {}
 
   escape-string-regexp@5.0.0: {}
 
@@ -7303,6 +6970,11 @@ snapshots:
 
   estree-util-is-identifier-name@3.0.0: {}
 
+  estree-util-scope@1.0.0:
+    dependencies:
+      "@types/estree": 1.0.5
+      devlop: 1.1.0
+
   estree-util-to-js@2.0.0:
     dependencies:
       "@types/estree-jsx": 1.0.3
@@ -7314,30 +6986,20 @@ snapshots:
       "@types/estree-jsx": 1.0.3
       "@types/unist": 3.0.2
 
+  estree-walker@2.0.2: {}
+
   estree-walker@3.0.3:
     dependencies:
       "@types/estree": 1.0.5
 
   eventemitter3@5.0.1: {}
 
-  execa@8.0.1:
-    dependencies:
-      cross-spawn: 7.0.3
-      get-stream: 8.0.1
-      human-signals: 5.0.0
-      is-stream: 3.0.0
-      merge-stream: 2.0.0
-      npm-run-path: 5.1.0
-      onetime: 6.0.0
-      signal-exit: 4.1.0
-      strip-final-newline: 3.0.0
-
-  expressive-code@0.35.3:
+  expressive-code@0.35.6:
     dependencies:
-      "@expressive-code/core": 0.35.3
-      "@expressive-code/plugin-frames": 0.35.3
-      "@expressive-code/plugin-shiki": 0.35.3
-      "@expressive-code/plugin-text-markers": 0.35.3
+      "@expressive-code/core": 0.35.6
+      "@expressive-code/plugin-frames": 0.35.6
+      "@expressive-code/plugin-shiki": 0.35.6
+      "@expressive-code/plugin-text-markers": 0.35.6
 
   extend-shallow@2.0.1:
     dependencies:
@@ -7345,13 +7007,17 @@ snapshots:
 
   extend@3.0.2: {}
 
+  fast-deep-equal@3.1.3: {}
+
   fast-glob@3.3.2:
     dependencies:
       "@nodelib/fs.stat": 2.0.5
       "@nodelib/fs.walk": 1.2.8
       glob-parent: 5.1.2
       merge2: 1.4.1
-      micromatch: 4.0.5
+      micromatch: 4.0.8
+
+  fast-uri@3.0.3: {}
 
   fastq@1.15.0:
     dependencies:
@@ -7361,19 +7027,20 @@ snapshots:
     dependencies:
       to-regex-range: 5.0.1
 
-  find-up@4.1.0:
+  fill-range@7.1.1:
     dependencies:
-      locate-path: 5.0.0
-      path-exists: 4.0.0
+      to-regex-range: 5.0.1
 
-  find-up@5.0.0:
+  find-up-simple@1.0.0: {}
+
+  find-up@4.1.0:
     dependencies:
-      locate-path: 6.0.0
+      locate-path: 5.0.0
       path-exists: 4.0.0
 
   find-yarn-workspace-root2@1.2.16:
     dependencies:
-      micromatch: 4.0.5
+      micromatch: 4.0.8
       pkg-dir: 4.2.0
 
   flattie@1.1.1: {}
@@ -7393,8 +7060,6 @@ snapshots:
 
   get-east-asian-width@1.2.0: {}
 
-  get-stream@8.0.1: {}
-
   github-slugger@2.0.0: {}
 
   glob-parent@5.1.2:
@@ -7425,56 +7090,63 @@ snapshots:
       section-matter: 1.0.0
       strip-bom-string: 1.0.0
 
-  has-flag@3.0.0: {}
-
   hasown@2.0.0:
     dependencies:
       function-bind: 1.1.2
 
   hast-util-embedded@3.0.0:
     dependencies:
-      "@types/hast": 3.0.3
+      "@types/hast": 3.0.4
       hast-util-is-element: 3.0.0
 
   hast-util-from-html@2.0.1:
+    dependencies:
+      "@types/hast": 3.0.4
+      devlop: 1.1.0
+      hast-util-from-parse5: 8.0.1
+      parse5: 7.1.2
+      vfile: 6.0.3
+      vfile-message: 4.0.2
+
+  hast-util-from-html@2.0.3:
     dependencies:
       "@types/hast": 3.0.3
       devlop: 1.1.0
       hast-util-from-parse5: 8.0.1
       parse5: 7.1.2
-      vfile: 6.0.1
+      vfile: 6.0.3
       vfile-message: 4.0.2
 
   hast-util-from-parse5@8.0.1:
     dependencies:
-      "@types/hast": 3.0.3
+      "@types/hast": 3.0.4
       "@types/unist": 3.0.2
       devlop: 1.1.0
       hastscript: 8.0.0
       property-information: 6.4.0
-      vfile: 6.0.1
+      vfile: 6.0.3
       vfile-location: 5.0.2
       web-namespaces: 2.0.1
 
   hast-util-has-property@3.0.0:
     dependencies:
-      "@types/hast": 3.0.3
+      "@types/hast": 3.0.4
 
   hast-util-is-body-ok-link@3.0.0:
     dependencies:
-      "@types/hast": 3.0.3
+      "@types/hast": 3.0.4
 
   hast-util-is-element@3.0.0:
     dependencies:
-      "@types/hast": 3.0.3
+      "@types/hast": 3.0.4
 
   hast-util-parse-selector@4.0.0:
     dependencies:
-      "@types/hast": 3.0.3
+      "@types/hast": 3.0.4
 
   hast-util-phrasing@3.0.1:
     dependencies:
-      "@types/hast": 3.0.3
+      "@types/hast": 3.0.4
       hast-util-embedded: 3.0.0
       hast-util-has-property: 3.0.0
       hast-util-is-body-ok-link: 3.0.0
@@ -7482,7 +7154,7 @@ snapshots:
 
   hast-util-raw@9.0.1:
     dependencies:
-      "@types/hast": 3.0.3
+      "@types/hast": 3.0.4
       "@types/unist": 3.0.2
       "@ungap/structured-clone": 1.2.0
       hast-util-from-parse5: 8.0.1
@@ -7492,13 +7164,13 @@ snapshots:
       parse5: 7.1.2
       unist-util-position: 5.0.0
       unist-util-visit: 5.0.0
-      vfile: 6.0.1
+      vfile: 6.0.3
       web-namespaces: 2.0.1
       zwitch: 2.0.4
 
   hast-util-select@6.0.2:
     dependencies:
-      "@types/hast": 3.0.3
+      "@types/hast": 3.0.4
       "@types/unist": 3.0.2
       bcp-47-match: 2.0.3
       comma-separated-tokens: 2.0.3
@@ -7519,7 +7191,7 @@ snapshots:
     dependencies:
       "@types/estree": 1.0.5
       "@types/estree-jsx": 1.0.3
-      "@types/hast": 3.0.3
+      "@types/hast": 3.0.4
       comma-separated-tokens: 2.0.3
       devlop: 1.1.0
       estree-util-attach-comments: 3.0.0
@@ -7536,9 +7208,9 @@ snapshots:
     transitivePeerDependencies:
       - supports-color
 
-  hast-util-to-html@9.0.0:
+  hast-util-to-html@9.0.1:
     dependencies:
-      "@types/hast": 3.0.3
+      "@types/hast": 3.0.4
       "@types/unist": 3.0.2
       ccount: 2.0.1
       comma-separated-tokens: 2.0.3
@@ -7551,13 +7223,12 @@ snapshots:
       stringify-entities: 4.0.3
       zwitch: 2.0.4
 
-  hast-util-to-html@9.0.1:
+  hast-util-to-html@9.0.3:
     dependencies:
-      "@types/hast": 3.0.3
+      "@types/hast": 3.0.4
       "@types/unist": 3.0.2
       ccount: 2.0.1
       comma-separated-tokens: 2.0.3
-      hast-util-raw: 9.0.1
       hast-util-whitespace: 3.0.0
       html-void-elements: 3.0.0
       mdast-util-to-hast: 13.0.2
@@ -7569,7 +7240,7 @@ snapshots:
   hast-util-to-jsx-runtime@2.3.0:
     dependencies:
       "@types/estree": 1.0.5
-      "@types/hast": 3.0.3
+      "@types/hast": 3.0.4
       "@types/unist": 3.0.2
       comma-separated-tokens: 2.0.3
       devlop: 1.1.0
@@ -7588,7 +7259,7 @@ snapshots:
 
   hast-util-to-parse5@8.0.0:
     dependencies:
-      "@types/hast": 3.0.3
+      "@types/hast": 3.0.4
       comma-separated-tokens: 2.0.3
       devlop: 1.1.0
       property-information: 6.4.0
@@ -7598,7 +7269,7 @@ snapshots:
 
   hast-util-to-string@3.0.0:
     dependencies:
-      "@types/hast": 3.0.3
+      "@types/hast": 3.0.4
 
   hast-util-to-text@4.0.2:
     dependencies:
@@ -7609,11 +7280,11 @@ snapshots:
 
   hast-util-whitespace@3.0.0:
     dependencies:
-      "@types/hast": 3.0.3
+      "@types/hast": 3.0.4
 
   hastscript@8.0.0:
     dependencies:
-      "@types/hast": 3.0.3
+      "@types/hast": 3.0.4
       comma-separated-tokens: 2.0.3
       hast-util-parse-selector: 4.0.0
       property-information: 6.4.0
@@ -7621,7 +7292,7 @@ snapshots:
 
   hastscript@9.0.0:
     dependencies:
-      "@types/hast": 3.0.3
+      "@types/hast": 3.0.4
       comma-separated-tokens: 2.0.3
       hast-util-parse-selector: 4.0.0
       property-information: 6.4.0
@@ -7635,9 +7306,11 @@ snapshots:
 
   http-cache-semantics@4.1.1: {}
 
-  human-signals@5.0.0: {}
+  i18next@23.16.4:
+    dependencies:
+      "@babel/runtime": 7.26.0
 
-  import-meta-resolve@4.0.0: {}
+  import-meta-resolve@4.1.0: {}
 
   inflight@1.0.6:
     dependencies:
@@ -7663,8 +7336,6 @@ snapshots:
     dependencies:
       binary-extensions: 2.2.0
 
-  is-buffer@2.0.5: {}
-
   is-core-module@2.13.1:
     dependencies:
       hasown: 2.0.0
@@ -7695,12 +7366,6 @@ snapshots:
 
   is-plain-obj@4.1.0: {}
 
-  is-reference@3.0.2:
-    dependencies:
-      "@types/estree": 1.0.5
-
-  is-stream@3.0.0: {}
-
   is-unicode-supported@1.3.0: {}
 
   is-unicode-supported@2.0.0: {}
@@ -7709,8 +7374,6 @@ snapshots:
     dependencies:
       is-inside-container: 1.0.0
 
-  isexe@2.0.0: {}
-
   jiti@1.21.0: {}
 
   js-tokens@4.0.0: {}
@@ -7724,12 +7387,16 @@ snapshots:
     dependencies:
       argparse: 2.0.1
 
-  jsesc@2.5.2: {}
+  jsesc@3.0.2: {}
+
+  json-schema-traverse@1.0.0: {}
 
   json5@2.2.3: {}
 
   jsonc-parser@2.3.1: {}
 
+  jsonc-parser@3.3.1: {}
+
   kind-of@6.0.3: {}
 
   kleur@3.0.3: {}
@@ -7738,10 +7405,10 @@ snapshots:
 
   lilconfig@2.1.0: {}
 
-  lilconfig@3.0.0: {}
-
   lilconfig@3.1.1: {}
 
+  lilconfig@3.1.2: {}
+
   lines-and-columns@1.2.4: {}
 
   load-yaml-file@0.2.0:
@@ -7755,14 +7422,12 @@ snapshots:
     dependencies:
       p-locate: 4.1.0
 
-  locate-path@6.0.0:
-    dependencies:
-      p-locate: 5.0.0
-
   lodash.memoize@4.1.2: {}
 
   lodash.uniq@4.5.0: {}
 
+  lodash@4.17.21: {}
+
   log-symbols@6.0.0:
     dependencies:
       chalk: 5.3.0
@@ -7774,13 +7439,15 @@ snapshots:
     dependencies:
       yallist: 3.1.1
 
-  lru-cache@6.0.0:
+  magic-string@0.30.12:
     dependencies:
-      yallist: 4.0.0
+      "@jridgewell/sourcemap-codec": 1.5.0
 
-  magic-string@0.30.10:
+  magicast@0.3.5:
     dependencies:
-      "@jridgewell/sourcemap-codec": 1.4.15
+      "@babel/parser": 7.26.2
+      "@babel/types": 7.26.0
+      source-map-js: 1.2.0
 
   markdown-extensions@2.0.0: {}
 
@@ -7794,7 +7461,7 @@ snapshots:
 
   mdast-util-directive@3.0.0:
     dependencies:
-      "@types/mdast": 4.0.3
+      "@types/mdast": 4.0.4
       "@types/unist": 3.0.2
       devlop: 1.1.0
       mdast-util-from-markdown: 2.0.0
@@ -7807,14 +7474,14 @@ snapshots:
 
   mdast-util-find-and-replace@3.0.1:
     dependencies:
-      "@types/mdast": 4.0.3
+      "@types/mdast": 4.0.4
       escape-string-regexp: 5.0.0
       unist-util-is: 6.0.0
       unist-util-visit-parents: 6.0.1
 
   mdast-util-from-markdown@2.0.0:
     dependencies:
-      "@types/mdast": 4.0.3
+      "@types/mdast": 4.0.4
       "@types/unist": 3.0.2
       decode-named-character-reference: 1.0.2
       devlop: 1.1.0
@@ -7831,7 +7498,7 @@ snapshots:
 
   mdast-util-gfm-autolink-literal@2.0.0:
     dependencies:
-      "@types/mdast": 4.0.3
+      "@types/mdast": 4.0.4
       ccount: 2.0.1
       devlop: 1.1.0
       mdast-util-find-and-replace: 3.0.1
@@ -7839,7 +7506,7 @@ snapshots:
 
   mdast-util-gfm-footnote@2.0.0:
     dependencies:
-      "@types/mdast": 4.0.3
+      "@types/mdast": 4.0.4
       devlop: 1.1.0
       mdast-util-from-markdown: 2.0.0
       mdast-util-to-markdown: 2.1.0
@@ -7849,7 +7516,7 @@ snapshots:
 
   mdast-util-gfm-strikethrough@2.0.0:
     dependencies:
-      "@types/mdast": 4.0.3
+      "@types/mdast": 4.0.4
       mdast-util-from-markdown: 2.0.0
       mdast-util-to-markdown: 2.1.0
     transitivePeerDependencies:
@@ -7857,7 +7524,7 @@ snapshots:
 
   mdast-util-gfm-table@2.0.0:
     dependencies:
-      "@types/mdast": 4.0.3
+      "@types/mdast": 4.0.4
       devlop: 1.1.0
       markdown-table: 3.0.3
       mdast-util-from-markdown: 2.0.0
@@ -7867,7 +7534,7 @@ snapshots:
 
   mdast-util-gfm-task-list-item@2.0.0:
     dependencies:
-      "@types/mdast": 4.0.3
+      "@types/mdast": 4.0.4
       devlop: 1.1.0
       mdast-util-from-markdown: 2.0.0
       mdast-util-to-markdown: 2.1.0
@@ -7889,8 +7556,8 @@ snapshots:
   mdast-util-mdx-expression@2.0.0:
     dependencies:
       "@types/estree-jsx": 1.0.3
-      "@types/hast": 3.0.3
-      "@types/mdast": 4.0.3
+      "@types/hast": 3.0.4
+      "@types/mdast": 4.0.4
       devlop: 1.1.0
       mdast-util-from-markdown: 2.0.0
       mdast-util-to-markdown: 2.1.0
@@ -7900,8 +7567,8 @@ snapshots:
   mdast-util-mdx-jsx@3.0.0:
     dependencies:
       "@types/estree-jsx": 1.0.3
-      "@types/hast": 3.0.3
-      "@types/mdast": 4.0.3
+      "@types/hast": 3.0.4
+      "@types/mdast": 4.0.4
       "@types/unist": 3.0.2
       ccount: 2.0.1
       devlop: 1.1.0
@@ -7928,8 +7595,8 @@ snapshots:
   mdast-util-mdxjs-esm@2.0.1:
     dependencies:
       "@types/estree-jsx": 1.0.3
-      "@types/hast": 3.0.3
-      "@types/mdast": 4.0.3
+      "@types/hast": 3.0.4
+      "@types/mdast": 4.0.4
       devlop: 1.1.0
       mdast-util-from-markdown: 2.0.0
       mdast-util-to-markdown: 2.1.0
@@ -7938,13 +7605,13 @@ snapshots:
 
   mdast-util-phrasing@4.0.0:
     dependencies:
-      "@types/mdast": 4.0.3
+      "@types/mdast": 4.0.4
       unist-util-is: 6.0.0
 
   mdast-util-to-hast@13.0.2:
     dependencies:
-      "@types/hast": 3.0.3
-      "@types/mdast": 4.0.3
+      "@types/hast": 3.0.4
+      "@types/mdast": 4.0.4
       "@ungap/structured-clone": 1.2.0
       devlop: 1.1.0
       micromark-util-sanitize-uri: 2.0.0
@@ -7954,7 +7621,7 @@ snapshots:
 
   mdast-util-to-markdown@2.1.0:
     dependencies:
-      "@types/mdast": 4.0.3
+      "@types/mdast": 4.0.4
       "@types/unist": 3.0.2
       longest-streak: 3.1.0
       mdast-util-phrasing: 4.0.0
@@ -7965,14 +7632,12 @@ snapshots:
 
   mdast-util-to-string@4.0.0:
     dependencies:
-      "@types/mdast": 4.0.3
+      "@types/mdast": 4.0.4
 
   mdn-data@2.0.28: {}
 
   mdn-data@2.0.30: {}
 
-  merge-stream@2.0.0: {}
-
   merge2@1.4.1: {}
 
   micromark-core-commonmark@2.0.0:
@@ -8104,8 +7769,8 @@ snapshots:
 
   micromark-extension-mdxjs@3.0.0:
     dependencies:
-      acorn: 8.11.2
-      acorn-jsx: 5.3.2(acorn@8.11.2)
+      acorn: 8.14.0
+      acorn-jsx: 5.3.2(acorn@8.14.0)
       micromark-extension-mdx-expression: 3.0.0
       micromark-extension-mdx-jsx: 3.0.0
       micromark-extension-mdx-md: 2.0.0
@@ -8254,9 +7919,12 @@ snapshots:
       braces: 3.0.2
       picomatch: 2.3.1
 
-  mimic-fn@2.1.0: {}
+  micromatch@4.0.8:
+    dependencies:
+      braces: 3.0.3
+      picomatch: 2.3.1
 
-  mimic-fn@4.0.0: {}
+  mimic-function@5.0.1: {}
 
   minimatch@3.1.2:
     dependencies:
@@ -8266,6 +7934,8 @@ snapshots:
 
   ms@2.1.2: {}
 
+  ms@2.1.3: {}
+
   muggle-string@0.4.1: {}
 
   mz@2.7.0:
@@ -8276,11 +7946,13 @@ snapshots:
 
   nanoid@3.3.7: {}
 
-  nlcst-to-string@3.1.1:
+  neotraverse@0.6.18: {}
+
+  nlcst-to-string@4.0.0:
     dependencies:
-      "@types/nlcst": 1.0.4
+      "@types/nlcst": 2.0.3
 
-  node-releases@2.0.14: {}
+  node-releases@2.0.18: {}
 
   normalize-path@3.0.0: {}
 
@@ -8288,10 +7960,6 @@ snapshots:
 
   not@0.1.0: {}
 
-  npm-run-path@5.1.0:
-    dependencies:
-      path-key: 4.0.0
-
   nth-check@2.1.1:
     dependencies:
       boolbase: 1.0.0
@@ -8304,46 +7972,38 @@ snapshots:
     dependencies:
       wrappy: 1.0.2
 
-  onetime@5.1.2:
+  onetime@7.0.0:
     dependencies:
-      mimic-fn: 2.1.0
+      mimic-function: 5.0.1
 
-  onetime@6.0.0:
+  oniguruma-to-js@0.4.3:
     dependencies:
-      mimic-fn: 4.0.0
+      regex: 4.4.0
 
-  ora@8.0.1:
+  ora@8.1.1:
     dependencies:
       chalk: 5.3.0
-      cli-cursor: 4.0.0
+      cli-cursor: 5.0.0
       cli-spinners: 2.9.2
       is-interactive: 2.0.0
       is-unicode-supported: 2.0.0
       log-symbols: 6.0.0
       stdin-discarder: 0.2.2
-      string-width: 7.1.0
+      string-width: 7.2.0
       strip-ansi: 7.1.0
 
   p-limit@2.3.0:
     dependencies:
       p-try: 2.2.0
 
-  p-limit@3.1.0:
-    dependencies:
-      yocto-queue: 0.1.0
-
-  p-limit@5.0.0:
+  p-limit@6.1.0:
     dependencies:
-      yocto-queue: 1.0.0
+      yocto-queue: 1.1.1
 
   p-locate@4.1.0:
     dependencies:
       p-limit: 2.3.0
 
-  p-locate@5.0.0:
-    dependencies:
-      p-limit: 3.1.0
-
   p-queue@8.0.1:
     dependencies:
       eventemitter3: 5.0.1
@@ -8372,11 +8032,14 @@ snapshots:
       is-decimal: 2.0.1
       is-hexadecimal: 2.0.1
 
-  parse-latin@5.0.1:
+  parse-latin@7.0.0:
     dependencies:
-      nlcst-to-string: 3.1.1
-      unist-util-modify-children: 3.1.1
-      unist-util-visit-children: 2.0.2
+      "@types/nlcst": 2.0.3
+      "@types/unist": 3.0.2
+      nlcst-to-string: 4.0.0
+      unist-util-modify-children: 4.0.0
+      unist-util-visit-children: 3.0.0
+      vfile: 6.0.3
 
   parse5@7.1.2:
     dependencies:
@@ -8388,24 +8051,16 @@ snapshots:
 
   path-is-absolute@1.0.1: {}
 
-  path-key@3.1.1: {}
-
-  path-key@4.0.0: {}
-
   path-parse@1.0.7: {}
 
-  path-to-regexp@6.2.2: {}
-
-  periscopic@3.1.0:
-    dependencies:
-      "@types/estree": 1.0.5
-      estree-walker: 3.0.3
-      is-reference: 3.0.2
-
   picocolors@1.0.0: {}
 
+  picocolors@1.1.1: {}
+
   picomatch@2.3.1: {}
 
+  picomatch@4.0.2: {}
+
   pify@2.3.0: {}
 
   pify@4.0.1: {}
@@ -8416,434 +8071,433 @@ snapshots:
     dependencies:
       find-up: 4.1.0
 
-  postcss-attribute-case-insensitive@6.0.3(postcss@8.4.33):
+  postcss-attribute-case-insensitive@7.0.1(postcss@8.4.38):
     dependencies:
-      postcss: 8.4.33
-      postcss-selector-parser: 6.0.16
+      postcss: 8.4.38
+      postcss-selector-parser: 7.0.0
 
-  postcss-calc@10.0.0(postcss@8.4.33):
+  postcss-calc@10.0.2(postcss@8.4.38):
     dependencies:
-      postcss: 8.4.33
-      postcss-selector-parser: 6.0.16
+      postcss: 8.4.38
+      postcss-selector-parser: 6.1.2
       postcss-value-parser: 4.2.0
 
-  postcss-clamp@4.1.0(postcss@8.4.33):
+  postcss-clamp@4.1.0(postcss@8.4.38):
     dependencies:
-      postcss: 8.4.33
+      postcss: 8.4.38
       postcss-value-parser: 4.2.0
 
-  postcss-color-functional-notation@6.0.11(postcss@8.4.33):
+  postcss-color-functional-notation@7.0.5(postcss@8.4.38):
     dependencies:
-      "@csstools/css-color-parser": 2.0.2(@csstools/css-parser-algorithms@2.6.3(@csstools/css-tokenizer@2.3.1))(@csstools/css-tokenizer@2.3.1)
-      "@csstools/css-parser-algorithms": 2.6.3(@csstools/css-tokenizer@2.3.1)
-      "@csstools/css-tokenizer": 2.3.1
-      "@csstools/postcss-progressive-custom-properties": 3.2.0(postcss@8.4.33)
-      "@csstools/utilities": 1.0.0(postcss@8.4.33)
-      postcss: 8.4.33
+      "@csstools/css-color-parser": 3.0.5(@csstools/css-parser-algorithms@3.0.4(@csstools/css-tokenizer@3.0.3))(@csstools/css-tokenizer@3.0.3)
+      "@csstools/css-parser-algorithms": 3.0.4(@csstools/css-tokenizer@3.0.3)
+      "@csstools/css-tokenizer": 3.0.3
+      "@csstools/postcss-progressive-custom-properties": 4.0.0(postcss@8.4.38)
+      "@csstools/utilities": 2.0.0(postcss@8.4.38)
+      postcss: 8.4.38
 
-  postcss-color-hex-alpha@9.0.4(postcss@8.4.33):
+  postcss-color-hex-alpha@10.0.0(postcss@8.4.38):
     dependencies:
-      "@csstools/utilities": 1.0.0(postcss@8.4.33)
-      postcss: 8.4.33
+      "@csstools/utilities": 2.0.0(postcss@8.4.38)
+      postcss: 8.4.38
       postcss-value-parser: 4.2.0
 
-  postcss-color-rebeccapurple@9.0.3(postcss@8.4.33):
+  postcss-color-rebeccapurple@10.0.0(postcss@8.4.38):
     dependencies:
-      "@csstools/utilities": 1.0.0(postcss@8.4.33)
-      postcss: 8.4.33
+      "@csstools/utilities": 2.0.0(postcss@8.4.38)
+      postcss: 8.4.38
       postcss-value-parser: 4.2.0
 
-  postcss-colormin@7.0.0(postcss@8.4.33):
+  postcss-colormin@7.0.2(postcss@8.4.38):
     dependencies:
-      browserslist: 4.23.0
+      browserslist: 4.24.2
       caniuse-api: 3.0.0
       colord: 2.9.3
-      postcss: 8.4.33
+      postcss: 8.4.38
       postcss-value-parser: 4.2.0
 
-  postcss-convert-values@7.0.0(postcss@8.4.33):
+  postcss-convert-values@7.0.4(postcss@8.4.38):
     dependencies:
-      browserslist: 4.23.0
-      postcss: 8.4.33
+      browserslist: 4.24.2
+      postcss: 8.4.38
       postcss-value-parser: 4.2.0
 
-  postcss-custom-media@10.0.6(postcss@8.4.33):
+  postcss-custom-media@11.0.5(postcss@8.4.38):
     dependencies:
-      "@csstools/cascade-layer-name-parser": 1.0.11(@csstools/css-parser-algorithms@2.6.3(@csstools/css-tokenizer@2.3.1))(@csstools/css-tokenizer@2.3.1)
-      "@csstools/css-parser-algorithms": 2.6.3(@csstools/css-tokenizer@2.3.1)
-      "@csstools/css-tokenizer": 2.3.1
-      "@csstools/media-query-list-parser": 2.1.11(@csstools/css-parser-algorithms@2.6.3(@csstools/css-tokenizer@2.3.1))(@csstools/css-tokenizer@2.3.1)
-      postcss: 8.4.33
+      "@csstools/cascade-layer-name-parser": 2.0.4(@csstools/css-parser-algorithms@3.0.4(@csstools/css-tokenizer@3.0.3))(@csstools/css-tokenizer@3.0.3)
+      "@csstools/css-parser-algorithms": 3.0.4(@csstools/css-tokenizer@3.0.3)
+      "@csstools/css-tokenizer": 3.0.3
+      "@csstools/media-query-list-parser": 4.0.2(@csstools/css-parser-algorithms@3.0.4(@csstools/css-tokenizer@3.0.3))(@csstools/css-tokenizer@3.0.3)
+      postcss: 8.4.38
 
-  postcss-custom-properties@13.3.10(postcss@8.4.33):
+  postcss-custom-properties@14.0.4(postcss@8.4.38):
     dependencies:
-      "@csstools/cascade-layer-name-parser": 1.0.11(@csstools/css-parser-algorithms@2.6.3(@csstools/css-tokenizer@2.3.1))(@csstools/css-tokenizer@2.3.1)
-      "@csstools/css-parser-algorithms": 2.6.3(@csstools/css-tokenizer@2.3.1)
-      "@csstools/css-tokenizer": 2.3.1
-      "@csstools/utilities": 1.0.0(postcss@8.4.33)
-      postcss: 8.4.33
+      "@csstools/cascade-layer-name-parser": 2.0.4(@csstools/css-parser-algorithms@3.0.4(@csstools/css-tokenizer@3.0.3))(@csstools/css-tokenizer@3.0.3)
+      "@csstools/css-parser-algorithms": 3.0.4(@csstools/css-tokenizer@3.0.3)
+      "@csstools/css-tokenizer": 3.0.3
+      "@csstools/utilities": 2.0.0(postcss@8.4.38)
+      postcss: 8.4.38
       postcss-value-parser: 4.2.0
 
-  postcss-custom-selectors@7.1.10(postcss@8.4.33):
+  postcss-custom-selectors@8.0.4(postcss@8.4.38):
     dependencies:
-      "@csstools/cascade-layer-name-parser": 1.0.11(@csstools/css-parser-algorithms@2.6.3(@csstools/css-tokenizer@2.3.1))(@csstools/css-tokenizer@2.3.1)
-      "@csstools/css-parser-algorithms": 2.6.3(@csstools/css-tokenizer@2.3.1)
-      "@csstools/css-tokenizer": 2.3.1
-      postcss: 8.4.33
-      postcss-selector-parser: 6.0.16
+      "@csstools/cascade-layer-name-parser": 2.0.4(@csstools/css-parser-algorithms@3.0.4(@csstools/css-tokenizer@3.0.3))(@csstools/css-tokenizer@3.0.3)
+      "@csstools/css-parser-algorithms": 3.0.4(@csstools/css-tokenizer@3.0.3)
+      "@csstools/css-tokenizer": 3.0.3
+      postcss: 8.4.38
+      postcss-selector-parser: 7.0.0
 
-  postcss-dir-pseudo-class@8.0.1(postcss@8.4.33):
+  postcss-dir-pseudo-class@9.0.1(postcss@8.4.38):
     dependencies:
-      postcss: 8.4.33
-      postcss-selector-parser: 6.0.16
+      postcss: 8.4.38
+      postcss-selector-parser: 7.0.0
 
-  postcss-discard-comments@7.0.0(postcss@8.4.33):
+  postcss-discard-comments@7.0.3(postcss@8.4.38):
     dependencies:
-      postcss: 8.4.33
+      postcss: 8.4.38
+      postcss-selector-parser: 6.1.2
 
-  postcss-discard-duplicates@7.0.0(postcss@8.4.33):
+  postcss-discard-duplicates@7.0.1(postcss@8.4.38):
     dependencies:
-      postcss: 8.4.33
+      postcss: 8.4.38
 
-  postcss-discard-empty@7.0.0(postcss@8.4.33):
+  postcss-discard-empty@7.0.0(postcss@8.4.38):
     dependencies:
-      postcss: 8.4.33
+      postcss: 8.4.38
 
-  postcss-discard-overridden@7.0.0(postcss@8.4.33):
+  postcss-discard-overridden@7.0.0(postcss@8.4.38):
     dependencies:
-      postcss: 8.4.33
+      postcss: 8.4.38
 
-  postcss-double-position-gradients@5.0.6(postcss@8.4.33):
+  postcss-double-position-gradients@6.0.0(postcss@8.4.38):
     dependencies:
-      "@csstools/postcss-progressive-custom-properties": 3.2.0(postcss@8.4.33)
-      "@csstools/utilities": 1.0.0(postcss@8.4.33)
-      postcss: 8.4.33
+      "@csstools/postcss-progressive-custom-properties": 4.0.0(postcss@8.4.38)
+      "@csstools/utilities": 2.0.0(postcss@8.4.38)
+      postcss: 8.4.38
       postcss-value-parser: 4.2.0
 
-  postcss-focus-visible@9.0.1(postcss@8.4.33):
+  postcss-focus-visible@10.0.1(postcss@8.4.38):
     dependencies:
-      postcss: 8.4.33
-      postcss-selector-parser: 6.0.16
+      postcss: 8.4.38
+      postcss-selector-parser: 7.0.0
 
-  postcss-focus-within@8.0.1(postcss@8.4.33):
+  postcss-focus-within@9.0.1(postcss@8.4.38):
     dependencies:
-      postcss: 8.4.33
-      postcss-selector-parser: 6.0.16
+      postcss: 8.4.38
+      postcss-selector-parser: 7.0.0
 
-  postcss-font-variant@5.0.0(postcss@8.4.33):
+  postcss-font-variant@5.0.0(postcss@8.4.38):
     dependencies:
-      postcss: 8.4.33
+      postcss: 8.4.38
 
-  postcss-gap-properties@5.0.1(postcss@8.4.33):
+  postcss-gap-properties@6.0.0(postcss@8.4.38):
     dependencies:
-      postcss: 8.4.33
+      postcss: 8.4.38
 
-  postcss-image-set-function@6.0.3(postcss@8.4.33):
+  postcss-image-set-function@7.0.0(postcss@8.4.38):
     dependencies:
-      "@csstools/utilities": 1.0.0(postcss@8.4.33)
-      postcss: 8.4.33
+      "@csstools/utilities": 2.0.0(postcss@8.4.38)
+      postcss: 8.4.38
       postcss-value-parser: 4.2.0
 
-  postcss-import@15.1.0(postcss@8.4.33):
+  postcss-import@15.1.0(postcss@8.4.38):
     dependencies:
-      postcss: 8.4.33
+      postcss: 8.4.38
       postcss-value-parser: 4.2.0
       read-cache: 1.0.0
       resolve: 1.22.8
 
-  postcss-js@4.0.1(postcss@8.4.33):
+  postcss-js@4.0.1(postcss@8.4.38):
     dependencies:
       camelcase-css: 2.0.1
-      postcss: 8.4.33
+      postcss: 8.4.38
 
-  postcss-lab-function@6.0.16(postcss@8.4.33):
+  postcss-lab-function@7.0.5(postcss@8.4.38):
     dependencies:
-      "@csstools/css-color-parser": 2.0.2(@csstools/css-parser-algorithms@2.6.3(@csstools/css-tokenizer@2.3.1))(@csstools/css-tokenizer@2.3.1)
-      "@csstools/css-parser-algorithms": 2.6.3(@csstools/css-tokenizer@2.3.1)
-      "@csstools/css-tokenizer": 2.3.1
-      "@csstools/postcss-progressive-custom-properties": 3.2.0(postcss@8.4.33)
-      "@csstools/utilities": 1.0.0(postcss@8.4.33)
-      postcss: 8.4.33
+      "@csstools/css-color-parser": 3.0.5(@csstools/css-parser-algorithms@3.0.4(@csstools/css-tokenizer@3.0.3))(@csstools/css-tokenizer@3.0.3)
+      "@csstools/css-parser-algorithms": 3.0.4(@csstools/css-tokenizer@3.0.3)
+      "@csstools/css-tokenizer": 3.0.3
+      "@csstools/postcss-progressive-custom-properties": 4.0.0(postcss@8.4.38)
+      "@csstools/utilities": 2.0.0(postcss@8.4.38)
+      postcss: 8.4.38
 
-  postcss-load-config@4.0.2(postcss@8.4.31):
+  postcss-load-config@4.0.2(postcss@8.4.38):
     dependencies:
-      lilconfig: 3.0.0
+      lilconfig: 3.1.1
       yaml: 2.3.4
     optionalDependencies:
-      postcss: 8.4.31
+      postcss: 8.4.38
 
-  postcss-load-config@4.0.2(postcss@8.4.33):
+  postcss-load-config@4.0.2(postcss@8.4.47):
     dependencies:
-      lilconfig: 3.0.0
+      lilconfig: 3.1.1
       yaml: 2.3.4
     optionalDependencies:
-      postcss: 8.4.33
+      postcss: 8.4.47
 
-  postcss-logical@7.0.1(postcss@8.4.33):
+  postcss-logical@8.0.0(postcss@8.4.38):
     dependencies:
-      postcss: 8.4.33
+      postcss: 8.4.38
       postcss-value-parser: 4.2.0
 
-  postcss-merge-longhand@7.0.0(postcss@8.4.33):
+  postcss-merge-longhand@7.0.4(postcss@8.4.38):
     dependencies:
-      postcss: 8.4.33
+      postcss: 8.4.38
       postcss-value-parser: 4.2.0
-      stylehacks: 7.0.0(postcss@8.4.33)
+      stylehacks: 7.0.4(postcss@8.4.38)
 
-  postcss-merge-rules@7.0.0(postcss@8.4.33):
+  postcss-merge-rules@7.0.4(postcss@8.4.38):
     dependencies:
-      browserslist: 4.23.0
+      browserslist: 4.24.2
       caniuse-api: 3.0.0
-      cssnano-utils: 5.0.0(postcss@8.4.33)
-      postcss: 8.4.33
-      postcss-selector-parser: 6.0.16
+      cssnano-utils: 5.0.0(postcss@8.4.38)
+      postcss: 8.4.38
+      postcss-selector-parser: 6.1.2
 
-  postcss-minify-font-values@7.0.0(postcss@8.4.33):
+  postcss-minify-font-values@7.0.0(postcss@8.4.38):
     dependencies:
-      postcss: 8.4.33
+      postcss: 8.4.38
       postcss-value-parser: 4.2.0
 
-  postcss-minify-gradients@7.0.0(postcss@8.4.33):
+  postcss-minify-gradients@7.0.0(postcss@8.4.38):
     dependencies:
       colord: 2.9.3
-      cssnano-utils: 5.0.0(postcss@8.4.33)
-      postcss: 8.4.33
+      cssnano-utils: 5.0.0(postcss@8.4.38)
+      postcss: 8.4.38
       postcss-value-parser: 4.2.0
 
-  postcss-minify-params@7.0.0(postcss@8.4.33):
+  postcss-minify-params@7.0.2(postcss@8.4.38):
     dependencies:
-      browserslist: 4.23.0
-      cssnano-utils: 5.0.0(postcss@8.4.33)
-      postcss: 8.4.33
+      browserslist: 4.24.2
+      cssnano-utils: 5.0.0(postcss@8.4.38)
+      postcss: 8.4.38
       postcss-value-parser: 4.2.0
 
-  postcss-minify-selectors@7.0.0(postcss@8.4.33):
-    dependencies:
-      postcss: 8.4.33
-      postcss-selector-parser: 6.0.16
-
-  postcss-nested@6.0.1(postcss@8.4.33):
+  postcss-minify-selectors@7.0.4(postcss@8.4.38):
     dependencies:
-      postcss: 8.4.33
-      postcss-selector-parser: 6.0.13
+      cssesc: 3.0.0
+      postcss: 8.4.38
+      postcss-selector-parser: 6.1.2
 
   postcss-nested@6.0.1(postcss@8.4.38):
     dependencies:
       postcss: 8.4.38
-      postcss-selector-parser: 6.0.13
+      postcss-selector-parser: 6.0.16
 
-  postcss-nesting@12.1.4(postcss@8.4.33):
+  postcss-nesting@13.0.1(postcss@8.4.38):
     dependencies:
-      "@csstools/selector-resolve-nested": 1.1.0(postcss-selector-parser@6.0.16)
-      "@csstools/selector-specificity": 3.1.1(postcss-selector-parser@6.0.16)
-      postcss: 8.4.33
-      postcss-selector-parser: 6.0.16
+      "@csstools/selector-resolve-nested": 3.0.0(postcss-selector-parser@7.0.0)
+      "@csstools/selector-specificity": 5.0.0(postcss-selector-parser@7.0.0)
+      postcss: 8.4.38
+      postcss-selector-parser: 7.0.0
 
-  postcss-normalize-charset@7.0.0(postcss@8.4.33):
+  postcss-normalize-charset@7.0.0(postcss@8.4.38):
     dependencies:
-      postcss: 8.4.33
+      postcss: 8.4.38
 
-  postcss-normalize-display-values@7.0.0(postcss@8.4.33):
+  postcss-normalize-display-values@7.0.0(postcss@8.4.38):
     dependencies:
-      postcss: 8.4.33
+      postcss: 8.4.38
       postcss-value-parser: 4.2.0
 
-  postcss-normalize-positions@7.0.0(postcss@8.4.33):
+  postcss-normalize-positions@7.0.0(postcss@8.4.38):
     dependencies:
-      postcss: 8.4.33
+      postcss: 8.4.38
       postcss-value-parser: 4.2.0
 
-  postcss-normalize-repeat-style@7.0.0(postcss@8.4.33):
+  postcss-normalize-repeat-style@7.0.0(postcss@8.4.38):
     dependencies:
-      postcss: 8.4.33
+      postcss: 8.4.38
       postcss-value-parser: 4.2.0
 
-  postcss-normalize-string@7.0.0(postcss@8.4.33):
+  postcss-normalize-string@7.0.0(postcss@8.4.38):
     dependencies:
-      postcss: 8.4.33
+      postcss: 8.4.38
       postcss-value-parser: 4.2.0
 
-  postcss-normalize-timing-functions@7.0.0(postcss@8.4.33):
+  postcss-normalize-timing-functions@7.0.0(postcss@8.4.38):
     dependencies:
-      postcss: 8.4.33
+      postcss: 8.4.38
       postcss-value-parser: 4.2.0
 
-  postcss-normalize-unicode@7.0.0(postcss@8.4.33):
+  postcss-normalize-unicode@7.0.2(postcss@8.4.38):
     dependencies:
-      browserslist: 4.23.0
-      postcss: 8.4.33
+      browserslist: 4.24.2
+      postcss: 8.4.38
       postcss-value-parser: 4.2.0
 
-  postcss-normalize-url@7.0.0(postcss@8.4.33):
+  postcss-normalize-url@7.0.0(postcss@8.4.38):
     dependencies:
-      postcss: 8.4.33
+      postcss: 8.4.38
       postcss-value-parser: 4.2.0
 
-  postcss-normalize-whitespace@7.0.0(postcss@8.4.33):
+  postcss-normalize-whitespace@7.0.0(postcss@8.4.38):
     dependencies:
-      postcss: 8.4.33
+      postcss: 8.4.38
       postcss-value-parser: 4.2.0
 
-  postcss-opacity-percentage@2.0.0(postcss@8.4.33):
+  postcss-opacity-percentage@3.0.0(postcss@8.4.38):
     dependencies:
-      postcss: 8.4.33
+      postcss: 8.4.38
 
-  postcss-ordered-values@7.0.0(postcss@8.4.33):
+  postcss-ordered-values@7.0.1(postcss@8.4.38):
     dependencies:
-      cssnano-utils: 5.0.0(postcss@8.4.33)
-      postcss: 8.4.33
+      cssnano-utils: 5.0.0(postcss@8.4.38)
+      postcss: 8.4.38
       postcss-value-parser: 4.2.0
 
-  postcss-overflow-shorthand@5.0.1(postcss@8.4.33):
+  postcss-overflow-shorthand@6.0.0(postcss@8.4.38):
     dependencies:
-      postcss: 8.4.33
+      postcss: 8.4.38
       postcss-value-parser: 4.2.0
 
-  postcss-page-break@3.0.4(postcss@8.4.33):
+  postcss-page-break@3.0.4(postcss@8.4.38):
     dependencies:
-      postcss: 8.4.33
+      postcss: 8.4.38
 
-  postcss-place@9.0.1(postcss@8.4.33):
+  postcss-place@10.0.0(postcss@8.4.38):
     dependencies:
-      postcss: 8.4.33
+      postcss: 8.4.38
       postcss-value-parser: 4.2.0
 
-  postcss-preset-env@9.5.13(postcss@8.4.33):
-    dependencies:
-      "@csstools/postcss-cascade-layers": 4.0.6(postcss@8.4.33)
-      "@csstools/postcss-color-function": 3.0.16(postcss@8.4.33)
-      "@csstools/postcss-color-mix-function": 2.0.16(postcss@8.4.33)
-      "@csstools/postcss-exponential-functions": 1.0.7(postcss@8.4.33)
-      "@csstools/postcss-font-format-keywords": 3.0.2(postcss@8.4.33)
-      "@csstools/postcss-gamut-mapping": 1.0.9(postcss@8.4.33)
-      "@csstools/postcss-gradients-interpolation-method": 4.0.17(postcss@8.4.33)
-      "@csstools/postcss-hwb-function": 3.0.15(postcss@8.4.33)
-      "@csstools/postcss-ic-unit": 3.0.6(postcss@8.4.33)
-      "@csstools/postcss-initial": 1.0.1(postcss@8.4.33)
-      "@csstools/postcss-is-pseudo-class": 4.0.8(postcss@8.4.33)
-      "@csstools/postcss-light-dark-function": 1.0.5(postcss@8.4.33)
-      "@csstools/postcss-logical-float-and-clear": 2.0.1(postcss@8.4.33)
-      "@csstools/postcss-logical-overflow": 1.0.1(postcss@8.4.33)
-      "@csstools/postcss-logical-overscroll-behavior": 1.0.1(postcss@8.4.33)
-      "@csstools/postcss-logical-resize": 2.0.1(postcss@8.4.33)
-      "@csstools/postcss-logical-viewport-units": 2.0.9(postcss@8.4.33)
-      "@csstools/postcss-media-minmax": 1.1.6(postcss@8.4.33)
-      "@csstools/postcss-media-queries-aspect-ratio-number-values": 2.0.9(postcss@8.4.33)
-      "@csstools/postcss-nested-calc": 3.0.2(postcss@8.4.33)
-      "@csstools/postcss-normalize-display-values": 3.0.2(postcss@8.4.33)
-      "@csstools/postcss-oklab-function": 3.0.16(postcss@8.4.33)
-      "@csstools/postcss-progressive-custom-properties": 3.2.0(postcss@8.4.33)
-      "@csstools/postcss-relative-color-syntax": 2.0.16(postcss@8.4.33)
-      "@csstools/postcss-scope-pseudo-class": 3.0.1(postcss@8.4.33)
-      "@csstools/postcss-stepped-value-functions": 3.0.8(postcss@8.4.33)
-      "@csstools/postcss-text-decoration-shorthand": 3.0.6(postcss@8.4.33)
-      "@csstools/postcss-trigonometric-functions": 3.0.8(postcss@8.4.33)
-      "@csstools/postcss-unset-value": 3.0.1(postcss@8.4.33)
-      autoprefixer: 10.4.19(postcss@8.4.33)
-      browserslist: 4.23.0
-      css-blank-pseudo: 6.0.2(postcss@8.4.33)
-      css-has-pseudo: 6.0.5(postcss@8.4.33)
-      css-prefers-color-scheme: 9.0.1(postcss@8.4.33)
-      cssdb: 8.0.1
-      postcss: 8.4.33
-      postcss-attribute-case-insensitive: 6.0.3(postcss@8.4.33)
-      postcss-clamp: 4.1.0(postcss@8.4.33)
-      postcss-color-functional-notation: 6.0.11(postcss@8.4.33)
-      postcss-color-hex-alpha: 9.0.4(postcss@8.4.33)
-      postcss-color-rebeccapurple: 9.0.3(postcss@8.4.33)
-      postcss-custom-media: 10.0.6(postcss@8.4.33)
-      postcss-custom-properties: 13.3.10(postcss@8.4.33)
-      postcss-custom-selectors: 7.1.10(postcss@8.4.33)
-      postcss-dir-pseudo-class: 8.0.1(postcss@8.4.33)
-      postcss-double-position-gradients: 5.0.6(postcss@8.4.33)
-      postcss-focus-visible: 9.0.1(postcss@8.4.33)
-      postcss-focus-within: 8.0.1(postcss@8.4.33)
-      postcss-font-variant: 5.0.0(postcss@8.4.33)
-      postcss-gap-properties: 5.0.1(postcss@8.4.33)
-      postcss-image-set-function: 6.0.3(postcss@8.4.33)
-      postcss-lab-function: 6.0.16(postcss@8.4.33)
-      postcss-logical: 7.0.1(postcss@8.4.33)
-      postcss-nesting: 12.1.4(postcss@8.4.33)
-      postcss-opacity-percentage: 2.0.0(postcss@8.4.33)
-      postcss-overflow-shorthand: 5.0.1(postcss@8.4.33)
-      postcss-page-break: 3.0.4(postcss@8.4.33)
-      postcss-place: 9.0.1(postcss@8.4.33)
-      postcss-pseudo-class-any-link: 9.0.2(postcss@8.4.33)
-      postcss-replace-overflow-wrap: 4.0.0(postcss@8.4.33)
-      postcss-selector-not: 7.0.2(postcss@8.4.33)
-
-  postcss-pseudo-class-any-link@9.0.2(postcss@8.4.33):
-    dependencies:
-      postcss: 8.4.33
-      postcss-selector-parser: 6.0.16
+  postcss-preset-env@10.0.9(postcss@8.4.38):
+    dependencies:
+      "@csstools/postcss-cascade-layers": 5.0.1(postcss@8.4.38)
+      "@csstools/postcss-color-function": 4.0.5(postcss@8.4.38)
+      "@csstools/postcss-color-mix-function": 3.0.5(postcss@8.4.38)
+      "@csstools/postcss-content-alt-text": 2.0.4(postcss@8.4.38)
+      "@csstools/postcss-exponential-functions": 2.0.4(postcss@8.4.38)
+      "@csstools/postcss-font-format-keywords": 4.0.0(postcss@8.4.38)
+      "@csstools/postcss-gamut-mapping": 2.0.5(postcss@8.4.38)
+      "@csstools/postcss-gradients-interpolation-method": 5.0.5(postcss@8.4.38)
+      "@csstools/postcss-hwb-function": 4.0.5(postcss@8.4.38)
+      "@csstools/postcss-ic-unit": 4.0.0(postcss@8.4.38)
+      "@csstools/postcss-initial": 2.0.0(postcss@8.4.38)
+      "@csstools/postcss-is-pseudo-class": 5.0.1(postcss@8.4.38)
+      "@csstools/postcss-light-dark-function": 2.0.7(postcss@8.4.38)
+      "@csstools/postcss-logical-float-and-clear": 3.0.0(postcss@8.4.38)
+      "@csstools/postcss-logical-overflow": 2.0.0(postcss@8.4.38)
+      "@csstools/postcss-logical-overscroll-behavior": 2.0.0(postcss@8.4.38)
+      "@csstools/postcss-logical-resize": 3.0.0(postcss@8.4.38)
+      "@csstools/postcss-logical-viewport-units": 3.0.3(postcss@8.4.38)
+      "@csstools/postcss-media-minmax": 2.0.4(postcss@8.4.38)
+      "@csstools/postcss-media-queries-aspect-ratio-number-values": 3.0.4(postcss@8.4.38)
+      "@csstools/postcss-nested-calc": 4.0.0(postcss@8.4.38)
+      "@csstools/postcss-normalize-display-values": 4.0.0(postcss@8.4.38)
+      "@csstools/postcss-oklab-function": 4.0.5(postcss@8.4.38)
+      "@csstools/postcss-progressive-custom-properties": 4.0.0(postcss@8.4.38)
+      "@csstools/postcss-relative-color-syntax": 3.0.5(postcss@8.4.38)
+      "@csstools/postcss-scope-pseudo-class": 4.0.1(postcss@8.4.38)
+      "@csstools/postcss-stepped-value-functions": 4.0.4(postcss@8.4.38)
+      "@csstools/postcss-text-decoration-shorthand": 4.0.1(postcss@8.4.38)
+      "@csstools/postcss-trigonometric-functions": 4.0.4(postcss@8.4.38)
+      "@csstools/postcss-unset-value": 4.0.0(postcss@8.4.38)
+      autoprefixer: 10.4.20(postcss@8.4.38)
+      browserslist: 4.24.2
+      css-blank-pseudo: 7.0.1(postcss@8.4.38)
+      css-has-pseudo: 7.0.1(postcss@8.4.38)
+      css-prefers-color-scheme: 10.0.0(postcss@8.4.38)
+      cssdb: 8.1.2
+      postcss: 8.4.38
+      postcss-attribute-case-insensitive: 7.0.1(postcss@8.4.38)
+      postcss-clamp: 4.1.0(postcss@8.4.38)
+      postcss-color-functional-notation: 7.0.5(postcss@8.4.38)
+      postcss-color-hex-alpha: 10.0.0(postcss@8.4.38)
+      postcss-color-rebeccapurple: 10.0.0(postcss@8.4.38)
+      postcss-custom-media: 11.0.5(postcss@8.4.38)
+      postcss-custom-properties: 14.0.4(postcss@8.4.38)
+      postcss-custom-selectors: 8.0.4(postcss@8.4.38)
+      postcss-dir-pseudo-class: 9.0.1(postcss@8.4.38)
+      postcss-double-position-gradients: 6.0.0(postcss@8.4.38)
+      postcss-focus-visible: 10.0.1(postcss@8.4.38)
+      postcss-focus-within: 9.0.1(postcss@8.4.38)
+      postcss-font-variant: 5.0.0(postcss@8.4.38)
+      postcss-gap-properties: 6.0.0(postcss@8.4.38)
+      postcss-image-set-function: 7.0.0(postcss@8.4.38)
+      postcss-lab-function: 7.0.5(postcss@8.4.38)
+      postcss-logical: 8.0.0(postcss@8.4.38)
+      postcss-nesting: 13.0.1(postcss@8.4.38)
+      postcss-opacity-percentage: 3.0.0(postcss@8.4.38)
+      postcss-overflow-shorthand: 6.0.0(postcss@8.4.38)
+      postcss-page-break: 3.0.4(postcss@8.4.38)
+      postcss-place: 10.0.0(postcss@8.4.38)
+      postcss-pseudo-class-any-link: 10.0.1(postcss@8.4.38)
+      postcss-replace-overflow-wrap: 4.0.0(postcss@8.4.38)
+      postcss-selector-not: 8.0.1(postcss@8.4.38)
+
+  postcss-pseudo-class-any-link@10.0.1(postcss@8.4.38):
+    dependencies:
+      postcss: 8.4.38
+      postcss-selector-parser: 7.0.0
 
-  postcss-reduce-initial@7.0.0(postcss@8.4.33):
+  postcss-reduce-initial@7.0.2(postcss@8.4.38):
     dependencies:
-      browserslist: 4.23.0
+      browserslist: 4.24.2
       caniuse-api: 3.0.0
-      postcss: 8.4.33
+      postcss: 8.4.38
 
-  postcss-reduce-transforms@7.0.0(postcss@8.4.33):
+  postcss-reduce-transforms@7.0.0(postcss@8.4.38):
     dependencies:
-      postcss: 8.4.33
+      postcss: 8.4.38
       postcss-value-parser: 4.2.0
 
-  postcss-replace-overflow-wrap@4.0.0(postcss@8.4.33):
+  postcss-replace-overflow-wrap@4.0.0(postcss@8.4.38):
     dependencies:
-      postcss: 8.4.33
+      postcss: 8.4.38
 
-  postcss-selector-not@7.0.2(postcss@8.4.33):
+  postcss-selector-not@8.0.1(postcss@8.4.38):
     dependencies:
-      postcss: 8.4.33
-      postcss-selector-parser: 6.0.16
+      postcss: 8.4.38
+      postcss-selector-parser: 7.0.0
 
-  postcss-selector-parser@6.0.13:
+  postcss-selector-parser@6.0.16:
     dependencies:
       cssesc: 3.0.0
       util-deprecate: 1.0.2
 
-  postcss-selector-parser@6.0.16:
+  postcss-selector-parser@6.1.2:
     dependencies:
       cssesc: 3.0.0
       util-deprecate: 1.0.2
 
-  postcss-svgo@7.0.0(postcss@8.4.33):
+  postcss-selector-parser@7.0.0:
     dependencies:
-      postcss: 8.4.33
+      cssesc: 3.0.0
+      util-deprecate: 1.0.2
+
+  postcss-svgo@7.0.1(postcss@8.4.38):
+    dependencies:
+      postcss: 8.4.38
       postcss-value-parser: 4.2.0
       svgo: 3.3.2
 
-  postcss-unique-selectors@7.0.0(postcss@8.4.33):
+  postcss-unique-selectors@7.0.3(postcss@8.4.38):
     dependencies:
-      postcss: 8.4.33
-      postcss-selector-parser: 6.0.16
+      postcss: 8.4.38
+      postcss-selector-parser: 6.1.2
 
   postcss-value-parser@4.2.0: {}
 
-  postcss@8.4.31:
-    dependencies:
-      nanoid: 3.3.7
-      picocolors: 1.0.0
-      source-map-js: 1.0.2
-
-  postcss@8.4.33:
+  postcss@8.4.38:
     dependencies:
       nanoid: 3.3.7
       picocolors: 1.0.0
-      source-map-js: 1.0.2
+      source-map-js: 1.2.0
 
-  postcss@8.4.38:
+  postcss@8.4.47:
     dependencies:
       nanoid: 3.3.7
-      picocolors: 1.0.0
-      source-map-js: 1.2.0
+      picocolors: 1.1.1
+      source-map-js: 1.2.1
 
-  preferred-pm@3.1.3:
+  preferred-pm@4.0.0:
     dependencies:
-      find-up: 5.0.0
+      find-up-simple: 1.0.0
       find-yarn-workspace-root2: 1.2.16
-      path-exists: 4.0.0
-      which-pm: 2.0.0
+      which-pm: 3.0.0
+
+  prettier@2.8.7:
+    optional: true
 
   prismjs@1.29.0: {}
 
@@ -8864,13 +8518,49 @@ snapshots:
     dependencies:
       picomatch: 2.3.1
 
-  rehype-expressive-code@0.35.3:
+  readdirp@4.0.2: {}
+
+  recma-build-jsx@1.0.0:
+    dependencies:
+      "@types/estree": 1.0.5
+      estree-util-build-jsx: 3.0.1
+      vfile: 6.0.3
+
+  recma-jsx@1.0.0(acorn@8.14.0):
+    dependencies:
+      acorn-jsx: 5.3.2(acorn@8.14.0)
+      estree-util-to-js: 2.0.0
+      recma-parse: 1.0.0
+      recma-stringify: 1.0.0
+      unified: 11.0.5
+    transitivePeerDependencies:
+      - acorn
+
+  recma-parse@1.0.0:
+    dependencies:
+      "@types/estree": 1.0.5
+      esast-util-from-js: 2.0.1
+      unified: 11.0.5
+      vfile: 6.0.3
+
+  recma-stringify@1.0.0:
+    dependencies:
+      "@types/estree": 1.0.5
+      estree-util-to-js: 2.0.0
+      unified: 11.0.5
+      vfile: 6.0.3
+
+  regenerator-runtime@0.14.1: {}
+
+  regex@4.4.0: {}
+
+  rehype-expressive-code@0.35.6:
     dependencies:
-      expressive-code: 0.35.3
+      expressive-code: 0.35.6
 
   rehype-format@5.0.0:
     dependencies:
-      "@types/hast": 3.0.3
+      "@types/hast": 3.0.4
       hast-util-embedded: 3.0.0
       hast-util-is-element: 3.0.0
       hast-util-phrasing: 3.0.1
@@ -8881,7 +8571,7 @@ snapshots:
 
   rehype-minify-whitespace@6.0.0:
     dependencies:
-      "@types/hast": 3.0.3
+      "@types/hast": 3.0.4
       hast-util-embedded: 3.0.0
       hast-util-is-element: 3.0.0
       hast-util-whitespace: 3.0.0
@@ -8889,23 +8579,44 @@ snapshots:
 
   rehype-parse@9.0.0:
     dependencies:
-      "@types/hast": 3.0.3
+      "@types/hast": 3.0.4
       hast-util-from-html: 2.0.1
-      unified: 11.0.4
+      unified: 11.0.5
 
   rehype-raw@7.0.0:
     dependencies:
-      "@types/hast": 3.0.3
+      "@types/hast": 3.0.4
       hast-util-raw: 9.0.1
-      vfile: 6.0.1
+      vfile: 6.0.3
+
+  rehype-recma@1.0.0:
+    dependencies:
+      "@types/estree": 1.0.5
+      "@types/hast": 3.0.4
+      hast-util-to-estree: 3.1.0
+    transitivePeerDependencies:
+      - supports-color
 
   rehype-stringify@10.0.0:
+    dependencies:
+      "@types/hast": 3.0.4
+      hast-util-to-html: 9.0.1
+      unified: 11.0.5
+
+  rehype-stringify@10.0.1:
     dependencies:
       "@types/hast": 3.0.3
-      hast-util-to-html: 9.0.0
-      unified: 11.0.4
+      hast-util-to-html: 9.0.1
+      unified: 11.0.5
 
   rehype@13.0.1:
+    dependencies:
+      "@types/hast": 3.0.4
+      rehype-parse: 9.0.0
+      rehype-stringify: 10.0.0
+      unified: 11.0.5
+
+  rehype@13.0.2:
     dependencies:
       "@types/hast": 3.0.3
       rehype-parse: 9.0.0
@@ -8914,21 +8625,21 @@ snapshots:
 
   remark-directive@3.0.0:
     dependencies:
-      "@types/mdast": 4.0.3
+      "@types/mdast": 4.0.4
       mdast-util-directive: 3.0.0
       micromark-extension-directive: 3.0.0
-      unified: 11.0.4
+      unified: 11.0.5
     transitivePeerDependencies:
       - supports-color
 
   remark-gfm@4.0.0:
     dependencies:
-      "@types/mdast": 4.0.3
+      "@types/mdast": 4.0.4
       mdast-util-gfm: 3.0.0
       micromark-extension-gfm: 3.0.0
       remark-parse: 11.0.0
       remark-stringify: 11.0.0
-      unified: 11.0.4
+      unified: 11.0.5
     transitivePeerDependencies:
       - supports-color
 
@@ -8944,94 +8655,107 @@ snapshots:
       "@types/mdast": 4.0.3
       mdast-util-from-markdown: 2.0.0
       micromark-util-types: 2.0.0
-      unified: 11.0.4
+      unified: 11.0.5
     transitivePeerDependencies:
       - supports-color
 
   remark-rehype@11.1.0:
+    dependencies:
+      "@types/hast": 3.0.4
+      "@types/mdast": 4.0.4
+      mdast-util-to-hast: 13.0.2
+      unified: 11.0.5
+      vfile: 6.0.3
+
+  remark-rehype@11.1.1:
     dependencies:
       "@types/hast": 3.0.3
       "@types/mdast": 4.0.3
       mdast-util-to-hast: 13.0.2
-      unified: 11.0.4
-      vfile: 6.0.1
+      unified: 11.0.5
+      vfile: 6.0.3
 
-  remark-smartypants@2.0.0:
+  remark-smartypants@3.0.2:
     dependencies:
-      retext: 8.1.0
-      retext-smartypants: 5.2.0
-      unist-util-visit: 4.1.2
+      retext: 9.0.0
+      retext-smartypants: 6.2.0
+      unified: 11.0.5
+      unist-util-visit: 5.0.0
 
   remark-stringify@11.0.0:
     dependencies:
-      "@types/mdast": 4.0.3
+      "@types/mdast": 4.0.4
       mdast-util-to-markdown: 2.1.0
-      unified: 11.0.4
+      unified: 11.0.5
+
+  request-light@0.5.8: {}
 
   request-light@0.7.0: {}
 
   require-directory@2.1.1: {}
 
+  require-from-string@2.0.2: {}
+
   resolve@1.22.8:
     dependencies:
       is-core-module: 2.13.1
       path-parse: 1.0.7
       supports-preserve-symlinks-flag: 1.0.0
 
-  restore-cursor@4.0.0:
+  restore-cursor@5.1.0:
     dependencies:
-      onetime: 5.1.2
-      signal-exit: 3.0.7
+      onetime: 7.0.0
+      signal-exit: 4.1.0
 
-  retext-latin@3.1.0:
+  retext-latin@4.0.0:
     dependencies:
-      "@types/nlcst": 1.0.4
-      parse-latin: 5.0.1
-      unherit: 3.0.1
-      unified: 10.1.2
+      "@types/nlcst": 2.0.3
+      parse-latin: 7.0.0
+      unified: 11.0.5
 
-  retext-smartypants@5.2.0:
+  retext-smartypants@6.2.0:
     dependencies:
-      "@types/nlcst": 1.0.4
-      nlcst-to-string: 3.1.1
-      unified: 10.1.2
-      unist-util-visit: 4.1.2
+      "@types/nlcst": 2.0.3
+      nlcst-to-string: 4.0.0
+      unist-util-visit: 5.0.0
 
-  retext-stringify@3.1.0:
+  retext-stringify@4.0.0:
     dependencies:
-      "@types/nlcst": 1.0.4
-      nlcst-to-string: 3.1.1
-      unified: 10.1.2
+      "@types/nlcst": 2.0.3
+      nlcst-to-string: 4.0.0
+      unified: 11.0.5
 
-  retext@8.1.0:
+  retext@9.0.0:
     dependencies:
-      "@types/nlcst": 1.0.4
-      retext-latin: 3.1.0
-      retext-stringify: 3.1.0
-      unified: 10.1.2
+      "@types/nlcst": 2.0.3
+      retext-latin: 4.0.0
+      retext-stringify: 4.0.0
+      unified: 11.0.5
 
   reusify@1.0.4: {}
 
-  rollup@4.17.2:
+  rollup@4.24.4:
     dependencies:
-      "@types/estree": 1.0.5
+      "@types/estree": 1.0.6
     optionalDependencies:
-      "@rollup/rollup-android-arm-eabi": 4.17.2
-      "@rollup/rollup-android-arm64": 4.17.2
-      "@rollup/rollup-darwin-arm64": 4.17.2
-      "@rollup/rollup-darwin-x64": 4.17.2
-      "@rollup/rollup-linux-arm-gnueabihf": 4.17.2
-      "@rollup/rollup-linux-arm-musleabihf": 4.17.2
-      "@rollup/rollup-linux-arm64-gnu": 4.17.2
-      "@rollup/rollup-linux-arm64-musl": 4.17.2
-      "@rollup/rollup-linux-powerpc64le-gnu": 4.17.2
-      "@rollup/rollup-linux-riscv64-gnu": 4.17.2
-      "@rollup/rollup-linux-s390x-gnu": 4.17.2
-      "@rollup/rollup-linux-x64-gnu": 4.17.2
-      "@rollup/rollup-linux-x64-musl": 4.17.2
-      "@rollup/rollup-win32-arm64-msvc": 4.17.2
-      "@rollup/rollup-win32-ia32-msvc": 4.17.2
-      "@rollup/rollup-win32-x64-msvc": 4.17.2
+      "@rollup/rollup-android-arm-eabi": 4.24.4
+      "@rollup/rollup-android-arm64": 4.24.4
+      "@rollup/rollup-darwin-arm64": 4.24.4
+      "@rollup/rollup-darwin-x64": 4.24.4
+      "@rollup/rollup-freebsd-arm64": 4.24.4
+      "@rollup/rollup-freebsd-x64": 4.24.4
+      "@rollup/rollup-linux-arm-gnueabihf": 4.24.4
+      "@rollup/rollup-linux-arm-musleabihf": 4.24.4
+      "@rollup/rollup-linux-arm64-gnu": 4.24.4
+      "@rollup/rollup-linux-arm64-musl": 4.24.4
+      "@rollup/rollup-linux-powerpc64le-gnu": 4.24.4
+      "@rollup/rollup-linux-riscv64-gnu": 4.24.4
+      "@rollup/rollup-linux-s390x-gnu": 4.24.4
+      "@rollup/rollup-linux-x64-gnu": 4.24.4
+      "@rollup/rollup-linux-x64-musl": 4.24.4
+      "@rollup/rollup-win32-arm64-msvc": 4.24.4
+      "@rollup/rollup-win32-ia32-msvc": 4.24.4
+      "@rollup/rollup-win32-x64-msvc": 4.24.4
       fsevents: 2.3.3
 
   run-parallel@1.2.0:
@@ -9047,50 +8771,49 @@ snapshots:
 
   semver@6.3.1: {}
 
-  semver@7.5.4:
-    dependencies:
-      lru-cache: 6.0.0
-
   semver@7.6.2: {}
 
-  sharp@0.33.4:
+  semver@7.6.3: {}
+
+  sharp@0.33.5:
     dependencies:
       color: 4.2.3
       detect-libc: 2.0.3
-      semver: 7.6.2
+      semver: 7.6.3
     optionalDependencies:
-      "@img/sharp-darwin-arm64": 0.33.4
-      "@img/sharp-darwin-x64": 0.33.4
-      "@img/sharp-libvips-darwin-arm64": 1.0.2
-      "@img/sharp-libvips-darwin-x64": 1.0.2
-      "@img/sharp-libvips-linux-arm": 1.0.2
-      "@img/sharp-libvips-linux-arm64": 1.0.2
-      "@img/sharp-libvips-linux-s390x": 1.0.2
-      "@img/sharp-libvips-linux-x64": 1.0.2
-      "@img/sharp-libvips-linuxmusl-arm64": 1.0.2
-      "@img/sharp-libvips-linuxmusl-x64": 1.0.2
-      "@img/sharp-linux-arm": 0.33.4
-      "@img/sharp-linux-arm64": 0.33.4
-      "@img/sharp-linux-s390x": 0.33.4
-      "@img/sharp-linux-x64": 0.33.4
-      "@img/sharp-linuxmusl-arm64": 0.33.4
-      "@img/sharp-linuxmusl-x64": 0.33.4
-      "@img/sharp-wasm32": 0.33.4
-      "@img/sharp-win32-ia32": 0.33.4
-      "@img/sharp-win32-x64": 0.33.4
-
-  shebang-command@2.0.0:
-    dependencies:
-      shebang-regex: 3.0.0
-
-  shebang-regex@3.0.0: {}
+      "@img/sharp-darwin-arm64": 0.33.5
+      "@img/sharp-darwin-x64": 0.33.5
+      "@img/sharp-libvips-darwin-arm64": 1.0.4
+      "@img/sharp-libvips-darwin-x64": 1.0.4
+      "@img/sharp-libvips-linux-arm": 1.0.5
+      "@img/sharp-libvips-linux-arm64": 1.0.4
+      "@img/sharp-libvips-linux-s390x": 1.0.4
+      "@img/sharp-libvips-linux-x64": 1.0.4
+      "@img/sharp-libvips-linuxmusl-arm64": 1.0.4
+      "@img/sharp-libvips-linuxmusl-x64": 1.0.4
+      "@img/sharp-linux-arm": 0.33.5
+      "@img/sharp-linux-arm64": 0.33.5
+      "@img/sharp-linux-s390x": 0.33.5
+      "@img/sharp-linux-x64": 0.33.5
+      "@img/sharp-linuxmusl-arm64": 0.33.5
+      "@img/sharp-linuxmusl-x64": 0.33.5
+      "@img/sharp-wasm32": 0.33.5
+      "@img/sharp-win32-ia32": 0.33.5
+      "@img/sharp-win32-x64": 0.33.5
+
+  shiki@1.22.2:
+    dependencies:
+      "@shikijs/core": 1.22.2
+      "@shikijs/engine-javascript": 1.22.2
+      "@shikijs/engine-oniguruma": 1.22.2
+      "@shikijs/types": 1.22.2
+      "@shikijs/vscode-textmate": 9.3.0
+      "@types/hast": 3.0.4
 
   shiki@1.5.2:
     dependencies:
       "@shikijs/core": 1.5.2
 
-  signal-exit@3.0.7: {}
-
   signal-exit@4.1.0: {}
 
   simple-swizzle@0.2.2:
@@ -9099,17 +8822,17 @@ snapshots:
 
   sisteransi@1.0.5: {}
 
-  sitemap@7.1.1:
+  sitemap@8.0.0:
     dependencies:
       "@types/node": 17.0.45
       "@types/sax": 1.2.7
       arg: 5.0.2
       sax: 1.3.0
 
-  source-map-js@1.0.2: {}
-
   source-map-js@1.2.0: {}
 
+  source-map-js@1.2.1: {}
+
   source-map@0.7.4: {}
 
   space-separated-tokens@2.0.2: {}
@@ -9118,19 +8841,15 @@ snapshots:
 
   stdin-discarder@0.2.2: {}
 
+  stream-replace-string@2.0.0: {}
+
   string-width@4.2.3:
     dependencies:
       emoji-regex: 8.0.0
       is-fullwidth-code-point: 3.0.0
       strip-ansi: 6.0.1
 
-  string-width@5.1.2:
-    dependencies:
-      eastasianwidth: 0.2.0
-      emoji-regex: 9.2.2
-      strip-ansi: 7.1.0
-
-  string-width@7.1.0:
+  string-width@7.2.0:
     dependencies:
       emoji-regex: 10.3.0
       get-east-asian-width: 1.2.0
@@ -9153,8 +8872,6 @@ snapshots:
 
   strip-bom@3.0.0: {}
 
-  strip-final-newline@3.0.0: {}
-
   style-to-object@0.4.4:
     dependencies:
       inline-style-parser: 0.1.1
@@ -9163,15 +8880,15 @@ snapshots:
     dependencies:
       inline-style-parser: 0.2.2
 
-  stylehacks@7.0.0(postcss@8.4.33):
+  stylehacks@7.0.4(postcss@8.4.38):
     dependencies:
-      browserslist: 4.23.0
-      postcss: 8.4.33
-      postcss-selector-parser: 6.0.16
+      browserslist: 4.24.2
+      postcss: 8.4.38
+      postcss-selector-parser: 6.1.2
 
   sucrase@3.34.0:
     dependencies:
-      "@jridgewell/gen-mapping": 0.3.3
+      "@jridgewell/gen-mapping": 0.3.5
       commander: 4.1.1
       glob: 7.1.6
       lines-and-columns: 1.2.4
@@ -9179,10 +8896,6 @@ snapshots:
       pirates: 4.0.6
       ts-interface-checker: 0.1.13
 
-  supports-color@5.5.0:
-    dependencies:
-      has-flag: 3.0.0
-
   supports-preserve-symlinks-flag@1.0.0: {}
 
   svgo@3.3.2:
@@ -9195,11 +8908,11 @@ snapshots:
       csso: 5.0.5
       picocolors: 1.0.0
 
-  tailwindcss@3.4.3:
+  tailwindcss@3.4.14:
     dependencies:
       "@alloc/quick-lru": 5.2.0
       arg: 5.0.2
-      chokidar: 3.5.3
+      chokidar: 3.6.0
       didyoumean: 1.2.2
       dlv: 1.1.3
       fast-glob: 3.3.2
@@ -9211,12 +8924,12 @@ snapshots:
       normalize-path: 3.0.0
       object-hash: 3.0.0
       picocolors: 1.0.0
-      postcss: 8.4.33
-      postcss-import: 15.1.0(postcss@8.4.33)
-      postcss-js: 4.0.1(postcss@8.4.33)
-      postcss-load-config: 4.0.2(postcss@8.4.33)
-      postcss-nested: 6.0.1(postcss@8.4.33)
-      postcss-selector-parser: 6.0.13
+      postcss: 8.4.38
+      postcss-import: 15.1.0(postcss@8.4.38)
+      postcss-js: 4.0.1(postcss@8.4.38)
+      postcss-load-config: 4.0.2(postcss@8.4.38)
+      postcss-nested: 6.0.1(postcss@8.4.38)
+      postcss-selector-parser: 6.0.16
       resolve: 1.22.8
       sucrase: 3.34.0
     transitivePeerDependencies:
@@ -9230,7 +8943,7 @@ snapshots:
     dependencies:
       any-promise: 1.3.0
 
-  to-fast-properties@2.0.0: {}
+  tinyexec@0.3.1: {}
 
   to-regex-range@5.0.1:
     dependencies:
@@ -9242,36 +8955,34 @@ snapshots:
 
   ts-interface-checker@0.1.13: {}
 
-  tsconfck@3.0.3(typescript@5.4.5):
+  tsconfck@3.1.4(typescript@5.6.3):
     optionalDependencies:
-      typescript: 5.4.5
+      typescript: 5.6.3
 
   tslib@2.6.2:
     optional: true
 
-  type-fest@2.19.0: {}
+  type-fest@4.26.1: {}
 
   typesafe-path@0.2.2: {}
 
-  typescript-auto-import-cache@0.3.2:
+  typescript-auto-import-cache@0.3.5:
     dependencies:
-      semver: 7.5.4
-
-  typescript@5.4.5: {}
+      semver: 7.6.2
 
-  unherit@3.0.1: {}
+  typescript@5.6.3: {}
 
-  unified@10.1.2:
+  unified@11.0.4:
     dependencies:
-      "@types/unist": 2.0.10
+      "@types/unist": 3.0.2
       bail: 2.0.2
+      devlop: 1.1.0
       extend: 3.0.2
-      is-buffer: 2.0.5
       is-plain-obj: 4.1.0
       trough: 2.1.0
-      vfile: 5.3.7
+      vfile: 6.0.3
 
-  unified@11.0.4:
+  unified@11.0.5:
     dependencies:
       "@types/unist": 3.0.2
       bail: 2.0.2
@@ -9279,24 +8990,20 @@ snapshots:
       extend: 3.0.2
       is-plain-obj: 4.1.0
       trough: 2.1.0
-      vfile: 6.0.1
+      vfile: 6.0.3
 
   unist-util-find-after@5.0.0:
     dependencies:
       "@types/unist": 3.0.2
       unist-util-is: 6.0.0
 
-  unist-util-is@5.2.1:
-    dependencies:
-      "@types/unist": 2.0.10
-
   unist-util-is@6.0.0:
     dependencies:
       "@types/unist": 3.0.2
 
-  unist-util-modify-children@3.1.1:
+  unist-util-modify-children@4.0.0:
     dependencies:
-      "@types/unist": 2.0.10
+      "@types/unist": 3.0.2
       array-iterate: 2.0.1
 
   unist-util-position-from-estree@2.0.0:
@@ -9312,136 +9019,119 @@ snapshots:
       "@types/unist": 3.0.2
       unist-util-visit: 5.0.0
 
-  unist-util-stringify-position@3.0.3:
-    dependencies:
-      "@types/unist": 2.0.10
-
   unist-util-stringify-position@4.0.0:
     dependencies:
       "@types/unist": 3.0.2
 
-  unist-util-visit-children@2.0.2:
-    dependencies:
-      "@types/unist": 2.0.10
-
-  unist-util-visit-parents@5.1.3:
+  unist-util-visit-children@3.0.0:
     dependencies:
-      "@types/unist": 2.0.10
-      unist-util-is: 5.2.1
+      "@types/unist": 3.0.2
 
   unist-util-visit-parents@6.0.1:
     dependencies:
       "@types/unist": 3.0.2
       unist-util-is: 6.0.0
 
-  unist-util-visit@4.1.2:
-    dependencies:
-      "@types/unist": 2.0.10
-      unist-util-is: 5.2.1
-      unist-util-visit-parents: 5.1.3
-
   unist-util-visit@5.0.0:
     dependencies:
       "@types/unist": 3.0.2
       unist-util-is: 6.0.0
       unist-util-visit-parents: 6.0.1
 
-  update-browserslist-db@1.0.13(browserslist@4.23.0):
+  update-browserslist-db@1.1.1(browserslist@4.24.2):
     dependencies:
-      browserslist: 4.23.0
-      escalade: 3.1.1
-      picocolors: 1.0.0
+      browserslist: 4.24.2
+      escalade: 3.2.0
+      picocolors: 1.1.1
 
   util-deprecate@1.0.2: {}
 
   vfile-location@5.0.2:
     dependencies:
       "@types/unist": 3.0.2
-      vfile: 6.0.1
-
-  vfile-message@3.1.4:
-    dependencies:
-      "@types/unist": 2.0.10
-      unist-util-stringify-position: 3.0.3
+      vfile: 6.0.3
 
   vfile-message@4.0.2:
     dependencies:
       "@types/unist": 3.0.2
       unist-util-stringify-position: 4.0.0
 
-  vfile@5.3.7:
-    dependencies:
-      "@types/unist": 2.0.10
-      is-buffer: 2.0.5
-      unist-util-stringify-position: 3.0.3
-      vfile-message: 3.1.4
-
-  vfile@6.0.1:
+  vfile@6.0.3:
     dependencies:
       "@types/unist": 3.0.2
-      unist-util-stringify-position: 4.0.0
       vfile-message: 4.0.2
 
-  vite@5.2.11:
+  vite@5.4.10:
     dependencies:
-      esbuild: 0.20.2
-      postcss: 8.4.38
-      rollup: 4.17.2
+      esbuild: 0.21.5
+      postcss: 8.4.47
+      rollup: 4.24.4
     optionalDependencies:
       fsevents: 2.3.3
 
-  vitefu@0.2.5(vite@5.2.11):
+  vitefu@1.0.3(vite@5.4.10):
     optionalDependencies:
-      vite: 5.2.11
+      vite: 5.4.10
 
-  volar-service-css@0.0.45(@volar/language-service@2.2.4):
+  volar-service-css@0.0.62(@volar/language-service@2.4.8):
     dependencies:
-      vscode-css-languageservice: 6.2.10
+      vscode-css-languageservice: 6.3.1
       vscode-languageserver-textdocument: 1.0.11
       vscode-uri: 3.0.8
     optionalDependencies:
-      "@volar/language-service": 2.2.4
+      "@volar/language-service": 2.4.8
 
-  volar-service-emmet@0.0.45(@volar/language-service@2.2.4):
+  volar-service-emmet@0.0.62(@volar/language-service@2.4.8):
     dependencies:
       "@emmetio/css-parser": 0.4.0
       "@emmetio/html-matcher": 1.3.0
-      "@vscode/emmet-helper": 2.9.2
+      "@vscode/emmet-helper": 2.9.3
+      vscode-uri: 3.0.8
     optionalDependencies:
-      "@volar/language-service": 2.2.4
+      "@volar/language-service": 2.4.8
 
-  volar-service-html@0.0.45(@volar/language-service@2.2.4):
+  volar-service-html@0.0.62(@volar/language-service@2.4.8):
     dependencies:
-      vscode-html-languageservice: "@johnsoncodehk/vscode-html-languageservice@5.2.0-34a5462"
+      vscode-html-languageservice: 5.3.1
       vscode-languageserver-textdocument: 1.0.11
       vscode-uri: 3.0.8
     optionalDependencies:
-      "@volar/language-service": 2.2.4
+      "@volar/language-service": 2.4.8
 
-  volar-service-prettier@0.0.45(@volar/language-service@2.2.4):
+  volar-service-prettier@0.0.62(@volar/language-service@2.4.8):
     dependencies:
       vscode-uri: 3.0.8
     optionalDependencies:
-      "@volar/language-service": 2.2.4
+      "@volar/language-service": 2.4.8
 
-  volar-service-typescript-twoslash-queries@0.0.45(@volar/language-service@2.2.4):
+  volar-service-typescript-twoslash-queries@0.0.62(@volar/language-service@2.4.8):
+    dependencies:
+      vscode-uri: 3.0.8
     optionalDependencies:
-      "@volar/language-service": 2.2.4
+      "@volar/language-service": 2.4.8
 
-  volar-service-typescript@0.0.45(@volar/language-service@2.2.4):
+  volar-service-typescript@0.0.62(@volar/language-service@2.4.8):
     dependencies:
       path-browserify: 1.0.1
-      semver: 7.5.4
-      typescript-auto-import-cache: 0.3.2
+      semver: 7.6.2
+      typescript-auto-import-cache: 0.3.5
       vscode-languageserver-textdocument: 1.0.11
       vscode-nls: 5.2.0
+      vscode-uri: 3.0.8
     optionalDependencies:
-      "@volar/language-service": 2.2.4
+      "@volar/language-service": 2.4.8
 
-  vscode-css-languageservice@6.2.10:
+  volar-service-yaml@0.0.62(@volar/language-service@2.4.8):
     dependencies:
-      "@vscode/l10n": 0.0.16
-      vscode-languageserver-textdocument: 1.0.11
+      vscode-uri: 3.0.8
+      yaml-language-server: 1.15.0
+    optionalDependencies:
+      "@volar/language-service": 2.4.8
+
+  vscode-css-languageservice@6.3.1:
+    dependencies:
+      "@vscode/l10n": 0.0.18
+      vscode-languageserver-textdocument: 1.0.12
       vscode-languageserver-types: 3.17.5
       vscode-uri: 3.0.8
 
@@ -9452,8 +9142,30 @@ snapshots:
       vscode-languageserver-types: 3.17.5
       vscode-uri: 3.0.8
 
+  vscode-html-languageservice@5.3.1:
+    dependencies:
+      "@vscode/l10n": 0.0.18
+      vscode-languageserver-textdocument: 1.0.12
+      vscode-languageserver-types: 3.17.5
+      vscode-uri: 3.0.8
+
+  vscode-json-languageservice@4.1.8:
+    dependencies:
+      jsonc-parser: 3.3.1
+      vscode-languageserver-textdocument: 1.0.11
+      vscode-languageserver-types: 3.17.5
+      vscode-nls: 5.2.0
+      vscode-uri: 3.0.8
+
+  vscode-jsonrpc@6.0.0: {}
+
   vscode-jsonrpc@8.2.0: {}
 
+  vscode-languageserver-protocol@3.16.0:
+    dependencies:
+      vscode-jsonrpc: 6.0.0
+      vscode-languageserver-types: 3.16.0
+
   vscode-languageserver-protocol@3.17.5:
     dependencies:
       vscode-jsonrpc: 8.2.0
@@ -9461,8 +9173,16 @@ snapshots:
 
   vscode-languageserver-textdocument@1.0.11: {}
 
+  vscode-languageserver-textdocument@1.0.12: {}
+
+  vscode-languageserver-types@3.16.0: {}
+
   vscode-languageserver-types@3.17.5: {}
 
+  vscode-languageserver@7.0.0:
+    dependencies:
+      vscode-languageserver-protocol: 3.16.0
+
   vscode-languageserver@9.0.1:
     dependencies:
       vscode-languageserver-protocol: 3.17.5
@@ -9477,23 +9197,13 @@ snapshots:
 
   which-pm-runs@1.1.0: {}
 
-  which-pm@2.0.0:
+  which-pm@3.0.0:
     dependencies:
       load-yaml-file: 0.2.0
-      path-exists: 4.0.0
-
-  which-pm@2.1.1:
-    dependencies:
-      load-yaml-file: 0.2.0
-      path-exists: 4.0.0
 
-  which@2.0.2:
+  widest-line@5.0.0:
     dependencies:
-      isexe: 2.0.0
-
-  widest-line@4.0.1:
-    dependencies:
-      string-width: 5.1.2
+      string-width: 7.2.0
 
   wrap-ansi@7.0.0:
     dependencies:
@@ -9501,22 +9211,41 @@ snapshots:
       string-width: 4.2.3
       strip-ansi: 6.0.1
 
-  wrap-ansi@8.1.0:
+  wrap-ansi@9.0.0:
     dependencies:
       ansi-styles: 6.2.1
-      string-width: 5.1.2
+      string-width: 7.2.0
       strip-ansi: 7.1.0
 
   wrappy@1.0.2: {}
 
+  xxhash-wasm@1.0.2: {}
+
   y18n@5.0.8: {}
 
   yallist@3.1.1: {}
 
-  yallist@4.0.0: {}
+  yaml-language-server@1.15.0:
+    dependencies:
+      ajv: 8.17.1
+      lodash: 4.17.21
+      request-light: 0.5.8
+      vscode-json-languageservice: 4.1.8
+      vscode-languageserver: 7.0.0
+      vscode-languageserver-textdocument: 1.0.11
+      vscode-languageserver-types: 3.17.5
+      vscode-nls: 5.2.0
+      vscode-uri: 3.0.8
+      yaml: 2.2.2
+    optionalDependencies:
+      prettier: 2.8.7
+
+  yaml@2.2.2: {}
 
   yaml@2.3.4: {}
 
+  yaml@2.6.0: {}
+
   yargs-parser@21.1.1: {}
 
   yargs@17.7.2:
@@ -9529,15 +9258,16 @@ snapshots:
       y18n: 5.0.8
       yargs-parser: 21.1.1
 
-  yocto-queue@0.1.0: {}
-
-  yocto-queue@1.0.0: {}
+  yocto-queue@1.1.1: {}
 
-  zod-to-json-schema@3.23.0(zod@3.23.8):
+  zod-to-json-schema@3.23.5(zod@3.23.8):
     dependencies:
       zod: 3.23.8
 
-  zod@3.22.4: {}
+  zod-to-ts@1.2.0(typescript@5.6.3)(zod@3.23.8):
+    dependencies:
+      typescript: 5.6.3
+      zod: 3.23.8
 
   zod@3.23.8: {}
 
diff --git a/docs/src/components/Header.astro b/docs/src/components/Header.astro
index fdfef9c56281ca5530150d7334c93cdee3ed3699..10d16640dfa23df39f7e9708da39f50a81b61b83 100644
--- a/docs/src/components/Header.astro
+++ b/docs/src/components/Header.astro
@@ -2,17 +2,18 @@
 import config from 'virtual:starlight/user-config';
 import type { Props } from '@astrojs/starlight/props';
 
-import LanguageSelect from 'virtual:starlight/components/LanguageSelect';
-import Search from 'virtual:starlight/components/Search';
-import SiteTitle from 'virtual:starlight/components/SiteTitle';
-import SocialIcons from 'virtual:starlight/components/SocialIcons';
-import ThemeSelect from 'virtual:starlight/components/ThemeSelect';
+import LanguageSelect from '@astrojs/starlight/components/LanguageSelect.astro';
+import Search from '@astrojs/starlight/components/Search.astro';
+import SiteTitle from '@astrojs/starlight/components/SiteTitle.astro';
+import SocialIcons from '@astrojs/starlight/components/SocialIcons.astro';
+import ThemeSelect from '@astrojs/starlight/components/ThemeSelect.astro';
 import VersionSelect from './DocsVersionSelect.astro';
 
+
 /**
  * Render the `Search` component if Pagefind is enabled or the default search component has been overridden.
  */
-const shouldRenderSearch =
+ const shouldRenderSearch =
 	config.pagefind || config.components.Search !== '@astrojs/starlight/components/Search.astro';
 ---
 
diff --git a/docs/src/components/MobileMenuFooter.astro b/docs/src/components/MobileMenuFooter.astro
index 7298907953d002bb4908571988c2ef23c1d4430c..87b28db2873e848fa27d33fdca506113b6a18d8f 100644
--- a/docs/src/components/MobileMenuFooter.astro
+++ b/docs/src/components/MobileMenuFooter.astro
@@ -1,7 +1,7 @@
 ---
-import LanguageSelect from 'virtual:starlight/components/LanguageSelect';
-import SocialIcons from 'virtual:starlight/components/SocialIcons';
-import ThemeSelect from 'virtual:starlight/components/ThemeSelect';
+import LanguageSelect from '@astrojs/starlight/components/LanguageSelect.astro';
+import SocialIcons from '@astrojs/starlight/components/SocialIcons.astro';
+import ThemeSelect from '@astrojs/starlight/components/ThemeSelect.astro';
 import type { Props } from '@astrojs/starlight/props';
 import VersionSelect from './DocsVersionSelect.astro';
 ---
diff --git a/docs/src/content/docs/en/getting-started/create-episode.mdx b/docs/src/content/docs/en/getting-started/create-episode.mdx
new file mode 100644
index 0000000000000000000000000000000000000000..045b660fd0583136575129c6c31bdc4d220c0bee
--- /dev/null
+++ b/docs/src/content/docs/en/getting-started/create-episode.mdx
@@ -0,0 +1,81 @@
+---
+title: Create your first episode
+---
+
+To add an episode to your podcast, choose Podcasts -> All podcasts from your instance management left hand sidebar.
+Then choose Podcast dashboard and press the Add an episode button in the upper right hand corner and fill out the
+following fields.
+
+## Episode Info
+
+### Audio file
+
+Press the `Choose File` button to select the audio file to upload to Castopod. The audio file must be an mp3 or m4a
+file and cannot be larger than 512 megabytes.
+
+### Episode cover
+
+You can optionally add a different podcast cover / artwork. Press `Choose File` and select an image from your computer
+that must be at least 1400px wide and tall and no larger than 3000px wide and tall. If you do not choose an
+episode cover, your default podcast artwork will be used.
+
+### Title
+
+Enter the name for your new episode. Do not add the season or episode number in the **Title** field. Choose a clear
+and concise episode name to help your listeners.
+
+### Permalink
+
+The permalink is the link to the public episode page. This will be automatically filled out based on the title
+you entered above. If you wish to have a different permalink, press the edit button to the right of the
+displayed permalink.
+
+### Season and Episode
+
+You can optionally add a season and / or episode number to your episode.
+
+## Show Notes
+
+Describe your episode in detail. You can use up to 4000 characters, and you can use Markdown to style your show
+notes. You can expand the text box by pressing and holding the bottom right corner of the text box.
+
+When your show notes are complete, press `Preview` to view how your show notes will be displayed.
+
+## Additional Files
+
+### Transcripts
+
+You can add a transcript to your episode by choosing a file in SRT or VTT format to upload. Transcripts will be
+shown in a tab on the episode page and some podcast apps such as Apple Podcasts can display the transcript.  
+Transcripts help users who may have a hearing disability and can also help with search engine optimization.
+
+### Chapters
+
+You can optionally upload a chapters file in JSON format. To learn more about chapters and for an example of the
+correct format, visit the [Podcast Namespace](https://github.com/Podcastindex-org/podcast-namespace/blob/main/chapters/jsonChapters.md).
+
+!!! note
+Not all podcast players natively support chapters in JSON format. More modern players, such as Fountain and
+Apple Podcasts, do support chapters in JSON format.
+
+## Publish your episode
+
+When complete, press the `Create episode` button at the bottom of the page. You will be automatically directed to
+the next step to publish your episode. Your episode is in draft mode and is not yet published. You can preview
+how your episode will look when published or publish your episode. To publish your episode, press the `Publish` button
+in the upper right hand corner.
+
+### Create your announcement post
+
+After pressing `Publish` you will be directed to the next page to draft your announcement post. Write your message
+in the text box provided. This will be the message broadcast to the Fediverse and published on your podcast's home
+page.
+
+### Publication date
+
+Choose `Now` or `Schedule` to publish your episode. If you choose `Now`, your episode will be live. Or you can
+schedule the day and time to publish your episode by choosing the `Schedule` radio button and choosing the day and
+time. Press `Publish` to finish.
+
+Your RSS feed will be automatically updated with your episode information and listeners who subscribe will be
+notified of a new episode. Congratulations on publishing your first episode!
diff --git a/docs/src/content/docs/en/getting-started/create-podcast.mdx b/docs/src/content/docs/en/getting-started/create-podcast.mdx
new file mode 100644
index 0000000000000000000000000000000000000000..26a703e90046ca5a791e03a3e207b63b850355c0
--- /dev/null
+++ b/docs/src/content/docs/en/getting-started/create-podcast.mdx
@@ -0,0 +1,114 @@
+---
+title: Create your first podcast
+---
+
+import { Aside } from "@astrojs/starlight/components";
+
+From the left hand navigation sidebar, press the `+` sign to the right of Podcasts to create your first podcast.
+
+## Podcast Identity
+
+### Podcast Cover
+
+To upload your podcast cover art, press the `Choose File` button and choose your cover art from your computer. The
+cover art needs to be in JPG or PNG format and a minimum of 1400px wide and tall with a maximum of 3000px wide and
+tall.
+
+### Title
+
+Enter the name of your podcast in the **Title** field.
+
+### Description
+
+Describe what your podcast is about. You can use Markdown to style the text and you can resize the text box by
+pressing and holding the bottom right hand corner of the text box.
+
+### Type
+
+Choose how your listeners should listen to your podcast. **Episodic** lets listeners know they can consume your podcast
+in any order, such as an interview podcast. Choose **Serial** if your episodes are meant to be listened to in
+sequential order.
+
+### Medium
+
+Choose the type of audio for your podcast:
+
+- **Podcast**: a standard podcast.
+- **Music**: A feed of music organized into an "album" with each item a song within the album.
+- **Audiobook**: A specific type of audio with one item per feed, or where items represent chapters within a book.
+
+## Classification
+
+### Language
+
+From the dropdown menu, choose which language is spoken in your podcast.
+
+### Category
+
+Choose the category that represents your podcast, such as Arts, Comedy, Sports, Technology, etc.
+
+### Other categories (optional)
+
+You can choose a second category in addition to the main category you set up.
+
+### Parental advisory
+
+Choose if your podcast has explicit content or swearing or choose Clean if your podcast is suitable for everyone. You
+can also choose to leave this category as undefined. When [creating a new episode](../podcast/episodes.md),
+you will also have the opportunity to choose clean, explicit, or undefined on a per episode basis.
+
+## Author
+
+### Owner name and email
+
+Enter the owner name and email in the provided fields. This is only visible in the RSS feed and is used by other
+podcasting platforms to verify your ownership of your podcast. You can choose to remove the owner email
+from the public RSS feed by using the provided toggle.
+
+### Publisher
+
+If your podcast is part of a podcast network or is produced by a company, enter the publisher here.
+
+### Copyright
+
+You can optionally add the copyright holder in this field.
+
+### Fediverse identity
+
+Enter the handle (or nickname) for your podcast. This will allow people on Mastodon and other Fediverse services
+to follow your podcast. Your handle will be shown as @yourdomain.com@handle on the Fediverse.
+
+To learn more about Fediverse integration, visit the [Fediverse documentation page](../instance/fediverse.md).
+
+### Podcast banner
+
+Upload a banner image to be displayed at the top of your podcast's home page. The banner must have a 3:1 ration and
+be at least 1500px wide.
+
+### Premium
+
+Toggle this setting to set all episodes by default as premium. When creating an episode, it will default to premium,
+and you can still choose to make some episodes, trailers, or bonus content as free and public.
+
+## Open Podcast Prefix Project (OP3)
+
+The [Open Podcast Prefix Project](https://op3.dev) is an open source and trusted third party analytics service. If
+you toggle this to enabled, you will be able to view analytics for your podcast over time including the number of
+listens over time, episode comparison charts, and more.
+
+## Location
+
+You can optionally add a real or fictitious location name in this field. When
+[creating a new episode](../podcast/episodes.md) you also can add a location to an individual episode.
+
+## Advanced Parameters
+
+You can optionally toggle the following settings:
+
+- **Prevent podcast from being copied**: this locks your podcast and does not allow other podcast platforms to import
+  your podcast. If you decide in the future to migrate away from Castopod to a new platform, this toggle will need to be
+  unchecked.
+- **Podcast should be hidden from public catalogues**: If toggled, a best effort is made to hide the entire podcast from
+  appearing in Apple Podcasts, YouTube Music, and any other third party podcast apps. (Not guaranteed)
+- **Podcast will not be having new episodes**: If your podcast comes to an end, you can toggle this to let listeners
+  know there will not be new episodes.
diff --git a/docs/src/content/docs/en/user-guide/index.mdx b/docs/src/content/docs/en/user-guide/index.mdx
new file mode 100644
index 0000000000000000000000000000000000000000..f923045af4044294a5fbf8c4f33ee5d7efe26293
--- /dev/null
+++ b/docs/src/content/docs/en/user-guide/index.mdx
@@ -0,0 +1,13 @@
+---
+title: Welcome to the Castopod User Guide
+---
+
+import { LinkCard, CardGrid } from "@astrojs/starlight/components";
+
+Welcome to the Castopod User Guide. This guide is divided into three parts:
+
+<CardGrid>
+  <LinkCard title="Managing your instance" href="instance" />
+  <LinkCard title="Managing your podcasts" href="podcast" />
+  <LinkCard title="Website overview" href="website" />
+</CardGrid>
diff --git a/docs/src/content/docs/en/user-guide/instance/add-podcast.mdx b/docs/src/content/docs/en/user-guide/instance/add-podcast.mdx
new file mode 100644
index 0000000000000000000000000000000000000000..ea33a9a641f9aa2640317b9310fd116163fe5a8f
--- /dev/null
+++ b/docs/src/content/docs/en/user-guide/instance/add-podcast.mdx
@@ -0,0 +1,145 @@
+---
+title: Create or import a podcast
+---
+
+You can create a new podcast or import an existing podcast into Castopod in the Podcasts section. If you are adding
+a second podcast to Castopod, see the [Home page documentation](../website/home.md) for how that will change your
+home page.
+
+From the left hand navigation sidebar, press the `+` sign to the right of Podcasts to create your first podcast.
+
+## Podcast Identity
+
+### Podcast Cover
+
+To upload your podcast cover art, press the `Choose File` button and choose your cover art from your computer. The
+cover art needs to be in JPG or PNG format and a minimum of 1400px wide and tall with a maximum of 3000px wide and
+tall.
+
+### Title
+
+Enter the name of your podcast in the **Title** field.
+
+### Description
+
+Describe what your podcast is about. You can use Markdown to style the text and you can resize the text box by
+pressing and holding the bottom right hand corner of the text box.
+
+### Type
+
+Choose how your listeners should listen to your podcast. **Episodic** lets listeners know they can consume your podcast
+in any order, such as an interview podcast. Choose **Serial** if your episodes are meant to be listened to in
+sequential order.
+
+### Medium
+
+Choose the type of audio for your podcast:
+
+- **Podcast**: a standard podcast.
+- **Music**: A feed of music organized into an "album" with each item a song within the album.
+- **Audiobook**: A specific type of audio with one item per feed, or where items represent chapters within a book.
+
+## Classification
+
+### Language
+
+From the dropdown menu, choose which language is spoken in your podcast.
+
+### Category
+
+Choose the category that represents your podcast, such as Arts, Comedy, Technology, etc.
+
+### Other categories (optional)
+
+You can choose a second category in addition to the main category you set up.
+
+### Parental advisory
+
+Choose if your podcast has explicit content or swearing or choose Clean if your podcast is suitable for everyone. You
+can also choose to leave this category as undefined. When [creating a new episode](../podcast/episodes.md),
+you will also have the opportunity to choose clean, explicit, or undefined on a per episode basis.
+
+## Author
+
+### Owner name and email
+
+Enter the owner name and email in the provided fields. This is only visible in the RSS feed and is used by other
+podcasting platforms to verify your ownership of your podcast. You can choose to remove the owner email
+from the public RSS feed by using the provided toggle.
+
+### Publisher
+
+If your podcast is part of a podcast network or is produced by a company, enter the publisher here.
+
+### Copyright
+
+You can optionally add the copyright holder in this field.
+
+### Fediverse identity
+
+Enter the handle (or nickname) for your podcast. This will allow people on Mastodon and other Fediverse services
+to follow your podcast. Your handle will be shown as @yourdomain.com@handle on the Fediverse.
+
+To learn more about Fediverse integration, visit the [Fediverse documentation page](../instance/fediverse.md).
+
+### Podcast banner
+
+Upload a banner image to be displayed at the top of your podcast's home page. The banner must have a 3:1 ration and
+be at least 1500px wide.
+
+### Premium
+
+Toggle this setting to set all episodes by default as premium. When creating an episode, it will default to premium,
+and you can still choose to make some episodes, trailers, or bonus content as free and public.
+
+## Open Podcast Prefix Project (OP3)
+
+The [Open Podcast Prefix Project](https://op3.dev) is an open source and trusted third party analytics service. If
+you toggle this to enabled, you will be able to view analytics for your podcast over time including the number of
+listens over time, episode comparison charts, and more.
+
+## Location
+
+You can optionally add a real or fictitious location name in this field. When
+[creating a new episode](../podcast/episodes.md) you also can add a location to an individual episode.
+
+## Advanced Parameters
+
+You can optinally toggle the following settings:
+
+- **Prevent podcast from being copied**: this locks your podcast and does not allow other podcast platforms to import
+  your podcast. If you decide in the future to migrate away from Castopod to a new platform, this toggle will need to be
+  unchecked.
+- **Podcast should be hidden from public catalogues**: If toggled, a best effort is made to hide the entire podcast from
+  appearing in Apple Podcasts, YouTube Music, and any other third party podcast apps. (Not guaranteed)
+- **Podcast will not be having new episodes**: If your podcast comes to an end, you can toggle this to let listeners
+  know there will not be new episodes.
+
+## Import an existing podcast
+
+When importing a podcast, make sure you own the rights for this podcast before importing it.
+Copying and broadcasting a podcast without the proper rights is piracy and is liable to prosecution.
+
+### Import the podcast
+
+To import a podcast, enter the podcast's **Feed URL**. The feed must be in XML or RSS format. You may want to validate
+the feed to make sure there are no errors in the RSS or XML feed prior to importing as errors may cause the import
+to fail. One popular feed validator is [Cast Feed Validator](https://www.castfeedvalidator.com) from
+Blubrry Podcasting.
+
+### Podcast information
+
+Enter the handle for your podcast. This will be part of the URL for others to interact with your podcast on the
+Fediverse. It will be yourdomain.com@nameofyourpodcast.
+
+Choose the language your podcast is recorded in from the drop down box.
+
+Lastly, choose the Category of your podcast, such as Sports, Technology, Arts, etc.
+
+When complete, click Add import to queue. You will then be redirected to a Podcast imports page to view the status
+of the import. You can refresh the page to see the status of the import including the import duration and how many
+episodes were imported when complete.
+
+!!! note
+If your import times out, check your `max_execution_time` in your `PHP.ini` file. You may need to increase it
+from 30 seconds (the default) to add more time, such as 300 seconds (5 minutes) for larger podcasts.
diff --git a/docs/src/content/docs/en/user-guide/instance/fediverse.mdx b/docs/src/content/docs/en/user-guide/instance/fediverse.mdx
new file mode 100644
index 0000000000000000000000000000000000000000..c00db8122543479ca03faaeac3cc73b00629fe74
--- /dev/null
+++ b/docs/src/content/docs/en/user-guide/instance/fediverse.mdx
@@ -0,0 +1,35 @@
+---
+title: Fediverse
+---
+
+## What is the Fediverse?
+
+Wikipedia defines the Fediverse as:
+
+> The fediverse is a collection of social networking services that can communicate with each other using a common
+> protocol, ActivityPub. Users of different websites can send and receive status updates, multimedia files and other
+> data across the network.
+
+Your podcast is connected to the Fediverse and, for example, Mastodon users can subscribe to your handle and will
+receive a message every time your podcast publishes a new episode. You can also broadcast messages to your followers
+on the Fediverse from your [home page](../website/home.md). Mastodon users can like and share your posts.
+
+## Manage Fediverse Blocks
+
+You can block a Fediverse user or an entire domain to help stop harassment or spam.
+
+### Blocked Accounts
+
+To block a specific Fediverse user, enter the user's handle in the **Account Handle** text box. It should be in
+the format of @user@domain.com. Press `Block` to block the user from following your podcast.
+
+A list of all blocked accounts is shown below the **Account Handle** text box. You can choose to unblock a user
+by pressing the `Unblock` button.
+
+### Blocked Domains
+
+To block an entire domain, enter the domain name such as `www.example.com` in the **Domain Name** field and press
+`Block`.
+
+A list of all blocked domains is shown below the **Domain Name** text box. You can choose to unblock a domain
+by pressing the `Unblock` button.
diff --git a/docs/src/content/docs/en/user-guide/instance/index.mdx b/docs/src/content/docs/en/user-guide/instance/index.mdx
new file mode 100644
index 0000000000000000000000000000000000000000..0e55012d85d1d4fde0ca3f2dc3d8bbe64a9cd12b
--- /dev/null
+++ b/docs/src/content/docs/en/user-guide/instance/index.mdx
@@ -0,0 +1,32 @@
+---
+title: Managing your instance
+---
+
+import { LinkCard, CardGrid } from "@astrojs/starlight/components";
+
+## What is an instance?
+
+Your podcast is hosted on your sever and connected to the [Fediverse](fediverse) in what is called an _instance_.
+Your instance can manage multiple podcasts, people and users, and host additional pages found on all of your podcasts.
+
+Managing your instance, including podcasts, people, and users is separate from the settings for each
+individual podcast.
+
+## Ready to get started?
+
+Learn more about adding podcasts, users, and more by clicking one of the links below.
+
+<CardGrid>
+  <LinkCard title="Create or import a podcast" href="podcast" />
+  <LinkCard
+    title="Manage the people involved with your podcast"
+    href="persons"
+  />
+  <LinkCard title="Manage Fediverse integration" href="fediverse" />
+  <LinkCard
+    title="Manage users who can access the admin interface"
+    href="users"
+  />
+  <LinkCard title="Add additional web pages" href="pages" />
+  <LinkCard title="Manage settings" href="settings" />
+</CardGrid>
diff --git a/docs/src/content/docs/en/user-guide/instance/pages.mdx b/docs/src/content/docs/en/user-guide/instance/pages.mdx
new file mode 100644
index 0000000000000000000000000000000000000000..e2a83265875abf8d851791abaf84d86da982b475
--- /dev/null
+++ b/docs/src/content/docs/en/user-guide/instance/pages.mdx
@@ -0,0 +1,28 @@
+---
+title: Pages
+---
+
+## Add Pages
+
+You can add static pages linked from your podcast's home page. From the left hand navigation, choose the `+` sign or
+click `Pages` -> `New Page`.
+
+### Title
+
+In the **Title** text box, enter the name for the page you are adding.
+
+### Permalink
+
+In the `Permalink` text box, enter the permalink if you want it different than the title.
+
+### Content
+
+You can add your page content in the **Content** text box. You can use Markdown to style your text.
+
+When finished, press the `Create page` button. You can view your page from your podcast's home page. It will be
+linked in the right hand side bar navigation.
+
+## Delete or Edit a Page
+
+After adding a page, you can delete the page or edit it by choosing `Pages` -> `All Pages` from the instance
+navigation sidebar on the left. Press the corresponding button to view the page, edit it, or delete it.
diff --git a/docs/src/content/docs/en/user-guide/instance/persons.mdx b/docs/src/content/docs/en/user-guide/instance/persons.mdx
new file mode 100644
index 0000000000000000000000000000000000000000..a7c5a9fde993714cced99a3e555a929d7a2f2d30
--- /dev/null
+++ b/docs/src/content/docs/en/user-guide/instance/persons.mdx
@@ -0,0 +1,22 @@
+---
+title: Manage Podcast contributors
+---
+
+The **Persons** section allows you to add podcast contributors. It is needed in the Podcast section to assign
+roles and is also used on the **Credits** page linked from your podcast's homepage.
+
+From the left hand navigation, press `Persons` to expand the menu. To view a list of all people that have been
+added to Castopod, press `All Persons`.
+
+## Add a person
+
+To add a person, press `New Person` from the left hand sidebar or press `Create a person` from the upper right hand
+corner of the **All Persons** page and fill out the following fields:
+
+- **Avatar**: You can optionally add a picture or avatar of the person. Press `Choose File` and upload a picture
+  from your computer. It must be at least 400px wide and tall.
+- **Full Name**: Enter the name as you want it displayed on your website.
+- **Unique Name**: Enter a unique username for the person you are adding. This will be displayed in the Podcasts
+  secton when assigning this person a role.
+- **Information URL**: Enter a URL for the person's homepage, profile, or social media account to be linked from the
+  [Credits page](../website/credits.md).
diff --git a/docs/src/content/docs/en/user-guide/instance/settings.mdx b/docs/src/content/docs/en/user-guide/instance/settings.mdx
new file mode 100644
index 0000000000000000000000000000000000000000..9ab8845c04db1009b221eaf46eb80cc611b7db8f
--- /dev/null
+++ b/docs/src/content/docs/en/user-guide/instance/settings.mdx
@@ -0,0 +1,49 @@
+---
+title: Settings
+---
+
+To change or update the settings for your instance, choose `Settings` from the left hand navigation.
+
+## General settings
+
+### Instance
+
+#### Site Name
+
+Update the name of your instance in the `Site name` text field.
+
+#### Site Description
+
+Update description of your instance in the `Site description` text box.
+
+#### Site icon
+
+You can upload a site icon, also known as a favicon, by pressing `Choose file`. Site icons are what you see
+on your browser tabs, bookmarks, and shortcuts on mobile devices. The image must be at least 500px tall and wide.
+
+### Images
+
+If you come across broken or missing images on your site, press `Regenerate images`. This process may take time.
+
+### Housekeeping
+
+You can run various tasks for your instance:
+
+- **Reset counts**: This will reset and recalculate counts for followers, posts, and comments.
+- **Rename episode files**: This option renames all episodes files to a random name. If one of your private
+  episodes leaks, toggle this setting to effectively hide the episode.
+- **Clear all cache**: This option will flush the Redis cache or writable / cache files.
+
+## Theme
+
+You can choose one of six accent colors for your public pages.
+
+## About
+
+This shows general information about your instance including:
+
+- Host name (typically your domain name)
+- Castopod version
+- PHP version
+- Operating System
+- Available languages
diff --git a/docs/src/content/docs/en/user-guide/instance/users.mdx b/docs/src/content/docs/en/user-guide/instance/users.mdx
new file mode 100644
index 0000000000000000000000000000000000000000..ca75fc117b0f0b776d13a2f503cd0a919b3ecba6
--- /dev/null
+++ b/docs/src/content/docs/en/user-guide/instance/users.mdx
@@ -0,0 +1,16 @@
+---
+title: Users
+---
+
+Roles and permissions in Castopod are defined in two ways, **Instance** users and
+[**Podcast**. contributors](../podcast/contributors.md). For a detailed list of permissions, view
+he [Auth](/docs/en/getting-started/auth) page.
+
+## Adding a User to the instance
+
+You can add a user to your instance by choosing `Users` -> `New User` from the left hand navigation menu. There
+are three roles you can assign to an instance user:
+
+- **Super Admin**: This user has complete control over Castopod including adding or removing podcasts or users.
+- **Manager**: This user can manage Castopod's content, such as adding or importing a new podcast and managing people.
+- **Podcaster**: This is for general users of Castopod who can access the admin interface.
diff --git a/docs/src/content/docs/en/user-guide/podcast/analytics.mdx b/docs/src/content/docs/en/user-guide/podcast/analytics.mdx
new file mode 100644
index 0000000000000000000000000000000000000000..bab8357880a2cc7f8509d01e2202b79c1d68818e
--- /dev/null
+++ b/docs/src/content/docs/en/user-guide/podcast/analytics.mdx
@@ -0,0 +1,55 @@
+---
+title: Analytics
+---
+
+Castopod comes with a number of different analytics and statistics about your podcast(s). From the left hand
+navigation, choose `Analytics` to view the various options.
+
+## Audience overview
+
+This page provides an overview of your episode's daily downloads, monthly downloads, and daily bandwidth used.
+
+## Unique listeners
+
+View graphs of the number of daily and monthly users of your podcast. Use the zoom function at the top of each
+graph to zoom in or out.
+
+## Listening time
+
+View graphs of your listener's daily and monthly cumulative listening time. Use the zoom function at the top of each
+graph to zoom in or out.
+
+## Players
+
+This page provides four pie charts to view statistics for the last week:
+
+- Episode downloads by player
+- Episode downloads by service
+- Episode downloads by device
+- Episode downloads by operating system
+
+You can hover over each graph and press the three dots to download statistics for the graph you are hovering over.
+You can interact with the graphs to download or print:
+
+- Image (PNG, JPG, SVG, or PDF)
+- Data (JSON, CSV, XLSX, HTML, or PDF)
+- Print
+
+## Locations
+
+You can view where your listeners are located by choosing _Locations_. Two pie charts are available showing
+episode downloads by country for the past week and past year. At the bottom of the page, you can view a world map
+showing your listener's locations.
+
+## Time periods
+
+Two bar graphs displaying the week day and time of day your listeners listen to your podcsat.
+
+## Web pages visits
+
+You can view four pie charts showing information about web page visits:
+
+- Web page visits by source (for the past week)
+- Web page visits by source (for the past year)
+- Web page visits by landing page
+- Web page visits by browser
diff --git a/docs/src/content/docs/en/user-guide/podcast/broadcast.mdx b/docs/src/content/docs/en/user-guide/podcast/broadcast.mdx
new file mode 100644
index 0000000000000000000000000000000000000000..f54cb49972b3f17b885a449a26bc64030d1e5a49
--- /dev/null
+++ b/docs/src/content/docs/en/user-guide/podcast/broadcast.mdx
@@ -0,0 +1,34 @@
+---
+title: Broadcast your podcast
+---
+
+## Add your podcast to podcast directories
+
+Listeners can add your RSS feed to their podcast app of choice to subscribe to your podcast. Most listeners will
+find your podcast in a podcast directory, such as Apple Podcasts, YouTube Music, Spotify, or the Podcast Index.
+These four are the most popular podcast directories and a number of other directories pull their data from Apple
+Podcasts.
+
+Visit [Podnews](https://podnews.net/article/all-the-podcast-directories) to learn how to add your podcast to
+most of the podcast directories.
+
+Once your podcast is listed in the podcast directories, you can link to them on your home page by choosing
+`Broadcast` from the left hand navigation.
+
+### Podcasting Apps
+
+Castopod provides the ability to link to a majority of podcast directories where users can find your podcast.
+For each directory listed fill out the link to your podcast in a specific directory and the ID. If you want
+an icon displayed on your home page, toggle `Display in podcast homepage?`.
+
+After pressing `Save` in the upper right hand corner, visit your home page to see the icons with hyperlinks
+on the right hand side of your home page under _Listen on_.
+
+### Social Networks
+
+If your podcast has a presence on social networks, Castopod provides the ability to link to your social network
+profiles. Add the link to your profile page in the text field and toggle if you want it displayed on your
+home page.
+
+After pressing `Save` in the upper right hand corner, visit your home page to see the icons with hyperlinks
+on the right hand side of your home page under _Find your podcast on_.
diff --git a/docs/src/content/docs/en/user-guide/podcast/contributors.mdx b/docs/src/content/docs/en/user-guide/podcast/contributors.mdx
new file mode 100644
index 0000000000000000000000000000000000000000..95d783384d08f268b537b945f5cce71742bc4c97
--- /dev/null
+++ b/docs/src/content/docs/en/user-guide/podcast/contributors.mdx
@@ -0,0 +1,28 @@
+---
+title: Contributors
+---
+
+From the podcast dashboard, click **Contributors** to add or edit users to have access to the podcast and its settings.
+For a detailed list of permissions, view the [Auth](/docs/en/getting-started/auth) page.
+
+## Roles
+
+There are four roles you can assign a person to help manage your podcast.
+
+### Admin
+
+The admin user has complete control over the individual podcast.
+
+### Editor
+
+The editor has access to management functions including podcast import, managing persons, creating or deleting
+episodes, and managing clips.
+
+### Author
+
+The autorh can manage content of the podcast, but cannot publish an episode. They can manage
+[contributors](contributors), create clips, and create episodes.
+
+### Guest
+
+The guest can view the podcast dashboard and view episodes. They cannot edit or add any content.
diff --git a/docs/src/content/docs/en/user-guide/podcast/dashboard.mdx b/docs/src/content/docs/en/user-guide/podcast/dashboard.mdx
new file mode 100644
index 0000000000000000000000000000000000000000..99b0575cce5f9e433827d57dda23a05384a243e7
--- /dev/null
+++ b/docs/src/content/docs/en/user-guide/podcast/dashboard.mdx
@@ -0,0 +1,50 @@
+---
+title: Podcast Dashboard
+---
+
+When you choose your podcast from the Admin dashboard you will be redirected to the Podcast dashboard page.
+
+The Podcast dashboard shows you up to five of the latest episodes, both those published and scheduled. You can click
+on any of these episodes to view them or click `See all episodes` to see a list of every episode.
+
+## Edit your podcast
+
+To edit your podcast, press `Edit podcast` in the upper right hand corner or `Edit podcast` in the left hand side
+navigation.
+
+You can edit any of the [fields you filled out when creating your podcast](/docs/en/user-guide/instance/add-podcast).
+
+When finished press the `Save podcast` button in the upper right hand corner.
+
+You can also choose to delete your podcast by pressing `Delete podcast` at the bottom of the Edit podcast page.
+
+## Manage persons
+
+If you have added people to Persons in the Admin dashboard, you can assign them a role here. People assigned roles
+will show up on the [Credits page](/docs/en/user-guide/website/credits) linked from your home page to give them
+credit for contributing to the podcast.
+
+Roles include Administration, Audio production, cast, guests, hosts, writing, and more.
+
+From the **Persons** drop down, choose the person you want to add. Then choose a role from the \*_Roles_ drop down and
+press `Add person(s)`.
+
+A list of all people assigned roles will be displayed. You can remove them by pressing the `Remove` button.
+
+Adding persons to your podcast populates the Credits page linked from your
+[home page](/docs/en/user-guide/website/index.md).
+
+## Podcast imports
+
+Podcast imports show you the status of a feed that you imported into Castopod, including the feed name,
+how long the import took, and how many episodes were imported. Under **Actions** you can try re-import the feed
+if the original import failed or delete the status message for the imported feed.
+
+If the feed you imported has been updated after your import, press `Synchronize Feeds` in the upper right hand
+corner to import the missing episodes.
+
+## Sync feeds
+
+You can also synchronize missing episode from an imported feed by choosing `Sync Feeds` from the Podcast dashboard
+menu. The **Feed URL** should auto-populate if you have previously imported a feed. Press `Add to queue` to import
+any missing episodes from the feed.
diff --git a/docs/src/content/docs/en/user-guide/podcast/episodes.mdx b/docs/src/content/docs/en/user-guide/podcast/episodes.mdx
new file mode 100644
index 0000000000000000000000000000000000000000..604ee60ff6bdd90349c0bd541fcb6d0a48209d6a
--- /dev/null
+++ b/docs/src/content/docs/en/user-guide/podcast/episodes.mdx
@@ -0,0 +1,131 @@
+---
+title: Episodes
+---
+
+From the left hand navigation, click **Episodes** and the menu will expand to **All Episodes** and **New Episode**.
+
+## All Episodes
+
+To view a list of all episodes, click `All Episodes`. Each episode will be displayed in a list with its name and
+notes, Visibility such as published or scheduled, and how many downloads and comments each episode has.
+
+### Actions and the Episode Dashboard
+
+Click the three dots under **Actions** to view a menu of options for an episode or click on an individual episode to
+view the available actions:
+
+- **Go to page**: This will redirect you to the public page of the episode and display the show notes.
+- **Edit**: This allows you to change the fields you filled when creating the episode (see below).
+
+### Embeddable player
+
+Choose a theme color and press the copy button to the right of the text box to copy the
+code to your clipboard. Insert the code into a web page to display the episode.
+
+### Persons
+
+If you have added people in the Admin interface, you can choose a person and assign them a role, such
+as guest, for a given episode.
+
+### Video clips and Soundbites
+
+The process to create a video clip and soundbite is the same. It may take a minute for the file to load and you
+will see the waveform.
+
+A video clip will create an MP4 video of the audio with text from the transcript matched to the audio. A soundbite
+will create an audio clip.
+
+Enter the name of the clip you want to create. Then drag the slider to where you want to start and end your
+video clip or soundbite. You can press the `Play` button to preview your clip.
+
+For video clips, choose a format, including Landscape, Portrait or Squared and a background theme color.
+
+Then press the `Create` button, you will be redirected to a status page displaying the status of creating the clip.
+Refresh the page to see if it's `Running` or completed. You may need to be patient depending on the length of the clip.
+
+:::note
+To create video clips and soundbites, your server must have `FFMPEG` installed and a transcript.
+:::
+
+## Create episode
+
+To add an episode, press the `Add an episode button` in the upper right hand corner of the Episode dashboard or click
+`New episode` in the left hand navigation under `Episodes`.
+
+### Episode Info
+
+#### Audio file
+
+Press the `Choose File` button to select the audio file to upload to Castopod. The audio file must be an mp3 or m4a
+file and cannot be larger than 512 megabytes.
+
+### Episode cover
+
+You can optionally add a different podcast cover / artwork. Press `Choose File` and select an image from your computer
+that must be at least 1400px wide and tall and no larger than 3000px wide and tall. If you do not choose an
+episode cover, your default podcast artwork will be used.
+
+#### Title
+
+Enter the name for your new episode. Do not add the season or episode number in the **Title** field. Choose a clear
+and concise episode name to help your listeners.
+
+#### Permalink
+
+The permalink is the link to the public episode page. This will be automatically filled out based on the title
+you entered above. If you wish to have a different permalink, press the edit button to the right of the
+displayed permalink.
+
+#### Season and Episode
+
+You can optionally add a season and / or episode number to your episode. If you are adding a new episode and a
+previous episode had a season and /or episode number, the field(s) will be auto filled for you. You can leave it or
+update with a different season and / or episode number.
+
+### Show Notes
+
+Describe your episode in detail. You can use up to 4000 characters, and you can use Markdown to style your show
+notes. You can expand the text box by pressing and holding the bottom right corner of the text box.
+
+When your show notes are complete, press `Preview` to view how your show notes will be displayed.
+
+### Additional Files
+
+#### Transcripts
+
+You can add a transcript to your episode by choosing a file in SRT or VTT format to upload. Transcripts will be
+shown in a tab on the episode page and some podcast apps such as Apple Podcasts can display the transcript.  
+Transcripts help users who may have a hearing disability and can also help with search engine optimization.
+
+#### Chapters
+
+You can optionally upload a chapters file in JSON format. To learn more about chapters and for an example of the
+correct format, visit the [Podcast Namespace](https://github.com/Podcastindex-org/podcast-namespace/blob/main/chapters/jsonChapters.md).
+
+:::note
+Not all podcast players natively support chapters in JSON format. More modern players, such as Fountain and
+Apple Podcasts, do support chapters in JSON format. Chapters do not allow you to click to select the chapter
+in Castopod's embeddable player at this time.
+:::
+
+### Publish your episode
+
+When complete, press the `Create episode` button at the bottom of the page. You will be automatically directed to
+the next step to publish your episode. Your episode is in draft mode and is not yet published. You can preview
+how your episode will look when published or publish your episode. To publish your episode, press the `Publish` button
+in the upper right hand corner.
+
+### Create your announcement post
+
+After pressing `Publish` you will be directed to the next page to draft your announcement post. Write your message
+in the text box provided. This will be the message broadcast to the Fediverse and published on your podcast's home
+page.
+
+### Publication date
+
+Choose `Now` or `Schedule` to publish your episode. If you choose `Now`, your episode will be live. Or you can
+schedule the day and time to publish your episode by choosing the `Schedule` radio button and choosing the day and
+time. Press `Publish` to finish.
+
+Your RSS feed will be automatically updated with your episode information and listeners who subscribe will be
+notified of a new episode. Congratulations on publishing your first episode!
diff --git a/docs/src/content/docs/en/user-guide/podcast/index.mdx b/docs/src/content/docs/en/user-guide/podcast/index.mdx
new file mode 100644
index 0000000000000000000000000000000000000000..2e8e0b73b3984063d1beee7df22512f6d97079ce
--- /dev/null
+++ b/docs/src/content/docs/en/user-guide/podcast/index.mdx
@@ -0,0 +1,20 @@
+---
+title: Manage Podcasts
+---
+
+import { LinkCard, CardGrid } from "@astrojs/starlight/components";
+
+From the Castopod admin interface, click **Podcasts** and then **All Podcasts** and you will be redirected to the
+podcast dashboard. This page displays the latest episodes, including any scheduled episodes.
+
+From the podcast dashboard, you can add episodes, view analytics, add links to your homepage, and more. Learn more
+by clicking the links below.
+
+<CardGrid>
+  <LinkCard title="Podcast dashboard" href="dashboard" />
+  <LinkCard title="Episodes" href="episodes" />
+  <LinkCard title="Analytics" href="analytics" />
+  <LinkCard title="Broadcast" href="broadcast" />
+  <LinkCard title="Monetization" href="monetization" />
+  <LinkCard title="Contributors" href="contributors" />
+</CardGrid>
diff --git a/docs/src/content/docs/en/user-guide/website/index.mdx b/docs/src/content/docs/en/user-guide/website/index.mdx
new file mode 100644
index 0000000000000000000000000000000000000000..06675a5c016700c048af8e027ea3739e1c53c96e
--- /dev/null
+++ b/docs/src/content/docs/en/user-guide/website/index.mdx
@@ -0,0 +1,74 @@
+---
+title: Podcast Home Page
+---
+
+The podcast home page is your landing page for your listeners to view episode announcements, messages, episodes,
+and links to where to find your podcast. If you have only one podcast, your users will be automatically redirected
+from your top level domain, such as `www.yourpodcast.com`, to the podcast page at
+`www.yourpodcast.com/yourpodcasthandle`.
+
+If you are hosting multiple podcasts, your top level page will display the artwork for each podcast. Clicking on
+the podcast artwork will take you to your podcast page at `www.yourpodcast.com/yourpodcasthandle`.
+
+## Home Page
+
+If you are logged in to your podcast, you will see a strip across the top of the page with a link to the admin
+interface of your podcast, a bell that will show if you have any new notifications, and the user who is logged in.
+You can click on the user for quick access to your account, changing your password, or to log out.
+
+:::note
+If you have multiple podcasts, you can click the user dropdown to switch to choose which podcast to interact with.
+If your account has access to two or more podcasts, pay attention to which podcast is broadcasting messages!
+:::
+
+Listeners can click the `Follow` button to follow any messages, including episode announcements, from a Fediverse
+app, such as Mastodon. After clicking `Follow` a pop-up box will be displayed where the user enterse their Fediverse
+handle and then clicks `Proceed to follow`.
+
+### Podcast RSS feed
+
+On the right hand side is a link to your RSS Podcast feed. Users can copy that and subscribe directly in their
+podcast app.
+
+### Social Networks
+
+Below the RSS feed is are icons that link to all of the social networks you toggled on in the
+[Broadcast](/docs/en/user-guide/podcast/broadcast#podcasting-apps) section of the podcast's admin section.
+
+### Podcast Directories
+
+Below the social networking links is **Listen On** which displays icons linked to the podcast directories you
+toggled on in the [Broadcast](/docs/en/user-guide/podcast/broadcast#social-networks) section of the podcast's
+admin section.
+
+## Activity
+
+The **Activity** tab is located directly under your podcast artwork is the default home page for your podcast. Website
+visitors are presented with a list of messages in chronological order. If you are logged in as a podcast
+administrator, you will see a text box where you can write a message to be broadcasted to your followers. If you
+include the episode URL, a preview of that episode will be included in your message.
+
+Below each message there are four icons:
+
+- **Comments**: This will show you the number of comments on a given message. Clicking this will show you all replies to
+  your message. You can click the three dots to block a user or a domain in case of spam.
+- **Shares**: This shows the number of times your message was shared by other users.
+- **Favorites**: This shows how many people liked your message.
+
+## Episodes
+
+The **Episodes** tab shows a list of all episode announcements you have shared. If you are using season numbers, it
+will default to the current season. Users can click the **Season** link above all of the messages for a dropdown menu
+to view past episodes by season.
+
+## About
+
+The About tab shares general information about your podcast, including:
+
+- Podcast description
+- Podcast category
+- The [people](/docs/en/user-guide/podcast/podcast-dashboard#manage-persons/) who contribute to the podcast
+- Statistics
+  - Number of seasons
+  - Number of episodes
+  - Date first episode was published