diff --git a/packages/client/package.json b/packages/client/package.json
index 832145e07f..1c67cb29fc 100644
--- a/packages/client/package.json
+++ b/packages/client/package.json
@@ -72,7 +72,7 @@
 		"qrcode-vue3": "^1.6.8",
 		"rollup": "4.17.2",
 		"s-age": "1.1.2",
-		"sass": "1.75.0",
+		"sass": "1.77.1",
 		"seedrandom": "3.0.5",
 		"stringz": "2.1.0",
 		"swiper": "11.1.1",
diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml
index 82c233ca06..4ca2693201 100644
--- a/pnpm-lock.yaml
+++ b/pnpm-lock.yaml
@@ -598,7 +598,7 @@ importers:
         version: 9.0.8
       '@vitejs/plugin-vue':
         specifier: 5.0.4
-        version: 5.0.4(vite@5.2.11(@types/node@20.12.7)(sass@1.75.0)(stylus@0.57.0)(terser@5.27.0))(vue@3.4.27(typescript@5.4.5))
+        version: 5.0.4(vite@5.2.11(@types/node@20.12.7)(sass@1.77.1)(stylus@0.57.0)(terser@5.27.0))(vue@3.4.27(typescript@5.4.5))
       '@vue/runtime-core':
         specifier: 3.4.27
         version: 3.4.27
@@ -714,8 +714,8 @@ importers:
         specifier: 1.1.2
         version: 1.1.2
       sass:
-        specifier: 1.75.0
-        version: 1.75.0
+        specifier: 1.77.1
+        version: 1.77.1
       seedrandom:
         specifier: 3.0.5
         version: 3.0.5
@@ -754,10 +754,10 @@ importers:
         version: 9.0.1
       vite:
         specifier: 5.2.11
-        version: 5.2.11(@types/node@20.12.7)(sass@1.75.0)(stylus@0.57.0)(terser@5.27.0)
+        version: 5.2.11(@types/node@20.12.7)(sass@1.77.1)(stylus@0.57.0)(terser@5.27.0)
       vite-plugin-compression:
         specifier: ^0.5.1
-        version: 0.5.1(vite@5.2.11(@types/node@20.12.7)(sass@1.75.0)(stylus@0.57.0)(terser@5.27.0))
+        version: 0.5.1(vite@5.2.11(@types/node@20.12.7)(sass@1.77.1)(stylus@0.57.0)(terser@5.27.0))
       vue:
         specifier: 3.4.27
         version: 3.4.27(typescript@5.4.5)
@@ -946,10 +946,10 @@ importers:
         version: 6.2.1
       vite:
         specifier: 5.2.11
-        version: 5.2.11(@types/node@20.12.7)(sass@1.75.0)(stylus@0.57.0)(terser@5.27.0)
+        version: 5.2.11(@types/node@20.12.7)(sass@1.77.1)(stylus@0.57.0)(terser@5.27.0)
       vite-plugin-compression:
         specifier: ^0.5.1
-        version: 0.5.1(vite@5.2.11(@types/node@20.12.7)(sass@1.75.0)(stylus@0.57.0)(terser@5.27.0))
+        version: 0.5.1(vite@5.2.11(@types/node@20.12.7)(sass@1.77.1)(stylus@0.57.0)(terser@5.27.0))
 
 packages:
 
@@ -7310,8 +7310,8 @@ packages:
   sanitize-html@2.13.0:
     resolution: {integrity: sha512-Xff91Z+4Mz5QiNSLdLWwjgBDm5b1RU6xBT0+12rapjiaR7SwfRdjw8f+6Rir2MXKLrDicRFHdb51hGOAxmsUIA==}
 
-  sass@1.75.0:
-    resolution: {integrity: sha512-ShMYi3WkrDWxExyxSZPst4/okE9ts46xZmJDSawJQrnte7M1V9fScVB+uNXOVKRBt0PggHOwoZcn8mYX4trnBw==}
+  sass@1.77.1:
+    resolution: {integrity: sha512-OMEyfirt9XEfyvocduUIOlUSkWOXS/LAt6oblR/ISXCTukyavjex+zQNm51pPCOiFKY1QpWvEH1EeCkgyV3I6w==}
     engines: {node: '>=14.0.0'}
     hasBin: true
 
@@ -10862,9 +10862,9 @@ snapshots:
       '@typescript-eslint/types': 6.21.0
       eslint-visitor-keys: 3.4.3
 
-  '@vitejs/plugin-vue@5.0.4(vite@5.2.11(@types/node@20.12.7)(sass@1.75.0)(stylus@0.57.0)(terser@5.27.0))(vue@3.4.27(typescript@5.4.5))':
+  '@vitejs/plugin-vue@5.0.4(vite@5.2.11(@types/node@20.12.7)(sass@1.77.1)(stylus@0.57.0)(terser@5.27.0))(vue@3.4.27(typescript@5.4.5))':
     dependencies:
-      vite: 5.2.11(@types/node@20.12.7)(sass@1.75.0)(stylus@0.57.0)(terser@5.27.0)
+      vite: 5.2.11(@types/node@20.12.7)(sass@1.77.1)(stylus@0.57.0)(terser@5.27.0)
       vue: 3.4.27(typescript@5.4.5)
 
   '@volar/language-core@2.2.0-alpha.10':
@@ -15535,7 +15535,7 @@ snapshots:
     dependencies:
       nanoid: 3.3.6
       picocolors: 1.0.0
-      source-map-js: 1.0.2
+      source-map-js: 1.2.0
 
   postcss@8.4.35:
     dependencies:
@@ -16033,7 +16033,7 @@ snapshots:
       parse-srcset: 1.0.2
       postcss: 8.4.35
 
-  sass@1.75.0:
+  sass@1.77.1:
     dependencies:
       chokidar: 3.6.0
       immutable: 4.3.5
@@ -16917,16 +16917,16 @@ snapshots:
       core-util-is: 1.0.2
       extsprintf: 1.3.0
 
-  vite-plugin-compression@0.5.1(vite@5.2.11(@types/node@20.12.7)(sass@1.75.0)(stylus@0.57.0)(terser@5.27.0)):
+  vite-plugin-compression@0.5.1(vite@5.2.11(@types/node@20.12.7)(sass@1.77.1)(stylus@0.57.0)(terser@5.27.0)):
     dependencies:
       chalk: 4.1.2
       debug: 4.3.4(supports-color@8.1.1)
       fs-extra: 10.1.0
-      vite: 5.2.11(@types/node@20.12.7)(sass@1.75.0)(stylus@0.57.0)(terser@5.27.0)
+      vite: 5.2.11(@types/node@20.12.7)(sass@1.77.1)(stylus@0.57.0)(terser@5.27.0)
     transitivePeerDependencies:
       - supports-color
 
-  vite@5.2.11(@types/node@20.12.7)(sass@1.75.0)(stylus@0.57.0)(terser@5.27.0):
+  vite@5.2.11(@types/node@20.12.7)(sass@1.77.1)(stylus@0.57.0)(terser@5.27.0):
     dependencies:
       esbuild: 0.20.2
       postcss: 8.4.38
@@ -16934,7 +16934,7 @@ snapshots:
     optionalDependencies:
       '@types/node': 20.12.7
       fsevents: 2.3.3
-      sass: 1.75.0
+      sass: 1.77.1
       stylus: 0.57.0
       terser: 5.27.0