diff --git a/package-lock.json b/package-lock.json
index d36a1da95..08df783fa 100644
--- a/package-lock.json
+++ b/package-lock.json
@@ -27,7 +27,7 @@
                 "conventional-changelog-conventionalcommits": "^8.0.0",
                 "semantic-release": "^24.2.1",
                 "shx": "^0.3.4",
-                "svelte": "^4.2.19",
+                "svelte": "^5.16.1",
                 "typescript": "^5.7.2",
                 "vitest": "^2.1.4"
             }
@@ -1231,6 +1231,40 @@
                 "eslint": "^8.56.0"
             }
         },
+        "node_modules/@lars-reimann/eslint-config-svelte/node_modules/axobject-query": {
+            "version": "4.1.0",
+            "resolved": "https://registry.npmjs.org/axobject-query/-/axobject-query-4.1.0.tgz",
+            "integrity": "sha512-qIj0G9wZbMGNLjLmg1PT6v2mE9AH2zlnADJD/2tC6E00hgmhUOfEB6greHPAfLRSufHqROIUTkw6E+M3lH0PTQ==",
+            "dev": true,
+            "engines": {
+                "node": ">= 0.4"
+            }
+        },
+        "node_modules/@lars-reimann/eslint-config-svelte/node_modules/svelte": {
+            "version": "4.2.19",
+            "resolved": "https://registry.npmjs.org/svelte/-/svelte-4.2.19.tgz",
+            "integrity": "sha512-IY1rnGr6izd10B0A8LqsBfmlT5OILVuZ7XsI0vdGPEvuonFV7NYEUK4dAkm9Zg2q0Um92kYjTpS1CAP3Nh/KWw==",
+            "dev": true,
+            "dependencies": {
+                "@ampproject/remapping": "^2.2.1",
+                "@jridgewell/sourcemap-codec": "^1.4.15",
+                "@jridgewell/trace-mapping": "^0.3.18",
+                "@types/estree": "^1.0.1",
+                "acorn": "^8.9.0",
+                "aria-query": "^5.3.0",
+                "axobject-query": "^4.0.0",
+                "code-red": "^1.0.3",
+                "css-tree": "^2.3.1",
+                "estree-walker": "^3.0.3",
+                "is-reference": "^3.0.1",
+                "locate-character": "^3.0.0",
+                "magic-string": "^0.30.4",
+                "periscopic": "^3.1.0"
+            },
+            "engines": {
+                "node": ">=16"
+            }
+        },
         "node_modules/@lars-reimann/prettier-config": {
             "version": "5.2.1",
             "resolved": "https://registry.npmjs.org/@lars-reimann/prettier-config/-/prettier-config-5.2.1.tgz",
@@ -2256,6 +2290,18 @@
                 "vite": "^5.0.0"
             }
         },
+        "node_modules/@sveltejs/vite-plugin-svelte/node_modules/svelte-hmr": {
+            "version": "0.16.0",
+            "resolved": "https://registry.npmjs.org/svelte-hmr/-/svelte-hmr-0.16.0.tgz",
+            "integrity": "sha512-Gyc7cOS3VJzLlfj7wKS0ZnzDVdv3Pn2IuVeJPk9m2skfhcu5bq3wtIZyQGggr7/Iim5rH5cncyQft/kRLupcnA==",
+            "dev": true,
+            "engines": {
+                "node": "^12.20 || ^14.13.1 || >= 16"
+            },
+            "peerDependencies": {
+                "svelte": "^3.19.0 || ^4.0.0"
+            }
+        },
         "node_modules/@tsconfig/svelte": {
             "version": "5.0.4",
             "resolved": "https://registry.npmjs.org/@tsconfig/svelte/-/svelte-5.0.4.tgz",
@@ -3075,9 +3121,9 @@
             "dev": true
         },
         "node_modules/acorn": {
-            "version": "8.11.3",
-            "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.11.3.tgz",
-            "integrity": "sha512-Y9rRfJG5jcKOE0CLisYbojUjIrIEE7AGMzA/Sm4BslANhbS+cDMpgBdcPT91oJ7OuJ9hYJBx59RjbhxVnrF8Xg==",
+            "version": "8.14.0",
+            "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.14.0.tgz",
+            "integrity": "sha512-cl669nCJTZBsL97OF4kUQm5g5hC2uihk0NxY3WENAC0TYdILVkAyHymAntgxGkl7K+t0cXIrH5siy5S4XkFycA==",
             "dev": true,
             "bin": {
                 "acorn": "bin/acorn"
@@ -3095,6 +3141,15 @@
                 "acorn": "^6.0.0 || ^7.0.0 || ^8.0.0"
             }
         },
+        "node_modules/acorn-typescript": {
+            "version": "1.4.13",
+            "resolved": "https://registry.npmjs.org/acorn-typescript/-/acorn-typescript-1.4.13.tgz",
+            "integrity": "sha512-xsc9Xv0xlVfwp2o7sQ+GCQ1PgbkdcpWdTzrwXxO3xDMTAywVS3oXVOcOHuRjAPkS4P9b+yc/qNF15460v+jp4Q==",
+            "dev": true,
+            "peerDependencies": {
+                "acorn": ">=8.9.0"
+            }
+        },
         "node_modules/agent-base": {
             "version": "7.1.1",
             "resolved": "https://registry.npmjs.org/agent-base/-/agent-base-7.1.1.tgz",
@@ -3218,12 +3273,12 @@
             "dev": true
         },
         "node_modules/aria-query": {
-            "version": "5.3.0",
-            "resolved": "https://registry.npmjs.org/aria-query/-/aria-query-5.3.0.tgz",
-            "integrity": "sha512-b0P0sZPKtyu8HkeRAfCq0IfURZK+SuwMjY1UXGBU27wpAiTwQAIlq56IbIO+ytk/JjS1fMR14ee5WBBfKi5J6A==",
+            "version": "5.3.2",
+            "resolved": "https://registry.npmjs.org/aria-query/-/aria-query-5.3.2.tgz",
+            "integrity": "sha512-COROpnaoap1E2F000S62r6A60uHZnmlvomhfyT2DlTcrY1OrBKn2UhH7qn5wTC9zMvD0AY7csdPSNwKP+7WiQw==",
             "dev": true,
-            "dependencies": {
-                "dequal": "^2.0.3"
+            "engines": {
+                "node": ">= 0.4"
             }
         },
         "node_modules/array-buffer-byte-length": {
@@ -4033,6 +4088,15 @@
                 "url": "https://github.com/chalk/wrap-ansi?sponsor=1"
             }
         },
+        "node_modules/clsx": {
+            "version": "2.1.1",
+            "resolved": "https://registry.npmjs.org/clsx/-/clsx-2.1.1.tgz",
+            "integrity": "sha512-eYm0QWBtUrBWZWG0d386OGAw16Z995PiOVo2B7bjWSbHedGl5e0ZWaq65kOGgUSNesEIDkB9ISbTg/JK9dhCZA==",
+            "dev": true,
+            "engines": {
+                "node": ">=6"
+            }
+        },
         "node_modules/cockatiel": {
             "version": "3.1.2",
             "resolved": "https://registry.npmjs.org/cockatiel/-/cockatiel-3.1.2.tgz",
@@ -4513,6 +4577,7 @@
             "resolved": "https://registry.npmjs.org/dequal/-/dequal-2.0.3.tgz",
             "integrity": "sha512-0je+qPKHEMohvfRTCEo3CrPG6cAzAYgmzKyxRiYSSDkS6eGJdyVJm7WaYA5ECaAD9wLB2T4EEeymA5aFVcYXCA==",
             "dev": true,
+            "peer": true,
             "engines": {
                 "node": ">=6"
             }
@@ -5809,6 +5874,12 @@
                 "node": ">=8"
             }
         },
+        "node_modules/esm-env": {
+            "version": "1.2.1",
+            "resolved": "https://registry.npmjs.org/esm-env/-/esm-env-1.2.1.tgz",
+            "integrity": "sha512-U9JedYYjCnadUlXk7e1Kr+aENQhtUaoaV9+gZm1T8LC/YBAPJx3NSPIAurFOC0U5vrdSevnUJS2/wUVxGwPhng==",
+            "dev": true
+        },
         "node_modules/espree": {
             "version": "9.6.1",
             "resolved": "https://registry.npmjs.org/espree/-/espree-9.6.1.tgz",
@@ -5839,6 +5910,15 @@
                 "node": ">=0.10"
             }
         },
+        "node_modules/esrap": {
+            "version": "1.3.2",
+            "resolved": "https://registry.npmjs.org/esrap/-/esrap-1.3.2.tgz",
+            "integrity": "sha512-C4PXusxYhFT98GjLSmb20k9PREuUdporer50dhzGuJu9IJXktbMddVCMLAERl5dAHyAi73GWWCE4FVHGP1794g==",
+            "dev": true,
+            "dependencies": {
+                "@jridgewell/sourcemap-codec": "^1.4.15"
+            }
+        },
         "node_modules/esrecurse": {
             "version": "4.3.0",
             "resolved": "https://registry.npmjs.org/esrecurse/-/esrecurse-4.3.0.tgz",
@@ -7089,14 +7169,20 @@
             }
         },
         "node_modules/is-reference": {
-            "version": "3.0.2",
-            "resolved": "https://registry.npmjs.org/is-reference/-/is-reference-3.0.2.tgz",
-            "integrity": "sha512-v3rht/LgVcsdZa3O2Nqs+NMowLOxeOm7Ay9+/ARQ2F+qEoANRcqrjAZKGN0v8ymUetZGgkp26LTnGT7H0Qo9Pg==",
+            "version": "3.0.3",
+            "resolved": "https://registry.npmjs.org/is-reference/-/is-reference-3.0.3.tgz",
+            "integrity": "sha512-ixkJoqQvAP88E6wLydLGGqCJsrFUnqoH6HnaczB8XmDH1oaWU+xxdptvikTgaEhtZ53Ky6YXiBuUI2WXLMCwjw==",
             "dev": true,
             "dependencies": {
-                "@types/estree": "*"
+                "@types/estree": "^1.0.6"
             }
         },
+        "node_modules/is-reference/node_modules/@types/estree": {
+            "version": "1.0.6",
+            "resolved": "https://registry.npmjs.org/@types/estree/-/estree-1.0.6.tgz",
+            "integrity": "sha512-AYnb1nQyY49te+VRAVgmzfcgjYS91mY5P0TKUDCLEM+gNnA+3T6rWITXRLYCpahpqSQbN5cE+gHpnPyXjHWxcw==",
+            "dev": true
+        },
         "node_modules/is-regex": {
             "version": "1.1.4",
             "resolved": "https://registry.npmjs.org/is-regex/-/is-regex-1.1.4.tgz",
@@ -13236,28 +13322,28 @@
             }
         },
         "node_modules/svelte": {
-            "version": "4.2.19",
-            "resolved": "https://registry.npmjs.org/svelte/-/svelte-4.2.19.tgz",
-            "integrity": "sha512-IY1rnGr6izd10B0A8LqsBfmlT5OILVuZ7XsI0vdGPEvuonFV7NYEUK4dAkm9Zg2q0Um92kYjTpS1CAP3Nh/KWw==",
+            "version": "5.16.1",
+            "resolved": "https://registry.npmjs.org/svelte/-/svelte-5.16.1.tgz",
+            "integrity": "sha512-FsA1OjAKMAFSDob6j/Tv2ZV9rY4SeqPd1WXQlQkFkePAozSHLp6tbkU9qa1xJ+uTRzMSM2Vx3USdsYZBXd3H3g==",
             "dev": true,
             "dependencies": {
-                "@ampproject/remapping": "^2.2.1",
-                "@jridgewell/sourcemap-codec": "^1.4.15",
-                "@jridgewell/trace-mapping": "^0.3.18",
-                "@types/estree": "^1.0.1",
-                "acorn": "^8.9.0",
-                "aria-query": "^5.3.0",
-                "axobject-query": "^4.0.0",
-                "code-red": "^1.0.3",
-                "css-tree": "^2.3.1",
-                "estree-walker": "^3.0.3",
-                "is-reference": "^3.0.1",
+                "@ampproject/remapping": "^2.3.0",
+                "@jridgewell/sourcemap-codec": "^1.5.0",
+                "@types/estree": "^1.0.5",
+                "acorn": "^8.12.1",
+                "acorn-typescript": "^1.4.13",
+                "aria-query": "^5.3.1",
+                "axobject-query": "^4.1.0",
+                "clsx": "^2.1.1",
+                "esm-env": "^1.2.1",
+                "esrap": "^1.3.2",
+                "is-reference": "^3.0.3",
                 "locate-character": "^3.0.0",
-                "magic-string": "^0.30.4",
-                "periscopic": "^3.1.0"
+                "magic-string": "^0.30.11",
+                "zimmerframe": "^1.1.2"
             },
             "engines": {
-                "node": ">=16"
+                "node": ">=18"
             }
         },
         "node_modules/svelte-check": {
@@ -13367,30 +13453,18 @@
                 }
             }
         },
-        "node_modules/svelte-hmr": {
-            "version": "0.16.0",
-            "resolved": "https://registry.npmjs.org/svelte-hmr/-/svelte-hmr-0.16.0.tgz",
-            "integrity": "sha512-Gyc7cOS3VJzLlfj7wKS0ZnzDVdv3Pn2IuVeJPk9m2skfhcu5bq3wtIZyQGggr7/Iim5rH5cncyQft/kRLupcnA==",
-            "dev": true,
-            "engines": {
-                "node": "^12.20 || ^14.13.1 || >= 16"
-            },
-            "peerDependencies": {
-                "svelte": "^3.19.0 || ^4.0.0"
-            }
-        },
         "node_modules/svelte-svg": {
             "version": "0.0.7",
             "resolved": "https://registry.npmjs.org/svelte-svg/-/svelte-svg-0.0.7.tgz",
             "integrity": "sha512-L1jcV8fTFoBXekJSN7JdTAhctnBz6iQ90RAFEO6HnB2LbWnv1wSFW+yU4Ps1e+ifUit1SFMhkR5tUq2GPQ/muQ=="
         },
         "node_modules/svelte/node_modules/axobject-query": {
-            "version": "4.0.0",
-            "resolved": "https://registry.npmjs.org/axobject-query/-/axobject-query-4.0.0.tgz",
-            "integrity": "sha512-+60uv1hiVFhHZeO+Lz0RYzsVHy5Wr1ayX0mwda9KPDVLNJgZ1T9Ny7VmFbLDzxsH0D87I86vgj3gFrjTJUYznw==",
+            "version": "4.1.0",
+            "resolved": "https://registry.npmjs.org/axobject-query/-/axobject-query-4.1.0.tgz",
+            "integrity": "sha512-qIj0G9wZbMGNLjLmg1PT6v2mE9AH2zlnADJD/2tC6E00hgmhUOfEB6greHPAfLRSufHqROIUTkw6E+M3lH0PTQ==",
             "dev": true,
-            "dependencies": {
-                "dequal": "^2.0.3"
+            "engines": {
+                "node": ">= 0.4"
             }
         },
         "node_modules/tar-fs": {
@@ -14961,6 +15035,12 @@
                 "url": "https://github.com/sponsors/sindresorhus"
             }
         },
+        "node_modules/zimmerframe": {
+            "version": "1.1.2",
+            "resolved": "https://registry.npmjs.org/zimmerframe/-/zimmerframe-1.1.2.tgz",
+            "integrity": "sha512-rAbqEGa8ovJy4pyBxZM70hg4pE6gDgaQ0Sl9M3enG3I0d6H4XSAM3GeNGLKnsBpuijUow064sf7ww1nutC5/3w==",
+            "dev": true
+        },
         "packages/safe-ds-cli": {
             "name": "@safe-ds/cli",
             "version": "0.22.0",
diff --git a/package.json b/package.json
index abf5de09b..9aa3f48c7 100644
--- a/package.json
+++ b/package.json
@@ -30,7 +30,7 @@
         "conventional-changelog-conventionalcommits": "^8.0.0",
         "semantic-release": "^24.2.1",
         "shx": "^0.3.4",
-        "svelte": "^4.2.19",
+        "svelte": "^5.16.1",
         "typescript": "^5.7.2",
         "vitest": "^2.1.4"
     },