diff --git a/src/routes/+layout.ts b/src/routes/+layout.ts
new file mode 100644
index 00000000..52cf5021
--- /dev/null
+++ b/src/routes/+layout.ts
@@ -0,0 +1,34 @@
+/**
+ * Root Layout Load Function
+ *
+ * Creates a QueryClient instance for SSR support with TanStack Query v6.
+ * The QueryClient is created here so it can be used for prefetching in
+ * child page load functions.
+ *
+ * @module routes/+layout
+ */
+
+import type { LayoutLoad } from './$types'
+import { browser } from '$app/environment'
+import { QueryClient } from '@tanstack/svelte-query'
+
+export const load: LayoutLoad = async () => {
+ const queryClient = new QueryClient({
+ defaultOptions: {
+ queries: {
+ // Disable queries on server - they will be prefetched explicitly
+ enabled: browser,
+ // Cache data for 5 minutes before considering it stale
+ staleTime: 1000 * 60 * 5,
+ // Keep unused data in cache for 30 minutes
+ gcTime: 1000 * 60 * 30,
+ // Retry failed requests twice
+ retry: 2,
+ // Don't refetch on window focus by default
+ refetchOnWindowFocus: false
+ }
+ }
+ })
+
+ return { queryClient }
+}
diff --git a/src/routes/teams/[id]/+page.svelte b/src/routes/teams/[id]/+page.svelte
index c5db8ee6..a953737d 100644
--- a/src/routes/teams/[id]/+page.svelte
+++ b/src/routes/teams/[id]/+page.svelte
@@ -1,12 +1,39 @@
-{#if data?.party}
-
+{#if party}
+
{:else}
Party not found