diff --git a/.gitignore b/.gitignore index 1c9da28..da95c27 100644 --- a/.gitignore +++ b/.gitignore @@ -1,4 +1,7 @@ LICENSE .astro node_modules -dist \ No newline at end of file +dist + +# graft's local graph cache — regenerable, not committed (run `graft build`). +/graft/ diff --git a/.ignore b/.ignore new file mode 100644 index 0000000..615e581 --- /dev/null +++ b/.ignore @@ -0,0 +1,5 @@ +# graft's cards are gitignored but should stay greppable: ripgrep reads +# .ignore before .gitignore, so this re-admits the tree to search only. +!graft/ +graft/.cache/ +graft/.graph/ diff --git a/package-lock.json b/package-lock.json index 2963cf6..94ba37b 100644 --- a/package-lock.json +++ b/package-lock.json @@ -13,9 +13,10 @@ "@astrojs/sitemap": "^3.6.0", "@docsearch/js": "^3.6.0", "@docsearch/react": "^3.6.0", + "@fontsource-variable/hanken-grotesk": "^5.3.0", + "@fontsource-variable/inter": "^5.3.0", "@fontsource-variable/lexend": "^5.0.20", - "@fontsource-variable/outfit": "^5.0.13", - "@fontsource/press-start-2p": "^5.2.6", + "@fontsource-variable/space-grotesk": "^5.3.0", "@heroicons/react": "^2.2.0", "@tailwindcss/vite": "^4.0.9", "@types/react": "^18.3.3", @@ -165,7 +166,6 @@ "resolved": "https://registry.npmjs.org/@algolia/client-search/-/client-search-5.27.0.tgz", "integrity": "sha512-EJJ7WmvmUXZdchueKFCK8UZFyLqy4Hz64snNp0cTc7c0MKaSeDGYEDxVsIJKp15r7ORaoGxSyS4y6BGZMXYuCg==", "license": "MIT", - "peer": true, "dependencies": { "@algolia/client-common": "5.27.0", "@algolia/requester-browser-xhr": "5.27.0", @@ -494,7 +494,6 @@ "resolved": "https://registry.npmjs.org/@babel/core/-/core-7.27.4.tgz", "integrity": "sha512-bXYxrXFubeYdvB0NhD/NBB3Qi6aZeV20GOWVI47t2dkecCEoneR4NPVcb7abpXDEvejgrUfFtG6vG/zxAKmg+g==", "license": "MIT", - "peer": true, "dependencies": { "@ampproject/remapping": "^2.2.0", "@babel/code-frame": "^7.27.1", @@ -1262,28 +1261,37 @@ "node": ">=18" } }, - "node_modules/@fontsource-variable/lexend": { - "version": "5.2.9", - "resolved": "https://registry.npmjs.org/@fontsource-variable/lexend/-/lexend-5.2.9.tgz", - "integrity": "sha512-m0AmQ/DC7g0VU4PCnh6O+T1aqAHt8QxUBb2h5FtuFHNJlH9U4UT2NZNiy2vYijFQ6c1xKl/yHUyKaHwPJVc3Gw==", + "node_modules/@fontsource-variable/hanken-grotesk": { + "version": "5.3.0", + "resolved": "https://registry.npmjs.org/@fontsource-variable/hanken-grotesk/-/hanken-grotesk-5.3.0.tgz", + "integrity": "sha512-DOd0FqL+3cH2dfNy0JtSq9tUfxBz5mLmHMjTU0DOr3E9Zo6wxuatCl53DIPNrSPgCsnuKyM739BTIG5glCLirw==", "license": "OFL-1.1", "funding": { "url": "https://github.com/sponsors/ayuhito" } }, - "node_modules/@fontsource-variable/outfit": { - "version": "5.2.6", - "resolved": "https://registry.npmjs.org/@fontsource-variable/outfit/-/outfit-5.2.6.tgz", - "integrity": "sha512-0wNlmsinE4taUgmRySxld13//NtnGwN58mBegexyhYuFqiQG/4Ho+5CCkiFxXijnojmCiaBaKkYt72LDwZHiKg==", + "node_modules/@fontsource-variable/inter": { + "version": "5.3.0", + "resolved": "https://registry.npmjs.org/@fontsource-variable/inter/-/inter-5.3.0.tgz", + "integrity": "sha512-OupL48va4JNofb97w6NYeF9S7W/kHNKM0Er8Dem5nqi4jeOLrVJDoE8tZEpnMJmtkvNbB1EIPPwHcdkF6b1oUA==", "license": "OFL-1.1", "funding": { "url": "https://github.com/sponsors/ayuhito" } }, - "node_modules/@fontsource/press-start-2p": { - "version": "5.2.6", - "resolved": "https://registry.npmjs.org/@fontsource/press-start-2p/-/press-start-2p-5.2.6.tgz", - "integrity": "sha512-qzNBsl4yQaLpQLftsj9kfrNvOrhftj5MUoNk3vQf3tQwZ4mhpDD6XucBWySlA1kG2q054pVqRt73UZSP0AldYA==", + "node_modules/@fontsource-variable/lexend": { + "version": "5.2.9", + "resolved": "https://registry.npmjs.org/@fontsource-variable/lexend/-/lexend-5.2.9.tgz", + "integrity": "sha512-m0AmQ/DC7g0VU4PCnh6O+T1aqAHt8QxUBb2h5FtuFHNJlH9U4UT2NZNiy2vYijFQ6c1xKl/yHUyKaHwPJVc3Gw==", + "license": "OFL-1.1", + "funding": { + "url": "https://github.com/sponsors/ayuhito" + } + }, + "node_modules/@fontsource-variable/space-grotesk": { + "version": "5.3.0", + "resolved": "https://registry.npmjs.org/@fontsource-variable/space-grotesk/-/space-grotesk-5.3.0.tgz", + "integrity": "sha512-2IxmvfB08i9vnGB3Ym/AXvhRE+8XOjWMXIyDum03c+tPwH0FUoMNQfGpU8NXPxjbws0Vvss3AH0Zqt4oJBBAdw==", "license": "OFL-1.1", "funding": { "url": "https://github.com/sponsors/ayuhito" @@ -2694,7 +2702,6 @@ "resolved": "https://registry.npmjs.org/@types/react/-/react-18.3.23.tgz", "integrity": "sha512-/LDXMQh55EzZQ0uVAZmKKhfENivEvWz6E+EYzh+/MCjMhNsotd+ZHhBGIjFDTi6+fz0OhQQQLbTgdQIxxCsC0w==", "license": "MIT", - "peer": true, "dependencies": { "@types/prop-types": "*", "csstype": "^3.0.2" @@ -2705,7 +2712,6 @@ "resolved": "https://registry.npmjs.org/@types/react-dom/-/react-dom-18.3.7.tgz", "integrity": "sha512-MEe3UeoENYVFXzoXEWsvcpg6ZvlrFNlOQ7EOsvhI3CfAXwzPfO8Qwuxd40nepsYKqyyVQnTdEfv68q91yLcKrQ==", "license": "MIT", - "peer": true, "peerDependencies": { "@types/react": "^18.0.0" } @@ -2845,7 +2851,6 @@ "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.15.0.tgz", "integrity": "sha512-NZyJarBfL7nWwIq+FDL6Zp/yHEhePMNnnJ0y3qfieCrmNvYct8uvtiV41UvlSe6apAfk0fY1FbWx+NwfmpvtTg==", "license": "MIT", - "peer": true, "bin": { "acorn": "bin/acorn" }, @@ -2867,7 +2872,6 @@ "resolved": "https://registry.npmjs.org/ajv/-/ajv-8.18.0.tgz", "integrity": "sha512-PlXPeEWMXMZ7sPYOHqmDyCJzcfNrUr3fGNKtezX14ykXOEIvyK81d+qydx89KY5O71FKMPaQ2vBfBFI5NHR63A==", "license": "MIT", - "peer": true, "dependencies": { "fast-deep-equal": "^3.1.3", "fast-uri": "^3.0.1", @@ -2898,7 +2902,6 @@ "resolved": "https://registry.npmjs.org/algoliasearch/-/algoliasearch-5.27.0.tgz", "integrity": "sha512-2PvAgvxxJzA3+dB+ERfS2JPdvUsxNf89Cc2GF5iCcFupTULOwmbfinvqrC4Qj9nHJJDNf494NqEN/1f9177ZTQ==", "license": "MIT", - "peer": true, "dependencies": { "@algolia/client-abtesting": "5.27.0", "@algolia/client-analytics": "5.27.0", @@ -3061,7 +3064,6 @@ "resolved": "https://registry.npmjs.org/astro/-/astro-5.18.1.tgz", "integrity": "sha512-m4VWilWZ+Xt6NPoYzC4CgGZim/zQUO7WFL0RHCH0AiEavF1153iC3+me2atDvXpf/yX4PyGUeD8wZLq1cirT3g==", "license": "MIT", - "peer": true, "dependencies": { "@astrojs/compiler": "^2.13.0", "@astrojs/internal-helpers": "0.7.6", @@ -3836,7 +3838,6 @@ } ], "license": "MIT", - "peer": true, "dependencies": { "caniuse-lite": "^1.0.30001718", "electron-to-chromium": "^1.5.160", @@ -7023,7 +7024,6 @@ "resolved": "https://registry.npmjs.org/prettier/-/prettier-3.8.1.tgz", "integrity": "sha512-UOnG6LftzbdaHZcKoPFtOcCKztrQ57WkHDeRD9t/PTQtmT0NHSeWWepj6pS0z/N7+08BHFDQVUrfmfMRcZwbMg==", "license": "MIT", - "peer": true, "bin": { "prettier": "bin/prettier.cjs" }, @@ -7086,7 +7086,6 @@ "resolved": "https://registry.npmjs.org/react/-/react-19.1.0.tgz", "integrity": "sha512-FS+XFBNvn3GTAWq26joslQgWNoFu08F4kl0J4CgdNKADkdSGXQyTCnKteIAJy96Br6YbpEU1LSzV5dYtjMkMDg==", "license": "MIT", - "peer": true, "engines": { "node": ">=0.10.0" } @@ -7096,7 +7095,6 @@ "resolved": "https://registry.npmjs.org/react-dom/-/react-dom-19.1.0.tgz", "integrity": "sha512-Xs1hdnE+DyKgeHJeJznQmYMIBG3TKIHJJT95Q58nHLSrElKlGQqDTR2HQ9fx5CN/Gk6Vh/kupBTDLU11/nDk/g==", "license": "MIT", - "peer": true, "dependencies": { "scheduler": "^0.26.0" }, @@ -7475,7 +7473,6 @@ "resolved": "https://registry.npmjs.org/rollup/-/rollup-4.60.1.tgz", "integrity": "sha512-VmtB2rFU/GroZ4oL8+ZqXgSA38O6GR8KSIvWmEFv63pQ0G6KaBH9s07PO8XTXP4vI+3UJUEypOfjkGfmSBBR0w==", "license": "MIT", - "peer": true, "dependencies": { "@types/estree": "1.0.8" }, @@ -7787,8 +7784,7 @@ "version": "4.1.10", "resolved": "https://registry.npmjs.org/tailwindcss/-/tailwindcss-4.1.10.tgz", "integrity": "sha512-P3nr6WkvKV/ONsTzj6Gb57sWPMX29EPNPopo7+FcpkQaNsrNpZ1pv8QmrYI2RqEKD7mlGqLnGovlcYnBK0IqUA==", - "license": "MIT", - "peer": true + "license": "MIT" }, "node_modules/tapable": { "version": "2.2.2", @@ -7925,7 +7921,6 @@ "resolved": "https://registry.npmjs.org/typescript/-/typescript-5.8.3.tgz", "integrity": "sha512-p1diW6TqL9L07nNxvRMM7hMMw4c5XOo/1ibL4aAIGmSAt9slTE1Xgw5KWuof2uTOvCg9BY7ZRi+GaF+7sfgPeQ==", "license": "Apache-2.0", - "peer": true, "bin": { "tsc": "bin/tsc", "tsserver": "bin/tsserver" @@ -8229,7 +8224,6 @@ "resolved": "https://registry.npmjs.org/vite/-/vite-6.4.1.tgz", "integrity": "sha512-+Oxm7q9hDoLMyJOYfUYBuHQo+dkAloi33apOPP56pzj+vsdJDzr+j1NISE5pyaAuKL4A3UD34qd0lx5+kfKp2g==", "license": "MIT", - "peer": true, "dependencies": { "esbuild": "^0.25.0", "fdir": "^6.4.4", @@ -8805,7 +8799,6 @@ "version": "3.25.76", "resolved": "https://registry.npmjs.org/zod/-/zod-3.25.76.tgz", "integrity": "sha512-gzUt/qt81nXsFGKIFcC3YnfEAx5NkunCfnDlvuBSSFS02bcXu4Lmea0AFIUwbLWxWPx3d9p8S5QoaujKcNQxcQ==", - "peer": true, "funding": { "url": "https://github.com/sponsors/colinhacks" } diff --git a/package.json b/package.json index d45fcdd..459227f 100644 --- a/package.json +++ b/package.json @@ -15,9 +15,10 @@ "@astrojs/sitemap": "^3.6.0", "@docsearch/js": "^3.6.0", "@docsearch/react": "^3.6.0", + "@fontsource-variable/hanken-grotesk": "^5.3.0", + "@fontsource-variable/inter": "^5.3.0", "@fontsource-variable/lexend": "^5.0.20", - "@fontsource-variable/outfit": "^5.0.13", - "@fontsource/press-start-2p": "^5.2.6", + "@fontsource-variable/space-grotesk": "^5.3.0", "@heroicons/react": "^2.2.0", "@tailwindcss/vite": "^4.0.9", "@types/react": "^18.3.3", diff --git a/public/apple-touch-icon.png b/public/apple-touch-icon.png new file mode 100644 index 0000000..3cea70a Binary files /dev/null and b/public/apple-touch-icon.png differ diff --git a/public/favicon-192.png b/public/favicon-192.png new file mode 100644 index 0000000..6503550 Binary files /dev/null and b/public/favicon-192.png differ diff --git a/public/favicon-32.png b/public/favicon-32.png new file mode 100644 index 0000000..8f20195 Binary files /dev/null and b/public/favicon-32.png differ diff --git a/public/favicon.ico b/public/favicon.ico deleted file mode 100644 index 2b1f62f..0000000 Binary files a/public/favicon.ico and /dev/null differ diff --git a/public/images/Icon_A.svg b/public/images/Icon_A.svg new file mode 100644 index 0000000..2750a70 --- /dev/null +++ b/public/images/Icon_A.svg @@ -0,0 +1,8 @@ + + + + + + + + diff --git a/public/images/logo.webp b/public/images/logo.webp deleted file mode 100644 index 2bcf563..0000000 Binary files a/public/images/logo.webp and /dev/null differ diff --git a/src/components/common/Footer.astro b/src/components/common/Footer.astro index 590a3d9..1743526 100644 --- a/src/components/common/Footer.astro +++ b/src/components/common/Footer.astro @@ -1,15 +1,25 @@