diff --git a/.gitignore b/.gitignore
index ca5a347..4fdbf89 100644
--- a/.gitignore
+++ b/.gitignore
@@ -40,8 +40,14 @@ build/Release
# Dependency directories
node_modules/
+*/node_modules/
jspm_packages/
+# SvelteKit generated files, can be ignored
+# See https://svelte.dev/docs/kit/project-structure#Other-files-.svelte-kit
+.svelte-kit/
+*/.svelte-kit/
+
# Snowpack dependency directory (https://snowpack.dev/)
web_modules/
diff --git a/frontend/.svelte-kit/ambient.d.ts b/frontend/.svelte-kit/ambient.d.ts
deleted file mode 100644
index 6a50ddc..0000000
--- a/frontend/.svelte-kit/ambient.d.ts
+++ /dev/null
@@ -1,223 +0,0 @@
-
-// this file is generated — do not edit it
-
-
-///
-
-/**
- * Environment variables [loaded by Vite](https://vitejs.dev/guide/env-and-mode.html#env-files) from `.env` files and `process.env`. Like [`$env/dynamic/private`](https://svelte.dev/docs/kit/$env-dynamic-private), this module cannot be imported into client-side code. This module only includes variables that _do not_ begin with [`config.kit.env.publicPrefix`](https://svelte.dev/docs/kit/configuration#env) _and do_ start with [`config.kit.env.privatePrefix`](https://svelte.dev/docs/kit/configuration#env) (if configured).
- *
- * _Unlike_ [`$env/dynamic/private`](https://svelte.dev/docs/kit/$env-dynamic-private), the values exported from this module are statically injected into your bundle at build time, enabling optimisations like dead code elimination.
- *
- * ```ts
- * import { API_KEY } from '$env/static/private';
- * ```
- *
- * Note that all environment variables referenced in your code should be declared (for example in an `.env` file), even if they don't have a value until the app is deployed:
- *
- * ```
- * MY_FEATURE_FLAG=""
- * ```
- *
- * You can override `.env` values from the command line like so:
- *
- * ```bash
- * MY_FEATURE_FLAG="enabled" npm run dev
- * ```
- */
-declare module '$env/static/private' {
- export const timezone: string;
- export const MANPATH: string;
- export const DEVKITPPC: string;
- export const TERM_PROGRAM: string;
- export const DEVKITARM: string;
- export const NODE: string;
- export const INIT_CWD: string;
- export const TERM: string;
- export const SHELL: string;
- export const HOMEBREW_REPOSITORY: string;
- export const TMPDIR: string;
- export const npm_config_global_prefix: string;
- export const TERM_PROGRAM_VERSION: string;
- export const ZDOTDIR: string;
- export const FIG_NEW_SESSION: string;
- export const ORIGINAL_XDG_CURRENT_DESKTOP: string;
- export const MallocNanoZone: string;
- export const COLOR: string;
- export const npm_config_noproxy: string;
- export const npm_config_local_prefix: string;
- export const PNPM_HOME: string;
- export const USER: string;
- export const COMMAND_MODE: string;
- export const npm_config_globalconfig: string;
- export const DEVKITPRO: string;
- export const CHROME_EXECUTABLE: string;
- export const SSH_AUTH_SOCK: string;
- export const __CF_USER_TEXT_ENCODING: string;
- export const npm_execpath: string;
- export const PATH: string;
- export const npm_package_json: string;
- export const npm_config_engine_strict: string;
- export const _: string;
- export const npm_config_userconfig: string;
- export const npm_config_init_module: string;
- export const USER_ZDOTDIR: string;
- export const __CFBundleIdentifier: string;
- export const npm_command: string;
- export const PWD: string;
- export const npm_lifecycle_event: string;
- export const EDITOR: string;
- export const npm_package_name: string;
- export const LANG: string;
- export const npm_config_npm_version: string;
- export const VSCODE_GIT_ASKPASS_EXTRA_ARGS: string;
- export const XPC_FLAGS: string;
- export const npm_config_node_gyp: string;
- export const npm_package_version: string;
- export const XPC_SERVICE_NAME: string;
- export const VSCODE_INJECTION: string;
- export const SHLVL: string;
- export const HOME: string;
- export const VSCODE_GIT_ASKPASS_MAIN: string;
- export const THEOS: string;
- export const ATUIN_HISTORY_ID: string;
- export const HOMEBREW_PREFIX: string;
- export const npm_config_cache: string;
- export const LOGNAME: string;
- export const npm_lifecycle_script: string;
- export const ATUIN_SESSION: string;
- export const VSCODE_GIT_IPC_HANDLE: string;
- export const npm_config_user_agent: string;
- export const VSCODE_GIT_ASKPASS_NODE: string;
- export const GIT_ASKPASS: string;
- export const INFOPATH: string;
- export const HOMEBREW_CELLAR: string;
- export const DISPLAY: string;
- export const npm_node_execpath: string;
- export const npm_config_prefix: string;
- export const COLORTERM: string;
- export const NODE_ENV: string;
-}
-
-/**
- * Similar to [`$env/static/private`](https://svelte.dev/docs/kit/$env-static-private), except that it only includes environment variables that begin with [`config.kit.env.publicPrefix`](https://svelte.dev/docs/kit/configuration#env) (which defaults to `PUBLIC_`), and can therefore safely be exposed to client-side code.
- *
- * Values are replaced statically at build time.
- *
- * ```ts
- * import { PUBLIC_BASE_URL } from '$env/static/public';
- * ```
- */
-declare module '$env/static/public' {
-
-}
-
-/**
- * This module provides access to runtime environment variables, as defined by the platform you're running on. For example if you're using [`adapter-node`](https://github.com/sveltejs/kit/tree/main/packages/adapter-node) (or running [`vite preview`](https://svelte.dev/docs/kit/cli)), this is equivalent to `process.env`. This module only includes variables that _do not_ begin with [`config.kit.env.publicPrefix`](https://svelte.dev/docs/kit/configuration#env) _and do_ start with [`config.kit.env.privatePrefix`](https://svelte.dev/docs/kit/configuration#env) (if configured).
- *
- * This module cannot be imported into client-side code.
- *
- * Dynamic environment variables cannot be used during prerendering.
- *
- * ```ts
- * import { env } from '$env/dynamic/private';
- * console.log(env.DEPLOYMENT_SPECIFIC_VARIABLE);
- * ```
- *
- * > In `dev`, `$env/dynamic` always includes environment variables from `.env`. In `prod`, this behavior will depend on your adapter.
- */
-declare module '$env/dynamic/private' {
- export const env: {
- timezone: string;
- MANPATH: string;
- DEVKITPPC: string;
- TERM_PROGRAM: string;
- DEVKITARM: string;
- NODE: string;
- INIT_CWD: string;
- TERM: string;
- SHELL: string;
- HOMEBREW_REPOSITORY: string;
- TMPDIR: string;
- npm_config_global_prefix: string;
- TERM_PROGRAM_VERSION: string;
- ZDOTDIR: string;
- FIG_NEW_SESSION: string;
- ORIGINAL_XDG_CURRENT_DESKTOP: string;
- MallocNanoZone: string;
- COLOR: string;
- npm_config_noproxy: string;
- npm_config_local_prefix: string;
- PNPM_HOME: string;
- USER: string;
- COMMAND_MODE: string;
- npm_config_globalconfig: string;
- DEVKITPRO: string;
- CHROME_EXECUTABLE: string;
- SSH_AUTH_SOCK: string;
- __CF_USER_TEXT_ENCODING: string;
- npm_execpath: string;
- PATH: string;
- npm_package_json: string;
- npm_config_engine_strict: string;
- _: string;
- npm_config_userconfig: string;
- npm_config_init_module: string;
- USER_ZDOTDIR: string;
- __CFBundleIdentifier: string;
- npm_command: string;
- PWD: string;
- npm_lifecycle_event: string;
- EDITOR: string;
- npm_package_name: string;
- LANG: string;
- npm_config_npm_version: string;
- VSCODE_GIT_ASKPASS_EXTRA_ARGS: string;
- XPC_FLAGS: string;
- npm_config_node_gyp: string;
- npm_package_version: string;
- XPC_SERVICE_NAME: string;
- VSCODE_INJECTION: string;
- SHLVL: string;
- HOME: string;
- VSCODE_GIT_ASKPASS_MAIN: string;
- THEOS: string;
- ATUIN_HISTORY_ID: string;
- HOMEBREW_PREFIX: string;
- npm_config_cache: string;
- LOGNAME: string;
- npm_lifecycle_script: string;
- ATUIN_SESSION: string;
- VSCODE_GIT_IPC_HANDLE: string;
- npm_config_user_agent: string;
- VSCODE_GIT_ASKPASS_NODE: string;
- GIT_ASKPASS: string;
- INFOPATH: string;
- HOMEBREW_CELLAR: string;
- DISPLAY: string;
- npm_node_execpath: string;
- npm_config_prefix: string;
- COLORTERM: string;
- NODE_ENV: string;
- [key: `PUBLIC_${string}`]: undefined;
- [key: `${string}`]: string | undefined;
- }
-}
-
-/**
- * Similar to [`$env/dynamic/private`](https://svelte.dev/docs/kit/$env-dynamic-private), but only includes variables that begin with [`config.kit.env.publicPrefix`](https://svelte.dev/docs/kit/configuration#env) (which defaults to `PUBLIC_`), and can therefore safely be exposed to client-side code.
- *
- * Note that public dynamic environment variables must all be sent from the server to the client, causing larger network requests — when possible, use `$env/static/public` instead.
- *
- * Dynamic environment variables cannot be used during prerendering.
- *
- * ```ts
- * import { env } from '$env/dynamic/public';
- * console.log(env.PUBLIC_DEPLOYMENT_SPECIFIC_VARIABLE);
- * ```
- */
-declare module '$env/dynamic/public' {
- export const env: {
- [key: `PUBLIC_${string}`]: string | undefined;
- }
-}
diff --git a/frontend/.svelte-kit/generated/client/app.js b/frontend/.svelte-kit/generated/client/app.js
deleted file mode 100644
index b0d1237..0000000
--- a/frontend/.svelte-kit/generated/client/app.js
+++ /dev/null
@@ -1,28 +0,0 @@
-export { matchers } from './matchers.js';
-
-export const nodes = [
- () => import('./nodes/0'),
- () => import('./nodes/1'),
- () => import('./nodes/2')
-];
-
-export const server_loads = [];
-
-export const dictionary = {
- "/": [2]
- };
-
-export const hooks = {
- handleError: (({ error }) => { console.error(error) }),
-
- reroute: (() => {}),
- transport: {}
-};
-
-export const decoders = Object.fromEntries(Object.entries(hooks.transport).map(([k, v]) => [k, v.decode]));
-
-export const hash = false;
-
-export const decode = (type, value) => decoders[type](value);
-
-export { default as root } from '../root.js';
\ No newline at end of file
diff --git a/frontend/.svelte-kit/generated/client/matchers.js b/frontend/.svelte-kit/generated/client/matchers.js
deleted file mode 100644
index f6bd30a..0000000
--- a/frontend/.svelte-kit/generated/client/matchers.js
+++ /dev/null
@@ -1 +0,0 @@
-export const matchers = {};
\ No newline at end of file
diff --git a/frontend/.svelte-kit/generated/client/nodes/0.js b/frontend/.svelte-kit/generated/client/nodes/0.js
deleted file mode 100644
index f02ab1d..0000000
--- a/frontend/.svelte-kit/generated/client/nodes/0.js
+++ /dev/null
@@ -1 +0,0 @@
-export { default as component } from "../../../../node_modules/@sveltejs/kit/src/runtime/components/svelte-5/layout.svelte";
\ No newline at end of file
diff --git a/frontend/.svelte-kit/generated/client/nodes/1.js b/frontend/.svelte-kit/generated/client/nodes/1.js
deleted file mode 100644
index bf58bad..0000000
--- a/frontend/.svelte-kit/generated/client/nodes/1.js
+++ /dev/null
@@ -1 +0,0 @@
-export { default as component } from "../../../../node_modules/@sveltejs/kit/src/runtime/components/svelte-5/error.svelte";
\ No newline at end of file
diff --git a/frontend/.svelte-kit/generated/client/nodes/2.js b/frontend/.svelte-kit/generated/client/nodes/2.js
deleted file mode 100644
index 1cb4f85..0000000
--- a/frontend/.svelte-kit/generated/client/nodes/2.js
+++ /dev/null
@@ -1 +0,0 @@
-export { default as component } from "../../../../src/routes/+page.svelte";
\ No newline at end of file
diff --git a/frontend/.svelte-kit/generated/root.js b/frontend/.svelte-kit/generated/root.js
deleted file mode 100644
index 4d1e892..0000000
--- a/frontend/.svelte-kit/generated/root.js
+++ /dev/null
@@ -1,3 +0,0 @@
-import { asClassComponent } from 'svelte/legacy';
-import Root from './root.svelte';
-export default asClassComponent(Root);
\ No newline at end of file
diff --git a/frontend/.svelte-kit/generated/root.svelte b/frontend/.svelte-kit/generated/root.svelte
deleted file mode 100644
index 8f82bae..0000000
--- a/frontend/.svelte-kit/generated/root.svelte
+++ /dev/null
@@ -1,66 +0,0 @@
-
-
-
-
-{#if constructors[1]}
- {@const Pyramid_0 = constructors[0]}
-
-
-
-
-
-
-{:else}
- {@const Pyramid_0 = constructors[0]}
-
-
-
-{/if}
-
-{#if mounted}
-
- {#if navigated}
- {title}
- {/if}
-
-{/if}
\ No newline at end of file
diff --git a/frontend/.svelte-kit/generated/server/internal.js b/frontend/.svelte-kit/generated/server/internal.js
deleted file mode 100644
index 3ff1b68..0000000
--- a/frontend/.svelte-kit/generated/server/internal.js
+++ /dev/null
@@ -1,48 +0,0 @@
-
-import root from '../root.js';
-import { set_building, set_prerendering } from '__sveltekit/environment';
-import { set_assets } from '__sveltekit/paths';
-import { set_manifest, set_read_implementation } from '__sveltekit/server';
-import { set_private_env, set_public_env, set_safe_public_env } from '../../../node_modules/@sveltejs/kit/src/runtime/shared-server.js';
-
-export const options = {
- app_template_contains_nonce: false,
- csp: {"mode":"auto","directives":{"upgrade-insecure-requests":false,"block-all-mixed-content":false},"reportOnly":{"upgrade-insecure-requests":false,"block-all-mixed-content":false}},
- csrf_check_origin: true,
- embedded: false,
- env_public_prefix: 'PUBLIC_',
- env_private_prefix: '',
- hash_routing: false,
- hooks: null, // added lazily, via `get_hooks`
- preload_strategy: "modulepreload",
- root,
- service_worker: false,
- templates: {
- app: ({ head, body, assets, nonce, env }) => "\n\n\t\n\t\t\n\t\t\n\t\t\n\t\t" + head + "\n\t\n\t\n\t\t" + body + "
\n\t\n\n",
- error: ({ status, message }) => "\n\n\t\n\t\t\n\t\t" + message + "\n\n\t\t\n\t\n\t\n\t\t\n\t\t\t
" + status + "\n\t\t\t
\n\t\t\t\t
" + message + "
\n\t\t\t\n\t\t
\n\t\n\n"
- },
- version_hash: "cdsydz"
-};
-
-export async function get_hooks() {
- let handle;
- let handleFetch;
- let handleError;
- let init;
-
-
- let reroute;
- let transport;
-
-
- return {
- handle,
- handleFetch,
- handleError,
- init,
- reroute,
- transport
- };
-}
-
-export { set_assets, set_building, set_manifest, set_prerendering, set_private_env, set_public_env, set_read_implementation, set_safe_public_env };
diff --git a/frontend/.svelte-kit/non-ambient.d.ts b/frontend/.svelte-kit/non-ambient.d.ts
deleted file mode 100644
index 46bd7fb..0000000
--- a/frontend/.svelte-kit/non-ambient.d.ts
+++ /dev/null
@@ -1,25 +0,0 @@
-
-// this file is generated — do not edit it
-
-
-declare module "svelte/elements" {
- export interface HTMLAttributes {
- 'data-sveltekit-keepfocus'?: true | '' | 'off' | undefined | null;
- 'data-sveltekit-noscroll'?: true | '' | 'off' | undefined | null;
- 'data-sveltekit-preload-code'?:
- | true
- | ''
- | 'eager'
- | 'viewport'
- | 'hover'
- | 'tap'
- | 'off'
- | undefined
- | null;
- 'data-sveltekit-preload-data'?: true | '' | 'hover' | 'tap' | 'off' | undefined | null;
- 'data-sveltekit-reload'?: true | '' | 'off' | undefined | null;
- 'data-sveltekit-replacestate'?: true | '' | 'off' | undefined | null;
- }
-}
-
-export {};
diff --git a/frontend/.svelte-kit/tsconfig.json b/frontend/.svelte-kit/tsconfig.json
deleted file mode 100644
index a2a7665..0000000
--- a/frontend/.svelte-kit/tsconfig.json
+++ /dev/null
@@ -1,49 +0,0 @@
-{
- "compilerOptions": {
- "paths": {
- "$lib": [
- "../src/lib"
- ],
- "$lib/*": [
- "../src/lib/*"
- ]
- },
- "rootDirs": [
- "..",
- "./types"
- ],
- "verbatimModuleSyntax": true,
- "isolatedModules": true,
- "lib": [
- "esnext",
- "DOM",
- "DOM.Iterable"
- ],
- "moduleResolution": "bundler",
- "module": "esnext",
- "noEmit": true,
- "target": "esnext"
- },
- "include": [
- "ambient.d.ts",
- "non-ambient.d.ts",
- "./types/**/$types.d.ts",
- "../vite.config.js",
- "../vite.config.ts",
- "../src/**/*.js",
- "../src/**/*.ts",
- "../src/**/*.svelte",
- "../tests/**/*.js",
- "../tests/**/*.ts",
- "../tests/**/*.svelte"
- ],
- "exclude": [
- "../node_modules/**",
- "../src/service-worker.js",
- "../src/service-worker/**/*.js",
- "../src/service-worker.ts",
- "../src/service-worker/**/*.ts",
- "../src/service-worker.d.ts",
- "../src/service-worker/**/*.d.ts"
- ]
-}
\ No newline at end of file
diff --git a/frontend/.svelte-kit/types/route_meta_data.json b/frontend/.svelte-kit/types/route_meta_data.json
deleted file mode 100644
index a96ec02..0000000
--- a/frontend/.svelte-kit/types/route_meta_data.json
+++ /dev/null
@@ -1,3 +0,0 @@
-{
- "/": []
-}
\ No newline at end of file
diff --git a/frontend/.svelte-kit/types/src/routes/$types.d.ts b/frontend/.svelte-kit/types/src/routes/$types.d.ts
deleted file mode 100644
index 9e82d29..0000000
--- a/frontend/.svelte-kit/types/src/routes/$types.d.ts
+++ /dev/null
@@ -1,24 +0,0 @@
-import type * as Kit from '@sveltejs/kit';
-
-type Expand = T extends infer O ? { [K in keyof O]: O[K] } : never;
-// @ts-ignore
-type MatcherParam = M extends (param : string) => param is infer U ? U extends string ? U : string : string;
-type RouteParams = { };
-type RouteId = '/';
-type MaybeWithVoid = {} extends T ? T | void : T;
-export type RequiredKeys = { [K in keyof T]-?: {} extends { [P in K]: T[K] } ? never : K; }[keyof T];
-type OutputDataShape = MaybeWithVoid> & Partial> & Record>
-type EnsureDefined = T extends null | undefined ? {} : T;
-type OptionalUnion, A extends keyof U = U extends U ? keyof U : never> = U extends unknown ? { [P in Exclude]?: never } & U : never;
-export type Snapshot = Kit.Snapshot;
-type PageParentData = EnsureDefined;
-type LayoutRouteId = RouteId | "/" | null
-type LayoutParams = RouteParams & { }
-type LayoutParentData = EnsureDefined<{}>;
-
-export type PageServerData = null;
-export type PageData = Expand;
-export type PageProps = { data: PageData }
-export type LayoutServerData = null;
-export type LayoutData = Expand;
-export type LayoutProps = { data: LayoutData; children: import("svelte").Snippet }
\ No newline at end of file