diff --git a/package.json b/package.json
index dc94daec..d1e058ef 100644
--- a/package.json
+++ b/package.json
@@ -85,7 +85,7 @@
     "rimraf": "6.0.1",
     "rollup": "4.24.0",
     "rollup-plugin-swc3": "0.12.1",
-    "sass": "1.80.3",
+    "sass": "1.85.0",
     "semver": "7.6.3",
     "tslib": "2.8.1",
     "typescript": "5.6.3",
diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml
index a88dd93c..05de2dfd 100644
--- a/pnpm-lock.yaml
+++ b/pnpm-lock.yaml
@@ -75,8 +75,8 @@ importers:
         specifier: 0.12.1
         version: 0.12.1(@swc/core@1.10.16)(rollup@4.24.0)
       sass:
-        specifier: 1.80.3
-        version: 1.80.3
+        specifier: 1.85.0
+        version: 1.85.0
       semver:
         specifier: 7.6.3
         version: 7.6.3
@@ -88,10 +88,10 @@ importers:
         version: 5.6.3
       vite:
         specifier: 6.1.0
-        version: 6.1.0(@types/node@18.19.76)(jiti@2.4.2)(sass@1.80.3)
+        version: 6.1.0(@types/node@18.19.76)(jiti@2.4.2)(sass@1.85.0)
       vitest:
         specifier: 3.0.5
-        version: 3.0.5(@types/node@18.19.76)(jiti@2.4.2)(sass@1.80.3)
+        version: 3.0.5(@types/node@18.19.76)(jiti@2.4.2)(sass@1.85.0)
       yargs:
         specifier: 17.7.2
         version: 17.7.2
@@ -1044,10 +1044,6 @@ packages:
     resolution: {integrity: sha512-OAlb+T7V4Op9OwdkjmguYRqncdlx5JiofwOAUkmTF+jNdHwzTaTs4sRAGpzLF3oOz5xAyDGrPgeIDFQmDOTiJw==}
     engines: {node: '>= 16'}
 
-  chokidar@4.0.1:
-    resolution: {integrity: sha512-n8enUVCED/KVRQlab1hr3MVpcVMvxtZjmEa956u+4YijlmQED223XMSYj2tLuKvr4jcCTzNNMpQDUer72MMmzA==}
-    engines: {node: '>= 14.16.0'}
-
   chokidar@4.0.3:
     resolution: {integrity: sha512-Qgzu8kfBvo+cA4962jnP1KkS6Dop5NS6g7R5LFYJr4b8Ub94PPQXUksCw9PvXoeXPRRddRNC5C1JQUR2SMGtnA==}
     engines: {node: '>= 14.16.0'}
@@ -1656,8 +1652,8 @@ packages:
   immediate@3.0.6:
     resolution: {integrity: sha512-XXOFtyqDjNDAQxVfYxuF7g9Il/IbWmmlQg2MYKOH8ExIT1qg6xc4zyS3HaEEATgs1btfzxq15ciUiY7gjSXRGQ==}
 
-  immutable@4.3.0:
-    resolution: {integrity: sha512-0AOCmOip+xgJwEVTQj1EfiDDOkPmuyllDuTuEX+DDXUgapLAsBIfkg3sxCYyCEA8mQqZrrxPUGjcOQ2JS3WLkg==}
+  immutable@5.0.3:
+    resolution: {integrity: sha512-P8IdPQHq3lA1xVeBRi5VPqUm5HDgKnx0Ru51wZz5mjxHr5n3RWhjIpOFU7ybkUxfB+5IToy+OLaHYDBIWsv+uw==}
 
   import-fresh@3.3.0:
     resolution: {integrity: sha512-veYYhQa+D1QBKznvhUHxb8faxlrwUnxseDAbAp457E0wLNio2bOSKnjYDhMj+YiAq61xrMGhQk9iXVk5FzgQMw==}
@@ -2473,8 +2469,8 @@ packages:
   safe-regex-test@1.0.0:
     resolution: {integrity: sha512-JBUUzyOgEwXQY1NuPtvcj/qcBDbDmEvWufhlnXZIm75DEHp+afM1r1ujJpJsV/gSM4t59tpDyPi1sd6ZaPFfsA==}
 
-  sass@1.80.3:
-    resolution: {integrity: sha512-ptDWyVmDMVielpz/oWy3YP3nfs7LpJTHIJZboMVs8GEC9eUmtZTZhMHlTW98wY4aEorDfjN38+Wr/XjskFWcfA==}
+  sass@1.85.0:
+    resolution: {integrity: sha512-3ToiC1xZ1Y8aU7+CkgCI/tqyuPXEmYGJXO7H4uqp0xkLXUqp88rQQ4j1HmP37xSJLbCJPaIiv+cT1y+grssrww==}
     engines: {node: '>=14.0.0'}
     hasBin: true
 
@@ -2520,10 +2516,6 @@ packages:
     resolution: {integrity: sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q==}
     engines: {node: '>=8'}
 
-  source-map-js@1.0.2:
-    resolution: {integrity: sha512-R0XvVJ9WusLiqTCEiGCmICCMplcCkIwwR11mOSD9CR5u+IXYdiseeEuXCVAjS54zqwkLcPNnmU4OeJ6tUrWhDw==}
-    engines: {node: '>=0.10.0'}
-
   source-map-js@1.2.1:
     resolution: {integrity: sha512-UXWMKhLOwVKb728IUtQPXxfYU+usdybtUrK/8uGE8CQMvrhOpwvzDBwj0QhSL7MQc7vIsISBG8VQ8+IDQxpfQA==}
     engines: {node: '>=0.10.0'}
@@ -3222,6 +3214,7 @@ snapshots:
       '@parcel/watcher-win32-arm64': 2.4.1
       '@parcel/watcher-win32-ia32': 2.4.1
       '@parcel/watcher-win32-x64': 2.4.1
+    optional: true
 
   '@pkgjs/parseargs@0.11.0':
     optional: true
@@ -3520,13 +3513,13 @@ snapshots:
       chai: 5.2.0
       tinyrainbow: 2.0.0
 
-  '@vitest/mocker@3.0.5(vite@6.1.0(@types/node@18.19.76)(jiti@2.4.2)(sass@1.80.3))':
+  '@vitest/mocker@3.0.5(vite@6.1.0(@types/node@18.19.76)(jiti@2.4.2)(sass@1.85.0))':
     dependencies:
       '@vitest/spy': 3.0.5
       estree-walker: 3.0.3
       magic-string: 0.30.17
     optionalDependencies:
-      vite: 6.1.0(@types/node@18.19.76)(jiti@2.4.2)(sass@1.80.3)
+      vite: 6.1.0(@types/node@18.19.76)(jiti@2.4.2)(sass@1.85.0)
 
   '@vitest/pretty-format@3.0.5':
     dependencies:
@@ -3699,10 +3692,6 @@ snapshots:
 
   check-error@2.1.1: {}
 
-  chokidar@4.0.1:
-    dependencies:
-      readdirp: 4.0.1
-
   chokidar@4.0.3:
     dependencies:
       readdirp: 4.0.1
@@ -3973,7 +3962,8 @@ snapshots:
       has-property-descriptors: 1.0.0
       object-keys: 1.1.1
 
-  detect-libc@1.0.3: {}
+  detect-libc@1.0.3:
+    optional: true
 
   dir-glob@3.0.1:
     dependencies:
@@ -4431,7 +4421,7 @@ snapshots:
 
   immediate@3.0.6: {}
 
-  immutable@4.3.0: {}
+  immutable@5.0.3: {}
 
   import-fresh@3.3.0:
     dependencies:
@@ -4732,7 +4722,8 @@ snapshots:
 
   nice-try@1.0.5: {}
 
-  node-addon-api@7.1.1: {}
+  node-addon-api@7.1.1:
+    optional: true
 
   node-gyp-build@4.6.0: {}
 
@@ -5240,12 +5231,13 @@ snapshots:
       get-intrinsic: 1.2.0
       is-regex: 1.1.4
 
-  sass@1.80.3:
+  sass@1.85.0:
     dependencies:
+      chokidar: 4.0.3
+      immutable: 5.0.3
+      source-map-js: 1.2.1
+    optionalDependencies:
       '@parcel/watcher': 2.4.1
-      chokidar: 4.0.1
-      immutable: 4.3.0
-      source-map-js: 1.0.2
 
   semver@5.7.1: {}
 
@@ -5277,8 +5269,6 @@ snapshots:
 
   slash@3.0.0: {}
 
-  source-map-js@1.0.2: {}
-
   source-map-js@1.2.1: {}
 
   source-map@0.6.1: {}
@@ -5470,13 +5460,13 @@ snapshots:
       spdx-correct: 3.2.0
       spdx-expression-parse: 3.0.1
 
-  vite-node@3.0.5(@types/node@18.19.76)(jiti@2.4.2)(sass@1.80.3):
+  vite-node@3.0.5(@types/node@18.19.76)(jiti@2.4.2)(sass@1.85.0):
     dependencies:
       cac: 6.7.14
       debug: 4.4.0
       es-module-lexer: 1.6.0
       pathe: 2.0.3
-      vite: 6.1.0(@types/node@18.19.76)(jiti@2.4.2)(sass@1.80.3)
+      vite: 6.1.0(@types/node@18.19.76)(jiti@2.4.2)(sass@1.85.0)
     transitivePeerDependencies:
       - '@types/node'
       - jiti
@@ -5491,7 +5481,7 @@ snapshots:
       - tsx
       - yaml
 
-  vite@6.1.0(@types/node@18.19.76)(jiti@2.4.2)(sass@1.80.3):
+  vite@6.1.0(@types/node@18.19.76)(jiti@2.4.2)(sass@1.85.0):
     dependencies:
       esbuild: 0.24.2
       postcss: 8.5.2
@@ -5500,12 +5490,12 @@ snapshots:
       '@types/node': 18.19.76
       fsevents: 2.3.3
       jiti: 2.4.2
-      sass: 1.80.3
+      sass: 1.85.0
 
-  vitest@3.0.5(@types/node@18.19.76)(jiti@2.4.2)(sass@1.80.3):
+  vitest@3.0.5(@types/node@18.19.76)(jiti@2.4.2)(sass@1.85.0):
     dependencies:
       '@vitest/expect': 3.0.5
-      '@vitest/mocker': 3.0.5(vite@6.1.0(@types/node@18.19.76)(jiti@2.4.2)(sass@1.80.3))
+      '@vitest/mocker': 3.0.5(vite@6.1.0(@types/node@18.19.76)(jiti@2.4.2)(sass@1.85.0))
       '@vitest/pretty-format': 3.0.5
       '@vitest/runner': 3.0.5
       '@vitest/snapshot': 3.0.5
@@ -5521,8 +5511,8 @@ snapshots:
       tinyexec: 0.3.2
       tinypool: 1.0.2
       tinyrainbow: 2.0.0
-      vite: 6.1.0(@types/node@18.19.76)(jiti@2.4.2)(sass@1.80.3)
-      vite-node: 3.0.5(@types/node@18.19.76)(jiti@2.4.2)(sass@1.80.3)
+      vite: 6.1.0(@types/node@18.19.76)(jiti@2.4.2)(sass@1.85.0)
+      vite-node: 3.0.5(@types/node@18.19.76)(jiti@2.4.2)(sass@1.85.0)
       why-is-node-running: 2.3.0
     optionalDependencies:
       '@types/node': 18.19.76