add tailwind

keypair34 committed Sep 25, 2025 at 15:39 UTC 833741f62a78a4508359eb5b560f1014596393fa
5 files changed +485 -75
astro.config.ts
+8 -2
@@ -13,6 +13,8 @@ import remarkTOC from './src/plugins/remark-toc.mjs'
13 import { SITE } from './src/config'
14 import path from 'path'
15
16 +import tailwindcss from '@tailwindcss/vite';
17 +
18 export default defineConfig({
19 site: SITE.website,
20 devToolbar: {
@@ -42,6 +44,7 @@ export default defineConfig({
44 '@': path.resolve('./src')
45 }
46 },
47 +
48 build: {
49 rollupOptions: {
50 output: {
@@ -52,8 +55,11 @@ export default defineConfig({
55 }
56 }
57 },
58 +
59 optimizeDeps: {
60 include: ['katex', 'reading-time']
57 - }
61 + },
62 +
63 + plugins: [tailwindcss()]
64 }
59 -})
65 +})
\ No newline at end of file
package.json
+2
@@ -19,6 +19,7 @@
19 "dependencies": {
20 "@astrojs/mdx": "^4.3.0",
21 "@astrojs/sitemap": "^3.4.1",
22 + "@tailwindcss/vite": "^4.1.13",
23 "astro": "^5.11.0",
24 "katex": "^0.16.22",
25 "mdast-util-to-string": "^4.0.0",
@@ -27,6 +28,7 @@
28 "remark-directive": "^4.0.0",
29 "remark-math": "^6.0.0",
30 "sharp": "^0.34.3",
31 + "tailwindcss": "^4.1.13",
32 "unist-util-visit": "^5.0.0"
33 },
34 "devDependencies": {
pnpm-lock.yaml
+456 -57
@@ -10,13 +10,16 @@ importers:
10 dependencies:
11 '@astrojs/mdx':
12 specifier: ^4.3.0
13 - version: 4.3.0(astro@5.11.0(@types/node@24.0.10)(rollup@4.44.1)(tsx@4.20.3)(typescript@5.8.3))
13 + version: 4.3.0(astro@5.11.0(@types/node@24.0.10)(jiti@2.6.0)(lightningcss@1.30.1)(rollup@4.44.1)(tsx@4.20.3)(typescript@5.8.3))
14 '@astrojs/sitemap':
15 specifier: ^3.4.1
16 version: 3.4.1
17 + '@tailwindcss/vite':
18 + specifier: ^4.1.13
19 + version: 4.1.13(vite@6.3.5(@types/node@24.0.10)(jiti@2.6.0)(lightningcss@1.30.1)(tsx@4.20.3))
20 astro:
21 specifier: ^5.11.0
19 - version: 5.11.0(@types/node@24.0.10)(rollup@4.44.1)(tsx@4.20.3)(typescript@5.8.3)
22 + version: 5.11.0(@types/node@24.0.10)(jiti@2.6.0)(lightningcss@1.30.1)(rollup@4.44.1)(tsx@4.20.3)(typescript@5.8.3)
23 katex:
24 specifier: ^0.16.22
25 version: 0.16.22
@@ -38,6 +41,9 @@ importers:
41 sharp:
42 specifier: ^0.34.3
43 version: 0.34.3
44 + tailwindcss:
45 + specifier: ^4.1.13
46 + version: 4.1.13
47 unist-util-visit:
48 specifier: ^5.0.0
49 version: 5.0.0
@@ -47,19 +53,19 @@ importers:
53 version: 9.30.1
54 '@typescript-eslint/eslint-plugin':
55 specifier: ^8.35.1
50 - version: 8.35.1(@typescript-eslint/parser@8.36.0(eslint@9.30.1)(typescript@5.8.3))(eslint@9.30.1)(typescript@5.8.3)
56 + version: 8.35.1(@typescript-eslint/parser@8.36.0(eslint@9.30.1(jiti@2.6.0))(typescript@5.8.3))(eslint@9.30.1(jiti@2.6.0))(typescript@5.8.3)
57 '@typescript-eslint/parser':
58 specifier: ^8.36.0
53 - version: 8.36.0(eslint@9.30.1)(typescript@5.8.3)
59 + version: 8.36.0(eslint@9.30.1(jiti@2.6.0))(typescript@5.8.3)
60 eslint:
61 specifier: ^9.30.1
56 - version: 9.30.1
62 + version: 9.30.1(jiti@2.6.0)
63 eslint-config-prettier:
64 specifier: ^10.1.5
59 - version: 10.1.5(eslint@9.30.1)
65 + version: 10.1.5(eslint@9.30.1(jiti@2.6.0))
66 eslint-plugin-astro:
67 specifier: ^1.3.1
62 - version: 1.3.1(eslint@9.30.1)
68 + version: 1.3.1(eslint@9.30.1(jiti@2.6.0))
69 globals:
70 specifier: ^16.3.0
71 version: 16.3.0
@@ -77,7 +83,7 @@ importers:
83 version: 5.8.3
84 typescript-eslint:
85 specifier: ^8.36.0
80 - version: 8.36.0(eslint@9.30.1)(typescript@5.8.3)
86 + version: 8.36.0(eslint@9.30.1(jiti@2.6.0))(typescript@5.8.3)
87
88 packages:
89
@@ -569,9 +575,29 @@ packages:
575 cpu: [x64]
576 os: [win32]
577
578 + '@isaacs/fs-minipass@4.0.1':
579 + resolution: {integrity: sha512-wgm9Ehl2jpeqP3zw/7mo3kRHFp5MEDhqAdwy1fTGkHAwnkGOVsgpvQhL8B5n1qlb01jV3n/bI0ZfZp5lWA1k4w==}
580 + engines: {node: '>=18.0.0'}
581 +
582 + '@jridgewell/gen-mapping@0.3.13':
583 + resolution: {integrity: sha512-2kkt/7niJ6MgEPxF0bYdQ6etZaA+fQvDcLKckhy1yIQOzaoKjBBjSj63/aLVjYE3qhRt5dvM+uUyfCg6UKCBbA==}
584 +
585 + '@jridgewell/remapping@2.3.5':
586 + resolution: {integrity: sha512-LI9u/+laYG4Ds1TDKSJW2YPrIlcVYOwi2fUC6xB43lueCjgxV4lffOCZCtYFiH6TNOX+tQKXx97T4IKHbhyHEQ==}
587 +
588 + '@jridgewell/resolve-uri@3.1.2':
589 + resolution: {integrity: sha512-bRISgCIjP20/tbWSPWMEi54QVPRZExkuD9lJL+UIxUKtwVJA8wW1Trb1jMs1RFXo1CBTNZ/5hpC9QvmKWdopKw==}
590 + engines: {node: '>=6.0.0'}
591 +
592 '@jridgewell/sourcemap-codec@1.5.4':
593 resolution: {integrity: sha512-VT2+G1VQs/9oz078bLrYbecdZKs912zQlkelYpuf+SXF+QvZDYJlbx/LSx+meSAwdDFnF8FVXW92AVjjkVmgFw==}
594
595 + '@jridgewell/sourcemap-codec@1.5.5':
596 + resolution: {integrity: sha512-cYQ9310grqxueWbl+WuIUIaiUaDcj7WOq5fVhEljNVgRfOUhY9fy2zTvfoqWsnebh8Sl70VScFbICvJnLKB0Og==}
597 +
598 + '@jridgewell/trace-mapping@0.3.31':
599 + resolution: {integrity: sha512-zzNR+SdQSDJzc8joaeP8QQoCQr8NuYx2dIIytl1QeBEZHJ9uW6hebsrYgbz8hJwUQao3TWCMtmfV8Nu1twOLAw==}
600 +
601 '@mdx-js/mdx@3.1.0':
602 resolution: {integrity: sha512-/QxEhPAvGwbQmy1Px8F899L5Uc2KZ6JtXwlCgJmjSTBedwOZkByYcBG4GceIGPXRDsmfxhHazuS+hlOShRLeDw==}
603
@@ -727,6 +753,96 @@ packages:
753 '@swc/helpers@0.5.17':
754 resolution: {integrity: sha512-5IKx/Y13RsYd+sauPb2x+U/xZikHjolzfuDgTAl/Tdf3Q8rslRvC19NKDLgAJQ6wsqADk10ntlv08nPFw/gO/A==}
755
756 + '@tailwindcss/node@4.1.13':
757 + resolution: {integrity: sha512-eq3ouolC1oEFOAvOMOBAmfCIqZBJuvWvvYWh5h5iOYfe1HFC6+GZ6EIL0JdM3/niGRJmnrOc+8gl9/HGUaaptw==}
758 +
759 + '@tailwindcss/oxide-android-arm64@4.1.13':
760 + resolution: {integrity: sha512-BrpTrVYyejbgGo57yc8ieE+D6VT9GOgnNdmh5Sac6+t0m+v+sKQevpFVpwX3pBrM2qKrQwJ0c5eDbtjouY/+ew==}
761 + engines: {node: '>= 10'}
762 + cpu: [arm64]
763 + os: [android]
764 +
765 + '@tailwindcss/oxide-darwin-arm64@4.1.13':
766 + resolution: {integrity: sha512-YP+Jksc4U0KHcu76UhRDHq9bx4qtBftp9ShK/7UGfq0wpaP96YVnnjFnj3ZFrUAjc5iECzODl/Ts0AN7ZPOANQ==}
767 + engines: {node: '>= 10'}
768 + cpu: [arm64]
769 + os: [darwin]
770 +
771 + '@tailwindcss/oxide-darwin-x64@4.1.13':
772 + resolution: {integrity: sha512-aAJ3bbwrn/PQHDxCto9sxwQfT30PzyYJFG0u/BWZGeVXi5Hx6uuUOQEI2Fa43qvmUjTRQNZnGqe9t0Zntexeuw==}
773 + engines: {node: '>= 10'}
774 + cpu: [x64]
775 + os: [darwin]
776 +
777 + '@tailwindcss/oxide-freebsd-x64@4.1.13':
778 + resolution: {integrity: sha512-Wt8KvASHwSXhKE/dJLCCWcTSVmBj3xhVhp/aF3RpAhGeZ3sVo7+NTfgiN8Vey/Fi8prRClDs6/f0KXPDTZE6nQ==}
779 + engines: {node: '>= 10'}
780 + cpu: [x64]
781 + os: [freebsd]
782 +
783 + '@tailwindcss/oxide-linux-arm-gnueabihf@4.1.13':
784 + resolution: {integrity: sha512-mbVbcAsW3Gkm2MGwA93eLtWrwajz91aXZCNSkGTx/R5eb6KpKD5q8Ueckkh9YNboU8RH7jiv+ol/I7ZyQ9H7Bw==}
785 + engines: {node: '>= 10'}
786 + cpu: [arm]
787 + os: [linux]
788 +
789 + '@tailwindcss/oxide-linux-arm64-gnu@4.1.13':
790 + resolution: {integrity: sha512-wdtfkmpXiwej/yoAkrCP2DNzRXCALq9NVLgLELgLim1QpSfhQM5+ZxQQF8fkOiEpuNoKLp4nKZ6RC4kmeFH0HQ==}
791 + engines: {node: '>= 10'}
792 + cpu: [arm64]
793 + os: [linux]
794 +
795 + '@tailwindcss/oxide-linux-arm64-musl@4.1.13':
796 + resolution: {integrity: sha512-hZQrmtLdhyqzXHB7mkXfq0IYbxegaqTmfa1p9MBj72WPoDD3oNOh1Lnxf6xZLY9C3OV6qiCYkO1i/LrzEdW2mg==}
797 + engines: {node: '>= 10'}
798 + cpu: [arm64]
799 + os: [linux]
800 +
801 + '@tailwindcss/oxide-linux-x64-gnu@4.1.13':
802 + resolution: {integrity: sha512-uaZTYWxSXyMWDJZNY1Ul7XkJTCBRFZ5Fo6wtjrgBKzZLoJNrG+WderJwAjPzuNZOnmdrVg260DKwXCFtJ/hWRQ==}
803 + engines: {node: '>= 10'}
804 + cpu: [x64]
805 + os: [linux]
806 +
807 + '@tailwindcss/oxide-linux-x64-musl@4.1.13':
808 + resolution: {integrity: sha512-oXiPj5mi4Hdn50v5RdnuuIms0PVPI/EG4fxAfFiIKQh5TgQgX7oSuDWntHW7WNIi/yVLAiS+CRGW4RkoGSSgVQ==}
809 + engines: {node: '>= 10'}
810 + cpu: [x64]
811 + os: [linux]
812 +
813 + '@tailwindcss/oxide-wasm32-wasi@4.1.13':
814 + resolution: {integrity: sha512-+LC2nNtPovtrDwBc/nqnIKYh/W2+R69FA0hgoeOn64BdCX522u19ryLh3Vf3F8W49XBcMIxSe665kwy21FkhvA==}
815 + engines: {node: '>=14.0.0'}
816 + cpu: [wasm32]
817 + bundledDependencies:
818 + - '@napi-rs/wasm-runtime'
819 + - '@emnapi/core'
820 + - '@emnapi/runtime'
821 + - '@tybys/wasm-util'
822 + - '@emnapi/wasi-threads'
823 + - tslib
824 +
825 + '@tailwindcss/oxide-win32-arm64-msvc@4.1.13':
826 + resolution: {integrity: sha512-dziTNeQXtoQ2KBXmrjCxsuPk3F3CQ/yb7ZNZNA+UkNTeiTGgfeh+gH5Pi7mRncVgcPD2xgHvkFCh/MhZWSgyQg==}
827 + engines: {node: '>= 10'}
828 + cpu: [arm64]
829 + os: [win32]
830 +
831 + '@tailwindcss/oxide-win32-x64-msvc@4.1.13':
832 + resolution: {integrity: sha512-3+LKesjXydTkHk5zXX01b5KMzLV1xl2mcktBJkje7rhFUpUlYJy7IMOLqjIRQncLTa1WZZiFY/foAeB5nmaiTw==}
833 + engines: {node: '>= 10'}
834 + cpu: [x64]
835 + os: [win32]
836 +
837 + '@tailwindcss/oxide@4.1.13':
838 + resolution: {integrity: sha512-CPgsM1IpGRa880sMbYmG1s4xhAy3xEt1QULgTJGQmZUeNgXFR7s1YxYygmJyBGtou4SyEosGAGEeYqY7R53bIA==}
839 + engines: {node: '>= 10'}
840 +
841 + '@tailwindcss/vite@4.1.13':
842 + resolution: {integrity: sha512-0PmqLQ010N58SbMTJ7BVJ4I2xopiQn/5i6nlb4JmxzQf8zcS5+m2Cv6tqh+sfDwtIdjoEnOvwsGQ1hkUi8QEHQ==}
843 + peerDependencies:
844 + vite: ^5.2.0 || ^6 || ^7
845 +
846 '@types/debug@4.1.12':
847 resolution: {integrity: sha512-vIChWdVG3LG1SMxEvI/AK+FWJthlrqlTu7fbrlywTkkaONwk/UAGaULXRlf8vkzFBLVm0zkMdCquhL5aOjhXPQ==}
848
@@ -1028,6 +1144,10 @@ packages:
1144 resolution: {integrity: sha512-Qgzu8kfBvo+cA4962jnP1KkS6Dop5NS6g7R5LFYJr4b8Ub94PPQXUksCw9PvXoeXPRRddRNC5C1JQUR2SMGtnA==}
1145 engines: {node: '>= 14.16.0'}
1146
1147 + chownr@3.0.0:
1148 + resolution: {integrity: sha512-+IxzY9BZOQd/XuYPRmrvEVjF/nqj5kgT4kEq7VofrDoM1MxoRjEWkrCC3EtLi59TVawxTAn+orJwFQcrqEN1+g==}
1149 + engines: {node: '>=18'}
1150 +
1151 ci-info@4.2.0:
1152 resolution: {integrity: sha512-cYY9mypksY8NRqgDB1XD1RiJL338v/551niynFTGkZOO2LHuB2OmOYxDIe/ttN9AHwrqdum1360G3ald0W9kCg==}
1153 engines: {node: '>=8'}
@@ -1159,6 +1279,10 @@ packages:
1279 emoji-regex@8.0.0:
1280 resolution: {integrity: sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==}
1281
1282 + enhanced-resolve@5.18.3:
1283 + resolution: {integrity: sha512-d4lC8xfavMeBjzGr2vECC3fsGXziXZQyJxD868h2M/mBI3PwAuODxAkLkq5HYuvrPYcUtiLzsTo8U3PgX3Ocww==}
1284 + engines: {node: '>=10.13.0'}
1285 +
1286 entities@6.0.1:
1287 resolution: {integrity: sha512-aN97NXWF6AWBTahfVOIrB/NShkzi5H7F9r1s9mD3cDj4Ko5f2qhhVoYMibXF7GlLveb/D2ioWay8lxI97Ven3g==}
1288 engines: {node: '>=0.12'}
@@ -1363,6 +1487,9 @@ packages:
1487 resolution: {integrity: sha512-bqWEnJ1Nt3neqx2q5SFfGS8r/ahumIakg3HcwtNlrVlwXIeNumWn/c7Pn/wKzGhf6SaW6H6uWXLqC30STCMchQ==}
1488 engines: {node: '>=18'}
1489
1490 + graceful-fs@4.2.11:
1491 + resolution: {integrity: sha512-RbJ5/jmFcNNCcDV5o9eTnBLJ/HszWV0P73bc+Ff4nS/rJj+YaS6IGyiOL0VoBYX+l1Wrl3k63h/KrH+nhJ0XvQ==}
1492 +
1493 graphemer@1.4.0:
1494 resolution: {integrity: sha512-EtKwoO6kxCL9WO5xipiHTZlSzBm7WLT627TqC/uVRd0HKmq8NXyebnNYxDoBi7wt8eTWrUrKXCOVaFq9x1kgag==}
1495
@@ -1501,6 +1628,10 @@ packages:
1628 isexe@2.0.0:
1629 resolution: {integrity: sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw==}
1630
1631 + jiti@2.6.0:
1632 + resolution: {integrity: sha512-VXe6RjJkBPj0ohtqaO8vSWP3ZhAKo66fKrFNCll4BTcwljPLz03pCbaNKfzGP5MbrCYcbJ7v0nOYYwUzTEIdXQ==}
1633 + hasBin: true
1634 +
1635 js-yaml@4.1.0:
1636 resolution: {integrity: sha512-wpxZs9NoxZaJESJGIZTyDEaYpl0FKSA+FB9aJiyemKhMwkxQg63h4T1KJgUGHpTqPDNRcmmYLugrRjJlBtWvRA==}
1637 hasBin: true
@@ -1533,6 +1664,70 @@ packages:
1664 resolution: {integrity: sha512-+bT2uH4E5LGE7h/n3evcS/sQlJXCpIp6ym8OWJ5eV6+67Dsql/LaaT7qJBAt2rzfoa/5QBGBhxDix1dMt2kQKQ==}
1665 engines: {node: '>= 0.8.0'}
1666
1667 + lightningcss-darwin-arm64@1.30.1:
1668 + resolution: {integrity: sha512-c8JK7hyE65X1MHMN+Viq9n11RRC7hgin3HhYKhrMyaXflk5GVplZ60IxyoVtzILeKr+xAJwg6zK6sjTBJ0FKYQ==}
1669 + engines: {node: '>= 12.0.0'}
1670 + cpu: [arm64]
1671 + os: [darwin]
1672 +
1673 + lightningcss-darwin-x64@1.30.1:
1674 + resolution: {integrity: sha512-k1EvjakfumAQoTfcXUcHQZhSpLlkAuEkdMBsI/ivWw9hL+7FtilQc0Cy3hrx0AAQrVtQAbMI7YjCgYgvn37PzA==}
1675 + engines: {node: '>= 12.0.0'}
1676 + cpu: [x64]
1677 + os: [darwin]
1678 +
1679 + lightningcss-freebsd-x64@1.30.1:
1680 + resolution: {integrity: sha512-kmW6UGCGg2PcyUE59K5r0kWfKPAVy4SltVeut+umLCFoJ53RdCUWxcRDzO1eTaxf/7Q2H7LTquFHPL5R+Gjyig==}
1681 + engines: {node: '>= 12.0.0'}
1682 + cpu: [x64]
1683 + os: [freebsd]
1684 +
1685 + lightningcss-linux-arm-gnueabihf@1.30.1:
1686 + resolution: {integrity: sha512-MjxUShl1v8pit+6D/zSPq9S9dQ2NPFSQwGvxBCYaBYLPlCWuPh9/t1MRS8iUaR8i+a6w7aps+B4N0S1TYP/R+Q==}
1687 + engines: {node: '>= 12.0.0'}
1688 + cpu: [arm]
1689 + os: [linux]
1690 +
1691 + lightningcss-linux-arm64-gnu@1.30.1:
1692 + resolution: {integrity: sha512-gB72maP8rmrKsnKYy8XUuXi/4OctJiuQjcuqWNlJQ6jZiWqtPvqFziskH3hnajfvKB27ynbVCucKSm2rkQp4Bw==}
1693 + engines: {node: '>= 12.0.0'}
1694 + cpu: [arm64]
1695 + os: [linux]
1696 +
1697 + lightningcss-linux-arm64-musl@1.30.1:
1698 + resolution: {integrity: sha512-jmUQVx4331m6LIX+0wUhBbmMX7TCfjF5FoOH6SD1CttzuYlGNVpA7QnrmLxrsub43ClTINfGSYyHe2HWeLl5CQ==}
1699 + engines: {node: '>= 12.0.0'}
1700 + cpu: [arm64]
1701 + os: [linux]
1702 +
1703 + lightningcss-linux-x64-gnu@1.30.1:
1704 + resolution: {integrity: sha512-piWx3z4wN8J8z3+O5kO74+yr6ze/dKmPnI7vLqfSqI8bccaTGY5xiSGVIJBDd5K5BHlvVLpUB3S2YCfelyJ1bw==}
1705 + engines: {node: '>= 12.0.0'}
1706 + cpu: [x64]
1707 + os: [linux]
1708 +
1709 + lightningcss-linux-x64-musl@1.30.1:
1710 + resolution: {integrity: sha512-rRomAK7eIkL+tHY0YPxbc5Dra2gXlI63HL+v1Pdi1a3sC+tJTcFrHX+E86sulgAXeI7rSzDYhPSeHHjqFhqfeQ==}
1711 + engines: {node: '>= 12.0.0'}
1712 + cpu: [x64]
1713 + os: [linux]
1714 +
1715 + lightningcss-win32-arm64-msvc@1.30.1:
1716 + resolution: {integrity: sha512-mSL4rqPi4iXq5YVqzSsJgMVFENoa4nGTT/GjO2c0Yl9OuQfPsIfncvLrEW6RbbB24WtZ3xP/2CCmI3tNkNV4oA==}
1717 + engines: {node: '>= 12.0.0'}
1718 + cpu: [arm64]
1719 + os: [win32]
1720 +
1721 + lightningcss-win32-x64-msvc@1.30.1:
1722 + resolution: {integrity: sha512-PVqXh48wh4T53F/1CCu8PIPCxLzWyCnn/9T5W1Jpmdy5h9Cwd+0YQS6/LwhHXSafuc61/xg9Lv5OrCby6a++jg==}
1723 + engines: {node: '>= 12.0.0'}
1724 + cpu: [x64]
1725 + os: [win32]
1726 +
1727 + lightningcss@1.30.1:
1728 + resolution: {integrity: sha512-xi6IyHML+c9+Q3W0S4fCQJOym42pyurFiJUHEcEyHS0CeKzia4yZDEsLlqOFykxOdHpNy0NmvVO31vcSqAxJCg==}
1729 + engines: {node: '>= 12.0.0'}
1730 +
1731 locate-path@6.0.0:
1732 resolution: {integrity: sha512-iPZK6eYjbxRu3uB4/WZ3EsEIMJFMqAoopl3R+zuq0UjcAm/MO6KCweDgPfP3elTztoKP3KtnVHxTn2NHBSDVUw==}
1733 engines: {node: '>=10'}
@@ -1549,6 +1744,9 @@ packages:
1744 magic-string@0.30.17:
1745 resolution: {integrity: sha512-sNPKHvyjVf7gyjwS4xGTaW/mCnF8wnjtifKBEhxfZ7E/S8tQ0rssrwGNn6q8JH/ohItJfSQp9mBtQYuTlH5QnA==}
1746
1747 + magic-string@0.30.19:
1748 + resolution: {integrity: sha512-2N21sPY9Ws53PZvsEpVtNuSW+ScYbQdp4b9qUaL+9QkHUrGFKo56Lg9Emg5s9V/qrtNBmiR01sYhUOwu3H+VOw==}
1749 +
1750 magicast@0.3.5:
1751 resolution: {integrity: sha512-L0WhttDl+2BOsybvEOLK7fW3UA0OQ0IQ2d6Zl2x/a6vVRs3bAY0ECOSHHeL5jD+SbOpOCUEi0y1DgHEn9Qn1AQ==}
1752
@@ -1745,6 +1943,14 @@ packages:
1943 resolution: {integrity: sha512-G6T0ZX48xgozx7587koeX9Ys2NYy6Gmv//P89sEte9V9whIapMNF4idKxnW2QtCcLiTWlb/wfCabAtAFWhhBow==}
1944 engines: {node: '>=16 || 14 >=14.17'}
1945
1946 + minipass@7.1.2:
1947 + resolution: {integrity: sha512-qOOzS1cBTWYF4BH8fVePDBOO9iptMnGUEZwNc/cMWnTV2nVLZ7VoNWEPHkYczZA0pdoA7dl6e7FL659nX9S2aw==}
1948 + engines: {node: '>=16 || 14 >=14.17'}
1949 +
1950 + minizlib@3.1.0:
1951 + resolution: {integrity: sha512-KZxYo1BUkWD2TVFLr0MQoM8vUUigWD3LlD83a/75BqC+4qE0Hb1Vo5v1FgcfaNXvfXzr+5EhQ6ing/CaBijTlw==}
1952 + engines: {node: '>= 18'}
1953 +
1954 mrmime@2.0.1:
1955 resolution: {integrity: sha512-Y3wQdFg2Va6etvQ5I82yUhGdsKrcYox6p7FfL1LbK2J4V01F9TGlepTIhnK24t7koZibmg82KGglhA1XK5IsLQ==}
1956 engines: {node: '>=10'}
@@ -2112,6 +2318,17 @@ packages:
2318 resolution: {integrity: sha512-+XZ+r1XGIJGeQk3VvXhT6xx/VpbHsRzsTkGgF6E5RX9TTXD0118l87puaEBZ566FhqblC6U0d4XnubznJDm30A==}
2319 engines: {node: ^14.18.0 || >=16.0.0}
2320
2321 + tailwindcss@4.1.13:
2322 + resolution: {integrity: sha512-i+zidfmTqtwquj4hMEwdjshYYgMbOrPzb9a0M3ZgNa0JMoZeFC6bxZvO8yr8ozS6ix2SDz0+mvryPeBs2TFE+w==}
2323 +
2324 + tapable@2.2.3:
2325 + resolution: {integrity: sha512-ZL6DDuAlRlLGghwcfmSn9sK3Hr6ArtyudlSAiCqQ6IfE+b+HHbydbYDIG15IfS5do+7XQQBdBiubF/cV2dnDzg==}
2326 + engines: {node: '>=6'}
2327 +
2328 + tar@7.5.1:
2329 + resolution: {integrity: sha512-nlGpxf+hv0v7GkWBK2V9spgactGOp0qvfWRxUMjqHyzrt3SgwE48DIv/FhqPHJYLHpgW1opq3nERbz5Anq7n1g==}
2330 + engines: {node: '>=18'}
2331 +
2332 tiny-inflate@1.0.3:
2333 resolution: {integrity: sha512-pkY1fj1cKHb2seWDy0B16HeWyczlJA9/WW3u3c4z/NiWDsO3DOU5D7nhTLE9CF0yXv/QZFY7sEJmj24dK+Rrqw==}
2334
@@ -2388,6 +2605,10 @@ packages:
2605 xxhash-wasm@1.1.0:
2606 resolution: {integrity: sha512-147y/6YNh+tlp6nd/2pWq38i9h6mz/EuQ6njIrmW8D1BS5nCqs0P6DG+m6zTGnNz5I+uhZ0SHxBs9BsPrwcKDA==}
2607
2608 + yallist@5.0.0:
2609 + resolution: {integrity: sha512-YgvUTfwqyc7UXVMrB+SImsVYSmTS8X/tSrtdNZMImM+n7+QTriRXyXim0mBrTXNeqzVF0KWGgHPeiyViFFrNDw==}
2610 + engines: {node: '>=18'}
2611 +
2612 yargs-parser@21.1.1:
2613 resolution: {integrity: sha512-tVpsJW7DdjecAiFpbIB1e3qxIQsE6NoPc5/eTdrbbIC4h0LVsWhnoa3g+m2HclBIujHzsxZ4VJVA+GUuc2/LBw==}
2614 engines: {node: '>=12'}
@@ -2457,12 +2678,12 @@ snapshots:
2678 transitivePeerDependencies:
2679 - supports-color
2680
2460 - '@astrojs/mdx@4.3.0(astro@5.11.0(@types/node@24.0.10)(rollup@4.44.1)(tsx@4.20.3)(typescript@5.8.3))':
2681 + '@astrojs/mdx@4.3.0(astro@5.11.0(@types/node@24.0.10)(jiti@2.6.0)(lightningcss@1.30.1)(rollup@4.44.1)(tsx@4.20.3)(typescript@5.8.3))':
2682 dependencies:
2683 '@astrojs/markdown-remark': 6.3.2
2684 '@mdx-js/mdx': 3.1.0(acorn@8.15.0)
2685 acorn: 8.15.0
2465 - astro: 5.11.0(@types/node@24.0.10)(rollup@4.44.1)(tsx@4.20.3)(typescript@5.8.3)
2686 + astro: 5.11.0(@types/node@24.0.10)(jiti@2.6.0)(lightningcss@1.30.1)(rollup@4.44.1)(tsx@4.20.3)(typescript@5.8.3)
2687 es-module-lexer: 1.7.0
2688 estree-util-visit: 2.0.0
2689 hast-util-to-html: 9.0.5
@@ -2599,9 +2820,9 @@ snapshots:
2820 '@esbuild/win32-x64@0.25.5':
2821 optional: true
2822
2602 - '@eslint-community/eslint-utils@4.7.0(eslint@9.30.1)':
2823 + '@eslint-community/eslint-utils@4.7.0(eslint@9.30.1(jiti@2.6.0))':
2824 dependencies:
2604 - eslint: 9.30.1
2825 + eslint: 9.30.1(jiti@2.6.0)
2826 eslint-visitor-keys: 3.4.3
2827
2828 '@eslint-community/regexpp@4.12.1': {}
@@ -2821,8 +3042,31 @@ snapshots:
3042 '@img/sharp-win32-x64@0.34.3':
3043 optional: true
3044
3045 + '@isaacs/fs-minipass@4.0.1':
3046 + dependencies:
3047 + minipass: 7.1.2
3048 +
3049 + '@jridgewell/gen-mapping@0.3.13':
3050 + dependencies:
3051 + '@jridgewell/sourcemap-codec': 1.5.4
3052 + '@jridgewell/trace-mapping': 0.3.31
3053 +
3054 + '@jridgewell/remapping@2.3.5':
3055 + dependencies:
3056 + '@jridgewell/gen-mapping': 0.3.13
3057 + '@jridgewell/trace-mapping': 0.3.31
3058 +
3059 + '@jridgewell/resolve-uri@3.1.2': {}
3060 +
3061 '@jridgewell/sourcemap-codec@1.5.4': {}
3062
3063 + '@jridgewell/sourcemap-codec@1.5.5': {}
3064 +
3065 + '@jridgewell/trace-mapping@0.3.31':
3066 + dependencies:
3067 + '@jridgewell/resolve-uri': 3.1.2
3068 + '@jridgewell/sourcemap-codec': 1.5.4
3069 +
3070 '@mdx-js/mdx@3.1.0(acorn@8.15.0)':
3071 dependencies:
3072 '@types/estree': 1.0.8
@@ -2974,6 +3218,77 @@ snapshots:
3218 dependencies:
3219 tslib: 2.8.1
3220
3221 + '@tailwindcss/node@4.1.13':
3222 + dependencies:
3223 + '@jridgewell/remapping': 2.3.5
3224 + enhanced-resolve: 5.18.3
3225 + jiti: 2.6.0
3226 + lightningcss: 1.30.1
3227 + magic-string: 0.30.19
3228 + source-map-js: 1.2.1
3229 + tailwindcss: 4.1.13
3230 +
3231 + '@tailwindcss/oxide-android-arm64@4.1.13':
3232 + optional: true
3233 +
3234 + '@tailwindcss/oxide-darwin-arm64@4.1.13':
3235 + optional: true
3236 +
3237 + '@tailwindcss/oxide-darwin-x64@4.1.13':
3238 + optional: true
3239 +
3240 + '@tailwindcss/oxide-freebsd-x64@4.1.13':
3241 + optional: true
3242 +
3243 + '@tailwindcss/oxide-linux-arm-gnueabihf@4.1.13':
3244 + optional: true
3245 +
3246 + '@tailwindcss/oxide-linux-arm64-gnu@4.1.13':
3247 + optional: true
3248 +
3249 + '@tailwindcss/oxide-linux-arm64-musl@4.1.13':
3250 + optional: true
3251 +
3252 + '@tailwindcss/oxide-linux-x64-gnu@4.1.13':
3253 + optional: true
3254 +
3255 + '@tailwindcss/oxide-linux-x64-musl@4.1.13':
3256 + optional: true
3257 +
3258 + '@tailwindcss/oxide-wasm32-wasi@4.1.13':
3259 + optional: true
3260 +
3261 + '@tailwindcss/oxide-win32-arm64-msvc@4.1.13':
3262 + optional: true
3263 +
3264 + '@tailwindcss/oxide-win32-x64-msvc@4.1.13':
3265 + optional: true
3266 +
3267 + '@tailwindcss/oxide@4.1.13':
3268 + dependencies:
3269 + detect-libc: 2.0.4
3270 + tar: 7.5.1
3271 + optionalDependencies:
3272 + '@tailwindcss/oxide-android-arm64': 4.1.13
3273 + '@tailwindcss/oxide-darwin-arm64': 4.1.13
3274 + '@tailwindcss/oxide-darwin-x64': 4.1.13
3275 + '@tailwindcss/oxide-freebsd-x64': 4.1.13
3276 + '@tailwindcss/oxide-linux-arm-gnueabihf': 4.1.13
3277 + '@tailwindcss/oxide-linux-arm64-gnu': 4.1.13
3278 + '@tailwindcss/oxide-linux-arm64-musl': 4.1.13
3279 + '@tailwindcss/oxide-linux-x64-gnu': 4.1.13
3280 + '@tailwindcss/oxide-linux-x64-musl': 4.1.13
3281 + '@tailwindcss/oxide-wasm32-wasi': 4.1.13
3282 + '@tailwindcss/oxide-win32-arm64-msvc': 4.1.13
3283 + '@tailwindcss/oxide-win32-x64-msvc': 4.1.13
3284 +
3285 + '@tailwindcss/vite@4.1.13(vite@6.3.5(@types/node@24.0.10)(jiti@2.6.0)(lightningcss@1.30.1)(tsx@4.20.3))':
3286 + dependencies:
3287 + '@tailwindcss/node': 4.1.13
3288 + '@tailwindcss/oxide': 4.1.13
3289 + tailwindcss: 4.1.13
3290 + vite: 6.3.5(@types/node@24.0.10)(jiti@2.6.0)(lightningcss@1.30.1)(tsx@4.20.3)
3291 +
3292 '@types/debug@4.1.12':
3293 dependencies:
3294 '@types/ms': 2.1.0
@@ -3022,15 +3337,15 @@ snapshots:
3337
3338 '@types/unist@3.0.3': {}
3339
3025 - '@typescript-eslint/eslint-plugin@8.35.1(@typescript-eslint/parser@8.36.0(eslint@9.30.1)(typescript@5.8.3))(eslint@9.30.1)(typescript@5.8.3)':
3340 + '@typescript-eslint/eslint-plugin@8.35.1(@typescript-eslint/parser@8.36.0(eslint@9.30.1(jiti@2.6.0))(typescript@5.8.3))(eslint@9.30.1(jiti@2.6.0))(typescript@5.8.3)':
3341 dependencies:
3342 '@eslint-community/regexpp': 4.12.1
3028 - '@typescript-eslint/parser': 8.36.0(eslint@9.30.1)(typescript@5.8.3)
3343 + '@typescript-eslint/parser': 8.36.0(eslint@9.30.1(jiti@2.6.0))(typescript@5.8.3)
3344 '@typescript-eslint/scope-manager': 8.35.1
3030 - '@typescript-eslint/type-utils': 8.35.1(eslint@9.30.1)(typescript@5.8.3)
3031 - '@typescript-eslint/utils': 8.35.1(eslint@9.30.1)(typescript@5.8.3)
3345 + '@typescript-eslint/type-utils': 8.35.1(eslint@9.30.1(jiti@2.6.0))(typescript@5.8.3)
3346 + '@typescript-eslint/utils': 8.35.1(eslint@9.30.1(jiti@2.6.0))(typescript@5.8.3)
3347 '@typescript-eslint/visitor-keys': 8.35.1
3033 - eslint: 9.30.1
3348 + eslint: 9.30.1(jiti@2.6.0)
3349 graphemer: 1.4.0
3350 ignore: 7.0.5
3351 natural-compare: 1.4.0
@@ -3039,15 +3354,15 @@ snapshots:
3354 transitivePeerDependencies:
3355 - supports-color
3356
3042 - '@typescript-eslint/eslint-plugin@8.36.0(@typescript-eslint/parser@8.36.0(eslint@9.30.1)(typescript@5.8.3))(eslint@9.30.1)(typescript@5.8.3)':
3357 + '@typescript-eslint/eslint-plugin@8.36.0(@typescript-eslint/parser@8.36.0(eslint@9.30.1(jiti@2.6.0))(typescript@5.8.3))(eslint@9.30.1(jiti@2.6.0))(typescript@5.8.3)':
3358 dependencies:
3359 '@eslint-community/regexpp': 4.12.1
3045 - '@typescript-eslint/parser': 8.36.0(eslint@9.30.1)(typescript@5.8.3)
3360 + '@typescript-eslint/parser': 8.36.0(eslint@9.30.1(jiti@2.6.0))(typescript@5.8.3)
3361 '@typescript-eslint/scope-manager': 8.36.0
3047 - '@typescript-eslint/type-utils': 8.36.0(eslint@9.30.1)(typescript@5.8.3)
3048 - '@typescript-eslint/utils': 8.36.0(eslint@9.30.1)(typescript@5.8.3)
3362 + '@typescript-eslint/type-utils': 8.36.0(eslint@9.30.1(jiti@2.6.0))(typescript@5.8.3)
3363 + '@typescript-eslint/utils': 8.36.0(eslint@9.30.1(jiti@2.6.0))(typescript@5.8.3)
3364 '@typescript-eslint/visitor-keys': 8.36.0
3050 - eslint: 9.30.1
3365 + eslint: 9.30.1(jiti@2.6.0)
3366 graphemer: 1.4.0
3367 ignore: 7.0.5
3368 natural-compare: 1.4.0
@@ -3056,14 +3371,14 @@ snapshots:
3371 transitivePeerDependencies:
3372 - supports-color
3373
3059 - '@typescript-eslint/parser@8.36.0(eslint@9.30.1)(typescript@5.8.3)':
3374 + '@typescript-eslint/parser@8.36.0(eslint@9.30.1(jiti@2.6.0))(typescript@5.8.3)':
3375 dependencies:
3376 '@typescript-eslint/scope-manager': 8.36.0
3377 '@typescript-eslint/types': 8.36.0
3378 '@typescript-eslint/typescript-estree': 8.36.0(typescript@5.8.3)
3379 '@typescript-eslint/visitor-keys': 8.36.0
3380 debug: 4.4.1
3066 - eslint: 9.30.1
3381 + eslint: 9.30.1(jiti@2.6.0)
3382 typescript: 5.8.3
3383 transitivePeerDependencies:
3384 - supports-color
@@ -3104,23 +3419,23 @@ snapshots:
3419 dependencies:
3420 typescript: 5.8.3
3421
3107 - '@typescript-eslint/type-utils@8.35.1(eslint@9.30.1)(typescript@5.8.3)':
3422 + '@typescript-eslint/type-utils@8.35.1(eslint@9.30.1(jiti@2.6.0))(typescript@5.8.3)':
3423 dependencies:
3424 '@typescript-eslint/typescript-estree': 8.35.1(typescript@5.8.3)
3110 - '@typescript-eslint/utils': 8.35.1(eslint@9.30.1)(typescript@5.8.3)
3425 + '@typescript-eslint/utils': 8.35.1(eslint@9.30.1(jiti@2.6.0))(typescript@5.8.3)
3426 debug: 4.4.1
3112 - eslint: 9.30.1
3427 + eslint: 9.30.1(jiti@2.6.0)
3428 ts-api-utils: 2.1.0(typescript@5.8.3)
3429 typescript: 5.8.3
3430 transitivePeerDependencies:
3431 - supports-color
3432
3118 - '@typescript-eslint/type-utils@8.36.0(eslint@9.30.1)(typescript@5.8.3)':
3433 + '@typescript-eslint/type-utils@8.36.0(eslint@9.30.1(jiti@2.6.0))(typescript@5.8.3)':
3434 dependencies:
3435 '@typescript-eslint/typescript-estree': 8.36.0(typescript@5.8.3)
3121 - '@typescript-eslint/utils': 8.36.0(eslint@9.30.1)(typescript@5.8.3)
3436 + '@typescript-eslint/utils': 8.36.0(eslint@9.30.1(jiti@2.6.0))(typescript@5.8.3)
3437 debug: 4.4.1
3123 - eslint: 9.30.1
3438 + eslint: 9.30.1(jiti@2.6.0)
3439 ts-api-utils: 2.1.0(typescript@5.8.3)
3440 typescript: 5.8.3
3441 transitivePeerDependencies:
@@ -3162,24 +3477,24 @@ snapshots:
3477 transitivePeerDependencies:
3478 - supports-color
3479
3165 - '@typescript-eslint/utils@8.35.1(eslint@9.30.1)(typescript@5.8.3)':
3480 + '@typescript-eslint/utils@8.35.1(eslint@9.30.1(jiti@2.6.0))(typescript@5.8.3)':
3481 dependencies:
3167 - '@eslint-community/eslint-utils': 4.7.0(eslint@9.30.1)
3482 + '@eslint-community/eslint-utils': 4.7.0(eslint@9.30.1(jiti@2.6.0))
3483 '@typescript-eslint/scope-manager': 8.35.1
3484 '@typescript-eslint/types': 8.35.1
3485 '@typescript-eslint/typescript-estree': 8.35.1(typescript@5.8.3)
3171 - eslint: 9.30.1
3486 + eslint: 9.30.1(jiti@2.6.0)
3487 typescript: 5.8.3
3488 transitivePeerDependencies:
3489 - supports-color
3490
3176 - '@typescript-eslint/utils@8.36.0(eslint@9.30.1)(typescript@5.8.3)':
3491 + '@typescript-eslint/utils@8.36.0(eslint@9.30.1(jiti@2.6.0))(typescript@5.8.3)':
3492 dependencies:
3178 - '@eslint-community/eslint-utils': 4.7.0(eslint@9.30.1)
3493 + '@eslint-community/eslint-utils': 4.7.0(eslint@9.30.1(jiti@2.6.0))
3494 '@typescript-eslint/scope-manager': 8.36.0
3495 '@typescript-eslint/types': 8.36.0
3496 '@typescript-eslint/typescript-estree': 8.36.0(typescript@5.8.3)
3182 - eslint: 9.30.1
3497 + eslint: 9.30.1(jiti@2.6.0)
3498 typescript: 5.8.3
3499 transitivePeerDependencies:
3500 - supports-color
@@ -3255,7 +3570,7 @@ snapshots:
3570 transitivePeerDependencies:
3571 - supports-color
3572
3258 - astro@5.11.0(@types/node@24.0.10)(rollup@4.44.1)(tsx@4.20.3)(typescript@5.8.3):
3573 + astro@5.11.0(@types/node@24.0.10)(jiti@2.6.0)(lightningcss@1.30.1)(rollup@4.44.1)(tsx@4.20.3)(typescript@5.8.3):
3574 dependencies:
3575 '@astrojs/compiler': 2.12.2
3576 '@astrojs/internal-helpers': 0.6.1
@@ -3310,8 +3625,8 @@ snapshots:
3625 unist-util-visit: 5.0.0
3626 unstorage: 1.16.0
3627 vfile: 6.0.3
3313 - vite: 6.3.5(@types/node@24.0.10)(tsx@4.20.3)
3314 - vitefu: 1.1.0(vite@6.3.5(@types/node@24.0.10)(tsx@4.20.3))
3628 + vite: 6.3.5(@types/node@24.0.10)(jiti@2.6.0)(lightningcss@1.30.1)(tsx@4.20.3)
3629 + vitefu: 1.1.0(vite@6.3.5(@types/node@24.0.10)(jiti@2.6.0)(lightningcss@1.30.1)(tsx@4.20.3))
3630 xxhash-wasm: 1.1.0
3631 yargs-parser: 21.1.1
3632 yocto-spinner: 0.2.3
@@ -3425,6 +3740,8 @@ snapshots:
3740 dependencies:
3741 readdirp: 4.1.2
3742
3743 + chownr@3.0.0: {}
3744 +
3745 ci-info@4.2.0: {}
3746
3747 cli-boxes@3.0.0: {}
@@ -3526,6 +3843,11 @@ snapshots:
3843
3844 emoji-regex@8.0.0: {}
3845
3846 + enhanced-resolve@5.18.3:
3847 + dependencies:
3848 + graceful-fs: 4.2.11
3849 + tapable: 2.2.3
3850 +
3851 entities@6.0.1: {}
3852
3853 es-module-lexer@1.7.0: {}
@@ -3576,23 +3898,23 @@ snapshots:
3898
3899 escape-string-regexp@5.0.0: {}
3900
3579 - eslint-compat-utils@0.6.5(eslint@9.30.1):
3901 + eslint-compat-utils@0.6.5(eslint@9.30.1(jiti@2.6.0)):
3902 dependencies:
3581 - eslint: 9.30.1
3903 + eslint: 9.30.1(jiti@2.6.0)
3904 semver: 7.7.2
3905
3584 - eslint-config-prettier@10.1.5(eslint@9.30.1):
3906 + eslint-config-prettier@10.1.5(eslint@9.30.1(jiti@2.6.0)):
3907 dependencies:
3586 - eslint: 9.30.1
3908 + eslint: 9.30.1(jiti@2.6.0)
3909
3588 - eslint-plugin-astro@1.3.1(eslint@9.30.1):
3910 + eslint-plugin-astro@1.3.1(eslint@9.30.1(jiti@2.6.0)):
3911 dependencies:
3590 - '@eslint-community/eslint-utils': 4.7.0(eslint@9.30.1)
3912 + '@eslint-community/eslint-utils': 4.7.0(eslint@9.30.1(jiti@2.6.0))
3913 '@jridgewell/sourcemap-codec': 1.5.4
3914 '@typescript-eslint/types': 8.35.1
3915 astro-eslint-parser: 1.2.2
3594 - eslint: 9.30.1
3595 - eslint-compat-utils: 0.6.5(eslint@9.30.1)
3916 + eslint: 9.30.1(jiti@2.6.0)
3917 + eslint-compat-utils: 0.6.5(eslint@9.30.1(jiti@2.6.0))
3918 globals: 15.15.0
3919 postcss: 8.5.6
3920 postcss-selector-parser: 7.1.0
@@ -3608,9 +3930,9 @@ snapshots:
3930
3931 eslint-visitor-keys@4.2.1: {}
3932
3611 - eslint@9.30.1:
3933 + eslint@9.30.1(jiti@2.6.0):
3934 dependencies:
3613 - '@eslint-community/eslint-utils': 4.7.0(eslint@9.30.1)
3935 + '@eslint-community/eslint-utils': 4.7.0(eslint@9.30.1(jiti@2.6.0))
3936 '@eslint-community/regexpp': 4.12.1
3937 '@eslint/config-array': 0.21.0
3938 '@eslint/config-helpers': 0.3.0
@@ -3645,6 +3967,8 @@ snapshots:
3967 minimatch: 3.1.2
3968 natural-compare: 1.4.0
3969 optionator: 0.9.4
3970 + optionalDependencies:
3971 + jiti: 2.6.0
3972 transitivePeerDependencies:
3973 - supports-color
3974
@@ -3791,6 +4115,8 @@ snapshots:
4115
4116 globals@16.3.0: {}
4117
4118 + graceful-fs@4.2.11: {}
4119 +
4120 graphemer@1.4.0: {}
4121
4122 h3@1.15.3:
@@ -4008,6 +4334,8 @@ snapshots:
4334
4335 isexe@2.0.0: {}
4336
4337 + jiti@2.6.0: {}
4338 +
4339 js-yaml@4.1.0:
4340 dependencies:
4341 argparse: 2.0.1
@@ -4035,6 +4363,51 @@ snapshots:
4363 prelude-ls: 1.2.1
4364 type-check: 0.4.0
4365
4366 + lightningcss-darwin-arm64@1.30.1:
4367 + optional: true
4368 +
4369 + lightningcss-darwin-x64@1.30.1:
4370 + optional: true
4371 +
4372 + lightningcss-freebsd-x64@1.30.1:
4373 + optional: true
4374 +
4375 + lightningcss-linux-arm-gnueabihf@1.30.1:
4376 + optional: true
4377 +
4378 + lightningcss-linux-arm64-gnu@1.30.1:
4379 + optional: true
4380 +
4381 + lightningcss-linux-arm64-musl@1.30.1:
4382 + optional: true
4383 +
4384 + lightningcss-linux-x64-gnu@1.30.1:
4385 + optional: true
4386 +
4387 + lightningcss-linux-x64-musl@1.30.1:
4388 + optional: true
4389 +
4390 + lightningcss-win32-arm64-msvc@1.30.1:
4391 + optional: true
4392 +
4393 + lightningcss-win32-x64-msvc@1.30.1:
4394 + optional: true
4395 +
4396 + lightningcss@1.30.1:
4397 + dependencies:
4398 + detect-libc: 2.0.4
4399 + optionalDependencies:
4400 + lightningcss-darwin-arm64: 1.30.1
4401 + lightningcss-darwin-x64: 1.30.1
4402 + lightningcss-freebsd-x64: 1.30.1
4403 + lightningcss-linux-arm-gnueabihf: 1.30.1
4404 + lightningcss-linux-arm64-gnu: 1.30.1
4405 + lightningcss-linux-arm64-musl: 1.30.1
4406 + lightningcss-linux-x64-gnu: 1.30.1
4407 + lightningcss-linux-x64-musl: 1.30.1
4408 + lightningcss-win32-arm64-msvc: 1.30.1
4409 + lightningcss-win32-x64-msvc: 1.30.1
4410 +
4411 locate-path@6.0.0:
4412 dependencies:
4413 p-locate: 5.0.0
@@ -4049,6 +4422,10 @@ snapshots:
4422 dependencies:
4423 '@jridgewell/sourcemap-codec': 1.5.4
4424
4425 + magic-string@0.30.19:
4426 + dependencies:
4427 + '@jridgewell/sourcemap-codec': 1.5.5
4428 +
4429 magicast@0.3.5:
4430 dependencies:
4431 '@babel/parser': 7.28.0
@@ -4555,6 +4932,12 @@ snapshots:
4932 dependencies:
4933 brace-expansion: 2.0.2
4934
4935 + minipass@7.1.2: {}
4936 +
4937 + minizlib@3.1.0:
4938 + dependencies:
4939 + minipass: 7.1.2
4940 +
4941 mrmime@2.0.1: {}
4942
4943 ms@2.1.3: {}
@@ -5071,6 +5454,18 @@ snapshots:
5454 dependencies:
5455 '@pkgr/core': 0.2.7
5456
5457 + tailwindcss@4.1.13: {}
5458 +
5459 + tapable@2.2.3: {}
5460 +
5461 + tar@7.5.1:
5462 + dependencies:
5463 + '@isaacs/fs-minipass': 4.0.1
5464 + chownr: 3.0.0
5465 + minipass: 7.1.2
5466 + minizlib: 3.1.0
5467 + yallist: 5.0.0
5468 +
5469 tiny-inflate@1.0.3: {}
5470
5471 tinyexec@0.3.2: {}
@@ -5113,12 +5508,12 @@ snapshots:
5508
5509 type-fest@4.41.0: {}
5510
5116 - typescript-eslint@8.36.0(eslint@9.30.1)(typescript@5.8.3):
5511 + typescript-eslint@8.36.0(eslint@9.30.1(jiti@2.6.0))(typescript@5.8.3):
5512 dependencies:
5118 - '@typescript-eslint/eslint-plugin': 8.36.0(@typescript-eslint/parser@8.36.0(eslint@9.30.1)(typescript@5.8.3))(eslint@9.30.1)(typescript@5.8.3)
5119 - '@typescript-eslint/parser': 8.36.0(eslint@9.30.1)(typescript@5.8.3)
5120 - '@typescript-eslint/utils': 8.36.0(eslint@9.30.1)(typescript@5.8.3)
5121 - eslint: 9.30.1
5513 + '@typescript-eslint/eslint-plugin': 8.36.0(@typescript-eslint/parser@8.36.0(eslint@9.30.1(jiti@2.6.0))(typescript@5.8.3))(eslint@9.30.1(jiti@2.6.0))(typescript@5.8.3)
5514 + '@typescript-eslint/parser': 8.36.0(eslint@9.30.1(jiti@2.6.0))(typescript@5.8.3)
5515 + '@typescript-eslint/utils': 8.36.0(eslint@9.30.1(jiti@2.6.0))(typescript@5.8.3)
5516 + eslint: 9.30.1(jiti@2.6.0)
5517 typescript: 5.8.3
5518 transitivePeerDependencies:
5519 - supports-color
@@ -5237,7 +5632,7 @@ snapshots:
5632 '@types/unist': 3.0.3
5633 vfile-message: 4.0.2
5634
5240 - vite@6.3.5(@types/node@24.0.10)(tsx@4.20.3):
5635 + vite@6.3.5(@types/node@24.0.10)(jiti@2.6.0)(lightningcss@1.30.1)(tsx@4.20.3):
5636 dependencies:
5637 esbuild: 0.25.5
5638 fdir: 6.4.6(picomatch@4.0.2)
@@ -5248,11 +5643,13 @@ snapshots:
5643 optionalDependencies:
5644 '@types/node': 24.0.10
5645 fsevents: 2.3.3
5646 + jiti: 2.6.0
5647 + lightningcss: 1.30.1
5648 tsx: 4.20.3
5649
5253 - vitefu@1.1.0(vite@6.3.5(@types/node@24.0.10)(tsx@4.20.3)):
5650 + vitefu@1.1.0(vite@6.3.5(@types/node@24.0.10)(jiti@2.6.0)(lightningcss@1.30.1)(tsx@4.20.3)):
5651 optionalDependencies:
5255 - vite: 6.3.5(@types/node@24.0.10)(tsx@4.20.3)
5652 + vite: 6.3.5(@types/node@24.0.10)(jiti@2.6.0)(lightningcss@1.30.1)(tsx@4.20.3)
5653
5654 web-namespaces@2.0.1: {}
5655
@@ -5283,6 +5680,8 @@ snapshots:
5680
5681 xxhash-wasm@1.1.0: {}
5682
5683 + yallist@5.0.0: {}
5684 +
5685 yargs-parser@21.1.1: {}
5686
5687 yocto-queue@0.1.0: {}
src/components/layout/Header.astro
+18 -16
@@ -11,22 +11,24 @@ import { Image } from 'astro:assets'
11 <a href="/">{SITE.title}</a>
12 </div>
13 <div class="header-right">
14 - <a href="https://apps.apple.com/se/app/pepak-basa-jawa-komplit/id6752241812">
15 - <Image
16 - src="/images/Download_on_the_App_Store_Badge_US-UK_RGB_blk_092917.svg"
17 - alt="PBJ Komplit! Apple AppStore page"
18 - width="150"
19 - height="50"
20 - /></a
21 - >
22 - <a href="https://play.google.com/store/apps/details?id=com.theblangkon.pepakbasajawa">
23 - <Image
24 - src="/images/GetItOnGooglePlay_Badge_Web_color_English.png"
25 - alt="PBJ Komplit! Google PlayStore page"
26 - width="150"
27 - height="50"
28 - /></a
29 - >
14 + <div class="flex flex-col gap-2 md:flex-row">
15 + <a href="https://apps.apple.com/se/app/pepak-basa-jawa-komplit/id6752241812">
16 + <Image
17 + src="/images/Download_on_the_App_Store_Badge_US-UK_RGB_blk_092917.svg"
18 + alt="PBJ Komplit! Apple AppStore page"
19 + width="150"
20 + height="50"
21 + />
22 + </a>
23 + <a href="https://play.google.com/store/apps/details?id=com.theblangkon.pepakbasajawa">
24 + <Image
25 + src="/images/GetItOnGooglePlay_Badge_Web_color_English.png"
26 + alt="PBJ Komplit! Google PlayStore page"
27 + width="150"
28 + height="50"
29 + />
30 + </a>
31 + </div>
32 <ThemeToggle />
33 </div>
34 </nav>
src/styles/global.css
+1
@@ -1,3 +1,4 @@
1 +@import 'tailwindcss';
2 @import './fonts.css';
3 @import './post.css';
4