diff --git a/.gitignore b/.gitignore
index 3b462cb..536ad1b 100644
--- a/.gitignore
+++ b/.gitignore
@@ -21,3 +21,6 @@ Thumbs.db
# Vite
vite.config.js.timestamp-*
vite.config.ts.timestamp-*
+
+# npm
+package-lock.json
diff --git a/package.json b/package.json
index e007271..754c9a1 100644
--- a/package.json
+++ b/package.json
@@ -18,6 +18,7 @@
"@eslint/js": "^9.18.0",
"@sveltejs/adapter-auto": "^6.0.0",
"@sveltejs/adapter-static": "^3.0.8",
+ "@sveltejs/enhanced-img": "^0.10.4",
"@sveltejs/kit": "^2.22.0",
"@sveltejs/vite-plugin-svelte": "^6.0.0",
"eslint": "^9.18.0",
diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml
index 49ee22f..0debbb9 100644
--- a/pnpm-lock.yaml
+++ b/pnpm-lock.yaml
@@ -20,6 +20,9 @@ importers:
'@sveltejs/adapter-static':
specifier: ^3.0.8
version: 3.0.10(@sveltejs/kit@2.49.4(@sveltejs/vite-plugin-svelte@6.2.4(svelte@5.46.1)(vite@7.3.1))(svelte@5.46.1)(typescript@5.9.3)(vite@7.3.1))
+ '@sveltejs/enhanced-img':
+ specifier: ^0.10.4
+ version: 0.10.4(@sveltejs/vite-plugin-svelte@6.2.4(svelte@5.46.1)(vite@7.3.1))(rollup@4.55.1)(svelte@5.46.1)(vite@7.3.1)
'@sveltejs/kit':
specifier: ^2.22.0
version: 2.49.4(@sveltejs/vite-plugin-svelte@6.2.4(svelte@5.46.1)(vite@7.3.1))(svelte@5.46.1)(typescript@5.9.3)(vite@7.3.1)
@@ -62,6 +65,9 @@ importers:
packages:
+ '@emnapi/runtime@1.9.2':
+ resolution: {integrity: sha512-3U4+MIWHImeyu1wnmVygh5WlgfYDtyf0k8AbLhMFxOipihf6nrWC4syIm/SwEeec0mNSafiiNnMJwbza/Is6Lw==}
+
'@esbuild/aix-ppc64@0.27.2':
resolution: {integrity: sha512-GZMB+a0mOMZs4MpDbj8RJp4cw+w1WV5NYD6xzgvzUJ5Ek2jerwfO2eADyI6ExDSUED+1X8aMbegahsJi+8mgpw==}
engines: {node: '>=18'}
@@ -281,6 +287,159 @@ packages:
resolution: {integrity: sha512-bV0Tgo9K4hfPCek+aMAn81RppFKv2ySDQeMoSZuvTASywNTnVJCArCZE2FWqpvIatKu7VMRLWlR1EazvVhDyhQ==}
engines: {node: '>=18.18'}
+ '@img/colour@1.1.0':
+ resolution: {integrity: sha512-Td76q7j57o/tLVdgS746cYARfSyxk8iEfRxewL9h4OMzYhbW4TAcppl0mT4eyqXddh6L/jwoM75mo7ixa/pCeQ==}
+ engines: {node: '>=18'}
+
+ '@img/sharp-darwin-arm64@0.34.5':
+ resolution: {integrity: sha512-imtQ3WMJXbMY4fxb/Ndp6HBTNVtWCUI0WdobyheGf5+ad6xX8VIDO8u2xE4qc/fr08CKG/7dDseFtn6M6g/r3w==}
+ engines: {node: ^18.17.0 || ^20.3.0 || >=21.0.0}
+ cpu: [arm64]
+ os: [darwin]
+
+ '@img/sharp-darwin-x64@0.34.5':
+ resolution: {integrity: sha512-YNEFAF/4KQ/PeW0N+r+aVVsoIY0/qxxikF2SWdp+NRkmMB7y9LBZAVqQ4yhGCm/H3H270OSykqmQMKLBhBJDEw==}
+ engines: {node: ^18.17.0 || ^20.3.0 || >=21.0.0}
+ cpu: [x64]
+ os: [darwin]
+
+ '@img/sharp-libvips-darwin-arm64@1.2.4':
+ resolution: {integrity: sha512-zqjjo7RatFfFoP0MkQ51jfuFZBnVE2pRiaydKJ1G/rHZvnsrHAOcQALIi9sA5co5xenQdTugCvtb1cuf78Vf4g==}
+ cpu: [arm64]
+ os: [darwin]
+
+ '@img/sharp-libvips-darwin-x64@1.2.4':
+ resolution: {integrity: sha512-1IOd5xfVhlGwX+zXv2N93k0yMONvUlANylbJw1eTah8K/Jtpi15KC+WSiaX/nBmbm2HxRM1gZ0nSdjSsrZbGKg==}
+ cpu: [x64]
+ os: [darwin]
+
+ '@img/sharp-libvips-linux-arm64@1.2.4':
+ resolution: {integrity: sha512-excjX8DfsIcJ10x1Kzr4RcWe1edC9PquDRRPx3YVCvQv+U5p7Yin2s32ftzikXojb1PIFc/9Mt28/y+iRklkrw==}
+ cpu: [arm64]
+ os: [linux]
+ libc: [glibc]
+
+ '@img/sharp-libvips-linux-arm@1.2.4':
+ resolution: {integrity: sha512-bFI7xcKFELdiNCVov8e44Ia4u2byA+l3XtsAj+Q8tfCwO6BQ8iDojYdvoPMqsKDkuoOo+X6HZA0s0q11ANMQ8A==}
+ cpu: [arm]
+ os: [linux]
+ libc: [glibc]
+
+ '@img/sharp-libvips-linux-ppc64@1.2.4':
+ resolution: {integrity: sha512-FMuvGijLDYG6lW+b/UvyilUWu5Ayu+3r2d1S8notiGCIyYU/76eig1UfMmkZ7vwgOrzKzlQbFSuQfgm7GYUPpA==}
+ cpu: [ppc64]
+ os: [linux]
+ libc: [glibc]
+
+ '@img/sharp-libvips-linux-riscv64@1.2.4':
+ resolution: {integrity: sha512-oVDbcR4zUC0ce82teubSm+x6ETixtKZBh/qbREIOcI3cULzDyb18Sr/Wcyx7NRQeQzOiHTNbZFF1UwPS2scyGA==}
+ cpu: [riscv64]
+ os: [linux]
+ libc: [glibc]
+
+ '@img/sharp-libvips-linux-s390x@1.2.4':
+ resolution: {integrity: sha512-qmp9VrzgPgMoGZyPvrQHqk02uyjA0/QrTO26Tqk6l4ZV0MPWIW6LTkqOIov+J1yEu7MbFQaDpwdwJKhbJvuRxQ==}
+ cpu: [s390x]
+ os: [linux]
+ libc: [glibc]
+
+ '@img/sharp-libvips-linux-x64@1.2.4':
+ resolution: {integrity: sha512-tJxiiLsmHc9Ax1bz3oaOYBURTXGIRDODBqhveVHonrHJ9/+k89qbLl0bcJns+e4t4rvaNBxaEZsFtSfAdquPrw==}
+ cpu: [x64]
+ os: [linux]
+ libc: [glibc]
+
+ '@img/sharp-libvips-linuxmusl-arm64@1.2.4':
+ resolution: {integrity: sha512-FVQHuwx1IIuNow9QAbYUzJ+En8KcVm9Lk5+uGUQJHaZmMECZmOlix9HnH7n1TRkXMS0pGxIJokIVB9SuqZGGXw==}
+ cpu: [arm64]
+ os: [linux]
+ libc: [musl]
+
+ '@img/sharp-libvips-linuxmusl-x64@1.2.4':
+ resolution: {integrity: sha512-+LpyBk7L44ZIXwz/VYfglaX/okxezESc6UxDSoyo2Ks6Jxc4Y7sGjpgU9s4PMgqgjj1gZCylTieNamqA1MF7Dg==}
+ cpu: [x64]
+ os: [linux]
+ libc: [musl]
+
+ '@img/sharp-linux-arm64@0.34.5':
+ resolution: {integrity: sha512-bKQzaJRY/bkPOXyKx5EVup7qkaojECG6NLYswgktOZjaXecSAeCWiZwwiFf3/Y+O1HrauiE3FVsGxFg8c24rZg==}
+ engines: {node: ^18.17.0 || ^20.3.0 || >=21.0.0}
+ cpu: [arm64]
+ os: [linux]
+ libc: [glibc]
+
+ '@img/sharp-linux-arm@0.34.5':
+ resolution: {integrity: sha512-9dLqsvwtg1uuXBGZKsxem9595+ujv0sJ6Vi8wcTANSFpwV/GONat5eCkzQo/1O6zRIkh0m/8+5BjrRr7jDUSZw==}
+ engines: {node: ^18.17.0 || ^20.3.0 || >=21.0.0}
+ cpu: [arm]
+ os: [linux]
+ libc: [glibc]
+
+ '@img/sharp-linux-ppc64@0.34.5':
+ resolution: {integrity: sha512-7zznwNaqW6YtsfrGGDA6BRkISKAAE1Jo0QdpNYXNMHu2+0dTrPflTLNkpc8l7MUP5M16ZJcUvysVWWrMefZquA==}
+ engines: {node: ^18.17.0 || ^20.3.0 || >=21.0.0}
+ cpu: [ppc64]
+ os: [linux]
+ libc: [glibc]
+
+ '@img/sharp-linux-riscv64@0.34.5':
+ resolution: {integrity: sha512-51gJuLPTKa7piYPaVs8GmByo7/U7/7TZOq+cnXJIHZKavIRHAP77e3N2HEl3dgiqdD/w0yUfiJnII77PuDDFdw==}
+ engines: {node: ^18.17.0 || ^20.3.0 || >=21.0.0}
+ cpu: [riscv64]
+ os: [linux]
+ libc: [glibc]
+
+ '@img/sharp-linux-s390x@0.34.5':
+ resolution: {integrity: sha512-nQtCk0PdKfho3eC5MrbQoigJ2gd1CgddUMkabUj+rBevs8tZ2cULOx46E7oyX+04WGfABgIwmMC0VqieTiR4jg==}
+ engines: {node: ^18.17.0 || ^20.3.0 || >=21.0.0}
+ cpu: [s390x]
+ os: [linux]
+ libc: [glibc]
+
+ '@img/sharp-linux-x64@0.34.5':
+ resolution: {integrity: sha512-MEzd8HPKxVxVenwAa+JRPwEC7QFjoPWuS5NZnBt6B3pu7EG2Ge0id1oLHZpPJdn3OQK+BQDiw9zStiHBTJQQQQ==}
+ engines: {node: ^18.17.0 || ^20.3.0 || >=21.0.0}
+ cpu: [x64]
+ os: [linux]
+ libc: [glibc]
+
+ '@img/sharp-linuxmusl-arm64@0.34.5':
+ resolution: {integrity: sha512-fprJR6GtRsMt6Kyfq44IsChVZeGN97gTD331weR1ex1c1rypDEABN6Tm2xa1wE6lYb5DdEnk03NZPqA7Id21yg==}
+ engines: {node: ^18.17.0 || ^20.3.0 || >=21.0.0}
+ cpu: [arm64]
+ os: [linux]
+ libc: [musl]
+
+ '@img/sharp-linuxmusl-x64@0.34.5':
+ resolution: {integrity: sha512-Jg8wNT1MUzIvhBFxViqrEhWDGzqymo3sV7z7ZsaWbZNDLXRJZoRGrjulp60YYtV4wfY8VIKcWidjojlLcWrd8Q==}
+ engines: {node: ^18.17.0 || ^20.3.0 || >=21.0.0}
+ cpu: [x64]
+ os: [linux]
+ libc: [musl]
+
+ '@img/sharp-wasm32@0.34.5':
+ resolution: {integrity: sha512-OdWTEiVkY2PHwqkbBI8frFxQQFekHaSSkUIJkwzclWZe64O1X4UlUjqqqLaPbUpMOQk6FBu/HtlGXNblIs0huw==}
+ engines: {node: ^18.17.0 || ^20.3.0 || >=21.0.0}
+ cpu: [wasm32]
+
+ '@img/sharp-win32-arm64@0.34.5':
+ resolution: {integrity: sha512-WQ3AgWCWYSb2yt+IG8mnC6Jdk9Whs7O0gxphblsLvdhSpSTtmu69ZG1Gkb6NuvxsNACwiPV6cNSZNzt0KPsw7g==}
+ engines: {node: ^18.17.0 || ^20.3.0 || >=21.0.0}
+ cpu: [arm64]
+ os: [win32]
+
+ '@img/sharp-win32-ia32@0.34.5':
+ resolution: {integrity: sha512-FV9m/7NmeCmSHDD5j4+4pNI8Cp3aW+JvLoXcTUo0IqyjSfAZJ8dIUmijx1qaJsIiU+Hosw6xM5KijAWRJCSgNg==}
+ engines: {node: ^18.17.0 || ^20.3.0 || >=21.0.0}
+ cpu: [ia32]
+ os: [win32]
+
+ '@img/sharp-win32-x64@0.34.5':
+ resolution: {integrity: sha512-+29YMsqY2/9eFEiW93eqWnuLcWcufowXewwSNIT6UwZdUUCrM3oFjMWH/Z6/TMmb4hlFenmfAVbpWeup2jryCw==}
+ engines: {node: ^18.17.0 || ^20.3.0 || >=21.0.0}
+ cpu: [x64]
+ os: [win32]
+
'@jridgewell/gen-mapping@0.3.13':
resolution: {integrity: sha512-2kkt/7niJ6MgEPxF0bYdQ6etZaA+fQvDcLKckhy1yIQOzaoKjBBjSj63/aLVjYE3qhRt5dvM+uUyfCg6UKCBbA==}
@@ -300,6 +459,15 @@ packages:
'@polka/url@1.0.0-next.29':
resolution: {integrity: sha512-wwQAWhWSuHaag8c4q/KN/vCoeOJYshAIvMQwD4GpSb3OiZklFfvAgmj0VCBBImRpuF/aFgIRzllXlVX93Jevww==}
+ '@rollup/pluginutils@5.3.0':
+ resolution: {integrity: sha512-5EdhGZtnu3V88ces7s53hhfK5KSASnJZv8Lulpc04cWO3REESroJXg73DFsOmgbU2BhwV0E20bu2IDZb3VKW4Q==}
+ engines: {node: '>=14.0.0'}
+ peerDependencies:
+ rollup: ^1.20.0||^2.0.0||^3.0.0||^4.0.0
+ peerDependenciesMeta:
+ rollup:
+ optional: true
+
'@rollup/rollup-android-arm-eabi@4.55.1':
resolution: {integrity: sha512-9R0DM/ykwfGIlNu6+2U09ga0WXeZ9MRC2Ter8jnz8415VbuIykVuc6bhdrbORFZANDmTDvq26mJrEVTl8TdnDg==}
cpu: [arm]
@@ -334,66 +502,79 @@ packages:
resolution: {integrity: sha512-Rn3n+FUk2J5VWx+ywrG/HGPTD9jXNbicRtTM11e/uorplArnXZYsVifnPPqNNP5BsO3roI4n8332ukpY/zN7rQ==}
cpu: [arm]
os: [linux]
+ libc: [glibc]
'@rollup/rollup-linux-arm-musleabihf@4.55.1':
resolution: {integrity: sha512-grPNWydeKtc1aEdrJDWk4opD7nFtQbMmV7769hiAaYyUKCT1faPRm2av8CX1YJsZ4TLAZcg9gTR1KvEzoLjXkg==}
cpu: [arm]
os: [linux]
+ libc: [musl]
'@rollup/rollup-linux-arm64-gnu@4.55.1':
resolution: {integrity: sha512-a59mwd1k6x8tXKcUxSyISiquLwB5pX+fJW9TkWU46lCqD/GRDe9uDN31jrMmVP3feI3mhAdvcCClhV8V5MhJFQ==}
cpu: [arm64]
os: [linux]
+ libc: [glibc]
'@rollup/rollup-linux-arm64-musl@4.55.1':
resolution: {integrity: sha512-puS1MEgWX5GsHSoiAsF0TYrpomdvkaXm0CofIMG5uVkP6IBV+ZO9xhC5YEN49nsgYo1DuuMquF9+7EDBVYu4uA==}
cpu: [arm64]
os: [linux]
+ libc: [musl]
'@rollup/rollup-linux-loong64-gnu@4.55.1':
resolution: {integrity: sha512-r3Wv40in+lTsULSb6nnoudVbARdOwb2u5fpeoOAZjFLznp6tDU8kd+GTHmJoqZ9lt6/Sys33KdIHUaQihFcu7g==}
cpu: [loong64]
os: [linux]
+ libc: [glibc]
'@rollup/rollup-linux-loong64-musl@4.55.1':
resolution: {integrity: sha512-MR8c0+UxAlB22Fq4R+aQSPBayvYa3+9DrwG/i1TKQXFYEaoW3B5b/rkSRIypcZDdWjWnpcvxbNaAJDcSbJU3Lw==}
cpu: [loong64]
os: [linux]
+ libc: [musl]
'@rollup/rollup-linux-ppc64-gnu@4.55.1':
resolution: {integrity: sha512-3KhoECe1BRlSYpMTeVrD4sh2Pw2xgt4jzNSZIIPLFEsnQn9gAnZagW9+VqDqAHgm1Xc77LzJOo2LdigS5qZ+gw==}
cpu: [ppc64]
os: [linux]
+ libc: [glibc]
'@rollup/rollup-linux-ppc64-musl@4.55.1':
resolution: {integrity: sha512-ziR1OuZx0vdYZZ30vueNZTg73alF59DicYrPViG0NEgDVN8/Jl87zkAPu4u6VjZST2llgEUjaiNl9JM6HH1Vdw==}
cpu: [ppc64]
os: [linux]
+ libc: [musl]
'@rollup/rollup-linux-riscv64-gnu@4.55.1':
resolution: {integrity: sha512-uW0Y12ih2XJRERZ4jAfKamTyIHVMPQnTZcQjme2HMVDAHY4amf5u414OqNYC+x+LzRdRcnIG1YodLrrtA8xsxw==}
cpu: [riscv64]
os: [linux]
+ libc: [glibc]
'@rollup/rollup-linux-riscv64-musl@4.55.1':
resolution: {integrity: sha512-u9yZ0jUkOED1BFrqu3BwMQoixvGHGZ+JhJNkNKY/hyoEgOwlqKb62qu+7UjbPSHYjiVy8kKJHvXKv5coH4wDeg==}
cpu: [riscv64]
os: [linux]
+ libc: [musl]
'@rollup/rollup-linux-s390x-gnu@4.55.1':
resolution: {integrity: sha512-/0PenBCmqM4ZUd0190j7J0UsQ/1nsi735iPRakO8iPciE7BQ495Y6msPzaOmvx0/pn+eJVVlZrNrSh4WSYLxNg==}
cpu: [s390x]
os: [linux]
+ libc: [glibc]
'@rollup/rollup-linux-x64-gnu@4.55.1':
resolution: {integrity: sha512-a8G4wiQxQG2BAvo+gU6XrReRRqj+pLS2NGXKm8io19goR+K8lw269eTrPkSdDTALwMmJp4th2Uh0D8J9bEV1vg==}
cpu: [x64]
os: [linux]
+ libc: [glibc]
'@rollup/rollup-linux-x64-musl@4.55.1':
resolution: {integrity: sha512-bD+zjpFrMpP/hqkfEcnjXWHMw5BIghGisOKPj+2NaNDuVT+8Ds4mPf3XcPHuat1tz89WRL+1wbcxKY3WSbiT7w==}
cpu: [x64]
os: [linux]
+ libc: [musl]
'@rollup/rollup-openbsd-x64@4.55.1':
resolution: {integrity: sha512-eLXw0dOiqE4QmvikfQ6yjgkg/xDM+MdU9YJuP4ySTibXU0oAvnEWXt7UDJmD4UkYialMfOGFPJnIHSe/kdzPxg==}
@@ -443,6 +624,13 @@ packages:
peerDependencies:
'@sveltejs/kit': ^2.0.0
+ '@sveltejs/enhanced-img@0.10.4':
+ resolution: {integrity: sha512-Am5nmAKUo7Nboqq7Dhtfn7dcXA087d7gIz6Vecn1opB41aJ680+0q9U9KvEcMgduOyeiwckTIOQOx4Mmq9GcvA==}
+ peerDependencies:
+ '@sveltejs/vite-plugin-svelte': ^6.0.0 || ^7.0.0
+ svelte: ^5.0.0
+ vite: ^6.3.0 || >=7.0.0
+
'@sveltejs/kit@2.49.4':
resolution: {integrity: sha512-JFtOqDoU0DI/+QSG8qnq5bKcehVb3tCHhOG4amsSYth5/KgO4EkJvi42xSAiyKmXAAULW1/Zdb6lkgGEgSxdZg==}
engines: {node: '>=18.13'}
@@ -634,6 +822,10 @@ packages:
resolution: {integrity: sha512-3sUqbMEc77XqpdNO7FRyRog+eW3ph+GYCbj+rK+uYyRMuwsVy0rMiVtPn+QJlKFvWP/1PYpapqYn0Me2knFn+A==}
engines: {node: '>=0.10.0'}
+ detect-libc@2.1.2:
+ resolution: {integrity: sha512-Btj2BOOO83o3WyH59e8MgXsxEQVcarkUOpEYrubB0urwnN10yQ364rsiByU11nZlqWYZm05i/of7io4mzihBtQ==}
+ engines: {node: '>=8'}
+
devalue@5.6.1:
resolution: {integrity: sha512-jDwizj+IlEZBunHcOuuFVBnIMPAEHvTsJj0BcIp94xYguLRVBcXO853px/MyIJvbVzWdsGvrRweIUWJw8hBP7A==}
@@ -706,6 +898,9 @@ packages:
resolution: {integrity: sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA==}
engines: {node: '>=4.0'}
+ estree-walker@2.0.2:
+ resolution: {integrity: sha512-Rfkk/Mp/DL7JVje3u18FxFujQlTNR2q6QfMSMB7AvCBx91NGj/ba3kCfza0f6dVDbw7YlRf/nDrn7pQrCCyQ/w==}
+
esutils@2.0.3:
resolution: {integrity: sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g==}
engines: {node: '>=0.10.0'}
@@ -772,6 +967,10 @@ packages:
resolution: {integrity: sha512-Hs59xBNfUIunMFgWAbGX5cq6893IbWg4KnrjbYwX3tx0ztorVgTDA6B2sxf8ejHJ4wz8BqGUMYlnzNBer5NvGg==}
engines: {node: '>= 4'}
+ imagetools-core@9.1.0:
+ resolution: {integrity: sha512-xQjs+2vrxLnAjCq+omuNkd5UQTld9/bP8+YT0LyYTlKfuSQtgUBvqhUwGugzSAh6sCdN+LnROMuLswn5hZ9Fhg==}
+ engines: {node: '>=20.0.0'}
+
import-fresh@3.3.1:
resolution: {integrity: sha512-TR3KfrTZTYLPB6jUjfx6MF9WcWrHL9su5TObK4ZkYgBdWKPOFoSoQIdEuTuR82pmtxH2spWG9h6etwfr1pLBqQ==}
engines: {node: '>=6'}
@@ -974,6 +1173,10 @@ packages:
set-cookie-parser@2.7.2:
resolution: {integrity: sha512-oeM1lpU/UvhTxw+g3cIfxXHyJRc/uidd3yK1P242gzHds0udQBYzs3y8j4gCCW+ZJ7ad0yctld8RYO+bdurlvw==}
+ sharp@0.34.5:
+ resolution: {integrity: sha512-Ou9I5Ft9WNcCbXrU9cMgPBcCK8LiwLqcbywW3t4oDV37n1pzpuNLsYiAV8eODnjbtQlSDwZ2cUEeQz4E54Hltg==}
+ engines: {node: ^18.17.0 || ^20.3.0 || >=21.0.0}
+
shebang-command@2.0.0:
resolution: {integrity: sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA==}
engines: {node: '>=8'}
@@ -1015,6 +1218,11 @@ packages:
svelte:
optional: true
+ svelte-parse-markup@0.1.5:
+ resolution: {integrity: sha512-T6mqZrySltPCDwfKXWQ6zehipVLk4GWfH1zCMGgRtLlOIFPuw58ZxVYxVvotMJgJaurKi1i14viB2GIRKXeJTQ==}
+ peerDependencies:
+ svelte: ^3.0.0 || ^4.0.0 || ^5.0.0-next.1
+
svelte@5.46.1:
resolution: {integrity: sha512-ynjfCHD3nP2el70kN5Pmg37sSi0EjOm9FgHYQdC4giWG/hzO3AatzXXJJgP305uIhGQxSufJLuYWtkY8uK/8RA==}
engines: {node: '>=18'}
@@ -1033,6 +1241,9 @@ packages:
peerDependencies:
typescript: '>=4.8.4'
+ tslib@2.8.1:
+ resolution: {integrity: sha512-oJFu94HQb+KVduSUQL7wnpmqnfmLsOA/nAh6b6EH0wCEoK0/mPeXU6c3wKDV83MkOuHPRHtSXKKU99IBazS/2w==}
+
type-check@0.4.0:
resolution: {integrity: sha512-XleUoc9uwGXqjWwXaUTZAmzMcFZ5858QA2vvx1Ur5xIcixXIP+8LnFDgRplU30us6teqdlskFfu+ae4K79Ooew==}
engines: {node: '>= 0.8.0'}
@@ -1055,6 +1266,10 @@ packages:
util-deprecate@1.0.2:
resolution: {integrity: sha512-EPD5q1uXyFxJpCrLnCc1nHnq3gOa6DZBocAIiI2TaSCA7VCJ1UJDMagCzIkXNsUYfD1daK//LTEQ8xiIbrHtcw==}
+ vite-imagetools@9.0.3:
+ resolution: {integrity: sha512-FwjApRNZyN+RucPW9Z9kf0dyzyi3r3zlDfrTnzHXNaYpmT3pZ5w//d6QkApy1iypbDm+3fq+Gwfv+PYA4j4uYw==}
+ engines: {node: '>=20.0.0'}
+
vite@7.3.1:
resolution: {integrity: sha512-w+N7Hifpc3gRjZ63vYBXA56dvvRlNWRczTdmCBBa+CotUzAPf5b7YMdMR/8CQoeYE5LX3W4wj6RYTgonm1b9DA==}
engines: {node: ^20.19.0 || >=22.12.0}
@@ -1125,6 +1340,11 @@ packages:
snapshots:
+ '@emnapi/runtime@1.9.2':
+ dependencies:
+ tslib: 2.8.1
+ optional: true
+
'@esbuild/aix-ppc64@0.27.2':
optional: true
@@ -1266,6 +1486,102 @@ snapshots:
'@humanwhocodes/retry@0.4.3': {}
+ '@img/colour@1.1.0': {}
+
+ '@img/sharp-darwin-arm64@0.34.5':
+ optionalDependencies:
+ '@img/sharp-libvips-darwin-arm64': 1.2.4
+ optional: true
+
+ '@img/sharp-darwin-x64@0.34.5':
+ optionalDependencies:
+ '@img/sharp-libvips-darwin-x64': 1.2.4
+ optional: true
+
+ '@img/sharp-libvips-darwin-arm64@1.2.4':
+ optional: true
+
+ '@img/sharp-libvips-darwin-x64@1.2.4':
+ optional: true
+
+ '@img/sharp-libvips-linux-arm64@1.2.4':
+ optional: true
+
+ '@img/sharp-libvips-linux-arm@1.2.4':
+ optional: true
+
+ '@img/sharp-libvips-linux-ppc64@1.2.4':
+ optional: true
+
+ '@img/sharp-libvips-linux-riscv64@1.2.4':
+ optional: true
+
+ '@img/sharp-libvips-linux-s390x@1.2.4':
+ optional: true
+
+ '@img/sharp-libvips-linux-x64@1.2.4':
+ optional: true
+
+ '@img/sharp-libvips-linuxmusl-arm64@1.2.4':
+ optional: true
+
+ '@img/sharp-libvips-linuxmusl-x64@1.2.4':
+ optional: true
+
+ '@img/sharp-linux-arm64@0.34.5':
+ optionalDependencies:
+ '@img/sharp-libvips-linux-arm64': 1.2.4
+ optional: true
+
+ '@img/sharp-linux-arm@0.34.5':
+ optionalDependencies:
+ '@img/sharp-libvips-linux-arm': 1.2.4
+ optional: true
+
+ '@img/sharp-linux-ppc64@0.34.5':
+ optionalDependencies:
+ '@img/sharp-libvips-linux-ppc64': 1.2.4
+ optional: true
+
+ '@img/sharp-linux-riscv64@0.34.5':
+ optionalDependencies:
+ '@img/sharp-libvips-linux-riscv64': 1.2.4
+ optional: true
+
+ '@img/sharp-linux-s390x@0.34.5':
+ optionalDependencies:
+ '@img/sharp-libvips-linux-s390x': 1.2.4
+ optional: true
+
+ '@img/sharp-linux-x64@0.34.5':
+ optionalDependencies:
+ '@img/sharp-libvips-linux-x64': 1.2.4
+ optional: true
+
+ '@img/sharp-linuxmusl-arm64@0.34.5':
+ optionalDependencies:
+ '@img/sharp-libvips-linuxmusl-arm64': 1.2.4
+ optional: true
+
+ '@img/sharp-linuxmusl-x64@0.34.5':
+ optionalDependencies:
+ '@img/sharp-libvips-linuxmusl-x64': 1.2.4
+ optional: true
+
+ '@img/sharp-wasm32@0.34.5':
+ dependencies:
+ '@emnapi/runtime': 1.9.2
+ optional: true
+
+ '@img/sharp-win32-arm64@0.34.5':
+ optional: true
+
+ '@img/sharp-win32-ia32@0.34.5':
+ optional: true
+
+ '@img/sharp-win32-x64@0.34.5':
+ optional: true
+
'@jridgewell/gen-mapping@0.3.13':
dependencies:
'@jridgewell/sourcemap-codec': 1.5.5
@@ -1287,6 +1603,14 @@ snapshots:
'@polka/url@1.0.0-next.29': {}
+ '@rollup/pluginutils@5.3.0(rollup@4.55.1)':
+ dependencies:
+ '@types/estree': 1.0.8
+ estree-walker: 2.0.2
+ picomatch: 4.0.3
+ optionalDependencies:
+ rollup: 4.55.1
+
'@rollup/rollup-android-arm-eabi@4.55.1':
optional: true
@@ -1376,6 +1700,19 @@ snapshots:
dependencies:
'@sveltejs/kit': 2.49.4(@sveltejs/vite-plugin-svelte@6.2.4(svelte@5.46.1)(vite@7.3.1))(svelte@5.46.1)(typescript@5.9.3)(vite@7.3.1)
+ '@sveltejs/enhanced-img@0.10.4(@sveltejs/vite-plugin-svelte@6.2.4(svelte@5.46.1)(vite@7.3.1))(rollup@4.55.1)(svelte@5.46.1)(vite@7.3.1)':
+ dependencies:
+ '@sveltejs/vite-plugin-svelte': 6.2.4(svelte@5.46.1)(vite@7.3.1)
+ magic-string: 0.30.21
+ sharp: 0.34.5
+ svelte: 5.46.1
+ svelte-parse-markup: 0.1.5(svelte@5.46.1)
+ vite: 7.3.1
+ vite-imagetools: 9.0.3(rollup@4.55.1)
+ zimmerframe: 1.1.4
+ transitivePeerDependencies:
+ - rollup
+
'@sveltejs/kit@2.49.4(@sveltejs/vite-plugin-svelte@6.2.4(svelte@5.46.1)(vite@7.3.1))(svelte@5.46.1)(typescript@5.9.3)(vite@7.3.1)':
dependencies:
'@standard-schema/spec': 1.1.0
@@ -1584,6 +1921,8 @@ snapshots:
deepmerge@4.3.1: {}
+ detect-libc@2.1.2: {}
+
devalue@5.6.1: {}
esbuild@0.27.2:
@@ -1709,6 +2048,8 @@ snapshots:
estraverse@5.3.0: {}
+ estree-walker@2.0.2: {}
+
esutils@2.0.3: {}
fast-deep-equal@3.1.3: {}
@@ -1754,6 +2095,8 @@ snapshots:
ignore@7.0.5: {}
+ imagetools-core@9.1.0: {}
+
import-fresh@3.3.1:
dependencies:
parent-module: 1.0.1
@@ -1939,6 +2282,37 @@ snapshots:
set-cookie-parser@2.7.2: {}
+ sharp@0.34.5:
+ dependencies:
+ '@img/colour': 1.1.0
+ detect-libc: 2.1.2
+ semver: 7.7.3
+ optionalDependencies:
+ '@img/sharp-darwin-arm64': 0.34.5
+ '@img/sharp-darwin-x64': 0.34.5
+ '@img/sharp-libvips-darwin-arm64': 1.2.4
+ '@img/sharp-libvips-darwin-x64': 1.2.4
+ '@img/sharp-libvips-linux-arm': 1.2.4
+ '@img/sharp-libvips-linux-arm64': 1.2.4
+ '@img/sharp-libvips-linux-ppc64': 1.2.4
+ '@img/sharp-libvips-linux-riscv64': 1.2.4
+ '@img/sharp-libvips-linux-s390x': 1.2.4
+ '@img/sharp-libvips-linux-x64': 1.2.4
+ '@img/sharp-libvips-linuxmusl-arm64': 1.2.4
+ '@img/sharp-libvips-linuxmusl-x64': 1.2.4
+ '@img/sharp-linux-arm': 0.34.5
+ '@img/sharp-linux-arm64': 0.34.5
+ '@img/sharp-linux-ppc64': 0.34.5
+ '@img/sharp-linux-riscv64': 0.34.5
+ '@img/sharp-linux-s390x': 0.34.5
+ '@img/sharp-linux-x64': 0.34.5
+ '@img/sharp-linuxmusl-arm64': 0.34.5
+ '@img/sharp-linuxmusl-x64': 0.34.5
+ '@img/sharp-wasm32': 0.34.5
+ '@img/sharp-win32-arm64': 0.34.5
+ '@img/sharp-win32-ia32': 0.34.5
+ '@img/sharp-win32-x64': 0.34.5
+
shebang-command@2.0.0:
dependencies:
shebang-regex: 3.0.0
@@ -1982,6 +2356,10 @@ snapshots:
optionalDependencies:
svelte: 5.46.1
+ svelte-parse-markup@0.1.5(svelte@5.46.1):
+ dependencies:
+ svelte: 5.46.1
+
svelte@5.46.1:
dependencies:
'@jridgewell/remapping': 2.3.5
@@ -2011,6 +2389,9 @@ snapshots:
dependencies:
typescript: 5.9.3
+ tslib@2.8.1:
+ optional: true
+
type-check@0.4.0:
dependencies:
prelude-ls: 1.2.1
@@ -2034,6 +2415,14 @@ snapshots:
util-deprecate@1.0.2: {}
+ vite-imagetools@9.0.3(rollup@4.55.1):
+ dependencies:
+ '@rollup/pluginutils': 5.3.0(rollup@4.55.1)
+ imagetools-core: 9.1.0
+ sharp: 0.34.5
+ transitivePeerDependencies:
+ - rollup
+
vite@7.3.1:
dependencies:
esbuild: 0.27.2
diff --git a/src/lib/assets/art/Donuts.png b/src/lib/assets/art/Donuts.png
index b89af76..5770216 100644
Binary files a/src/lib/assets/art/Donuts.png and b/src/lib/assets/art/Donuts.png differ
diff --git a/src/lib/assets/art/arm blade.jpg b/src/lib/assets/art/arm blade.jpg
index 76df93f..2265add 100644
Binary files a/src/lib/assets/art/arm blade.jpg and b/src/lib/assets/art/arm blade.jpg differ
diff --git a/src/lib/assets/art/banner halve way.jpg b/src/lib/assets/art/banner halve way.jpg
index eb99924..82f37a4 100644
Binary files a/src/lib/assets/art/banner halve way.jpg and b/src/lib/assets/art/banner halve way.jpg differ
diff --git a/src/lib/assets/art/brush pen demon.jpg b/src/lib/assets/art/brush pen demon.jpg
index 9b96c4f..fb19f1c 100644
Binary files a/src/lib/assets/art/brush pen demon.jpg and b/src/lib/assets/art/brush pen demon.jpg differ
diff --git a/src/lib/assets/art/final v1.png b/src/lib/assets/art/final v1.png
index f36a73b..1c5b255 100644
Binary files a/src/lib/assets/art/final v1.png and b/src/lib/assets/art/final v1.png differ
diff --git a/src/lib/assets/art/futaba.jpg b/src/lib/assets/art/futaba.jpg
index c4233cc..8ba01b6 100644
Binary files a/src/lib/assets/art/futaba.jpg and b/src/lib/assets/art/futaba.jpg differ
diff --git a/src/lib/assets/art/hololive 3d talents complete.png b/src/lib/assets/art/hololive 3d talents complete.png
index b27b986..c0759e9 100644
Binary files a/src/lib/assets/art/hololive 3d talents complete.png and b/src/lib/assets/art/hololive 3d talents complete.png differ
diff --git a/src/lib/assets/art/hololive china gen 1 fushion complete.png b/src/lib/assets/art/hololive china gen 1 fushion complete.png
index 37cccf9..0f40c54 100644
Binary files a/src/lib/assets/art/hololive china gen 1 fushion complete.png and b/src/lib/assets/art/hololive china gen 1 fushion complete.png differ
diff --git a/src/lib/assets/art/hololive english gen 1 fushion.png b/src/lib/assets/art/hololive english gen 1 fushion.png
index 194feaf..e1ce1d8 100644
Binary files a/src/lib/assets/art/hololive english gen 1 fushion.png and b/src/lib/assets/art/hololive english gen 1 fushion.png differ
diff --git a/src/lib/assets/art/hololive gen 1 complete.png b/src/lib/assets/art/hololive gen 1 complete.png
index d97aea0..fe7453a 100644
Binary files a/src/lib/assets/art/hololive gen 1 complete.png and b/src/lib/assets/art/hololive gen 1 complete.png differ
diff --git a/src/lib/assets/art/hololive gen 1 indonesia fuahion.png b/src/lib/assets/art/hololive gen 1 indonesia fuahion.png
index 40b03f0..17d83d2 100644
Binary files a/src/lib/assets/art/hololive gen 1 indonesia fuahion.png and b/src/lib/assets/art/hololive gen 1 indonesia fuahion.png differ
diff --git a/src/lib/assets/art/hololive gen 2 complete.png b/src/lib/assets/art/hololive gen 2 complete.png
index 71645e5..a517248 100644
Binary files a/src/lib/assets/art/hololive gen 2 complete.png and b/src/lib/assets/art/hololive gen 2 complete.png differ
diff --git a/src/lib/assets/art/hololive gen 2 indonesia fushion.png b/src/lib/assets/art/hololive gen 2 indonesia fushion.png
index 2f309e8..8e5d71b 100644
Binary files a/src/lib/assets/art/hololive gen 2 indonesia fushion.png and b/src/lib/assets/art/hololive gen 2 indonesia fushion.png differ
diff --git a/src/lib/assets/art/hololive gen 3 complete fubuki form.png b/src/lib/assets/art/hololive gen 3 complete fubuki form.png
index 2ac1cf3..47dd7e2 100644
Binary files a/src/lib/assets/art/hololive gen 3 complete fubuki form.png and b/src/lib/assets/art/hololive gen 3 complete fubuki form.png differ
diff --git a/src/lib/assets/art/hololive gen 3 complete god form.png b/src/lib/assets/art/hololive gen 3 complete god form.png
index 71265a1..6193c17 100644
Binary files a/src/lib/assets/art/hololive gen 3 complete god form.png and b/src/lib/assets/art/hololive gen 3 complete god form.png differ
diff --git a/src/lib/assets/art/hololive gen 3 complete korone form.png b/src/lib/assets/art/hololive gen 3 complete korone form.png
index 4430155..1646c72 100644
Binary files a/src/lib/assets/art/hololive gen 3 complete korone form.png and b/src/lib/assets/art/hololive gen 3 complete korone form.png differ
diff --git a/src/lib/assets/art/hololive gen 3 complete mio form.png b/src/lib/assets/art/hololive gen 3 complete mio form.png
index fb77b8e..1c6a6f7 100644
Binary files a/src/lib/assets/art/hololive gen 3 complete mio form.png and b/src/lib/assets/art/hololive gen 3 complete mio form.png differ
diff --git a/src/lib/assets/art/hololive gen 3 complete neutral form.png b/src/lib/assets/art/hololive gen 3 complete neutral form.png
index 46688ac..e612390 100644
Binary files a/src/lib/assets/art/hololive gen 3 complete neutral form.png and b/src/lib/assets/art/hololive gen 3 complete neutral form.png differ
diff --git a/src/lib/assets/art/hololive gen 3 complete okayu form.png b/src/lib/assets/art/hololive gen 3 complete okayu form.png
index 7e2e9c9..45e57a5 100644
Binary files a/src/lib/assets/art/hololive gen 3 complete okayu form.png and b/src/lib/assets/art/hololive gen 3 complete okayu form.png differ
diff --git a/src/lib/assets/art/hololive gen 3 complete plus rushiaedition.png b/src/lib/assets/art/hololive gen 3 complete plus rushiaedition.png
index ecb0407..3450565 100644
Binary files a/src/lib/assets/art/hololive gen 3 complete plus rushiaedition.png and b/src/lib/assets/art/hololive gen 3 complete plus rushiaedition.png differ
diff --git a/src/lib/assets/art/hololive gen 4 complete.png b/src/lib/assets/art/hololive gen 4 complete.png
index 417ae46..7340910 100644
Binary files a/src/lib/assets/art/hololive gen 4 complete.png and b/src/lib/assets/art/hololive gen 4 complete.png differ
diff --git a/src/lib/assets/art/hololive gen 5 fushion complete.png b/src/lib/assets/art/hololive gen 5 fushion complete.png
index 0a9ae76..fc8f830 100644
Binary files a/src/lib/assets/art/hololive gen 5 fushion complete.png and b/src/lib/assets/art/hololive gen 5 fushion complete.png differ
diff --git a/src/lib/assets/art/jackoru.png b/src/lib/assets/art/jackoru.png
index e3927c5..15b5d02 100644
Binary files a/src/lib/assets/art/jackoru.png and b/src/lib/assets/art/jackoru.png differ
diff --git a/src/lib/assets/art/kill la kill string wallpaper.png b/src/lib/assets/art/kill la kill string wallpaper.png
index 7810652..8945c4a 100644
Binary files a/src/lib/assets/art/kill la kill string wallpaper.png and b/src/lib/assets/art/kill la kill string wallpaper.png differ
diff --git a/src/lib/assets/art/kinako trad.jpg b/src/lib/assets/art/kinako trad.jpg
index 75fa051..7b56a70 100644
Binary files a/src/lib/assets/art/kinako trad.jpg and b/src/lib/assets/art/kinako trad.jpg differ
diff --git a/src/lib/assets/art/kinako.jpg b/src/lib/assets/art/kinako.jpg
index 5c5a4af..736ac41 100644
Binary files a/src/lib/assets/art/kinako.jpg and b/src/lib/assets/art/kinako.jpg differ
diff --git a/src/lib/assets/art/lust.jpg b/src/lib/assets/art/lust.jpg
index 57442a6..f99c9d4 100644
Binary files a/src/lib/assets/art/lust.jpg and b/src/lib/assets/art/lust.jpg differ
diff --git a/src/lib/assets/art/modern robot.jpg b/src/lib/assets/art/modern robot.jpg
index d344a5d..e5cc571 100644
Binary files a/src/lib/assets/art/modern robot.jpg and b/src/lib/assets/art/modern robot.jpg differ
diff --git a/src/lib/assets/art/sins lust logo.png b/src/lib/assets/art/sins lust logo.png
index 14f223a..795e2fb 100644
Binary files a/src/lib/assets/art/sins lust logo.png and b/src/lib/assets/art/sins lust logo.png differ
diff --git a/src/lib/assets/art/sins pride logo.png b/src/lib/assets/art/sins pride logo.png
index 64710be..21918e5 100644
Binary files a/src/lib/assets/art/sins pride logo.png and b/src/lib/assets/art/sins pride logo.png differ
diff --git a/src/lib/assets/art/tree arm munk.jpg b/src/lib/assets/art/tree arm munk.jpg
index 553e157..8d7645e 100644
Binary files a/src/lib/assets/art/tree arm munk.jpg and b/src/lib/assets/art/tree arm munk.jpg differ
diff --git a/src/lib/assets/art/youtube banner.png b/src/lib/assets/art/youtube banner.png
index 479814a..ee005eb 100644
Binary files a/src/lib/assets/art/youtube banner.png and b/src/lib/assets/art/youtube banner.png differ
diff --git a/src/lib/assets/art/yveltal xerneas fusion.jpg b/src/lib/assets/art/yveltal xerneas fusion.jpg
index 3adb525..0899b62 100644
Binary files a/src/lib/assets/art/yveltal xerneas fusion.jpg and b/src/lib/assets/art/yveltal xerneas fusion.jpg differ
diff --git a/src/lib/components/art/image_frame.svelte b/src/lib/components/art/image_frame.svelte
index aecc668..88a1038 100644
--- a/src/lib/components/art/image_frame.svelte
+++ b/src/lib/components/art/image_frame.svelte
@@ -2,7 +2,7 @@
let { path = '/' }: { path?: string } = $props();
-
+