From b6fb44b403cbca5a537bebbac3768b88e5441440 Mon Sep 17 00:00:00 2001 From: taea Date: Thu, 18 Dec 2025 19:14:27 +0900 Subject: [PATCH 01/10] Add CSS build check to CI MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - Add Node.js setup and npm ci to CI workflow - Verify compiled.css is up-to-date by rebuilding and checking for diffs - Add package-lock.json to lock dependency versions - Remove package-lock.json from .gitignore 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude Opus 4.5 --- .github/workflows/ci.yml | 11 + .gitignore | 1 - package-lock.json | 1516 ++++++++++++++++++++++++++++++++++++++ 3 files changed, 1527 insertions(+), 1 deletion(-) create mode 100644 package-lock.json diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 439766affd..ea95cf7527 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -24,6 +24,17 @@ jobs: uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2 with: fetch-depth: 1 + - name: Setup Node.js + uses: actions/setup-node@v4 + with: + node-version: '20' + cache: 'npm' + - name: Install npm dependencies + run: npm ci + - name: Check CSS is up-to-date + run: | + npm run build-css + git diff --exit-code stylesheets/compiled.css || (echo "Error: compiled.css is out of date. Run 'npm run build-css' and commit the changes." && exit 1) - name: Setup Ruby uses: ruby/setup-ruby@3ff19f5e2baf30647122352b96108b1fbe250c64 # v1.299.0 with: diff --git a/.gitignore b/.gitignore index addaaca736..4c81700181 100644 --- a/.gitignore +++ b/.gitignore @@ -9,6 +9,5 @@ vendor bin .jekyll* node_modules/ -package-lock.json _figma/ _svg-backup/ diff --git a/package-lock.json b/package-lock.json new file mode 100644 index 0000000000..983e0db815 --- /dev/null +++ b/package-lock.json @@ -0,0 +1,1516 @@ +{ + "name": "www-renewal", + "version": "1.0.0", + "lockfileVersion": 3, + "requires": true, + "packages": { + "": { + "name": "www-renewal", + "version": "1.0.0", + "devDependencies": { + "@tailwindcss/typography": "^0.5.19", + "tailwindcss": "^3.4.14" + } + }, + "node_modules/@alloc/quick-lru": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/@alloc/quick-lru/-/quick-lru-5.2.0.tgz", + "integrity": "sha512-UrcABB+4bUrFABwbluTIBErXwvbsU/V7TZWfmbgJfbkwiBuziS9gxdODUyuiecfdGQ85jglMW6juS3+z5TsKLw==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/@isaacs/cliui": { + "version": "8.0.2", + "resolved": "https://registry.npmjs.org/@isaacs/cliui/-/cliui-8.0.2.tgz", + "integrity": "sha512-O8jcjabXaleOG9DQ0+ARXWZBTfnP4WNAqzuiJK7ll44AmxGKv/J2M4TPjxjY3znBCfvBXFzucm1twdyFybFqEA==", + "dev": true, + "license": "ISC", + "dependencies": { + "string-width": "^5.1.2", + "string-width-cjs": "npm:string-width@^4.2.0", + "strip-ansi": "^7.0.1", + "strip-ansi-cjs": "npm:strip-ansi@^6.0.1", + "wrap-ansi": "^8.1.0", + "wrap-ansi-cjs": "npm:wrap-ansi@^7.0.0" + }, + "engines": { + "node": ">=12" + } + }, + "node_modules/@jridgewell/gen-mapping": { + "version": "0.3.13", + "resolved": "https://registry.npmjs.org/@jridgewell/gen-mapping/-/gen-mapping-0.3.13.tgz", + "integrity": "sha512-2kkt/7niJ6MgEPxF0bYdQ6etZaA+fQvDcLKckhy1yIQOzaoKjBBjSj63/aLVjYE3qhRt5dvM+uUyfCg6UKCBbA==", + "dev": true, + "license": "MIT", + "dependencies": { + "@jridgewell/sourcemap-codec": "^1.5.0", + "@jridgewell/trace-mapping": "^0.3.24" + } + }, + "node_modules/@jridgewell/resolve-uri": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/@jridgewell/resolve-uri/-/resolve-uri-3.1.2.tgz", + "integrity": "sha512-bRISgCIjP20/tbWSPWMEi54QVPRZExkuD9lJL+UIxUKtwVJA8wW1Trb1jMs1RFXo1CBTNZ/5hpC9QvmKWdopKw==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=6.0.0" + } + }, + "node_modules/@jridgewell/sourcemap-codec": { + "version": "1.5.5", + "resolved": "https://registry.npmjs.org/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.5.5.tgz", + "integrity": "sha512-cYQ9310grqxueWbl+WuIUIaiUaDcj7WOq5fVhEljNVgRfOUhY9fy2zTvfoqWsnebh8Sl70VScFbICvJnLKB0Og==", + "dev": true, + "license": "MIT" + }, + "node_modules/@jridgewell/trace-mapping": { + "version": "0.3.31", + "resolved": "https://registry.npmjs.org/@jridgewell/trace-mapping/-/trace-mapping-0.3.31.tgz", + "integrity": "sha512-zzNR+SdQSDJzc8joaeP8QQoCQr8NuYx2dIIytl1QeBEZHJ9uW6hebsrYgbz8hJwUQao3TWCMtmfV8Nu1twOLAw==", + "dev": true, + "license": "MIT", + "dependencies": { + "@jridgewell/resolve-uri": "^3.1.0", + "@jridgewell/sourcemap-codec": "^1.4.14" + } + }, + "node_modules/@nodelib/fs.scandir": { + "version": "2.1.5", + "resolved": "https://registry.npmjs.org/@nodelib/fs.scandir/-/fs.scandir-2.1.5.tgz", + "integrity": "sha512-vq24Bq3ym5HEQm2NKCr3yXDwjc7vTsEThRDnkp2DK9p1uqLR+DHurm/NOTo0KG7HYHU7eppKZj3MyqYuMBf62g==", + "dev": true, + "license": "MIT", + "dependencies": { + "@nodelib/fs.stat": "2.0.5", + "run-parallel": "^1.1.9" + }, + "engines": { + "node": ">= 8" + } + }, + "node_modules/@nodelib/fs.stat": { + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/@nodelib/fs.stat/-/fs.stat-2.0.5.tgz", + "integrity": "sha512-RkhPPp2zrqDAQA/2jNhnztcPAlv64XdhIp7a7454A5ovI7Bukxgt7MX7udwAu3zg1DcpPU0rz3VV1SeaqvY4+A==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 8" + } + }, + "node_modules/@nodelib/fs.walk": { + "version": "1.2.8", + "resolved": "https://registry.npmjs.org/@nodelib/fs.walk/-/fs.walk-1.2.8.tgz", + "integrity": "sha512-oGB+UxlgWcgQkgwo8GcEGwemoTFt3FIO9ababBmaGwXIoBKZ+GTy0pP185beGg7Llih/NSHSV2XAs1lnznocSg==", + "dev": true, + "license": "MIT", + "dependencies": { + "@nodelib/fs.scandir": "2.1.5", + "fastq": "^1.6.0" + }, + "engines": { + "node": ">= 8" + } + }, + "node_modules/@pkgjs/parseargs": { + "version": "0.11.0", + "resolved": "https://registry.npmjs.org/@pkgjs/parseargs/-/parseargs-0.11.0.tgz", + "integrity": "sha512-+1VkjdD0QBLPodGrJUeqarH8VAIvQODIbwh9XpP5Syisf7YoQgsJKPNFoqqLQlu+VQ/tVSshMR6loPMn8U+dPg==", + "dev": true, + "license": "MIT", + "optional": true, + "engines": { + "node": ">=14" + } + }, + "node_modules/@tailwindcss/typography": { + "version": "0.5.19", + "resolved": "https://registry.npmjs.org/@tailwindcss/typography/-/typography-0.5.19.tgz", + "integrity": "sha512-w31dd8HOx3k9vPtcQh5QHP9GwKcgbMp87j58qi6xgiBnFFtKEAgCWnDw4qUT8aHwkCp8bKvb/KGKWWHedP0AAg==", + "dev": true, + "license": "MIT", + "dependencies": { + "postcss-selector-parser": "6.0.10" + }, + "peerDependencies": { + "tailwindcss": ">=3.0.0 || insiders || >=4.0.0-alpha.20 || >=4.0.0-beta.1" + } + }, + "node_modules/@tailwindcss/typography/node_modules/postcss-selector-parser": { + "version": "6.0.10", + "resolved": "https://registry.npmjs.org/postcss-selector-parser/-/postcss-selector-parser-6.0.10.tgz", + "integrity": "sha512-IQ7TZdoaqbT+LCpShg46jnZVlhWD2w6iQYAcYXfHARZ7X1t/UGhhceQDs5X0cGqKvYlHNOuv7Oa1xmb0oQuA3w==", + "dev": true, + "license": "MIT", + "dependencies": { + "cssesc": "^3.0.0", + "util-deprecate": "^1.0.2" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/ansi-regex": { + "version": "6.2.2", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-6.2.2.tgz", + "integrity": "sha512-Bq3SmSpyFHaWjPk8If9yc6svM8c56dB5BAtW4Qbw5jHTwwXXcTLoRMkpDJp6VL0XzlWaCHTXrkFURMYmD0sLqg==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/chalk/ansi-regex?sponsor=1" + } + }, + "node_modules/ansi-styles": { + "version": "6.2.3", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-6.2.3.tgz", + "integrity": "sha512-4Dj6M28JB+oAH8kFkTLUo+a2jwOFkuqb3yucU0CANcRRUbxS0cP0nZYCGjcc3BNXwRIsUVmDGgzawme7zvJHvg==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" + } + }, + "node_modules/any-promise": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/any-promise/-/any-promise-1.3.0.tgz", + "integrity": "sha512-7UvmKalWRt1wgjL1RrGxoSJW/0QZFIegpeGvZG9kjp8vrRu55XTHbwnqq2GpXm9uLbcuhxm3IqX9OB4MZR1b2A==", + "dev": true, + "license": "MIT" + }, + "node_modules/anymatch": { + "version": "3.1.3", + "resolved": "https://registry.npmjs.org/anymatch/-/anymatch-3.1.3.tgz", + "integrity": "sha512-KMReFUr0B4t+D+OBkjR3KYqvocp2XaSzO55UcB6mgQMd3KbcE+mWTyvVV7D/zsdEbNnV6acZUutkiHQXvTr1Rw==", + "dev": true, + "license": "ISC", + "dependencies": { + "normalize-path": "^3.0.0", + "picomatch": "^2.0.4" + }, + "engines": { + "node": ">= 8" + } + }, + "node_modules/arg": { + "version": "5.0.2", + "resolved": "https://registry.npmjs.org/arg/-/arg-5.0.2.tgz", + "integrity": "sha512-PYjyFOLKQ9y57JvQ6QLo8dAgNqswh8M1RMJYdQduT6xbWSgK36P/Z/v+p888pM69jMMfS8Xd8F6I1kQ/I9HUGg==", + "dev": true, + "license": "MIT" + }, + "node_modules/balanced-match": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.2.tgz", + "integrity": "sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==", + "dev": true, + "license": "MIT" + }, + "node_modules/binary-extensions": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/binary-extensions/-/binary-extensions-2.3.0.tgz", + "integrity": "sha512-Ceh+7ox5qe7LJuLHoY0feh3pHuUDHAcRUeyL2VYghZwfpkNIy/+8Ocg0a3UuSoYzavmylwuLWQOf3hl0jjMMIw==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/brace-expansion": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-2.0.2.tgz", + "integrity": "sha512-Jt0vHyM+jmUBqojB7E1NIYadt0vI0Qxjxd2TErW94wDz+E2LAm5vKMXXwg6ZZBTHPuUlDgQHKXvjGBdfcF1ZDQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "balanced-match": "^1.0.0" + } + }, + "node_modules/braces": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/braces/-/braces-3.0.3.tgz", + "integrity": "sha512-yQbXgO/OSZVD2IsiLlro+7Hf6Q18EJrKSEsdoMzKePKXct3gvD8oLcOQdIzGupr5Fj+EDe8gO/lxc1BzfMpxvA==", + "dev": true, + "license": "MIT", + "dependencies": { + "fill-range": "^7.1.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/camelcase-css": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/camelcase-css/-/camelcase-css-2.0.1.tgz", + "integrity": "sha512-QOSvevhslijgYwRx6Rv7zKdMF8lbRmx+uQGx2+vDc+KI/eBnsy9kit5aj23AgGu3pa4t9AgwbnXWqS+iOY+2aA==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 6" + } + }, + "node_modules/chokidar": { + "version": "3.6.0", + "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-3.6.0.tgz", + "integrity": "sha512-7VT13fmjotKpGipCW9JEQAusEPE+Ei8nl6/g4FBAmIm0GOOLMua9NDDo/DWp0ZAxCr3cPq5ZpBqmPAQgDda2Pw==", + "dev": true, + "license": "MIT", + "dependencies": { + "anymatch": "~3.1.2", + "braces": "~3.0.2", + "glob-parent": "~5.1.2", + "is-binary-path": "~2.1.0", + "is-glob": "~4.0.1", + "normalize-path": "~3.0.0", + "readdirp": "~3.6.0" + }, + "engines": { + "node": ">= 8.10.0" + }, + "funding": { + "url": "https://paulmillr.com/funding/" + }, + "optionalDependencies": { + "fsevents": "~2.3.2" + } + }, + "node_modules/chokidar/node_modules/glob-parent": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.2.tgz", + "integrity": "sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==", + "dev": true, + "license": "ISC", + "dependencies": { + "is-glob": "^4.0.1" + }, + "engines": { + "node": ">= 6" + } + }, + "node_modules/color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "color-name": "~1.1.4" + }, + "engines": { + "node": ">=7.0.0" + } + }, + "node_modules/color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", + "dev": true, + "license": "MIT" + }, + "node_modules/commander": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/commander/-/commander-4.1.1.tgz", + "integrity": "sha512-NOKm8xhkzAjzFx8B2v5OAHT+u5pRQc2UCa2Vq9jYL/31o2wi9mxBA7LIFs3sV5VSC49z6pEhfbMULvShKj26WA==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 6" + } + }, + "node_modules/cross-spawn": { + "version": "7.0.6", + "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-7.0.6.tgz", + "integrity": "sha512-uV2QOWP2nWzsy2aMp8aRibhi9dlzF5Hgh5SHaB9OiTGEyDTiJJyx0uy51QXdyWbtAHNua4XJzUKca3OzKUd3vA==", + "dev": true, + "license": "MIT", + "dependencies": { + "path-key": "^3.1.0", + "shebang-command": "^2.0.0", + "which": "^2.0.1" + }, + "engines": { + "node": ">= 8" + } + }, + "node_modules/cssesc": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/cssesc/-/cssesc-3.0.0.tgz", + "integrity": "sha512-/Tb/JcjK111nNScGob5MNtsntNM1aCNUDipB/TkwZFhyDrrE47SOx/18wF2bbjgc3ZzCSKW1T5nt5EbFoAz/Vg==", + "dev": true, + "license": "MIT", + "bin": { + "cssesc": "bin/cssesc" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/didyoumean": { + "version": "1.2.2", + "resolved": "https://registry.npmjs.org/didyoumean/-/didyoumean-1.2.2.tgz", + "integrity": "sha512-gxtyfqMg7GKyhQmb056K7M3xszy/myH8w+B4RT+QXBQsvAOdc3XymqDDPHx1BgPgsdAA5SIifona89YtRATDzw==", + "dev": true, + "license": "Apache-2.0" + }, + "node_modules/dlv": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/dlv/-/dlv-1.1.3.tgz", + "integrity": "sha512-+HlytyjlPKnIG8XuRG8WvmBP8xs8P71y+SKKS6ZXWoEgLuePxtDoUEiH7WkdePWrQ5JBpE6aoVqfZfJUQkjXwA==", + "dev": true, + "license": "MIT" + }, + "node_modules/eastasianwidth": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/eastasianwidth/-/eastasianwidth-0.2.0.tgz", + "integrity": "sha512-I88TYZWc9XiYHRQ4/3c5rjjfgkjhLyW2luGIheGERbNQ6OY7yTybanSpDXZa8y7VUP9YmDcYa+eyq4ca7iLqWA==", + "dev": true, + "license": "MIT" + }, + "node_modules/emoji-regex": { + "version": "9.2.2", + "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-9.2.2.tgz", + "integrity": "sha512-L18DaJsXSUk2+42pv8mLs5jJT2hqFkFE4j21wOmgbUqsZ2hL72NsUU785g9RXgo3s0ZNgVl42TiHp3ZtOv/Vyg==", + "dev": true, + "license": "MIT" + }, + "node_modules/fast-glob": { + "version": "3.3.3", + "resolved": "https://registry.npmjs.org/fast-glob/-/fast-glob-3.3.3.tgz", + "integrity": "sha512-7MptL8U0cqcFdzIzwOTHoilX9x5BrNqye7Z/LuC7kCMRio1EMSyqRK3BEAUD7sXRq4iT4AzTVuZdhgQ2TCvYLg==", + "dev": true, + "license": "MIT", + "dependencies": { + "@nodelib/fs.stat": "^2.0.2", + "@nodelib/fs.walk": "^1.2.3", + "glob-parent": "^5.1.2", + "merge2": "^1.3.0", + "micromatch": "^4.0.8" + }, + "engines": { + "node": ">=8.6.0" + } + }, + "node_modules/fast-glob/node_modules/glob-parent": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.2.tgz", + "integrity": "sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==", + "dev": true, + "license": "ISC", + "dependencies": { + "is-glob": "^4.0.1" + }, + "engines": { + "node": ">= 6" + } + }, + "node_modules/fastq": { + "version": "1.19.1", + "resolved": "https://registry.npmjs.org/fastq/-/fastq-1.19.1.tgz", + "integrity": "sha512-GwLTyxkCXjXbxqIhTsMI2Nui8huMPtnxg7krajPJAjnEG/iiOS7i+zCtWGZR9G0NBKbXKh6X9m9UIsYX/N6vvQ==", + "dev": true, + "license": "ISC", + "dependencies": { + "reusify": "^1.0.4" + } + }, + "node_modules/fill-range": { + "version": "7.1.1", + "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-7.1.1.tgz", + "integrity": "sha512-YsGpe3WHLK8ZYi4tWDg2Jy3ebRz2rXowDxnld4bkQB00cc/1Zw9AWnC0i9ztDJitivtQvaI9KaLyKrc+hBW0yg==", + "dev": true, + "license": "MIT", + "dependencies": { + "to-regex-range": "^5.0.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/foreground-child": { + "version": "3.3.1", + "resolved": "https://registry.npmjs.org/foreground-child/-/foreground-child-3.3.1.tgz", + "integrity": "sha512-gIXjKqtFuWEgzFRJA9WCQeSJLZDjgJUOMCMzxtvFq/37KojM1BFGufqsCy0r4qSQmYLsZYMeyRqzIWOMup03sw==", + "dev": true, + "license": "ISC", + "dependencies": { + "cross-spawn": "^7.0.6", + "signal-exit": "^4.0.1" + }, + "engines": { + "node": ">=14" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "node_modules/fsevents": { + "version": "2.3.3", + "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-2.3.3.tgz", + "integrity": "sha512-5xoDfX+fL7faATnagmWPpbFtwh/R77WmMMqqHGS65C3vvB0YHrgF+B1YmZ3441tMj5n63k0212XNoJwzlhffQw==", + "dev": true, + "hasInstallScript": true, + "license": "MIT", + "optional": true, + "os": [ + "darwin" + ], + "engines": { + "node": "^8.16.0 || ^10.6.0 || >=11.0.0" + } + }, + "node_modules/function-bind": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/function-bind/-/function-bind-1.1.2.tgz", + "integrity": "sha512-7XHNxH7qX9xG5mIwxkhumTox/MIRNcOgDrxWsMt2pAr23WHp6MrRlN7FBSFpCpr+oVO0F744iUgR82nJMfG2SA==", + "dev": true, + "license": "MIT", + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/glob": { + "version": "10.4.5", + "resolved": "https://registry.npmjs.org/glob/-/glob-10.4.5.tgz", + "integrity": "sha512-7Bv8RF0k6xjo7d4A/PxYLbUCfb6c+Vpd2/mB2yRDlew7Jb5hEXiCD9ibfO7wpk8i4sevK6DFny9h7EYbM3/sHg==", + "dev": true, + "license": "ISC", + "dependencies": { + "foreground-child": "^3.1.0", + "jackspeak": "^3.1.2", + "minimatch": "^9.0.4", + "minipass": "^7.1.2", + "package-json-from-dist": "^1.0.0", + "path-scurry": "^1.11.1" + }, + "bin": { + "glob": "dist/esm/bin.mjs" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "node_modules/glob-parent": { + "version": "6.0.2", + "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-6.0.2.tgz", + "integrity": "sha512-XxwI8EOhVQgWp6iDL+3b0r86f4d6AX6zSU55HfB4ydCEuXLXc5FcYeOu+nnGftS4TEju/11rt4KJPTMgbfmv4A==", + "dev": true, + "license": "ISC", + "dependencies": { + "is-glob": "^4.0.3" + }, + "engines": { + "node": ">=10.13.0" + } + }, + "node_modules/hasown": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/hasown/-/hasown-2.0.2.tgz", + "integrity": "sha512-0hJU9SCPvmMzIBdZFqNPXWa6dqh7WdH0cII9y+CyS8rG3nL48Bclra9HmKhVVUHyPWNH5Y7xDwAB7bfgSjkUMQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "function-bind": "^1.1.2" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/is-binary-path": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/is-binary-path/-/is-binary-path-2.1.0.tgz", + "integrity": "sha512-ZMERYes6pDydyuGidse7OsHxtbI7WVeUEozgR/g7rd0xUimYNlvZRE/K2MgZTjWy725IfelLeVcEM97mmtRGXw==", + "dev": true, + "license": "MIT", + "dependencies": { + "binary-extensions": "^2.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/is-core-module": { + "version": "2.16.1", + "resolved": "https://registry.npmjs.org/is-core-module/-/is-core-module-2.16.1.tgz", + "integrity": "sha512-UfoeMA6fIJ8wTYFEUjelnaGI67v6+N7qXJEvQuIGa99l4xsCruSYOVSQ0uPANn4dAzm8lkYPaKLrrijLq7x23w==", + "dev": true, + "license": "MIT", + "dependencies": { + "hasown": "^2.0.2" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-extglob": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-2.1.1.tgz", + "integrity": "sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/is-fullwidth-code-point": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz", + "integrity": "sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "node_modules/is-glob": { + "version": "4.0.3", + "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-4.0.3.tgz", + "integrity": "sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg==", + "dev": true, + "license": "MIT", + "dependencies": { + "is-extglob": "^2.1.1" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/is-number": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/is-number/-/is-number-7.0.0.tgz", + "integrity": "sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=0.12.0" + } + }, + "node_modules/isexe": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz", + "integrity": "sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw==", + "dev": true, + "license": "ISC" + }, + "node_modules/jackspeak": { + "version": "3.4.3", + "resolved": "https://registry.npmjs.org/jackspeak/-/jackspeak-3.4.3.tgz", + "integrity": "sha512-OGlZQpz2yfahA/Rd1Y8Cd9SIEsqvXkLVoSw/cgwhnhFMDbsQFeZYoJJ7bIZBS9BcamUW96asq/npPWugM+RQBw==", + "dev": true, + "license": "BlueOak-1.0.0", + "dependencies": { + "@isaacs/cliui": "^8.0.2" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + }, + "optionalDependencies": { + "@pkgjs/parseargs": "^0.11.0" + } + }, + "node_modules/jiti": { + "version": "1.21.7", + "resolved": "https://registry.npmjs.org/jiti/-/jiti-1.21.7.tgz", + "integrity": "sha512-/imKNG4EbWNrVjoNC/1H5/9GFy+tqjGBHCaSsN+P2RnPqjsLmv6UD3Ej+Kj8nBWaRAwyk7kK5ZUc+OEatnTR3A==", + "dev": true, + "license": "MIT", + "bin": { + "jiti": "bin/jiti.js" + } + }, + "node_modules/lilconfig": { + "version": "3.1.3", + "resolved": "https://registry.npmjs.org/lilconfig/-/lilconfig-3.1.3.tgz", + "integrity": "sha512-/vlFKAoH5Cgt3Ie+JLhRbwOsCQePABiU3tJ1egGvyQ+33R/vcwM2Zl2QR/LzjsBeItPt3oSVXapn+m4nQDvpzw==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=14" + }, + "funding": { + "url": "https://github.com/sponsors/antonk52" + } + }, + "node_modules/lines-and-columns": { + "version": "1.2.4", + "resolved": "https://registry.npmjs.org/lines-and-columns/-/lines-and-columns-1.2.4.tgz", + "integrity": "sha512-7ylylesZQ/PV29jhEDl3Ufjo6ZX7gCqJr5F7PKrqc93v7fzSymt1BpwEU8nAUXs8qzzvqhbjhK5QZg6Mt/HkBg==", + "dev": true, + "license": "MIT" + }, + "node_modules/lru-cache": { + "version": "10.4.3", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-10.4.3.tgz", + "integrity": "sha512-JNAzZcXrCt42VGLuYz0zfAzDfAvJWW6AfYlDBQyDV5DClI2m5sAmK+OIO7s59XfsRsWHp02jAJrRadPRGTt6SQ==", + "dev": true, + "license": "ISC" + }, + "node_modules/merge2": { + "version": "1.4.1", + "resolved": "https://registry.npmjs.org/merge2/-/merge2-1.4.1.tgz", + "integrity": "sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 8" + } + }, + "node_modules/micromatch": { + "version": "4.0.8", + "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-4.0.8.tgz", + "integrity": "sha512-PXwfBhYu0hBCPw8Dn0E+WDYb7af3dSLVWKi3HGv84IdF4TyFoC0ysxFd0Goxw7nSv4T/PzEJQxsYsEiFCKo2BA==", + "dev": true, + "license": "MIT", + "dependencies": { + "braces": "^3.0.3", + "picomatch": "^2.3.1" + }, + "engines": { + "node": ">=8.6" + } + }, + "node_modules/minimatch": { + "version": "9.0.5", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-9.0.5.tgz", + "integrity": "sha512-G6T0ZX48xgozx7587koeX9Ys2NYy6Gmv//P89sEte9V9whIapMNF4idKxnW2QtCcLiTWlb/wfCabAtAFWhhBow==", + "dev": true, + "license": "ISC", + "dependencies": { + "brace-expansion": "^2.0.1" + }, + "engines": { + "node": ">=16 || 14 >=14.17" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "node_modules/minipass": { + "version": "7.1.2", + "resolved": "https://registry.npmjs.org/minipass/-/minipass-7.1.2.tgz", + "integrity": "sha512-qOOzS1cBTWYF4BH8fVePDBOO9iptMnGUEZwNc/cMWnTV2nVLZ7VoNWEPHkYczZA0pdoA7dl6e7FL659nX9S2aw==", + "dev": true, + "license": "ISC", + "engines": { + "node": ">=16 || 14 >=14.17" + } + }, + "node_modules/mz": { + "version": "2.7.0", + "resolved": "https://registry.npmjs.org/mz/-/mz-2.7.0.tgz", + "integrity": "sha512-z81GNO7nnYMEhrGh9LeymoE4+Yr0Wn5McHIZMK5cfQCl+NDX08sCZgUc9/6MHni9IWuFLm1Z3HTCXu2z9fN62Q==", + "dev": true, + "license": "MIT", + "dependencies": { + "any-promise": "^1.0.0", + "object-assign": "^4.0.1", + "thenify-all": "^1.0.0" + } + }, + "node_modules/nanoid": { + "version": "3.3.11", + "resolved": "https://registry.npmjs.org/nanoid/-/nanoid-3.3.11.tgz", + "integrity": "sha512-N8SpfPUnUp1bK+PMYW8qSWdl9U+wwNWI4QKxOYDy9JAro3WMX7p2OeVRF9v+347pnakNevPmiHhNmZ2HbFA76w==", + "dev": true, + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/ai" + } + ], + "license": "MIT", + "bin": { + "nanoid": "bin/nanoid.cjs" + }, + "engines": { + "node": "^10 || ^12 || ^13.7 || ^14 || >=15.0.1" + } + }, + "node_modules/normalize-path": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-3.0.0.tgz", + "integrity": "sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/object-assign": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/object-assign/-/object-assign-4.1.1.tgz", + "integrity": "sha512-rJgTQnkUnH1sFw8yT6VSU3zD3sWmu6sZhIseY8VX+GRu3P6F7Fu+JNDoXfklElbLJSnc3FUQHVe4cU5hj+BcUg==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/object-hash": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/object-hash/-/object-hash-3.0.0.tgz", + "integrity": "sha512-RSn9F68PjH9HqtltsSnqYC1XXoWe9Bju5+213R98cNGttag9q9yAOTzdbsqvIa7aNm5WffBZFpWYr2aWrklWAw==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 6" + } + }, + "node_modules/package-json-from-dist": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/package-json-from-dist/-/package-json-from-dist-1.0.1.tgz", + "integrity": "sha512-UEZIS3/by4OC8vL3P2dTXRETpebLI2NiI5vIrjaD/5UtrkFX/tNbwjTSRAGC/+7CAo2pIcBaRgWmcBBHcsaCIw==", + "dev": true, + "license": "BlueOak-1.0.0" + }, + "node_modules/path-key": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/path-key/-/path-key-3.1.1.tgz", + "integrity": "sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "node_modules/path-parse": { + "version": "1.0.7", + "resolved": "https://registry.npmjs.org/path-parse/-/path-parse-1.0.7.tgz", + "integrity": "sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw==", + "dev": true, + "license": "MIT" + }, + "node_modules/path-scurry": { + "version": "1.11.1", + "resolved": "https://registry.npmjs.org/path-scurry/-/path-scurry-1.11.1.tgz", + "integrity": "sha512-Xa4Nw17FS9ApQFJ9umLiJS4orGjm7ZzwUrwamcGQuHSzDyth9boKDaycYdDcZDuqYATXw4HFXgaqWTctW/v1HA==", + "dev": true, + "license": "BlueOak-1.0.0", + "dependencies": { + "lru-cache": "^10.2.0", + "minipass": "^5.0.0 || ^6.0.2 || ^7.0.0" + }, + "engines": { + "node": ">=16 || 14 >=14.18" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "node_modules/picocolors": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-1.1.1.tgz", + "integrity": "sha512-xceH2snhtb5M9liqDsmEw56le376mTZkEX/jEb/RxNFyegNul7eNslCXP9FDj/Lcu0X8KEyMceP2ntpaHrDEVA==", + "dev": true, + "license": "ISC" + }, + "node_modules/picomatch": { + "version": "2.3.1", + "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-2.3.1.tgz", + "integrity": "sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=8.6" + }, + "funding": { + "url": "https://github.com/sponsors/jonschlinkert" + } + }, + "node_modules/pify": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/pify/-/pify-2.3.0.tgz", + "integrity": "sha512-udgsAY+fTnvv7kI7aaxbqwWNb0AHiB0qBO89PZKPkoTmGOgdbrHDKD+0B2X4uTfJ/FT1R09r9gTsjUjNJotuog==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/pirates": { + "version": "4.0.7", + "resolved": "https://registry.npmjs.org/pirates/-/pirates-4.0.7.tgz", + "integrity": "sha512-TfySrs/5nm8fQJDcBDuUng3VOUKsd7S+zqvbOTiGXHfxX4wK31ard+hoNuvkicM/2YFzlpDgABOevKSsB4G/FA==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 6" + } + }, + "node_modules/postcss": { + "version": "8.5.6", + "resolved": "https://registry.npmjs.org/postcss/-/postcss-8.5.6.tgz", + "integrity": "sha512-3Ybi1tAuwAP9s0r1UQ2J4n5Y0G05bJkpUIO0/bI9MhwmD70S5aTWbXGBwxHrelT+XM1k6dM0pk+SwNkpTRN7Pg==", + "dev": true, + "funding": [ + { + "type": "opencollective", + "url": "https://opencollective.com/postcss/" + }, + { + "type": "tidelift", + "url": "https://tidelift.com/funding/github/npm/postcss" + }, + { + "type": "github", + "url": "https://github.com/sponsors/ai" + } + ], + "license": "MIT", + "dependencies": { + "nanoid": "^3.3.11", + "picocolors": "^1.1.1", + "source-map-js": "^1.2.1" + }, + "engines": { + "node": "^10 || ^12 || >=14" + } + }, + "node_modules/postcss-import": { + "version": "15.1.0", + "resolved": "https://registry.npmjs.org/postcss-import/-/postcss-import-15.1.0.tgz", + "integrity": "sha512-hpr+J05B2FVYUAXHeK1YyI267J/dDDhMU6B6civm8hSY1jYJnBXxzKDKDswzJmtLHryrjhnDjqqp/49t8FALew==", + "dev": true, + "license": "MIT", + "dependencies": { + "postcss-value-parser": "^4.0.0", + "read-cache": "^1.0.0", + "resolve": "^1.1.7" + }, + "engines": { + "node": ">=14.0.0" + }, + "peerDependencies": { + "postcss": "^8.0.0" + } + }, + "node_modules/postcss-js": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/postcss-js/-/postcss-js-4.1.0.tgz", + "integrity": "sha512-oIAOTqgIo7q2EOwbhb8UalYePMvYoIeRY2YKntdpFQXNosSu3vLrniGgmH9OKs/qAkfoj5oB3le/7mINW1LCfw==", + "dev": true, + "funding": [ + { + "type": "opencollective", + "url": "https://opencollective.com/postcss/" + }, + { + "type": "github", + "url": "https://github.com/sponsors/ai" + } + ], + "license": "MIT", + "dependencies": { + "camelcase-css": "^2.0.1" + }, + "engines": { + "node": "^12 || ^14 || >= 16" + }, + "peerDependencies": { + "postcss": "^8.4.21" + } + }, + "node_modules/postcss-load-config": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/postcss-load-config/-/postcss-load-config-4.0.2.tgz", + "integrity": "sha512-bSVhyJGL00wMVoPUzAVAnbEoWyqRxkjv64tUl427SKnPrENtq6hJwUojroMz2VB+Q1edmi4IfrAPpami5VVgMQ==", + "dev": true, + "funding": [ + { + "type": "opencollective", + "url": "https://opencollective.com/postcss/" + }, + { + "type": "github", + "url": "https://github.com/sponsors/ai" + } + ], + "license": "MIT", + "dependencies": { + "lilconfig": "^3.0.0", + "yaml": "^2.3.4" + }, + "engines": { + "node": ">= 14" + }, + "peerDependencies": { + "postcss": ">=8.0.9", + "ts-node": ">=9.0.0" + }, + "peerDependenciesMeta": { + "postcss": { + "optional": true + }, + "ts-node": { + "optional": true + } + } + }, + "node_modules/postcss-nested": { + "version": "6.2.0", + "resolved": "https://registry.npmjs.org/postcss-nested/-/postcss-nested-6.2.0.tgz", + "integrity": "sha512-HQbt28KulC5AJzG+cZtj9kvKB93CFCdLvog1WFLf1D+xmMvPGlBstkpTEZfK5+AN9hfJocyBFCNiqyS48bpgzQ==", + "dev": true, + "funding": [ + { + "type": "opencollective", + "url": "https://opencollective.com/postcss/" + }, + { + "type": "github", + "url": "https://github.com/sponsors/ai" + } + ], + "license": "MIT", + "dependencies": { + "postcss-selector-parser": "^6.1.1" + }, + "engines": { + "node": ">=12.0" + }, + "peerDependencies": { + "postcss": "^8.2.14" + } + }, + "node_modules/postcss-selector-parser": { + "version": "6.1.2", + "resolved": "https://registry.npmjs.org/postcss-selector-parser/-/postcss-selector-parser-6.1.2.tgz", + "integrity": "sha512-Q8qQfPiZ+THO/3ZrOrO0cJJKfpYCagtMUkXbnEfmgUjwXg6z/WBeOyS9APBBPCTSiDV+s4SwQGu8yFsiMRIudg==", + "dev": true, + "license": "MIT", + "dependencies": { + "cssesc": "^3.0.0", + "util-deprecate": "^1.0.2" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/postcss-value-parser": { + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/postcss-value-parser/-/postcss-value-parser-4.2.0.tgz", + "integrity": "sha512-1NNCs6uurfkVbeXG4S8JFT9t19m45ICnif8zWLd5oPSZ50QnwMfK+H3jv408d4jw/7Bttv5axS5IiHoLaVNHeQ==", + "dev": true, + "license": "MIT" + }, + "node_modules/queue-microtask": { + "version": "1.2.3", + "resolved": "https://registry.npmjs.org/queue-microtask/-/queue-microtask-1.2.3.tgz", + "integrity": "sha512-NuaNSa6flKT5JaSYQzJok04JzTL1CA6aGhv5rfLW3PgqA+M2ChpZQnAC8h8i4ZFkBS8X5RqkDBHA7r4hej3K9A==", + "dev": true, + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/feross" + }, + { + "type": "patreon", + "url": "https://www.patreon.com/feross" + }, + { + "type": "consulting", + "url": "https://feross.org/support" + } + ], + "license": "MIT" + }, + "node_modules/read-cache": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/read-cache/-/read-cache-1.0.0.tgz", + "integrity": "sha512-Owdv/Ft7IjOgm/i0xvNDZ1LrRANRfew4b2prF3OWMQLxLfu3bS8FVhCsrSCMK4lR56Y9ya+AThoTpDCTxCmpRA==", + "dev": true, + "license": "MIT", + "dependencies": { + "pify": "^2.3.0" + } + }, + "node_modules/readdirp": { + "version": "3.6.0", + "resolved": "https://registry.npmjs.org/readdirp/-/readdirp-3.6.0.tgz", + "integrity": "sha512-hOS089on8RduqdbhvQ5Z37A0ESjsqz6qnRcffsMU3495FuTdqSm+7bhJ29JvIOsBDEEnan5DPu9t3To9VRlMzA==", + "dev": true, + "license": "MIT", + "dependencies": { + "picomatch": "^2.2.1" + }, + "engines": { + "node": ">=8.10.0" + } + }, + "node_modules/resolve": { + "version": "1.22.10", + "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.22.10.tgz", + "integrity": "sha512-NPRy+/ncIMeDlTAsuqwKIiferiawhefFJtkNSW0qZJEqMEb+qBt/77B/jGeeek+F0uOeN05CDa6HXbbIgtVX4w==", + "dev": true, + "license": "MIT", + "dependencies": { + "is-core-module": "^2.16.0", + "path-parse": "^1.0.7", + "supports-preserve-symlinks-flag": "^1.0.0" + }, + "bin": { + "resolve": "bin/resolve" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/reusify": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/reusify/-/reusify-1.1.0.tgz", + "integrity": "sha512-g6QUff04oZpHs0eG5p83rFLhHeV00ug/Yf9nZM6fLeUrPguBTkTQOdpAWWspMh55TZfVQDPaN3NQJfbVRAxdIw==", + "dev": true, + "license": "MIT", + "engines": { + "iojs": ">=1.0.0", + "node": ">=0.10.0" + } + }, + "node_modules/run-parallel": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/run-parallel/-/run-parallel-1.2.0.tgz", + "integrity": "sha512-5l4VyZR86LZ/lDxZTR6jqL8AFE2S0IFLMP26AbjsLVADxHdhB/c0GUsH+y39UfCi3dzz8OlQuPmnaJOMoDHQBA==", + "dev": true, + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/feross" + }, + { + "type": "patreon", + "url": "https://www.patreon.com/feross" + }, + { + "type": "consulting", + "url": "https://feross.org/support" + } + ], + "license": "MIT", + "dependencies": { + "queue-microtask": "^1.2.2" + } + }, + "node_modules/shebang-command": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-2.0.0.tgz", + "integrity": "sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA==", + "dev": true, + "license": "MIT", + "dependencies": { + "shebang-regex": "^3.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/shebang-regex": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/shebang-regex/-/shebang-regex-3.0.0.tgz", + "integrity": "sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "node_modules/signal-exit": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-4.1.0.tgz", + "integrity": "sha512-bzyZ1e88w9O1iNJbKnOlvYTrWPDl46O1bG0D3XInv+9tkPrxrN8jUUTiFlDkkmKWgn1M6CfIA13SuGqOa9Korw==", + "dev": true, + "license": "ISC", + "engines": { + "node": ">=14" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "node_modules/source-map-js": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/source-map-js/-/source-map-js-1.2.1.tgz", + "integrity": "sha512-UXWMKhLOwVKb728IUtQPXxfYU+usdybtUrK/8uGE8CQMvrhOpwvzDBwj0QhSL7MQc7vIsISBG8VQ8+IDQxpfQA==", + "dev": true, + "license": "BSD-3-Clause", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/string-width": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-5.1.2.tgz", + "integrity": "sha512-HnLOCR3vjcY8beoNLtcjZ5/nxn2afmME6lhrDrebokqMap+XbeW8n9TXpPDOqdGK5qcI3oT0GKTW6wC7EMiVqA==", + "dev": true, + "license": "MIT", + "dependencies": { + "eastasianwidth": "^0.2.0", + "emoji-regex": "^9.2.2", + "strip-ansi": "^7.0.1" + }, + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/string-width-cjs": { + "name": "string-width", + "version": "4.2.3", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz", + "integrity": "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==", + "dev": true, + "license": "MIT", + "dependencies": { + "emoji-regex": "^8.0.0", + "is-fullwidth-code-point": "^3.0.0", + "strip-ansi": "^6.0.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/string-width-cjs/node_modules/ansi-regex": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz", + "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "node_modules/string-width-cjs/node_modules/emoji-regex": { + "version": "8.0.0", + "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz", + "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==", + "dev": true, + "license": "MIT" + }, + "node_modules/string-width-cjs/node_modules/strip-ansi": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz", + "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==", + "dev": true, + "license": "MIT", + "dependencies": { + "ansi-regex": "^5.0.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/strip-ansi": { + "version": "7.1.2", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-7.1.2.tgz", + "integrity": "sha512-gmBGslpoQJtgnMAvOVqGZpEz9dyoKTCzy2nfz/n8aIFhN/jCE/rCmcxabB6jOOHV+0WNnylOxaxBQPSvcWklhA==", + "dev": true, + "license": "MIT", + "dependencies": { + "ansi-regex": "^6.0.1" + }, + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/chalk/strip-ansi?sponsor=1" + } + }, + "node_modules/strip-ansi-cjs": { + "name": "strip-ansi", + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz", + "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==", + "dev": true, + "license": "MIT", + "dependencies": { + "ansi-regex": "^5.0.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/strip-ansi-cjs/node_modules/ansi-regex": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz", + "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "node_modules/sucrase": { + "version": "3.35.0", + "resolved": "https://registry.npmjs.org/sucrase/-/sucrase-3.35.0.tgz", + "integrity": "sha512-8EbVDiu9iN/nESwxeSxDKe0dunta1GOlHufmSSXxMD2z2/tMZpDMpvXQGsc+ajGo8y2uYUmixaSRUc/QPoQ0GA==", + "dev": true, + "license": "MIT", + "dependencies": { + "@jridgewell/gen-mapping": "^0.3.2", + "commander": "^4.0.0", + "glob": "^10.3.10", + "lines-and-columns": "^1.1.6", + "mz": "^2.7.0", + "pirates": "^4.0.1", + "ts-interface-checker": "^0.1.9" + }, + "bin": { + "sucrase": "bin/sucrase", + "sucrase-node": "bin/sucrase-node" + }, + "engines": { + "node": ">=16 || 14 >=14.17" + } + }, + "node_modules/supports-preserve-symlinks-flag": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/supports-preserve-symlinks-flag/-/supports-preserve-symlinks-flag-1.0.0.tgz", + "integrity": "sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/tailwindcss": { + "version": "3.4.17", + "resolved": "https://registry.npmjs.org/tailwindcss/-/tailwindcss-3.4.17.tgz", + "integrity": "sha512-w33E2aCvSDP0tW9RZuNXadXlkHXqFzSkQew/aIa2i/Sj8fThxwovwlXHSPXTbAHwEIhBFXAedUhP2tueAKP8Og==", + "dev": true, + "license": "MIT", + "dependencies": { + "@alloc/quick-lru": "^5.2.0", + "arg": "^5.0.2", + "chokidar": "^3.6.0", + "didyoumean": "^1.2.2", + "dlv": "^1.1.3", + "fast-glob": "^3.3.2", + "glob-parent": "^6.0.2", + "is-glob": "^4.0.3", + "jiti": "^1.21.6", + "lilconfig": "^3.1.3", + "micromatch": "^4.0.8", + "normalize-path": "^3.0.0", + "object-hash": "^3.0.0", + "picocolors": "^1.1.1", + "postcss": "^8.4.47", + "postcss-import": "^15.1.0", + "postcss-js": "^4.0.1", + "postcss-load-config": "^4.0.2", + "postcss-nested": "^6.2.0", + "postcss-selector-parser": "^6.1.2", + "resolve": "^1.22.8", + "sucrase": "^3.35.0" + }, + "bin": { + "tailwind": "lib/cli.js", + "tailwindcss": "lib/cli.js" + }, + "engines": { + "node": ">=14.0.0" + } + }, + "node_modules/thenify": { + "version": "3.3.1", + "resolved": "https://registry.npmjs.org/thenify/-/thenify-3.3.1.tgz", + "integrity": "sha512-RVZSIV5IG10Hk3enotrhvz0T9em6cyHBLkH/YAZuKqd8hRkKhSfCGIcP2KUY0EPxndzANBmNllzWPwak+bheSw==", + "dev": true, + "license": "MIT", + "dependencies": { + "any-promise": "^1.0.0" + } + }, + "node_modules/thenify-all": { + "version": "1.6.0", + "resolved": "https://registry.npmjs.org/thenify-all/-/thenify-all-1.6.0.tgz", + "integrity": "sha512-RNxQH/qI8/t3thXJDwcstUO4zeqo64+Uy/+sNVRBx4Xn2OX+OZ9oP+iJnNFqplFra2ZUVeKCSa2oVWi3T4uVmA==", + "dev": true, + "license": "MIT", + "dependencies": { + "thenify": ">= 3.1.0 < 4" + }, + "engines": { + "node": ">=0.8" + } + }, + "node_modules/to-regex-range": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-5.0.1.tgz", + "integrity": "sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "is-number": "^7.0.0" + }, + "engines": { + "node": ">=8.0" + } + }, + "node_modules/ts-interface-checker": { + "version": "0.1.13", + "resolved": "https://registry.npmjs.org/ts-interface-checker/-/ts-interface-checker-0.1.13.tgz", + "integrity": "sha512-Y/arvbn+rrz3JCKl9C4kVNfTfSm2/mEp5FSz5EsZSANGPSlQrpRI5M4PKF+mJnE52jOO90PnPSc3Ur3bTQw0gA==", + "dev": true, + "license": "Apache-2.0" + }, + "node_modules/util-deprecate": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz", + "integrity": "sha512-EPD5q1uXyFxJpCrLnCc1nHnq3gOa6DZBocAIiI2TaSCA7VCJ1UJDMagCzIkXNsUYfD1daK//LTEQ8xiIbrHtcw==", + "dev": true, + "license": "MIT" + }, + "node_modules/which": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/which/-/which-2.0.2.tgz", + "integrity": "sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==", + "dev": true, + "license": "ISC", + "dependencies": { + "isexe": "^2.0.0" + }, + "bin": { + "node-which": "bin/node-which" + }, + "engines": { + "node": ">= 8" + } + }, + "node_modules/wrap-ansi": { + "version": "8.1.0", + "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-8.1.0.tgz", + "integrity": "sha512-si7QWI6zUMq56bESFvagtmzMdGOtoxfR+Sez11Mobfc7tm+VkUckk9bW2UeffTGVUbOksxmSw0AA2gs8g71NCQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "ansi-styles": "^6.1.0", + "string-width": "^5.0.1", + "strip-ansi": "^7.0.1" + }, + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/chalk/wrap-ansi?sponsor=1" + } + }, + "node_modules/wrap-ansi-cjs": { + "name": "wrap-ansi", + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-7.0.0.tgz", + "integrity": "sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q==", + "dev": true, + "license": "MIT", + "dependencies": { + "ansi-styles": "^4.0.0", + "string-width": "^4.1.0", + "strip-ansi": "^6.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/wrap-ansi?sponsor=1" + } + }, + "node_modules/wrap-ansi-cjs/node_modules/ansi-regex": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz", + "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "node_modules/wrap-ansi-cjs/node_modules/ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "dev": true, + "license": "MIT", + "dependencies": { + "color-convert": "^2.0.1" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" + } + }, + "node_modules/wrap-ansi-cjs/node_modules/emoji-regex": { + "version": "8.0.0", + "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz", + "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==", + "dev": true, + "license": "MIT" + }, + "node_modules/wrap-ansi-cjs/node_modules/string-width": { + "version": "4.2.3", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz", + "integrity": "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==", + "dev": true, + "license": "MIT", + "dependencies": { + "emoji-regex": "^8.0.0", + "is-fullwidth-code-point": "^3.0.0", + "strip-ansi": "^6.0.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/wrap-ansi-cjs/node_modules/strip-ansi": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz", + "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==", + "dev": true, + "license": "MIT", + "dependencies": { + "ansi-regex": "^5.0.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/yaml": { + "version": "2.8.1", + "resolved": "https://registry.npmjs.org/yaml/-/yaml-2.8.1.tgz", + "integrity": "sha512-lcYcMxX2PO9XMGvAJkJ3OsNMw+/7FKes7/hgerGUYWIoWu5j/+YQqcZr5JnPZWzOsEBgMbSbiSTn/dv/69Mkpw==", + "dev": true, + "license": "ISC", + "bin": { + "yaml": "bin.mjs" + }, + "engines": { + "node": ">= 14.6" + } + } + } +} From a418aafabbdf93f6372000476fd630c529c51c70 Mon Sep 17 00:00:00 2001 From: Hiroshi SHIBATA Date: Mon, 22 Dec 2025 13:58:35 +0900 Subject: [PATCH 02/10] Update package.json from renewal project --- package-lock.json | 4 ++-- package.json | 4 ++-- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/package-lock.json b/package-lock.json index 983e0db815..00ff2ce67b 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1,11 +1,11 @@ { - "name": "www-renewal", + "name": "www.ruby-lang.org", "version": "1.0.0", "lockfileVersion": 3, "requires": true, "packages": { "": { - "name": "www-renewal", + "name": "www.ruby-lang.org", "version": "1.0.0", "devDependencies": { "@tailwindcss/typography": "^0.5.19", diff --git a/package.json b/package.json index 7158104e7c..8e2ddf3503 100644 --- a/package.json +++ b/package.json @@ -1,7 +1,7 @@ { - "name": "www-renewal", + "name": "www.ruby-lang.org", "version": "1.0.0", - "description": "Ruby Language Website Renewal with Tailwind CSS", + "description": "Ruby Language Website with Tailwind CSS", "scripts": { "build-css": "tailwindcss -i ./stylesheets/tailwind.css -o ./stylesheets/compiled.css", "watch-css": "tailwindcss -i ./stylesheets/tailwind.css -o ./stylesheets/compiled.css --watch" From dd961e3297556952b6a4b0719353d660b2191453 Mon Sep 17 00:00:00 2001 From: Hiroshi SHIBATA Date: Mon, 6 Apr 2026 15:21:25 +0900 Subject: [PATCH 03/10] Remove compiled.css from repository The compiled CSS is a build artifact that should be generated during CI and deployment, not tracked in version control. This eliminates merge conflicts and repository bloat from the 5,900-line generated file. Co-Authored-By: Claude Opus 4.6 (1M context) --- .gitignore | 1 + stylesheets/compiled.css | 5898 -------------------------------------- 2 files changed, 1 insertion(+), 5898 deletions(-) delete mode 100644 stylesheets/compiled.css diff --git a/.gitignore b/.gitignore index 4c81700181..2d97ac04a1 100644 --- a/.gitignore +++ b/.gitignore @@ -9,5 +9,6 @@ vendor bin .jekyll* node_modules/ +stylesheets/compiled.css _figma/ _svg-backup/ diff --git a/stylesheets/compiled.css b/stylesheets/compiled.css deleted file mode 100644 index 3c69f2981b..0000000000 --- a/stylesheets/compiled.css +++ /dev/null @@ -1,5898 +0,0 @@ -@import url('https://fonts.googleapis.com/css2?family=Noto+Sans:wght@400;700&display=swap'); - -/* Import CSS variables */ - -/* CSS variables for colors (light and dark modes) */ - -/* Light mode (default) */ - -:root { - /* Ruby color palette */ - --color-ruby-50: #fdeae9; - /* ruby-90 */ - --color-ruby-100: #fadad3; - /* ruby-80 */ - --color-ruby-200: #f8bfbd; - /* ruby-70 */ - --color-ruby-300: #f5a9a7; - /* ruby-60 */ - --color-ruby-400: #f07f7b; - /* ruby-50 */ - --color-ruby-500: #eb544f; - /* ruby-40 */ - --color-ruby-600: #e62923; - /* ruby-30 */ - --color-ruby-700: #b8211c; - /* ruby-20 */ - --color-ruby-800: #8a1915; - /* ruby-10 */ - --color-ruby-900: #5c100e; - /* ruby-5 */ - /* Gold color palette */ - --color-gold-50: #FAF7F1; - --color-gold-100: #F6F3EB; - --color-gold-150: #F1EEE4; - --color-gold-200: #EDE9DD; - --color-gold-300: #ebe5d5; - --color-gold-400: #E2D1AA; - --color-gold-500: #D8C28E; - --color-gold-600: #CEB372; - --color-gold-700: #A8925C; - --color-gold-800: #837147; - --color-gold-900: #5D5131; - /* Code highlighting colors */ - --code-blue: #1d4ed8; - --code-green: #047857; - --code-orange: #d97706; - --code-purple: #7e22ce; - --code-red: #dc2626; - /* Background colors */ - --color-background-default: #ffffff; - --color-background-subtle: #f3f4f6; - --color-background-subtler: #e5e7eb; - --color-background-primary-action-enabled: #e62923; - --color-background-primary-action-hovered: #b8211c; - --color-background-primary-action-pressed: #8a1915; - --color-background-secondary-action-enabled: #f9fafb; - --color-background-secondary-action-hovered: #f3f4f6; - --color-background-secondary-action-pressed: #e5e7eb; - /* Border colors */ - --color-border-bold: #374151; - --color-border-default: #111827; - --color-border-inverse: #f9fafb; - --color-border-subtle: #d1d5db; - --color-border-primary-action-focused: #e62923; - --color-border-secondary-action-enabled: #9ca3af; - --color-border-secondary-action-focused: #374151; - /* Text colors */ - --color-text-danger: #dc2626; - --color-text-default: #111827; - --color-text-hovered: #e62923; - --color-text-link: #e62923; - --color-text-link-hovered: #b8211c; - --color-text-primary: #e62923; - --color-text-primary-action: #ffffff; - --color-text-secondary: #ccb758; - --color-text-secondary-action: #111827; - --color-text-subtle: #78716c; - --color-text-subtler: #a8a29e; - --color-text-success: #047857; - /* Icon colors */ - --color-icon-default: #78716c; -} - -/* Dark mode */ - -.dark { - /* Code highlighting colors */ - --code-blue: #60a5fa; - --code-green: #34d399; - --code-orange: #fbbf24; - --code-purple: #c084fc; - --code-red: #f87171; - /* Background colors */ - --color-background-default: #111827; - --color-background-subtle: #1f2937; - --color-background-subtler: #374151; - --color-background-primary-action-enabled: #eb544f; - --color-background-primary-action-hovered: #f07f7b; - --color-background-primary-action-pressed: #f5a9a7; - --color-background-secondary-action-enabled: #111827; - --color-background-secondary-action-hovered: #1f2937; - --color-background-secondary-action-pressed: #374151; - /* Border colors */ - --color-border-bold: #f3f4f6; - --color-border-default: #4b5563; - --color-border-inverse: #111827; - --color-border-subtle: #374151; - --color-border-primary-action-focused: #b8211c; - --color-border-secondary-action-enabled: #4b5563; - --color-border-secondary-action-focused: #f3f4f6; - /* Text colors */ - --color-text-danger: #f87171; - --color-text-default: #ffffff; - --color-text-hovered: #eb544f; - --color-text-link: #eb544f; - --color-text-link-hovered: #f07f7b; - --color-text-primary: #eb544f; - --color-text-primary-action: #ffffff; - --color-text-secondary: #e1c95d; - --color-text-secondary-action: #f9fafb; - --color-text-subtle: #e7e5e4; - --color-text-subtler: #a8a29e; - --color-text-success: #34d399; - /* Icon colors */ - --color-icon-default: #a8a29e; -} - -/* Language-specific font subsets */ - -:root:lang(zh-CN), [lang="zh-CN"] { - --noto-sans-subset: "Noto Sans SC"; -} - -:root:lang(zh-TW), [lang="zh-TW"] { - --noto-sans-subset: "Noto Sans TC"; -} - -:root:lang(ko), [lang="ko"] { - --noto-sans-subset: "Noto Sans KR"; -} - -:root:lang(ja), [lang="ja"] { - --noto-sans-subset: "Noto Sans JP"; -} - -/* Custom fonts if needed */ - -/* Import component styles */ - -/* Base styles */ - -/* Fixed header scroll offset */ - -html { - scroll-padding-top: 6rem; - /* 96px - header height (80px) + extra spacing */ -} - -/* Global image responsiveness */ - -img { - max-width: 100%; - height: auto; -} - -iframe { - border: none; -} - -/* Footer credits link styles */ - -.credits a { - text-decoration: underline; - transition-property: color, background-color, border-color, text-decoration-color, fill, stroke; - transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1); - transition-duration: 150ms; -} - -.credits a:hover { - color: var(--color-ruby-600); -} - -.dark .credits a:hover { - color: var(--color-ruby-400); -} - -/** - * Multi-page pagination component - * Used in: quickstart/, faq/ - */ - -/* TOC Target highlight */ - -:target { - background: #ffc; -} - -:target:is(.dark *) { - background: #854d0e; -} - -/* Table of Contents hover styles */ - -.toc-content a:hover { - color: #e62923; - /* ruby-600 for light mode */ -} - -.dark .toc-content a:hover { - color: #f07f7b; - /* ruby-400 for dark mode */ -} - -/* Active link highlight */ - -.toc-content a.toc-active { - color: #e62923; - /* ruby-600 for light mode */ - font-weight: 700; -} - -.dark .toc-content a.toc-active { - color: #eb544f; - /* ruby-500 for dark mode */ -} - -/* Table styles */ - -/* Release list table */ - -.release-list th, -.release-list td { - padding: 2px 1em 2px 0; -} - -.release-list th { - border-bottom: 1px solid #d6d3d1; - /* stone-300 */ -} - -.dark .release-list th { - border-bottom-color: #44403c; - /* stone-700 */ -} - -.release-list td { - border-bottom: 1px solid #e7e5e4; - /* stone-200 */ -} - -.dark .release-list td { - border-bottom-color: #44403c; - /* stone-700 */ -} - -.release-list tr:last-child td { - border-bottom: none; -} - -/* Sponsor logo table */ - -.sponsor-table { - width: 100%; -} - -.sponsor-table tr { - border-bottom: 1px solid #d6d3d1; - /* stone-300 */ -} - -.dark .sponsor-table tr { - border-bottom-color: #44403c; - /* stone-700 */ -} - -.sponsor-table tr:last-child { - border-bottom: none; -} - -.sponsor-table td { - color: #44403c; - /* stone-700 */ - padding: 1.25rem 1rem !important; -} - -.dark .sponsor-table td { - color: #d6d3d1; - /* stone-300 */ -} - -.sponsor-table .sponsor-logo { - background-color: white; - border-radius: 0.25rem; - padding: 0.5rem; -} - -.sponsor-table .sponsor-logo img { - width: 300px; - height: auto !important; -} - -.sponsor-table a { - text-decoration: underline; - color: var(--color-text-link); -} - -.sponsor-table a:hover { - color: var(--color-text-link-hovered); -} - -/* Hide icon text until font is loaded to prevent FOUT */ - -html:not(.fonts-loaded) [class^="icon-"]::before, -html:not(.fonts-loaded) [class*=" icon-"]::before { - font-size: 0 !important; -} - -/* Material Symbols Rounded */ - -.material-symbols-rounded { - font-family: 'Material Symbols Rounded'; - font-weight: normal; - font-style: normal; - display: inline-block; - line-height: 1; - text-transform: none; - letter-spacing: normal; - word-wrap: normal; - white-space: nowrap; - direction: ltr; - font-variation-settings: - 'FILL' 0, - 'wght' 200, - 'GRAD' 0, - 'opsz' 20; -} - -/* Dropdown icon */ - -.icon-dropdown::before { - content: 'keyboard_arrow_down'; - font-family: 'Material Symbols Rounded'; - font-weight: normal; - font-style: normal; - font-size: 20px; - display: inline-block; - line-height: 1; - text-transform: none; - letter-spacing: normal; - word-wrap: normal; - white-space: nowrap; - direction: ltr; - position: relative; - top: 3px; - color: var(--color-icon-default); - /* Default icon color */ - font-variation-settings: - 'FILL' 0, - 'wght' 200, - 'GRAD' 0, - 'opsz' 20; -} - -/* External link icon */ - -.icon-external::before { - content: 'open_in_new'; - font-family: 'Material Symbols Rounded'; - font-weight: normal; - font-style: normal; - font-size: 14px; - display: inline-block; - line-height: 1; - text-transform: none; - letter-spacing: normal; - word-wrap: normal; - white-space: nowrap; - direction: ltr; - position: relative; - top: 2px; - margin-left: 4px; - color: var(--color-icon-default); - /* Default icon color */ - font-variation-settings: - 'FILL' 0, - 'wght' 400, - 'GRAD' 0, - 'opsz' 14; -} - -/* Allow parent text-white to override icon color */ - -.text-white .icon-external::before { - color: inherit; -} - -/* Link color inheritance for external icons */ - -a .icon-external::before { - color: inherit; - margin-left: 0; -} - -/* Check icon */ - -.icon-check::before { - content: 'check'; - font-family: 'Material Symbols Rounded'; - font-weight: normal; - font-style: normal; - font-size: 20px; - display: inline-block; - line-height: 1; - text-transform: none; - letter-spacing: normal; - word-wrap: normal; - white-space: nowrap; - direction: ltr; - font-variation-settings: - 'FILL' 0, - 'wght' 400, - 'GRAD' 0, - 'opsz' 20; -} - -/* Menu icon */ - -.icon-menu::before { - content: 'menu'; - font-family: 'Material Symbols Rounded'; - font-weight: normal; - font-style: normal; - font-size: 24px; - display: inline-block; - line-height: 1; - text-transform: none; - letter-spacing: normal; - word-wrap: normal; - white-space: nowrap; - direction: ltr; - font-variation-settings: - 'FILL' 0, - 'wght' 200, - 'GRAD' 0, - 'opsz' 24; -} - -/* Lists icon for TOC */ - -.icon-lists::before { - content: 'lists'; - font-family: 'Material Symbols Rounded'; - font-weight: normal; - font-style: normal; - font-size: 24px; - display: inline-block; - line-height: 1; - text-transform: none; - letter-spacing: normal; - word-wrap: normal; - white-space: nowrap; - direction: ltr; - position: relative; - top: 2px; - color: var(--color-icon-default); - font-variation-settings: - 'FILL' 0, - 'wght' 200, - 'GRAD' 0, - 'opsz' 24; -} - -/* Calendar icon for News sidebar */ - -.icon-calendar::before { - content: 'calendar_today'; - font-family: 'Material Symbols Rounded'; - font-weight: normal; - font-style: normal; - font-size: 24px; - display: inline-block; - line-height: 1; - text-transform: none; - letter-spacing: normal; - word-wrap: normal; - white-space: nowrap; - direction: ltr; - position: relative; - top: 2px; - color: var(--color-icon-default); - font-variation-settings: - 'FILL' 0, - 'wght' 300, - 'GRAD' 0, - 'opsz' 24; -} - -/* RSS Feed icon for News sidebar */ - -.icon-rss-feed::before { - content: 'rss_feed'; - font-family: 'Material Symbols Rounded'; - font-weight: normal; - font-style: normal; - font-size: 24px; - display: inline-block; - line-height: 1; - text-transform: none; - letter-spacing: normal; - word-wrap: normal; - white-space: nowrap; - direction: ltr; - position: relative; - top: 2px; - color: var(--color-icon-default); - font-variation-settings: - 'FILL' 0, - 'wght' 300, - 'GRAD' 0, - 'opsz' 24; -} - -/* Double arrow right icon for "Continue reading" link */ - -.icon-double-arrow-right::before { - content: 'keyboard_double_arrow_right'; - font-family: 'Material Symbols Rounded'; - font-weight: normal; - font-style: normal; - font-size: 20px; - display: inline-block; - line-height: 1; - text-transform: none; - letter-spacing: normal; - word-wrap: normal; - white-space: nowrap; - direction: ltr; - position: relative; - top: 3px; - margin-right: 4px; - font-variation-settings: - 'FILL' 0, - 'wght' 300, - 'GRAD' 0, - 'opsz' 20; -} - -/* Arrow forward icon */ - -.icon-arrow-forward::before { - content: 'arrow_forward'; - font-family: 'Material Symbols Rounded'; - font-weight: normal; - font-style: normal; - font-size: 20px; - display: inline-block; - line-height: 1; - text-transform: none; - letter-spacing: normal; - word-wrap: normal; - white-space: nowrap; - direction: ltr; - position: relative; - top: 3px; - margin-right: 4px; - font-variation-settings: - 'FILL' 0, - 'wght' 400, - 'GRAD' 0, - 'opsz' 24; -} - -/* Chevron right icon */ - -.icon-chevron-right::before { - content: 'chevron_right'; - font-family: 'Material Symbols Rounded'; - font-weight: normal; - font-style: normal; - font-size: inherit; - display: inline-block; - line-height: 1; - text-transform: none; - letter-spacing: normal; - word-wrap: normal; - white-space: nowrap; - direction: ltr; - position: relative; - top: 2px; - color: inherit; - /* Inherit color from parent */ - font-variation-settings: - 'FILL' 0, - 'wght' 200, - 'GRAD' 0, - 'opsz' 24; -} - -/* Chevron right icon - adjust position for large text */ - -.icon-chevron-right.text-4xl::before { - top: 6px; -} - -/* Theme toggle icons */ - -.icon-theme-auto::before { - content: 'brightness_6'; - font-family: 'Material Symbols Rounded'; - font-weight: normal; - font-style: normal; - font-size: 24px; - display: inline-block; - line-height: 1; - text-transform: none; - letter-spacing: normal; - word-wrap: normal; - white-space: nowrap; - direction: ltr; - position: relative; - top: 2px; - font-variation-settings: - 'FILL' 1, - 'wght' 300, - 'GRAD' 0, - 'opsz' 24; -} - -.icon-theme-dark::before { - content: 'dark_mode'; - font-family: 'Material Symbols Rounded'; - font-weight: normal; - font-style: normal; - font-size: 24px; - display: inline-block; - line-height: 1; - text-transform: none; - letter-spacing: normal; - word-wrap: normal; - white-space: nowrap; - direction: ltr; - position: relative; - top: 2px; - font-variation-settings: - 'FILL' 1, - 'wght' 300, - 'GRAD' 0, - 'opsz' 24; -} - -.icon-theme-light::before { - content: 'light_mode'; - font-family: 'Material Symbols Rounded'; - font-weight: normal; - font-style: normal; - font-size: 24px; - display: inline-block; - line-height: 1; - text-transform: none; - letter-spacing: normal; - word-wrap: normal; - white-space: nowrap; - direction: ltr; - position: relative; - top: 2px; - font-variation-settings: - 'FILL' 1, - 'wght' 300, - 'GRAD' 0, - 'opsz' 24; -} - -/* Print styles */ - -@media print { - /* Reset colors for print */ - - body { - background: white !important; - color: black !important; - } - - /* Hide navigation and interactive elements */ - - footer, - nav, - .mobile-menu, - .theme-toggle, - .language-selector, - .toc-sidebar, - .scroll-to-top { - display: none !important; - } - - /* Header: show logo only */ - - header { - position: static !important; - border: none !important; - } - - header #theme-toggle, - header #mobile-menu-toggle, - header #mobile-menu { - display: none !important; - } - - /* Hide decorative elements */ - - [class*="wave-border"], - [class*="animate-"], - .community-section { - display: none !important; - } - - /* Hero section: show content only */ - - .hero-section { - height: auto !important; - overflow: visible !important; - } - - .hero-section #hero-loader, - .hero-section [data-hero-layer="sunburst"], - .hero-section [data-hero-layer="illust-sub"], - .hero-section [data-hero-layer="illust-main"], - .hero-section [data-hero-layer="gem"], - .hero-try-ruby-wrapper::before, - .hero-try-ruby-wrapper::after { - display: none !important; - } - - .hero-section [data-hero-layer="gem-content"], - .hero-section [data-hero-layer="content"] { - position: relative !important; - opacity: 1 !important; - visibility: visible !important; - width: 100% !important; - height: auto !important; - left: 0 !important; - top: 0 !important; - transform: none !important; - display: flex !important; - flex-direction: column !important; - align-items: center !important; - } - - /* Hero section: force black text and visibility */ - - .hero-section, - .hero-section *, - .hero-section [data-hero-layer="content"] * { - color: black !important; - opacity: 1 !important; - visibility: visible !important; - } - - /* Try Ruby section: show code examples only */ - - .try-ruby-section { - opacity: 1 !important; - max-height: none !important; - overflow: visible !important; - } - - .try-ruby-section [id^="try-ruby-bottom-"], - .try-ruby-section .text-center.pb-16 { - display: none !important; - } - - /* Try Ruby: outer border only, no inner border */ - - .try-ruby-section .group { - border: 1px solid #ccc !important; - } - - .try-ruby-section .code-example-wrapper, - .try-ruby-section .code-example, - .try-ruby-section pre, - .try-ruby-section code { - border: none !important; - } - - /* Hide wave border in hero-try-ruby-wrapper */ - - .hero-try-ruby-wrapper > div:last-child { - display: none !important; - } - - /* Reset page container */ - - #page { - padding-top: 0 !important; - } - - /* Ensure content is readable */ - - * { - color: black !important; - background: transparent !important; - box-shadow: none !important; - text-shadow: none !important; - } - - /* Show link URLs */ - - a[href^="http"]:after { - content: " (" attr(href) ")"; - font-size: 0.8em; - color: #666 !important; - } - - /* Don't show URL for internal links */ - - a[href^="#"]:after, - a[href^="/"]:after { - content: ""; - } - - /* Page break control */ - - h1, h2, h3, h4, h5, h6 { - page-break-after: avoid; - page-break-inside: avoid; - } - - img, pre, blockquote, table { - page-break-inside: avoid; - } - - p, li { - orphans: 3; - widows: 3; - } - - /* Ensure images print */ - - img { - max-width: 100% !important; - } - - /* Code blocks */ - - pre { - border: 1px solid #ccc !important; - background: #f5f5f5 !important; - } - - /* Inline code only (not inside pre) */ - - code { - border: 1px solid #ccc !important; - background: #f5f5f5 !important; - } - - /* Remove border from code inside pre */ - - pre code { - border: none !important; - background: transparent !important; - } -} - -/* - * GitHub style for Pygments syntax highlighter, for use with Jekyll - * Courtesy of GitHub.com - */ - -.highlight .c { - color: #999988; - font-style: italic; -} - -.highlight .err { - color: #a61717; - background-color: #e3d2d2; -} - -.highlight .k { - font-weight: bold; -} - -.highlight .o { - font-weight: bold; -} - -.highlight .cm { - color: #999988; - font-style: italic; -} - -.highlight .cp { - color: #999999; - font-weight: bold; -} - -.highlight .c1 { - color: #999988; - font-style: italic; -} - -.highlight .cs { - color: #999999; - font-weight: bold; - font-style: italic; -} - -.highlight .gd { - color: #000000; - background-color: #ffdddd; -} - -.highlight .gd .x { - color: #000000; - background-color: #ffaaaa; -} - -.highlight .ge { - font-style: italic; -} - -.highlight .gr { - color: #aa0000; -} - -.highlight .gh { - color: #999999; -} - -.highlight .gi { - color: #000000; - background-color: #ddffdd; -} - -.highlight .gi .x { - color: #000000; - background-color: #aaffaa; -} - -.highlight .go { - color: #888888; -} - -.highlight .gp { - color: #555555; -} - -.highlight .gs { - font-weight: bold; -} - -.highlight .gu { - color: #800080; - font-weight: bold; -} - -.highlight .gt { - color: #aa0000; -} - -.highlight .kc { - font-weight: bold; -} - -.highlight .kd { - font-weight: bold; -} - -.highlight .kn { - font-weight: bold; -} - -.highlight .kp { - font-weight: bold; -} - -.highlight .kr { - font-weight: bold; -} - -.highlight .kt { - color: #445588; - font-weight: bold; -} - -.highlight .m { - color: #009999; -} - -.highlight .s { - color: #dd1144; -} - -.highlight .n { - color: #333333; -} - -.highlight .na { - color: teal; -} - -.highlight .nb { - color: #0086b3; -} - -.highlight .nc { - color: #445588; - font-weight: bold; -} - -.highlight .no { - color: teal; -} - -.highlight .ni { - color: purple; -} - -.highlight .ne { - color: #990000; - font-weight: bold; -} - -.highlight .nf { - color: #990000; - font-weight: bold; -} - -.highlight .nn { - color: #555555; -} - -.highlight .nt { - color: navy; -} - -.highlight .nv { - color: teal; -} - -.highlight .ow { - font-weight: bold; -} - -.highlight .w { - color: #bbbbbb; -} - -.highlight .mf { - color: #009999; -} - -.highlight .mh { - color: #009999; -} - -.highlight .mi { - color: #009999; -} - -.highlight .mo { - color: #009999; -} - -.highlight .sb { - color: #dd1144; -} - -.highlight .sc { - color: #dd1144; -} - -.highlight .sd { - color: #dd1144; -} - -.highlight .s2 { - color: #dd1144; -} - -.highlight .se { - color: #dd1144; -} - -.highlight .sh { - color: #dd1144; -} - -.highlight .si { - color: #dd1144; -} - -.highlight .sx { - color: #dd1144; -} - -.highlight .sr { - color: #009926; -} - -.highlight .s1 { - color: #dd1144; -} - -.highlight .ss { - color: #990073; -} - -.highlight .bp { - color: #999999; -} - -.highlight .vc { - color: teal; -} - -.highlight .vg { - color: teal; -} - -.highlight .vi { - color: teal; -} - -.highlight .il { - color: #009999; -} - -.highlight .gc { - color: #999; - background-color: #EAF2F5; -} - -/* Dark mode syntax highlighting */ - -.dark .highlight .c { - color: #8b949e; - font-style: italic; -} - -.dark .highlight .err { - color: #f85149; - background-color: transparent; -} - -.dark .highlight .k { - color: #ff7b72; - font-weight: bold; -} - -.dark .highlight .o { - color: #ff7b72; - font-weight: bold; -} - -.dark .highlight .cm { - color: #8b949e; - font-style: italic; -} - -.dark .highlight .cp { - color: #8b949e; - font-weight: bold; -} - -.dark .highlight .c1 { - color: #8b949e; - font-style: italic; -} - -.dark .highlight .cs { - color: #8b949e; - font-weight: bold; - font-style: italic; -} - -.dark .highlight .gd { - color: #ffa198; - background-color: #490202; -} - -.dark .highlight .gd .x { - color: #ffa198; - background-color: #67060c; -} - -.dark .highlight .ge { - font-style: italic; -} - -.dark .highlight .gr { - color: #f85149; -} - -.dark .highlight .gh { - color: #8b949e; -} - -.dark .highlight .gi { - color: #56d364; - background-color: #0f5323; -} - -.dark .highlight .gi .x { - color: #56d364; - background-color: #0f5323; -} - -.dark .highlight .go { - color: #8b949e; -} - -.dark .highlight .gp { - color: #8b949e; -} - -.dark .highlight .gs { - font-weight: bold; -} - -.dark .highlight .gu { - color: #d2a8ff; - font-weight: bold; -} - -.dark .highlight .gt { - color: #f85149; -} - -.dark .highlight .kc { - color: #ff7b72; - font-weight: bold; -} - -.dark .highlight .kd { - color: #ff7b72; - font-weight: bold; -} - -.dark .highlight .kn { - color: #ff7b72; - font-weight: bold; -} - -.dark .highlight .kp { - color: #ff7b72; - font-weight: bold; -} - -.dark .highlight .kr { - color: #ff7b72; - font-weight: bold; -} - -.dark .highlight .kt { - color: #ff7b72; - font-weight: bold; -} - -.dark .highlight .m { - color: #a5d6ff; -} - -.dark .highlight .s { - color: #a5d6ff; -} - -.dark .highlight .n { - color: #c9d1d9; -} - -.dark .highlight .na { - color: #79c0ff; -} - -.dark .highlight .nb { - color: #79c0ff; -} - -.dark .highlight .nc { - color: #f0883e; - font-weight: bold; -} - -.dark .highlight .no { - color: #79c0ff; -} - -.dark .highlight .ni { - color: #d2a8ff; -} - -.dark .highlight .ne { - color: #f0883e; - font-weight: bold; -} - -.dark .highlight .nf { - color: #d2a8ff; - font-weight: bold; -} - -.dark .highlight .nn { - color: #8b949e; -} - -.dark .highlight .nt { - color: #7ee787; -} - -.dark .highlight .nv { - color: #79c0ff; -} - -.dark .highlight .ow { - color: #ff7b72; - font-weight: bold; -} - -.dark .highlight .w { - color: #6e7681; -} - -.dark .highlight .mf { - color: #a5d6ff; -} - -.dark .highlight .mh { - color: #a5d6ff; -} - -.dark .highlight .mi { - color: #a5d6ff; -} - -.dark .highlight .mo { - color: #a5d6ff; -} - -.dark .highlight .sb { - color: #a5d6ff; -} - -.dark .highlight .sc { - color: #a5d6ff; -} - -.dark .highlight .sd { - color: #a5d6ff; -} - -.dark .highlight .s2 { - color: #a5d6ff; -} - -.dark .highlight .se { - color: #a5d6ff; -} - -.dark .highlight .sh { - color: #a5d6ff; -} - -.dark .highlight .si { - color: #a5d6ff; -} - -.dark .highlight .sx { - color: #a5d6ff; -} - -.dark .highlight .sr { - color: #7ee787; -} - -.dark .highlight .s1 { - color: #a5d6ff; -} - -.dark .highlight .ss { - color: #a5d6ff; -} - -.dark .highlight .bp { - color: #79c0ff; -} - -.dark .highlight .vc { - color: #79c0ff; -} - -.dark .highlight .vg { - color: #79c0ff; -} - -.dark .highlight .vi { - color: #79c0ff; -} - -.dark .highlight .il { - color: #a5d6ff; -} - -.dark .highlight .gc { - color: #8b949e; - background-color: #1c2128; -} - -/* Tailwind layers */ - -*, ::before, ::after{ - --tw-border-spacing-x: 0; - --tw-border-spacing-y: 0; - --tw-translate-x: 0; - --tw-translate-y: 0; - --tw-rotate: 0; - --tw-skew-x: 0; - --tw-skew-y: 0; - --tw-scale-x: 1; - --tw-scale-y: 1; - --tw-pan-x: ; - --tw-pan-y: ; - --tw-pinch-zoom: ; - --tw-scroll-snap-strictness: proximity; - --tw-gradient-from-position: ; - --tw-gradient-via-position: ; - --tw-gradient-to-position: ; - --tw-ordinal: ; - --tw-slashed-zero: ; - --tw-numeric-figure: ; - --tw-numeric-spacing: ; - --tw-numeric-fraction: ; - --tw-ring-inset: ; - --tw-ring-offset-width: 0px; - --tw-ring-offset-color: #fff; - --tw-ring-color: rgb(59 130 246 / 0.5); - --tw-ring-offset-shadow: 0 0 #0000; - --tw-ring-shadow: 0 0 #0000; - --tw-shadow: 0 0 #0000; - --tw-shadow-colored: 0 0 #0000; - --tw-blur: ; - --tw-brightness: ; - --tw-contrast: ; - --tw-grayscale: ; - --tw-hue-rotate: ; - --tw-invert: ; - --tw-saturate: ; - --tw-sepia: ; - --tw-drop-shadow: ; - --tw-backdrop-blur: ; - --tw-backdrop-brightness: ; - --tw-backdrop-contrast: ; - --tw-backdrop-grayscale: ; - --tw-backdrop-hue-rotate: ; - --tw-backdrop-invert: ; - --tw-backdrop-opacity: ; - --tw-backdrop-saturate: ; - --tw-backdrop-sepia: ; - --tw-contain-size: ; - --tw-contain-layout: ; - --tw-contain-paint: ; - --tw-contain-style: ; -} - -::backdrop{ - --tw-border-spacing-x: 0; - --tw-border-spacing-y: 0; - --tw-translate-x: 0; - --tw-translate-y: 0; - --tw-rotate: 0; - --tw-skew-x: 0; - --tw-skew-y: 0; - --tw-scale-x: 1; - --tw-scale-y: 1; - --tw-pan-x: ; - --tw-pan-y: ; - --tw-pinch-zoom: ; - --tw-scroll-snap-strictness: proximity; - --tw-gradient-from-position: ; - --tw-gradient-via-position: ; - --tw-gradient-to-position: ; - --tw-ordinal: ; - --tw-slashed-zero: ; - --tw-numeric-figure: ; - --tw-numeric-spacing: ; - --tw-numeric-fraction: ; - --tw-ring-inset: ; - --tw-ring-offset-width: 0px; - --tw-ring-offset-color: #fff; - --tw-ring-color: rgb(59 130 246 / 0.5); - --tw-ring-offset-shadow: 0 0 #0000; - --tw-ring-shadow: 0 0 #0000; - --tw-shadow: 0 0 #0000; - --tw-shadow-colored: 0 0 #0000; - --tw-blur: ; - --tw-brightness: ; - --tw-contrast: ; - --tw-grayscale: ; - --tw-hue-rotate: ; - --tw-invert: ; - --tw-saturate: ; - --tw-sepia: ; - --tw-drop-shadow: ; - --tw-backdrop-blur: ; - --tw-backdrop-brightness: ; - --tw-backdrop-contrast: ; - --tw-backdrop-grayscale: ; - --tw-backdrop-hue-rotate: ; - --tw-backdrop-invert: ; - --tw-backdrop-opacity: ; - --tw-backdrop-saturate: ; - --tw-backdrop-sepia: ; - --tw-contain-size: ; - --tw-contain-layout: ; - --tw-contain-paint: ; - --tw-contain-style: ; -} - -/* ! tailwindcss v3.4.19 | MIT License | https://tailwindcss.com */ - -/* -1. Prevent padding and border from affecting element width. (https://github.com/mozdevs/cssremedy/issues/4) -2. Allow adding a border to an element by just adding a border-width. (https://github.com/tailwindcss/tailwindcss/pull/116) -*/ - -*, -::before, -::after { - box-sizing: border-box; - /* 1 */ - border-width: 0; - /* 2 */ - border-style: solid; - /* 2 */ - border-color: #e5e7eb; - /* 2 */ -} - -::before, -::after { - --tw-content: ''; -} - -/* -1. Use a consistent sensible line-height in all browsers. -2. Prevent adjustments of font size after orientation changes in iOS. -3. Use a more readable tab size. -4. Use the user's configured `sans` font-family by default. -5. Use the user's configured `sans` font-feature-settings by default. -6. Use the user's configured `sans` font-variation-settings by default. -7. Disable tap highlights on iOS -*/ - -html, -:host { - line-height: 1.5; - /* 1 */ - -webkit-text-size-adjust: 100%; - /* 2 */ - -moz-tab-size: 4; - /* 3 */ - -o-tab-size: 4; - tab-size: 4; - /* 3 */ - font-family: "Plus Jakarta Sans", -apple-system, BlinkMacSystemFont, sans-serif; - /* 4 */ - font-feature-settings: normal; - /* 5 */ - font-variation-settings: normal; - /* 6 */ - -webkit-tap-highlight-color: transparent; - /* 7 */ -} - -/* -1. Remove the margin in all browsers. -2. Inherit line-height from `html` so users can set them as a class directly on the `html` element. -*/ - -body { - margin: 0; - /* 1 */ - line-height: inherit; - /* 2 */ -} - -/* -1. Add the correct height in Firefox. -2. Correct the inheritance of border color in Firefox. (https://bugzilla.mozilla.org/show_bug.cgi?id=190655) -3. Ensure horizontal rules are visible by default. -*/ - -hr { - height: 0; - /* 1 */ - color: inherit; - /* 2 */ - border-top-width: 1px; - /* 3 */ -} - -/* -Add the correct text decoration in Chrome, Edge, and Safari. -*/ - -abbr:where([title]) { - -webkit-text-decoration: underline dotted; - text-decoration: underline dotted; -} - -/* -Remove the default font size and weight for headings. -*/ - -h1, -h2, -h3, -h4, -h5, -h6 { - font-size: inherit; - font-weight: inherit; -} - -/* -Reset links to optimize for opt-in styling instead of opt-out. -*/ - -a { - color: inherit; - text-decoration: inherit; -} - -/* -Add the correct font weight in Edge and Safari. -*/ - -b, -strong { - font-weight: bolder; -} - -/* -1. Use the user's configured `mono` font-family by default. -2. Use the user's configured `mono` font-feature-settings by default. -3. Use the user's configured `mono` font-variation-settings by default. -4. Correct the odd `em` font sizing in all browsers. -*/ - -code, -kbd, -samp, -pre { - font-family: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace; - /* 1 */ - font-feature-settings: normal; - /* 2 */ - font-variation-settings: normal; - /* 3 */ - font-size: 1em; - /* 4 */ -} - -/* -Add the correct font size in all browsers. -*/ - -small { - font-size: 80%; -} - -/* -Prevent `sub` and `sup` elements from affecting the line height in all browsers. -*/ - -sub, -sup { - font-size: 75%; - line-height: 0; - position: relative; - vertical-align: baseline; -} - -sub { - bottom: -0.25em; -} - -sup { - top: -0.5em; -} - -/* -1. Remove text indentation from table contents in Chrome and Safari. (https://bugs.chromium.org/p/chromium/issues/detail?id=999088, https://bugs.webkit.org/show_bug.cgi?id=201297) -2. Correct table border color inheritance in all Chrome and Safari. (https://bugs.chromium.org/p/chromium/issues/detail?id=935729, https://bugs.webkit.org/show_bug.cgi?id=195016) -3. Remove gaps between table borders by default. -*/ - -table { - text-indent: 0; - /* 1 */ - border-color: inherit; - /* 2 */ - border-collapse: collapse; - /* 3 */ -} - -/* -1. Change the font styles in all browsers. -2. Remove the margin in Firefox and Safari. -3. Remove default padding in all browsers. -*/ - -button, -input, -optgroup, -select, -textarea { - font-family: inherit; - /* 1 */ - font-feature-settings: inherit; - /* 1 */ - font-variation-settings: inherit; - /* 1 */ - font-size: 100%; - /* 1 */ - font-weight: inherit; - /* 1 */ - line-height: inherit; - /* 1 */ - letter-spacing: inherit; - /* 1 */ - color: inherit; - /* 1 */ - margin: 0; - /* 2 */ - padding: 0; - /* 3 */ -} - -/* -Remove the inheritance of text transform in Edge and Firefox. -*/ - -button, -select { - text-transform: none; -} - -/* -1. Correct the inability to style clickable types in iOS and Safari. -2. Remove default button styles. -*/ - -button, -input:where([type='button']), -input:where([type='reset']), -input:where([type='submit']) { - -webkit-appearance: button; - /* 1 */ - background-color: transparent; - /* 2 */ - background-image: none; - /* 2 */ -} - -/* -Use the modern Firefox focus style for all focusable elements. -*/ - -:-moz-focusring { - outline: auto; -} - -/* -Remove the additional `:invalid` styles in Firefox. (https://github.com/mozilla/gecko-dev/blob/2f9eacd9d3d995c937b4251a5557d95d494c9be1/layout/style/res/forms.css#L728-L737) -*/ - -:-moz-ui-invalid { - box-shadow: none; -} - -/* -Add the correct vertical alignment in Chrome and Firefox. -*/ - -progress { - vertical-align: baseline; -} - -/* -Correct the cursor style of increment and decrement buttons in Safari. -*/ - -::-webkit-inner-spin-button, -::-webkit-outer-spin-button { - height: auto; -} - -/* -1. Correct the odd appearance in Chrome and Safari. -2. Correct the outline style in Safari. -*/ - -[type='search'] { - -webkit-appearance: textfield; - /* 1 */ - outline-offset: -2px; - /* 2 */ -} - -/* -Remove the inner padding in Chrome and Safari on macOS. -*/ - -::-webkit-search-decoration { - -webkit-appearance: none; -} - -/* -1. Correct the inability to style clickable types in iOS and Safari. -2. Change font properties to `inherit` in Safari. -*/ - -::-webkit-file-upload-button { - -webkit-appearance: button; - /* 1 */ - font: inherit; - /* 2 */ -} - -/* -Add the correct display in Chrome and Safari. -*/ - -summary { - display: list-item; -} - -/* -Removes the default spacing and border for appropriate elements. -*/ - -blockquote, -dl, -dd, -h1, -h2, -h3, -h4, -h5, -h6, -hr, -figure, -p, -pre { - margin: 0; -} - -fieldset { - margin: 0; - padding: 0; -} - -legend { - padding: 0; -} - -ol, -ul, -menu { - list-style: none; - margin: 0; - padding: 0; -} - -/* -Reset default styling for dialogs. -*/ - -dialog { - padding: 0; -} - -/* -Prevent resizing textareas horizontally by default. -*/ - -textarea { - resize: vertical; -} - -/* -1. Reset the default placeholder opacity in Firefox. (https://github.com/tailwindlabs/tailwindcss/issues/3300) -2. Set the default placeholder color to the user's configured gray 400 color. -*/ - -input::-moz-placeholder, textarea::-moz-placeholder { - opacity: 1; - /* 1 */ - color: #9ca3af; - /* 2 */ -} - -input::placeholder, -textarea::placeholder { - opacity: 1; - /* 1 */ - color: #9ca3af; - /* 2 */ -} - -/* -Set the default cursor for buttons. -*/ - -button, -[role="button"] { - cursor: pointer; -} - -/* -Make sure disabled buttons don't get the pointer cursor. -*/ - -:disabled { - cursor: default; -} - -/* -1. Make replaced elements `display: block` by default. (https://github.com/mozdevs/cssremedy/issues/14) -2. Add `vertical-align: middle` to align replaced elements more sensibly by default. (https://github.com/jensimmons/cssremedy/issues/14#issuecomment-634934210) - This can trigger a poorly considered lint error in some tools but is included by design. -*/ - -img, -svg, -video, -canvas, -audio, -iframe, -embed, -object { - display: block; - /* 1 */ - vertical-align: middle; - /* 2 */ -} - -/* -Constrain images and videos to the parent width and preserve their intrinsic aspect ratio. (https://github.com/mozdevs/cssremedy/issues/14) -*/ - -img, -video { - max-width: 100%; - height: auto; -} - -/* Make elements with the HTML hidden attribute stay hidden by default */ - -[hidden]:where(:not([hidden="until-found"])) { - display: none; -} - -body:lang(ja),body:lang(ko),body:lang(zh-CN),body:lang(zh-TW) { - font-family: "Plus Jakarta Sans", var(--noto-sans-subset), -apple-system, BlinkMacSystemFont, sans-serif; -} - -body{ - --tw-bg-opacity: 1; - background-color: rgb(255 255 255 / var(--tw-bg-opacity, 1)); - font-family: "Plus Jakarta Sans", -apple-system, BlinkMacSystemFont, sans-serif; - font-size: 1rem; - line-height: 1.7; - line-height: 1.25rem; - --tw-text-opacity: 1; - color: rgb(28 25 23 / var(--tw-text-opacity, 1)); -} - -body:is(.dark *){ - --tw-bg-opacity: 1; - background-color: rgb(28 25 23 / var(--tw-bg-opacity, 1)); - --tw-text-opacity: 1; - color: rgb(250 250 249 / var(--tw-text-opacity, 1)); -} - -[lang]:lang(ja),[lang]:lang(ko),[lang]:lang(zh-CN),[lang]:lang(zh-TW) { - font-family: "Plus Jakarta Sans", var(--noto-sans-subset), -apple-system, BlinkMacSystemFont, sans-serif; -} - -[lang]{ - font-family: "Plus Jakarta Sans", -apple-system, BlinkMacSystemFont, sans-serif; -} - -/* CJK fonts */ - -html:lang(ja), - body:lang(ja), - .font-default:lang(ja), - .font-sans:lang(ja), - [lang="ja"], - html:lang(ko), - body:lang(ko), - .font-default:lang(ko), - .font-sans:lang(ko), - [lang="ko"], - html:lang(zh-CN), - body:lang(zh-CN), - .font-default:lang(zh-CN), - .font-sans:lang(zh-CN), - [lang="zh-CN"], - html:lang(zh-TW), - body:lang(zh-TW), - .font-default:lang(zh-TW), - .font-sans:lang(zh-TW), - [lang="zh-TW"] { - font-family: "Plus Jakarta Sans", var(--noto-sans-subset), -apple-system, BlinkMacSystemFont, sans-serif; -} - -/* Ensure syntax highlighting colors are not overridden by body color */ - -.highlight code { - color: inherit; -} - -.highlight pre { - color: var(--color-text-default); -} - -.container{ - width: 100%; - margin-right: auto; - margin-left: auto; - padding-right: 1rem; - padding-left: 1rem; -} - -@media (min-width: 80rem){ - .container{ - max-width: 80rem; - } -} - -@media (min-width: 90rem){ - .container{ - max-width: 90rem; - } -} - -@media (min-width: 100%){ - .container{ - max-width: 100%; - padding-right: 1.5rem; - padding-left: 1.5rem; - } -} - -.prose{ - color: #1c1917; - max-width: none; -} - -.prose :where(p):not(:where([class~="not-prose"],[class~="not-prose"] *)){ - margin-top: 1.25em; - margin-bottom: 1.25em; -} - -.prose :where([class~="lead"]):not(:where([class~="not-prose"],[class~="not-prose"] *)){ - color: var(--tw-prose-lead); - font-size: 1.25em; - line-height: 1.6; - margin-top: 1.2em; - margin-bottom: 1.2em; -} - -.prose :where(a):not(:where([class~="not-prose"],[class~="not-prose"] *)){ - color: #e62923; - text-decoration: underline; - font-weight: 500; -} - -.prose :where(a):not(:where([class~="not-prose"],[class~="not-prose"] *)):hover, .prose :where(a):not(:where([class~="not-prose"],[class~="not-prose"] *)):focus, .prose :where(a):not(:where([class~="not-prose"],[class~="not-prose"] *)):active{ - color: #b8211c; -} - -.dark .prose :where(a):not(:where([class~="not-prose"],[class~="not-prose"] *)){ - color: #eb544f; -} - -.dark .prose :where(a):not(:where([class~="not-prose"],[class~="not-prose"] *)):hover, .dark .prose :where(a):not(:where([class~="not-prose"],[class~="not-prose"] *)):focus, .dark .prose :where(a):not(:where([class~="not-prose"],[class~="not-prose"] *)):active{ - color: #f07f7b; -} - -.prose :where(strong):not(:where([class~="not-prose"],[class~="not-prose"] *)){ - color: #1c1917; - font-weight: 600; -} - -.dark .prose :where(strong):not(:where([class~="not-prose"],[class~="not-prose"] *)){ - color: #f5f5f4; -} - -.prose :where(a strong):not(:where([class~="not-prose"],[class~="not-prose"] *)){ - color: inherit; -} - -.prose :where(blockquote strong):not(:where([class~="not-prose"],[class~="not-prose"] *)){ - color: inherit; -} - -.prose :where(thead th strong):not(:where([class~="not-prose"],[class~="not-prose"] *)){ - color: inherit; -} - -.prose :where(ol):not(:where([class~="not-prose"],[class~="not-prose"] *)){ - list-style-type: decimal; - margin-top: 1.25em; - margin-bottom: 1.25em; - padding-inline-start: 1.625em; -} - -.prose :where(ol[type="A"]):not(:where([class~="not-prose"],[class~="not-prose"] *)){ - list-style-type: upper-alpha; -} - -.prose :where(ol[type="a"]):not(:where([class~="not-prose"],[class~="not-prose"] *)){ - list-style-type: lower-alpha; -} - -.prose :where(ol[type="A" s]):not(:where([class~="not-prose"],[class~="not-prose"] *)){ - list-style-type: upper-alpha; -} - -.prose :where(ol[type="a" s]):not(:where([class~="not-prose"],[class~="not-prose"] *)){ - list-style-type: lower-alpha; -} - -.prose :where(ol[type="I"]):not(:where([class~="not-prose"],[class~="not-prose"] *)){ - list-style-type: upper-roman; -} - -.prose :where(ol[type="i"]):not(:where([class~="not-prose"],[class~="not-prose"] *)){ - list-style-type: lower-roman; -} - -.prose :where(ol[type="I" s]):not(:where([class~="not-prose"],[class~="not-prose"] *)){ - list-style-type: upper-roman; -} - -.prose :where(ol[type="i" s]):not(:where([class~="not-prose"],[class~="not-prose"] *)){ - list-style-type: lower-roman; -} - -.prose :where(ol[type="1"]):not(:where([class~="not-prose"],[class~="not-prose"] *)){ - list-style-type: decimal; -} - -.prose :where(ul):not(:where([class~="not-prose"],[class~="not-prose"] *)){ - list-style-type: disc; - margin-top: 1.25em; - margin-bottom: 1.25em; - padding-inline-start: 1.625em; -} - -.prose :where(ol > li):not(:where([class~="not-prose"],[class~="not-prose"] *))::marker{ - font-weight: 400; - color: #78716c; -} - -.dark .prose :where(ol > li):not(:where([class~="not-prose"],[class~="not-prose"] *))::marker{ - color: #a8a29e; -} - -.prose :where(ul > li):not(:where([class~="not-prose"],[class~="not-prose"] *))::marker{ - color: #a8a29e; -} - -.dark .prose :where(ul > li):not(:where([class~="not-prose"],[class~="not-prose"] *))::marker{ - color: #78716c; -} - -.prose :where(dt):not(:where([class~="not-prose"],[class~="not-prose"] *)){ - color: var(--tw-prose-headings); - font-weight: 600; - margin-top: 1.25em; -} - -.prose :where(hr):not(:where([class~="not-prose"],[class~="not-prose"] *)){ - border-color: var(--tw-prose-hr); - border-top-width: 1px; - margin-top: 3em; - margin-bottom: 3em; -} - -.prose :where(blockquote):not(:where([class~="not-prose"],[class~="not-prose"] *)){ - font-weight: 500; - font-style: italic; - color: #44403c; - border-inline-start-width: 0.25rem; - border-inline-start-color: var(--tw-prose-quote-borders); - quotes: "\201C""\201D""\2018""\2019"; - margin-top: 1.6em; - margin-bottom: 1.6em; - padding-inline-start: 1em; - border-left-color: #d6d3d1; -} - -.dark .prose :where(blockquote):not(:where([class~="not-prose"],[class~="not-prose"] *)){ - color: #d6d3d1; - border-left-color: #44403c; -} - -.prose :where(blockquote p:first-of-type):not(:where([class~="not-prose"],[class~="not-prose"] *))::before{ - content: open-quote; -} - -.prose :where(blockquote p:last-of-type):not(:where([class~="not-prose"],[class~="not-prose"] *))::after{ - content: close-quote; -} - -.prose :where(h1):not(:where([class~="not-prose"],[class~="not-prose"] *)){ - color: var(--tw-prose-headings); - font-weight: 800; - font-size: 2.25em; - margin-top: 0; - margin-bottom: 0.8888889em; - line-height: 1.1111111; -} - -.prose :where(h1 strong):not(:where([class~="not-prose"],[class~="not-prose"] *)){ - font-weight: 900; - color: inherit; -} - -.prose :where(h2):not(:where([class~="not-prose"],[class~="not-prose"] *)){ - color: var(--tw-prose-headings); - font-weight: 700; - font-size: 1.5em; - margin-top: 2em; - margin-bottom: 1em; - line-height: 1.3333333; -} - -.prose :where(h2 strong):not(:where([class~="not-prose"],[class~="not-prose"] *)){ - font-weight: 800; - color: inherit; -} - -.prose :where(h3):not(:where([class~="not-prose"],[class~="not-prose"] *)){ - color: var(--tw-prose-headings); - font-weight: 600; - font-size: 1.25em; - margin-top: 1.6em; - margin-bottom: 0.6em; - line-height: 1.6; -} - -.prose :where(h3 strong):not(:where([class~="not-prose"],[class~="not-prose"] *)){ - font-weight: 700; - color: inherit; -} - -.prose :where(h4):not(:where([class~="not-prose"],[class~="not-prose"] *)){ - color: var(--tw-prose-headings); - font-weight: 600; - margin-top: 1.5em; - margin-bottom: 0.5em; - line-height: 1.5; -} - -.prose :where(h4 strong):not(:where([class~="not-prose"],[class~="not-prose"] *)){ - font-weight: 700; - color: inherit; -} - -.prose :where(img):not(:where([class~="not-prose"],[class~="not-prose"] *)){ - margin-top: 2em; - margin-bottom: 2em; -} - -.prose :where(picture):not(:where([class~="not-prose"],[class~="not-prose"] *)){ - display: block; - margin-top: 2em; - margin-bottom: 2em; -} - -.prose :where(video):not(:where([class~="not-prose"],[class~="not-prose"] *)){ - margin-top: 2em; - margin-bottom: 2em; -} - -.prose :where(kbd):not(:where([class~="not-prose"],[class~="not-prose"] *)){ - font-weight: 500; - font-family: inherit; - color: var(--tw-prose-kbd); - box-shadow: 0 0 0 1px var(--tw-prose-kbd-shadows), 0 3px 0 var(--tw-prose-kbd-shadows); - font-size: 0.875em; - border-radius: 0.3125rem; - padding-top: 0.1875em; - padding-inline-end: 0.375em; - padding-bottom: 0.1875em; - padding-inline-start: 0.375em; -} - -.prose :where(code):not(:where([class~="not-prose"],[class~="not-prose"] *)){ - color: #1c1917; - font-weight: 600; - font-size: 0.875em; - display: inline-block; - background-color: #f5f5f4; - font-family: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace; - margin: 0 0.125rem; - padding: 0 0.3125rem; - border-radius: 0.1875rem; -} - -.dark .prose :where(code):not(:where([class~="not-prose"],[class~="not-prose"] *)){ - background-color: #44403c; - color: #fafaf9; -} - -.prose :where(code):not(:where([class~="not-prose"],[class~="not-prose"] *))::before{ - content: ""; -} - -.prose :where(code):not(:where([class~="not-prose"],[class~="not-prose"] *))::after{ - content: ""; -} - -.prose :where(a code):not(:where([class~="not-prose"],[class~="not-prose"] *)){ - color: inherit; -} - -.prose :where(h1 code):not(:where([class~="not-prose"],[class~="not-prose"] *)){ - color: inherit; -} - -.prose :where(h2 code):not(:where([class~="not-prose"],[class~="not-prose"] *)){ - color: inherit; - font-size: 0.875em; -} - -.prose :where(h3 code):not(:where([class~="not-prose"],[class~="not-prose"] *)){ - color: inherit; - font-size: 0.9em; -} - -.prose :where(h4 code):not(:where([class~="not-prose"],[class~="not-prose"] *)){ - color: inherit; -} - -.prose :where(blockquote code):not(:where([class~="not-prose"],[class~="not-prose"] *)){ - color: inherit; -} - -.prose :where(thead th code):not(:where([class~="not-prose"],[class~="not-prose"] *)){ - color: inherit; -} - -.prose :where(pre):not(:where([class~="not-prose"],[class~="not-prose"] *)){ - color: #1c1917; - background-color: #f5f5f4; - overflow-x: auto; - font-weight: bold; - font-size: 0.875em; - line-height: 1.7142857; - margin-top: 1.7142857em; - margin-bottom: 1.7142857em; - border-radius: 0.375rem; - padding-top: 0.8571429em; - padding-inline-end: 1.1428571em; - padding-bottom: 0.8571429em; - padding-inline-start: 1.1428571em; - font-family: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace; -} - -.dark .prose :where(pre):not(:where([class~="not-prose"],[class~="not-prose"] *)){ - background-color: #44403c; - color: #fafaf9; -} - -.prose :where(pre code):not(:where([class~="not-prose"],[class~="not-prose"] *)){ - background-color: transparent; - border-width: 0; - border-radius: 0; - padding: 0; - font-weight: bold; - color: #1c1917; - font-size: inherit; - font-family: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace; - line-height: inherit; -} - -.dark .prose :where(pre code):not(:where([class~="not-prose"],[class~="not-prose"] *)){ - color: #fafaf9; -} - -.prose :where(pre code):not(:where([class~="not-prose"],[class~="not-prose"] *))::before{ - content: none; -} - -.prose :where(pre code):not(:where([class~="not-prose"],[class~="not-prose"] *))::after{ - content: none; -} - -.prose :where(table):not(:where([class~="not-prose"],[class~="not-prose"] *)){ - width: 100%; - table-layout: auto; - margin-top: 2em; - margin-bottom: 2em; - font-size: 0.875em; - line-height: 1.7142857; -} - -.prose :where(thead):not(:where([class~="not-prose"],[class~="not-prose"] *)){ - border-bottom-width: 1px; - border-bottom-color: var(--tw-prose-th-borders); -} - -.prose :where(thead th):not(:where([class~="not-prose"],[class~="not-prose"] *)){ - color: var(--tw-prose-headings); - font-weight: 600; - vertical-align: bottom; - padding-inline-end: 0.5714286em; - padding-bottom: 0.5714286em; - padding-inline-start: 0.5714286em; -} - -.prose :where(tbody tr):not(:where([class~="not-prose"],[class~="not-prose"] *)){ - border-bottom-width: 1px; - border-bottom-color: var(--tw-prose-td-borders); - border-top-color: #e7e5e4; -} - -.dark .prose :where(tbody tr):not(:where([class~="not-prose"],[class~="not-prose"] *)){ - border-top-color: #44403c; -} - -.prose :where(tbody tr:last-child):not(:where([class~="not-prose"],[class~="not-prose"] *)){ - border-bottom-width: 0; -} - -.prose :where(tbody td):not(:where([class~="not-prose"],[class~="not-prose"] *)){ - vertical-align: baseline; -} - -.prose :where(tfoot):not(:where([class~="not-prose"],[class~="not-prose"] *)){ - border-top-width: 1px; - border-top-color: var(--tw-prose-th-borders); -} - -.prose :where(tfoot td):not(:where([class~="not-prose"],[class~="not-prose"] *)){ - vertical-align: top; -} - -.prose :where(th, td):not(:where([class~="not-prose"],[class~="not-prose"] *)){ - text-align: start; -} - -.prose :where(figure > *):not(:where([class~="not-prose"],[class~="not-prose"] *)){ - margin-top: 0; - margin-bottom: 0; -} - -.prose :where(figcaption):not(:where([class~="not-prose"],[class~="not-prose"] *)){ - color: var(--tw-prose-captions); - font-size: 0.875em; - line-height: 1.4285714; - margin-top: 0.8571429em; -} - -.prose{ - --tw-prose-body: #374151; - --tw-prose-headings: #111827; - --tw-prose-lead: #4b5563; - --tw-prose-links: #111827; - --tw-prose-bold: #111827; - --tw-prose-counters: #6b7280; - --tw-prose-bullets: #d1d5db; - --tw-prose-hr: #e5e7eb; - --tw-prose-quotes: #111827; - --tw-prose-quote-borders: #e5e7eb; - --tw-prose-captions: #6b7280; - --tw-prose-kbd: #111827; - --tw-prose-kbd-shadows: rgb(17 24 39 / 10%); - --tw-prose-code: #111827; - --tw-prose-pre-code: #e5e7eb; - --tw-prose-pre-bg: #1f2937; - --tw-prose-th-borders: #d1d5db; - --tw-prose-td-borders: #e5e7eb; - --tw-prose-invert-body: #d1d5db; - --tw-prose-invert-headings: #fff; - --tw-prose-invert-lead: #9ca3af; - --tw-prose-invert-links: #fff; - --tw-prose-invert-bold: #fff; - --tw-prose-invert-counters: #9ca3af; - --tw-prose-invert-bullets: #4b5563; - --tw-prose-invert-hr: #374151; - --tw-prose-invert-quotes: #f3f4f6; - --tw-prose-invert-quote-borders: #374151; - --tw-prose-invert-captions: #9ca3af; - --tw-prose-invert-kbd: #fff; - --tw-prose-invert-kbd-shadows: rgb(255 255 255 / 10%); - --tw-prose-invert-code: #fff; - --tw-prose-invert-pre-code: #d1d5db; - --tw-prose-invert-pre-bg: rgb(0 0 0 / 50%); - --tw-prose-invert-th-borders: #4b5563; - --tw-prose-invert-td-borders: #374151; - font-size: 1rem; - line-height: 1.75; -} - -.prose :where(picture > img):not(:where([class~="not-prose"],[class~="not-prose"] *)){ - margin-top: 0; - margin-bottom: 0; -} - -.prose :where(li):not(:where([class~="not-prose"],[class~="not-prose"] *)){ - margin-top: 0.5em; - margin-bottom: 0.5em; -} - -.prose :where(ol > li):not(:where([class~="not-prose"],[class~="not-prose"] *)){ - padding-inline-start: 0.375em; -} - -.prose :where(ul > li):not(:where([class~="not-prose"],[class~="not-prose"] *)){ - padding-inline-start: 0.375em; -} - -.prose :where(.prose > ul > li p):not(:where([class~="not-prose"],[class~="not-prose"] *)){ - margin-top: 0.75em; - margin-bottom: 0.75em; -} - -.prose :where(.prose > ul > li > p:first-child):not(:where([class~="not-prose"],[class~="not-prose"] *)){ - margin-top: 1.25em; -} - -.prose :where(.prose > ul > li > p:last-child):not(:where([class~="not-prose"],[class~="not-prose"] *)){ - margin-bottom: 1.25em; -} - -.prose :where(.prose > ol > li > p:first-child):not(:where([class~="not-prose"],[class~="not-prose"] *)){ - margin-top: 1.25em; -} - -.prose :where(.prose > ol > li > p:last-child):not(:where([class~="not-prose"],[class~="not-prose"] *)){ - margin-bottom: 1.25em; -} - -.prose :where(ul ul, ul ol, ol ul, ol ol):not(:where([class~="not-prose"],[class~="not-prose"] *)){ - margin-top: 0.75em; - margin-bottom: 0.75em; -} - -.prose :where(dl):not(:where([class~="not-prose"],[class~="not-prose"] *)){ - margin-top: 1.25em; - margin-bottom: 1.25em; -} - -.prose :where(dd):not(:where([class~="not-prose"],[class~="not-prose"] *)){ - margin-top: 0.5em; - padding-inline-start: 1.625em; -} - -.prose :where(hr + *):not(:where([class~="not-prose"],[class~="not-prose"] *)){ - margin-top: 0; -} - -.prose :where(h2 + *):not(:where([class~="not-prose"],[class~="not-prose"] *)){ - margin-top: 0; -} - -.prose :where(h3 + *):not(:where([class~="not-prose"],[class~="not-prose"] *)){ - margin-top: 0; -} - -.prose :where(h4 + *):not(:where([class~="not-prose"],[class~="not-prose"] *)){ - margin-top: 0; -} - -.prose :where(thead th:first-child):not(:where([class~="not-prose"],[class~="not-prose"] *)){ - padding-inline-start: 0; -} - -.prose :where(thead th:last-child):not(:where([class~="not-prose"],[class~="not-prose"] *)){ - padding-inline-end: 0; -} - -.prose :where(tbody td, tfoot td):not(:where([class~="not-prose"],[class~="not-prose"] *)){ - padding-top: 0.5714286em; - padding-inline-end: 0.5714286em; - padding-bottom: 0.5714286em; - padding-inline-start: 0.5714286em; -} - -.prose :where(tbody td:first-child, tfoot td:first-child):not(:where([class~="not-prose"],[class~="not-prose"] *)){ - padding-inline-start: 0; -} - -.prose :where(tbody td:last-child, tfoot td:last-child):not(:where([class~="not-prose"],[class~="not-prose"] *)){ - padding-inline-end: 0; -} - -.prose :where(figure):not(:where([class~="not-prose"],[class~="not-prose"] *)){ - margin-top: 2em; - margin-bottom: 2em; -} - -.prose :where(.prose > :first-child):not(:where([class~="not-prose"],[class~="not-prose"] *)){ - margin-top: 0; -} - -.prose :where(.prose > :last-child):not(:where([class~="not-prose"],[class~="not-prose"] *)){ - margin-bottom: 0; -} - -.prose :where(h1, h2, h3, h4, h5, h6):not(:where([class~="not-prose"],[class~="not-prose"] *)){ - color: #1c1917; -} - -.dark .prose :where(h1, h2, h3, h4, h5, h6):not(:where([class~="not-prose"],[class~="not-prose"] *)){ - color: #fafaf9; -} - -.prose :where(p, li, td, th):not(:where([class~="not-prose"],[class~="not-prose"] *)){ - color: #1c1917; -} - -.dark .prose :where(p, li, td, th):not(:where([class~="not-prose"],[class~="not-prose"] *)){ - color: #d6d3d1; -} - -.prose :where(dl, dt, dd):not(:where([class~="not-prose"],[class~="not-prose"] *)){ - color: #1c1917; -} - -.dark .prose :where(dl, dt, dd):not(:where([class~="not-prose"],[class~="not-prose"] *)){ - color: #d6d3d1; -} - -.prose :where(.summary):not(:where([class~="not-prose"],[class~="not-prose"] *)){ - margin-top: 3rem; - margin-bottom: 3rem; - font-size: 1.2rem; - line-height: 1.8; - padding-bottom: 3rem; - border-bottom: 1px solid; - border-bottom-color: #e7e5e4; -} - -.dark .prose :where(.summary):not(:where([class~="not-prose"],[class~="not-prose"] *)){ - border-bottom-color: #44403c; -} - -.prose :where(th):not(:where([class~="not-prose"],[class~="not-prose"] *)){ - border-bottom-color: #d6d3d1; -} - -.dark .prose :where(th):not(:where([class~="not-prose"],[class~="not-prose"] *)){ - border-bottom-color: #44403c; -} - -.prose :where(td):not(:where([class~="not-prose"],[class~="not-prose"] *)){ - border-bottom-color: #e7e5e4; -} - -.dark .prose :where(td):not(:where([class~="not-prose"],[class~="not-prose"] *)){ - border-bottom-color: #44403c; -} - -.prose :where(.post-info):not(:where([class~="not-prose"],[class~="not-prose"] *)){ - color: #78716c; - font-size: 0.875rem; - line-height: 1.25rem; - margin-top: 1rem; -} - -.dark .prose :where(.post-info):not(:where([class~="not-prose"],[class~="not-prose"] *)){ - color: #a8a29e; -} - -.multi-page{ - margin-bottom: 3rem; - display: flex; - flex-wrap: wrap; - align-items: center; - gap: 0.5rem; -} - -.multi-page span.separator{ - display: none; -} - -.multi-page a, - .multi-page strong{ - border-radius: 0.5rem; - padding-left: 0.75rem; - padding-right: 0.75rem; - padding-top: 0.375rem; - padding-bottom: 0.375rem; - text-align: center; - font-size: 0.875rem; - line-height: 1.7; - font-weight: 500; - transition-property: color, background-color, border-color, text-decoration-color, fill, stroke; - transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1); - transition-duration: 150ms; -} - -@media print { - - .try-ruby-section .multi-page a.pb-16, - .try-ruby-section - .multi-page strong.pb-16 { - display: none; - } -} - -.multi-page a{ - --tw-bg-opacity: 1; - background-color: rgb(231 229 228 / var(--tw-bg-opacity, 1)); - --tw-text-opacity: 1; - color: rgb(120 113 108 / var(--tw-text-opacity, 1)); - text-decoration-line: none; -} - -.multi-page a:hover{ - --tw-bg-opacity: 1; - background-color: rgb(214 211 209 / var(--tw-bg-opacity, 1)); - --tw-text-opacity: 1; - color: rgb(28 25 23 / var(--tw-text-opacity, 1)); -} - -.multi-page a:is(.dark *){ - --tw-bg-opacity: 1; - background-color: rgb(68 64 60 / var(--tw-bg-opacity, 1)); - --tw-text-opacity: 1; - color: rgb(168 162 158 / var(--tw-text-opacity, 1)); -} - -.multi-page a:hover:is(.dark *){ - --tw-bg-opacity: 1; - background-color: rgb(87 83 78 / var(--tw-bg-opacity, 1)); - --tw-text-opacity: 1; - color: rgb(231 229 228 / var(--tw-text-opacity, 1)); -} - -.multi-page strong{ - background-color: var(--color-ruby-600); - font-weight: 700; - --tw-text-opacity: 1; - color: rgb(255 255 255 / var(--tw-text-opacity, 1)); -} - -.multi-page strong .icon-external::before { - color: inherit; -} - -.multi-page + h1{ - margin-top: 1.25rem; -} - -/* Footer pagination gets extra top margin */ - -.pagination-footer{ - margin-top: 3rem; -} - -.pointer-events-none{ - pointer-events: none; -} - -.pointer-events-auto{ - pointer-events: auto; -} - -.visible{ - visibility: visible; -} - -.invisible{ - visibility: hidden; -} - -.collapse{ - visibility: collapse; -} - -.static{ - position: static; -} - -.fixed{ - position: fixed; -} - -.absolute{ - position: absolute; -} - -.relative{ - position: relative; -} - -.sticky{ - position: sticky; -} - -.inset-0{ - inset: 0px; -} - -.-bottom-1{ - bottom: -0.25rem; -} - -.-bottom-\[22px\]{ - bottom: -22px; -} - -.-bottom-\[4px\]{ - bottom: -4px; -} - -.-left-\[25px\]{ - left: -25px; -} - -.-right-\[20px\]{ - right: -20px; -} - -.-top-\[15px\]{ - top: -15px; -} - -.-top-\[23px\]{ - top: -23px; -} - -.-top-\[28px\]{ - top: -28px; -} - -.bottom-0{ - bottom: 0px; -} - -.bottom-2{ - bottom: 0.5rem; -} - -.left-0{ - left: 0px; -} - -.left-1\/2{ - left: 50%; -} - -.left-\[1\%\]{ - left: 1%; -} - -.left-\[13\%\]{ - left: 13%; -} - -.left-\[14\.5\%\]{ - left: 14.5%; -} - -.left-\[17\%\]{ - left: 17%; -} - -.left-\[19\%\]{ - left: 19%; -} - -.left-\[23\%\]{ - left: 23%; -} - -.left-\[24\%\]{ - left: 24%; -} - -.left-\[24\.2\%\]{ - left: 24.2%; -} - -.left-\[28\%\]{ - left: 28%; -} - -.left-\[31\.8\%\]{ - left: 31.8%; -} - -.left-\[32\.2\%\]{ - left: 32.2%; -} - -.left-\[34\%\]{ - left: 34%; -} - -.left-\[4\%\]{ - left: 4%; -} - -.left-\[5\.5\%\]{ - left: 5.5%; -} - -.left-\[61\%\]{ - left: 61%; -} - -.left-\[64\.5\%\]{ - left: 64.5%; -} - -.left-\[65\%\]{ - left: 65%; -} - -.left-\[69\.5\%\]{ - left: 69.5%; -} - -.left-\[69\.8\%\]{ - left: 69.8%; -} - -.left-\[71\.1\%\]{ - left: 71.1%; -} - -.left-\[72\%\]{ - left: 72%; -} - -.left-\[75\.8\%\]{ - left: 75.8%; -} - -.left-\[77\.5\%\]{ - left: 77.5%; -} - -.left-\[78\.3\%\]{ - left: 78.3%; -} - -.left-\[80\.3\%\]{ - left: 80.3%; -} - -.left-\[82\%\]{ - left: 82%; -} - -.left-\[85\%\]{ - left: 85%; -} - -.left-\[87\%\]{ - left: 87%; -} - -.left-\[89\.6\%\]{ - left: 89.6%; -} - -.left-\[9\.6\%\]{ - left: 9.6%; -} - -.left-\[92\%\]{ - left: 92%; -} - -.right-0{ - right: 0px; -} - -.top-0{ - top: 0px; -} - -.top-0\.5{ - top: 0.125rem; -} - -.top-1\/2{ - top: 50%; -} - -.top-24{ - top: 6rem; -} - -.top-\[10\%\]{ - top: 10%; -} - -.top-\[12\%\]{ - top: 12%; -} - -.top-\[15\%\]{ - top: 15%; -} - -.top-\[19\%\]{ - top: 19%; -} - -.top-\[20\.5\%\]{ - top: 20.5%; -} - -.top-\[24\%\]{ - top: 24%; -} - -.top-\[26\%\]{ - top: 26%; -} - -.top-\[28\%\]{ - top: 28%; -} - -.top-\[30\%\]{ - top: 30%; -} - -.top-\[33\.5\%\]{ - top: 33.5%; -} - -.top-\[36\.8\%\]{ - top: 36.8%; -} - -.top-\[41\%\]{ - top: 41%; -} - -.top-\[43\.5\%\]{ - top: 43.5%; -} - -.top-\[44\%\]{ - top: 44%; -} - -.top-\[46\.2\%\]{ - top: 46.2%; -} - -.top-\[49\.5\%\]{ - top: 49.5%; -} - -.top-\[53\.1\%\]{ - top: 53.1%; -} - -.top-\[56\%\]{ - top: 56%; -} - -.top-\[60\%\]{ - top: 60%; -} - -.top-\[61\%\]{ - top: 61%; -} - -.top-\[65\%\]{ - top: 65%; -} - -.top-\[68\%\]{ - top: 68%; -} - -.top-\[70\.5\%\]{ - top: 70.5%; -} - -.top-\[76\.5\%\]{ - top: 76.5%; -} - -.top-\[78\%\]{ - top: 78%; -} - -.top-\[82\%\]{ - top: 82%; -} - -.top-\[82\.5\%\]{ - top: 82.5%; -} - -.top-\[86\%\]{ - top: 86%; -} - -.isolate{ - isolation: isolate; -} - -.z-0{ - z-index: 0; -} - -.z-10{ - z-index: 10; -} - -.z-20{ - z-index: 20; -} - -.z-50{ - z-index: 50; -} - -.mx-4{ - margin-left: 1rem; - margin-right: 1rem; -} - -.mx-auto{ - margin-left: auto; - margin-right: auto; -} - -.my-6{ - margin-top: 1.5rem; - margin-bottom: 1.5rem; -} - -.my-auto{ - margin-top: auto; - margin-bottom: auto; -} - -.-mt-4{ - margin-top: -1rem; -} - -.mb-1{ - margin-bottom: 0.25rem; -} - -.mb-10{ - margin-bottom: 2.5rem; -} - -.mb-12{ - margin-bottom: 3rem; -} - -.mb-16{ - margin-bottom: 4rem; -} - -.mb-2{ - margin-bottom: 0.5rem; -} - -.mb-3{ - margin-bottom: 0.75rem; -} - -.mb-4{ - margin-bottom: 1rem; -} - -.mb-6{ - margin-bottom: 1.5rem; -} - -.mb-8{ - margin-bottom: 2rem; -} - -.ml-0\.5{ - margin-left: 0.125rem; -} - -.ml-1{ - margin-left: 0.25rem; -} - -.mt-0{ - margin-top: 0px; -} - -.mt-0\.5{ - margin-top: 0.125rem; -} - -.mt-1{ - margin-top: 0.25rem; -} - -.mt-10{ - margin-top: 2.5rem; -} - -.mt-12{ - margin-top: 3rem; -} - -.mt-16{ - margin-top: 4rem; -} - -.mt-2{ - margin-top: 0.5rem; -} - -.mt-3{ - margin-top: 0.75rem; -} - -.mt-4{ - margin-top: 1rem; -} - -.mt-6{ - margin-top: 1.5rem; -} - -.mt-\[-24px\]{ - margin-top: -24px; -} - -.mt-\[7\.6rem\]{ - margin-top: 7.6rem; -} - -.box-border{ - box-sizing: border-box; -} - -.line-clamp-2{ - overflow: hidden; - display: -webkit-box; - -webkit-box-orient: vertical; - -webkit-line-clamp: 2; -} - -.block{ - display: block; -} - -.inline-block{ - display: inline-block; -} - -.inline{ - display: inline; -} - -.flex{ - display: flex; -} - -.inline-flex{ - display: inline-flex; -} - -.table{ - display: table; -} - -.grid{ - display: grid; -} - -.contents{ - display: contents; -} - -.list-item{ - display: list-item; -} - -.hidden{ - display: none; -} - -.h-10{ - height: 2.5rem; -} - -.h-20{ - height: 5rem; -} - -.h-24{ - height: 6rem; -} - -.h-28{ - height: 7rem; -} - -.h-3{ - height: 0.75rem; -} - -.h-32{ - height: 8rem; -} - -.h-6{ - height: 1.5rem; -} - -.h-\[144px\]{ - height: 144px; -} - -.h-\[170px\]{ - height: 170px; -} - -.h-\[18px\]{ - height: 18px; -} - -.h-\[35px\]{ - height: 35px; -} - -.h-\[496px\]{ - height: 496px; -} - -.h-\[7\.5rem\]{ - height: 7.5rem; -} - -.h-auto{ - height: auto; -} - -.h-full{ - height: 100%; -} - -.max-h-0{ - max-height: 0px; -} - -.max-h-\[80vh\]{ - max-height: 80vh; -} - -.max-h-\[calc\(100vh-18rem\)\]{ - max-height: calc(100vh - 18rem); -} - -.max-h-\[calc\(100vh-6rem\)\]{ - max-height: calc(100vh - 6rem); -} - -.max-h-\[calc\(100vh-8rem\)\]{ - max-height: calc(100vh - 8rem); -} - -.min-h-\[200px\]{ - min-height: 200px; -} - -.min-h-\[calc\(100vh-10rem\)\]{ - min-height: calc(100vh - 10rem); -} - -.w-10{ - width: 2.5rem; -} - -.w-28{ - width: 7rem; -} - -.w-3{ - width: 0.75rem; -} - -.w-32{ - width: 8rem; -} - -.w-56{ - width: 14rem; -} - -.w-6{ - width: 1.5rem; -} - -.w-72{ - width: 18rem; -} - -.w-\[1176px\]{ - width: 1176px; -} - -.w-\[118px\]{ - width: 118px; -} - -.w-\[160px\]{ - width: 160px; -} - -.w-\[197px\]{ - width: 197px; -} - -.w-\[22\.4rem\]{ - width: 22.4rem; -} - -.w-\[280px\]{ - width: 280px; -} - -.w-\[30px\]{ - width: 30px; -} - -.w-\[38px\]{ - width: 38px; -} - -.w-\[42px\]{ - width: 42px; -} - -.w-\[43px\]{ - width: 43px; -} - -.w-\[44px\]{ - width: 44px; -} - -.w-\[46px\]{ - width: 46px; -} - -.w-\[47px\]{ - width: 47px; -} - -.w-\[50px\]{ - width: 50px; -} - -.w-\[52px\]{ - width: 52px; -} - -.w-\[55px\]{ - width: 55px; -} - -.w-\[58px\]{ - width: 58px; -} - -.w-\[61px\]{ - width: 61px; -} - -.w-\[62px\]{ - width: 62px; -} - -.w-\[65px\]{ - width: 65px; -} - -.w-\[66px\]{ - width: 66px; -} - -.w-\[69px\]{ - width: 69px; -} - -.w-\[70px\]{ - width: 70px; -} - -.w-\[74px\]{ - width: 74px; -} - -.w-\[75px\]{ - width: 75px; -} - -.w-\[84px\]{ - width: 84px; -} - -.w-\[88px\]{ - width: 88px; -} - -.w-auto{ - width: auto; -} - -.w-full{ - width: 100%; -} - -.w-max{ - width: -moz-max-content; - width: max-content; -} - -.min-w-0{ - min-width: 0px; -} - -.min-w-\[1176px\]{ - min-width: 1176px; -} - -.max-w-4xl{ - max-width: 56rem; -} - -.flex-1{ - flex: 1 1 0%; -} - -.flex-shrink-0{ - flex-shrink: 0; -} - -.shrink{ - flex-shrink: 1; -} - -.flex-grow{ - flex-grow: 1; -} - -.grow{ - flex-grow: 1; -} - -.border-collapse{ - border-collapse: collapse; -} - -.-translate-x-1\/2{ - --tw-translate-x: -50%; - transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y)); -} - -.-translate-y-1\/2{ - --tw-translate-y: -50%; - transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y)); -} - -.-rotate-90{ - --tw-rotate: -90deg; - transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y)); -} - -.rotate-90{ - --tw-rotate: 90deg; - transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y)); -} - -.rotate-\[-10deg\]{ - --tw-rotate: -10deg; - transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y)); -} - -.rotate-\[-14deg\]{ - --tw-rotate: -14deg; - transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y)); -} - -.rotate-\[-15deg\]{ - --tw-rotate: -15deg; - transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y)); -} - -.rotate-\[-20deg\]{ - --tw-rotate: -20deg; - transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y)); -} - -.rotate-\[-24deg\]{ - --tw-rotate: -24deg; - transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y)); -} - -.rotate-\[-29deg\]{ - --tw-rotate: -29deg; - transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y)); -} - -.rotate-\[-46deg\]{ - --tw-rotate: -46deg; - transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y)); -} - -.rotate-\[-5deg\]{ - --tw-rotate: -5deg; - transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y)); -} - -.rotate-\[-6deg\]{ - --tw-rotate: -6deg; - transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y)); -} - -.rotate-\[0deg\]{ - --tw-rotate: 0deg; - transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y)); -} - -.rotate-\[10deg\]{ - --tw-rotate: 10deg; - transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y)); -} - -.rotate-\[16deg\]{ - --tw-rotate: 16deg; - transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y)); -} - -.rotate-\[17deg\]{ - --tw-rotate: 17deg; - transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y)); -} - -.rotate-\[18deg\]{ - --tw-rotate: 18deg; - transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y)); -} - -.rotate-\[20deg\]{ - --tw-rotate: 20deg; - transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y)); -} - -.rotate-\[24deg\]{ - --tw-rotate: 24deg; - transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y)); -} - -.rotate-\[25deg\]{ - --tw-rotate: 25deg; - transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y)); -} - -.rotate-\[30deg\]{ - --tw-rotate: 30deg; - transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y)); -} - -.rotate-\[3deg\]{ - --tw-rotate: 3deg; - transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y)); -} - -.rotate-\[5deg\]{ - --tw-rotate: 5deg; - transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y)); -} - -.rotate-\[8deg\]{ - --tw-rotate: 8deg; - transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y)); -} - -.transform{ - transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y)); -} - -@keyframes fade-in{ - 0%{ - opacity: 0; - } - - 100%{ - opacity: 1; - } -} - -.animate-fade-in{ - animation: fade-in 0.6s ease-out forwards; -} - -@keyframes fade-out{ - 0%{ - opacity: 1; - } - - 100%{ - opacity: 0; - } -} - -.animate-fade-out{ - animation: fade-out 0.3s ease-in forwards; -} - -@keyframes fade-slide-in{ - 0%{ - opacity: 0; - transform: translateY(-20px); - } - - 100%{ - opacity: 1; - transform: translateY(0); - } -} - -.animate-fade-slide-in{ - animation: fade-slide-in 0.6s ease-out forwards; -} - -@keyframes gem-zoom-in{ - 0%{ - opacity: 0; - transform: scale(0.8); - } - - 100%{ - opacity: 1; - transform: scale(1); - } -} - -.animate-gem-zoom-in{ - animation: gem-zoom-in 0.6s ease-out forwards; -} - -@keyframes heartbeat{ - 0%, 100%{ - transform: scale(1) rotate(var(--tw-rotate, 0deg)); - transform-origin: center center; - } - - 1.5%{ - transform: scale(1.03) rotate(var(--tw-rotate, 0deg)); - transform-origin: center center; - } - - 3%{ - transform: scale(1) rotate(var(--tw-rotate, 0deg)); - transform-origin: center center; - } - - 4.5%{ - transform: scale(1.02) rotate(var(--tw-rotate, 0deg)); - transform-origin: center center; - } - - 6%{ - transform: scale(1) rotate(var(--tw-rotate, 0deg)); - transform-origin: center center; - } -} - -.animate-heartbeat{ - animation: heartbeat 8s ease-in-out infinite; -} - -@keyframes heartbeat-illust{ - 0%, 100%{ - opacity: 1; - transform: scale(1) rotate(var(--tw-rotate, 0deg)); - transform-origin: center center; - } - - 1%{ - opacity: 1; - transform: scale(1.02) rotate(calc(var(--tw-rotate, 0deg) + 2deg)); - transform-origin: center center; - } - - 2%{ - opacity: 1; - transform: scale(1.04) rotate(calc(var(--tw-rotate, 0deg) - 2deg)); - transform-origin: center center; - } - - 3%{ - opacity: 1; - transform: scale(1.02) rotate(calc(var(--tw-rotate, 0deg) + 1deg)); - transform-origin: center center; - } - - 4%{ - opacity: 1; - transform: scale(1) rotate(var(--tw-rotate, 0deg)); - transform-origin: center center; - } -} - -.animate-heartbeat-illust{ - animation: heartbeat-illust 8s ease-in-out infinite; -} - -@keyframes pop-in{ - 0%{ - opacity: 0; - transform: scale(0.8) rotate(calc(var(--tw-rotate, 0deg) - 15deg)); - } - - 80%{ - opacity: 1; - transform: scale(1.05) rotate(calc(var(--tw-rotate, 0deg) + 3deg)); - } - - 100%{ - opacity: 1; - transform: scale(1) rotate(var(--tw-rotate, 0deg)); - } -} - -.animate-pop-in{ - animation: pop-in 0.4s ease-out forwards; -} - -@keyframes pulse{ - 50%{ - opacity: .5; - } -} - -.animate-pulse{ - animation: pulse 2s cubic-bezier(0.4, 0, 0.6, 1) infinite; -} - -@keyframes scroll-left{ - 0%{ - transform: translateX(0); - } - - 100%{ - transform: translateX(calc(-50% - 1rem)); - } -} - -.animate-scroll-left{ - animation: scroll-left 60s linear infinite; -} - -@keyframes train-heartbeat{ - 0%, 100%{ - opacity: 1; - transform: translateX(0) rotate(var(--tw-rotate, 0deg)); - } - - 0.5%{ - opacity: 1; - transform: translateX(2px) rotate(calc(var(--tw-rotate, 0deg) + 0.4deg)); - } - - 1%{ - opacity: 1; - transform: translateX(-1.5px) rotate(calc(var(--tw-rotate, 0deg) - 0.3deg)); - } - - 1.5%{ - opacity: 1; - transform: translateX(2px) rotate(calc(var(--tw-rotate, 0deg) + 0.3deg)); - } - - 2%{ - opacity: 1; - transform: translateX(-1px) rotate(calc(var(--tw-rotate, 0deg) - 0.2deg)); - } - - 2.5%{ - opacity: 1; - transform: translateX(1.5px) rotate(calc(var(--tw-rotate, 0deg) + 0.2deg)); - } - - 3%{ - opacity: 1; - transform: translateX(-0.5px) rotate(calc(var(--tw-rotate, 0deg) - 0.1deg)); - } - - 3.5%{ - opacity: 1; - transform: translateX(0) rotate(var(--tw-rotate, 0deg)); - } -} - -.animate-train-heartbeat{ - animation: train-heartbeat 8s ease-in-out infinite; -} - -@keyframes train-running{ - 0%, 100%{ - opacity: 1; - transform: translateX(0) rotate(var(--tw-rotate, 0deg)); - } - - 25%{ - opacity: 1; - transform: translateX(2px) rotate(calc(var(--tw-rotate, 0deg) + 0.3deg)); - } - - 50%{ - opacity: 1; - transform: translateX(-1px) rotate(calc(var(--tw-rotate, 0deg) - 0.2deg)); - } - - 75%{ - opacity: 1; - transform: translateX(1.5px) rotate(calc(var(--tw-rotate, 0deg) + 0.2deg)); - } -} - -.animate-train-running{ - animation: train-running 0.4s ease-in-out infinite; -} - -@keyframes train-slide-in{ - 0%{ - opacity: 0; - transform: translateX(-30px) rotate(var(--tw-rotate, 0deg)); - } - - 100%{ - opacity: 1; - transform: translateX(0) rotate(var(--tw-rotate, 0deg)); - } -} - -.animate-train-slide-in{ - animation: train-slide-in 0.6s ease-out forwards; -} - -@keyframes zoom-in{ - 0%{ - opacity: 0; - transform: translate(-50%, 0) scale(0.5); - } - - 100%{ - opacity: 1; - transform: translate(-50%, 0) scale(1); - } -} - -.animate-zoom-in{ - animation: zoom-in 0.5s ease-out forwards; -} - -.select-none{ - -webkit-user-select: none; - -moz-user-select: none; - user-select: none; -} - -.resize{ - resize: both; -} - -.list-disc{ - list-style-type: disc; -} - -.grid-cols-1{ - grid-template-columns: repeat(1, minmax(0, 1fr)); -} - -.flex-row{ - flex-direction: row; -} - -.flex-col{ - flex-direction: column; -} - -.flex-col-reverse{ - flex-direction: column-reverse; -} - -.flex-wrap{ - flex-wrap: wrap; -} - -.items-start{ - align-items: flex-start; -} - -.items-center{ - align-items: center; -} - -.items-stretch{ - align-items: stretch; -} - -.justify-center{ - justify-content: center; -} - -.justify-between{ - justify-content: space-between; -} - -.gap-0\.5{ - gap: 0.125rem; -} - -.gap-1{ - gap: 0.25rem; -} - -.gap-12{ - gap: 3rem; -} - -.gap-2{ - gap: 0.5rem; -} - -.gap-3{ - gap: 0.75rem; -} - -.gap-4{ - gap: 1rem; -} - -.gap-6{ - gap: 1.5rem; -} - -.gap-8{ - gap: 2rem; -} - -.gap-x-3{ - -moz-column-gap: 0.75rem; - column-gap: 0.75rem; -} - -.gap-x-8{ - -moz-column-gap: 2rem; - column-gap: 2rem; -} - -.gap-y-12{ - row-gap: 3rem; -} - -.gap-y-2{ - row-gap: 0.5rem; -} - -.space-y-0 > :not([hidden]) ~ :not([hidden]){ - --tw-space-y-reverse: 0; - margin-top: calc(0px * calc(1 - var(--tw-space-y-reverse))); - margin-bottom: calc(0px * var(--tw-space-y-reverse)); -} - -.space-y-1\.5 > :not([hidden]) ~ :not([hidden]){ - --tw-space-y-reverse: 0; - margin-top: calc(0.375rem * calc(1 - var(--tw-space-y-reverse))); - margin-bottom: calc(0.375rem * var(--tw-space-y-reverse)); -} - -.space-y-2 > :not([hidden]) ~ :not([hidden]){ - --tw-space-y-reverse: 0; - margin-top: calc(0.5rem * calc(1 - var(--tw-space-y-reverse))); - margin-bottom: calc(0.5rem * var(--tw-space-y-reverse)); -} - -.space-y-3 > :not([hidden]) ~ :not([hidden]){ - --tw-space-y-reverse: 0; - margin-top: calc(0.75rem * calc(1 - var(--tw-space-y-reverse))); - margin-bottom: calc(0.75rem * var(--tw-space-y-reverse)); -} - -.space-y-4 > :not([hidden]) ~ :not([hidden]){ - --tw-space-y-reverse: 0; - margin-top: calc(1rem * calc(1 - var(--tw-space-y-reverse))); - margin-bottom: calc(1rem * var(--tw-space-y-reverse)); -} - -.space-y-6 > :not([hidden]) ~ :not([hidden]){ - --tw-space-y-reverse: 0; - margin-top: calc(1.5rem * calc(1 - var(--tw-space-y-reverse))); - margin-bottom: calc(1.5rem * var(--tw-space-y-reverse)); -} - -.self-start{ - align-self: flex-start; -} - -.overflow-hidden{ - overflow: hidden; -} - -.overflow-x-auto{ - overflow-x: auto; -} - -.overflow-y-auto{ - overflow-y: auto; -} - -.overflow-x-hidden{ - overflow-x: hidden; -} - -.truncate{ - overflow: hidden; - text-overflow: ellipsis; - white-space: nowrap; -} - -.whitespace-nowrap{ - white-space: nowrap; -} - -.rounded-2xl{ - border-radius: 1rem; -} - -.rounded-3xl{ - border-radius: 1.5rem; -} - -.rounded-full{ - border-radius: 9999px; -} - -.rounded-lg{ - border-radius: 0.5rem; -} - -.rounded-md{ - border-radius: 0.375rem; -} - -.rounded-xl{ - border-radius: 0.75rem; -} - -.border{ - border-width: 1px; -} - -.border-b{ - border-bottom-width: 1px; -} - -.border-r{ - border-right-width: 1px; -} - -.border-t{ - border-top-width: 1px; -} - -.border-gold-400{ - border-color: var(--color-gold-400); -} - -.border-gold-600{ - border-color: var(--color-gold-600); -} - -.border-stone-200{ - --tw-border-opacity: 1; - border-color: rgb(231 229 228 / var(--tw-border-opacity, 1)); -} - -.border-stone-300{ - --tw-border-opacity: 1; - border-color: rgb(214 211 209 / var(--tw-border-opacity, 1)); -} - -.bg-gold-150{ - background-color: var(--color-gold-150); -} - -.bg-gold-500{ - background-color: var(--color-gold-500); -} - -.bg-ruby-100{ - background-color: var(--color-ruby-100); -} - -.bg-stone-100{ - --tw-bg-opacity: 1; - background-color: rgb(245 245 244 / var(--tw-bg-opacity, 1)); -} - -.bg-stone-50{ - --tw-bg-opacity: 1; - background-color: rgb(250 250 249 / var(--tw-bg-opacity, 1)); -} - -.bg-transparent{ - background-color: transparent; -} - -.bg-white{ - --tw-bg-opacity: 1; - background-color: rgb(255 255 255 / var(--tw-bg-opacity, 1)); -} - -.bg-\[url\(\'\/images\/footer\/illust-pattern\.svg\'\)\]{ - background-image: url('/images/footer/illust-pattern.svg'); -} - -.bg-\[length\:auto_40px\]{ - background-size: auto 40px; -} - -.bg-center{ - background-position: center; -} - -.bg-repeat-x{ - background-repeat: repeat-x; -} - -.fill-stone-770{ - fill: #322e2b; -} - -.fill-white{ - fill: #fff; -} - -.stroke-gold-600{ - stroke: var(--color-gold-600); -} - -.object-cover{ - -o-object-fit: cover; - object-fit: cover; -} - -.p-2{ - padding: 0.5rem; -} - -.p-4{ - padding: 1rem; -} - -.p-6{ - padding: 1.5rem; -} - -.p-8{ - padding: 2rem; -} - -.px-3{ - padding-left: 0.75rem; - padding-right: 0.75rem; -} - -.px-4{ - padding-left: 1rem; - padding-right: 1rem; -} - -.px-5{ - padding-left: 1.25rem; - padding-right: 1.25rem; -} - -.px-6{ - padding-left: 1.5rem; - padding-right: 1.5rem; -} - -.px-8{ - padding-left: 2rem; - padding-right: 2rem; -} - -.py-1{ - padding-top: 0.25rem; - padding-bottom: 0.25rem; -} - -.py-1\.5{ - padding-top: 0.375rem; - padding-bottom: 0.375rem; -} - -.py-12{ - padding-top: 3rem; - padding-bottom: 3rem; -} - -.py-16{ - padding-top: 4rem; - padding-bottom: 4rem; -} - -.py-2{ - padding-top: 0.5rem; - padding-bottom: 0.5rem; -} - -.py-2\.5{ - padding-top: 0.625rem; - padding-bottom: 0.625rem; -} - -.py-3{ - padding-top: 0.75rem; - padding-bottom: 0.75rem; -} - -.py-4{ - padding-top: 1rem; - padding-bottom: 1rem; -} - -.py-6{ - padding-top: 1.5rem; - padding-bottom: 1.5rem; -} - -.pb-0{ - padding-bottom: 0px; -} - -.pb-12{ - padding-bottom: 3rem; -} - -.pb-16{ - padding-bottom: 4rem; -} - -.pb-3{ - padding-bottom: 0.75rem; -} - -.pb-4{ - padding-bottom: 1rem; -} - -.pb-5{ - padding-bottom: 1.25rem; -} - -.pb-6{ - padding-bottom: 1.5rem; -} - -.pb-8{ - padding-bottom: 2rem; -} - -.pl-1{ - padding-left: 0.25rem; -} - -.pl-2{ - padding-left: 0.5rem; -} - -.pl-4{ - padding-left: 1rem; -} - -.pl-5{ - padding-left: 1.25rem; -} - -.pr-3{ - padding-right: 0.75rem; -} - -.pt-0{ - padding-top: 0px; -} - -.pt-2{ - padding-top: 0.5rem; -} - -.pt-20{ - padding-top: 5rem; -} - -.pt-4{ - padding-top: 1rem; -} - -.pt-6{ - padding-top: 1.5rem; -} - -.text-left{ - text-align: left; -} - -.text-center{ - text-align: center; -} - -.align-baseline{ - vertical-align: baseline; -} - -.font-default{ - font-family: "Plus Jakarta Sans", -apple-system, BlinkMacSystemFont, sans-serif; -} - -.font-logo{ - font-family: "Plus Jakarta Sans", "Noto Sans JP", -apple-system, BlinkMacSystemFont, sans-serif; -} - -.font-mono{ - font-family: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace; -} - -.text-2xl{ - font-size: 1.5rem; - line-height: 2rem; -} - -.text-3xl{ - font-size: 1.875rem; - line-height: 2.25rem; -} - -.text-4xl{ - font-size: 2.25rem; - line-height: 2.5rem; -} - -.text-5xl{ - font-size: 3rem; - line-height: 1; -} - -.text-\[140px\]{ - font-size: 140px; -} - -.text-\[96px\]{ - font-size: 96px; -} - -.text-base{ - font-size: 1rem; - line-height: 1.7; -} - -.text-lg{ - font-size: 1.125rem; - line-height: 1.75rem; -} - -.text-sm{ - font-size: 0.875rem; - line-height: 1.7; -} - -.text-xl{ - font-size: 1.25rem; - line-height: 1.75rem; -} - -.text-xs{ - font-size: 0.75rem; - line-height: 1rem; -} - -.font-bold{ - font-weight: 700; -} - -.font-extrabold{ - font-weight: 800; -} - -.font-extralight{ - font-weight: 200; -} - -.font-light{ - font-weight: 300; -} - -.font-medium{ - font-weight: 500; -} - -.font-normal{ - font-weight: 400; -} - -.font-semibold{ - font-weight: 600; -} - -.uppercase{ - text-transform: uppercase; -} - -.lowercase{ - text-transform: lowercase; -} - -.capitalize{ - text-transform: capitalize; -} - -.italic{ - font-style: italic; -} - -.ordinal{ - --tw-ordinal: ordinal; - font-variant-numeric: var(--tw-ordinal) var(--tw-slashed-zero) var(--tw-numeric-figure) var(--tw-numeric-spacing) var(--tw-numeric-fraction); -} - -.\!leading-tight{ - line-height: 1.25 !important; -} - -.leading-none{ - line-height: 1; -} - -.leading-relaxed{ - line-height: 1.625; -} - -.tracking-\[0\.2em\]{ - letter-spacing: 0.2em; -} - -.tracking-tighter{ - letter-spacing: -0.05em; -} - -.tracking-wide{ - letter-spacing: 0.025em; -} - -.text-gold-150{ - color: var(--color-gold-150); -} - -.text-gold-400{ - color: var(--color-gold-400); -} - -.text-gold-600{ - color: var(--color-gold-600); -} - -.text-ruby-600{ - color: var(--color-ruby-600); -} - -.text-ruby-700{ - color: var(--color-ruby-700); -} - -.text-semantic-text-link{ - color: var(--color-text-link); -} - -.text-stone-400{ - --tw-text-opacity: 1; - color: rgb(168 162 158 / var(--tw-text-opacity, 1)); -} - -.text-stone-500{ - --tw-text-opacity: 1; - color: rgb(120 113 108 / var(--tw-text-opacity, 1)); -} - -.text-stone-600{ - --tw-text-opacity: 1; - color: rgb(87 83 78 / var(--tw-text-opacity, 1)); -} - -.text-stone-700{ - --tw-text-opacity: 1; - color: rgb(68 64 60 / var(--tw-text-opacity, 1)); -} - -.text-stone-800{ - --tw-text-opacity: 1; - color: rgb(41 37 36 / var(--tw-text-opacity, 1)); -} - -.text-stone-900{ - --tw-text-opacity: 1; - color: rgb(28 25 23 / var(--tw-text-opacity, 1)); -} - -.text-white{ - --tw-text-opacity: 1; - color: rgb(255 255 255 / var(--tw-text-opacity, 1)); -} - -.underline{ - text-decoration-line: underline; -} - -.opacity-0{ - opacity: 0; -} - -.shadow-lg{ - --tw-shadow: 0 10px 15px -3px rgb(0 0 0 / 0.1), 0 4px 6px -4px rgb(0 0 0 / 0.1); - --tw-shadow-colored: 0 10px 15px -3px var(--tw-shadow-color), 0 4px 6px -4px var(--tw-shadow-color); - box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow); -} - -.shadow-md{ - --tw-shadow: 0 4px 6px -1px rgb(0 0 0 / 0.1), 0 2px 4px -2px rgb(0 0 0 / 0.1); - --tw-shadow-colored: 0 4px 6px -1px var(--tw-shadow-color), 0 2px 4px -2px var(--tw-shadow-color); - box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow); -} - -.shadow-sm{ - --tw-shadow: 0 1px 2px 0 rgb(0 0 0 / 0.05); - --tw-shadow-colored: 0 1px 2px 0 var(--tw-shadow-color); - box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow); -} - -.ring{ - --tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color); - --tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(3px + var(--tw-ring-offset-width)) var(--tw-ring-color); - box-shadow: var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow, 0 0 #0000); -} - -.drop-shadow-sm{ - --tw-drop-shadow: drop-shadow(0 1px 1px rgb(0 0 0 / 0.05)); - filter: var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow); -} - -.filter{ - filter: var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow); -} - -.transition{ - transition-property: color, background-color, border-color, text-decoration-color, fill, stroke, opacity, box-shadow, transform, filter, -webkit-backdrop-filter; - transition-property: color, background-color, border-color, text-decoration-color, fill, stroke, opacity, box-shadow, transform, filter, backdrop-filter; - transition-property: color, background-color, border-color, text-decoration-color, fill, stroke, opacity, box-shadow, transform, filter, backdrop-filter, -webkit-backdrop-filter; - transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1); - transition-duration: 150ms; -} - -.transition-all{ - transition-property: all; - transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1); - transition-duration: 150ms; -} - -.transition-colors{ - transition-property: color, background-color, border-color, text-decoration-color, fill, stroke; - transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1); - transition-duration: 150ms; -} - -.transition-opacity{ - transition-property: opacity; - transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1); - transition-duration: 150ms; -} - -.transition-transform{ - transition-property: transform; - transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1); - transition-duration: 150ms; -} - -.duration-200{ - transition-duration: 200ms; -} - -.duration-300{ - transition-duration: 300ms; -} - -.duration-500{ - transition-duration: 500ms; -} - -.duration-700{ - transition-duration: 700ms; -} - -.ease-out{ - transition-timing-function: cubic-bezier(0, 0, 0.2, 1); -} - -.will-change-transform{ - will-change: transform; -} - -.\[ruby-core\:03694\]{ - ruby-core: 03694; -} - -.\[ruby-core\:04000\]{ - ruby-core: 04000; -} - -.\[ruby-list\:15977\]{ - ruby-list: 15977; -} - -.\[ruby-list\:43074\]{ - ruby-list: 43074; -} - -.\[ruby-list\:43267\]{ - ruby-list: 43267; -} - -.\[ruby-list\:43268\]{ - ruby-list: 43268; -} - -.\[ruby-list\:45758\]{ - ruby-list: 45758; -} - -.\[ruby-list\:45836\]{ - ruby-list: 45836; -} - -.\[ruby-talk\:00382\]{ - ruby-talk: 00382; -} - -.\[ruby-talk\:00394\]{ - ruby-talk: 00394; -} - -.\[ruby-talk\:124413\]{ - ruby-talk: 124413; -} - -.\[ruby-talk\:124434\]{ - ruby-talk: 124434; -} - -.\[ruby-talk\:444\]{ - ruby-talk: 444; -} - -.\[ruby-talk\:4482\]{ - ruby-talk: 4482; -} - -.\[ruby-talk\:5041\]{ - ruby-talk: 5041; -} - -.\[ruby-talk\:5252\]{ - ruby-talk: 5252; -} - -.marker\:text-stone-400 *::marker{ - color: rgb(168 162 158 ); -} - -.marker\:text-stone-400::marker{ - color: rgb(168 162 158 ); -} - -.before\:pointer-events-none::before{ - content: var(--tw-content); - pointer-events: none; -} - -.before\:absolute::before{ - content: var(--tw-content); - position: absolute; -} - -.before\:-bottom-\[20rem\]::before{ - content: var(--tw-content); - bottom: -20rem; -} - -.before\:-left-\[20rem\]::before{ - content: var(--tw-content); - left: -20rem; -} - -.before\:top-\[18\.75rem\]::before{ - content: var(--tw-content); - top: 18.75rem; -} - -.before\:z-\[-1\]::before{ - content: var(--tw-content); - z-index: -1; -} - -.before\:hidden::before{ - content: var(--tw-content); - display: none; -} - -.before\:h-\[1328px\]::before{ - content: var(--tw-content); - height: 1328px; -} - -.before\:w-\[840px\]::before{ - content: var(--tw-content); - width: 840px; -} - -.before\:bg-\[url\(\'\/images\/home\/hero\/bg\.svg\'\)\]::before{ - content: var(--tw-content); - background-image: url('/images/home/hero/bg.svg'); -} - -.before\:bg-contain::before{ - content: var(--tw-content); - background-size: contain; -} - -.before\:bg-no-repeat::before{ - content: var(--tw-content); - background-repeat: no-repeat; -} - -.before\:content-\[\'\'\]::before{ - --tw-content: ''; - content: var(--tw-content); -} - -.after\:pointer-events-none::after{ - content: var(--tw-content); - pointer-events: none; -} - -.after\:absolute::after{ - content: var(--tw-content); - position: absolute; -} - -.after\:-right-\[20rem\]::after{ - content: var(--tw-content); - right: -20rem; -} - -.after\:-right-\[25rem\]::after{ - content: var(--tw-content); - right: -25rem; -} - -.after\:-top-\[20rem\]::after{ - content: var(--tw-content); - top: -20rem; -} - -.after\:z-\[-1\]::after{ - content: var(--tw-content); - z-index: -1; -} - -.after\:hidden::after{ - content: var(--tw-content); - display: none; -} - -.after\:h-\[1328px\]::after{ - content: var(--tw-content); - height: 1328px; -} - -.after\:w-\[840px\]::after{ - content: var(--tw-content); - width: 840px; -} - -.after\:rotate-180::after{ - content: var(--tw-content); - --tw-rotate: 180deg; - transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y)); -} - -.after\:bg-\[url\(\'\/images\/home\/hero\/bg\.svg\'\)\]::after{ - content: var(--tw-content); - background-image: url('/images/home/hero/bg.svg'); -} - -.after\:bg-contain::after{ - content: var(--tw-content); - background-size: contain; -} - -.after\:bg-no-repeat::after{ - content: var(--tw-content); - background-repeat: no-repeat; -} - -.after\:content-\[\'\'\]::after{ - --tw-content: ''; - content: var(--tw-content); -} - -.first\:mt-8:first-child{ - margin-top: 2rem; -} - -.first\:border-t:first-child{ - border-top-width: 1px; -} - -.first\:pt-8:first-child{ - padding-top: 2rem; -} - -.last\:mb-0:last-child{ - margin-bottom: 0px; -} - -.last\:border-b-0:last-child{ - border-bottom-width: 0px; -} - -.last\:pb-0:last-child{ - padding-bottom: 0px; -} - -.hover\:scale-105:hover{ - --tw-scale-x: 1.05; - --tw-scale-y: 1.05; - transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y)); -} - -.hover\:bg-ruby-600:hover{ - background-color: var(--color-ruby-600); -} - -.hover\:bg-stone-100:hover{ - --tw-bg-opacity: 1; - background-color: rgb(245 245 244 / var(--tw-bg-opacity, 1)); -} - -.hover\:bg-stone-200:hover{ - --tw-bg-opacity: 1; - background-color: rgb(231 229 228 / var(--tw-bg-opacity, 1)); -} - -.hover\:text-ruby-600:hover{ - color: var(--color-ruby-600); -} - -.hover\:text-semantic-text-hovered:hover{ - color: var(--color-text-hovered); -} - -.hover\:text-semantic-text-link-hovered:hover{ - color: var(--color-text-link-hovered); -} - -.hover\:text-white:hover{ - --tw-text-opacity: 1; - color: rgb(255 255 255 / var(--tw-text-opacity, 1)); -} - -.hover\:underline:hover{ - text-decoration-line: underline; -} - -.hover\:opacity-80:hover{ - opacity: 0.8; -} - -.group:hover .group-hover\:visible{ - visibility: visible; -} - -.group:hover .group-hover\:text-semantic-text-link-hovered{ - color: var(--color-text-link-hovered); -} - -.group:hover .group-hover\:opacity-100{ - opacity: 1; -} - -.has-\[a\:hover\]\:border-ruby-600:has(a:hover){ - border-color: var(--color-ruby-600); -} - -.dark\:border-gold-500:is(.dark *){ - border-color: var(--color-gold-500); -} - -.dark\:border-stone-600:is(.dark *){ - --tw-border-opacity: 1; - border-color: rgb(87 83 78 / var(--tw-border-opacity, 1)); -} - -.dark\:border-stone-700:is(.dark *){ - --tw-border-opacity: 1; - border-color: rgb(68 64 60 / var(--tw-border-opacity, 1)); -} - -.dark\:bg-gold-500:is(.dark *){ - background-color: var(--color-gold-500); -} - -.dark\:bg-ruby-800:is(.dark *){ - background-color: var(--color-ruby-800); -} - -.dark\:bg-stone-700:is(.dark *){ - --tw-bg-opacity: 1; - background-color: rgb(68 64 60 / var(--tw-bg-opacity, 1)); -} - -.dark\:bg-stone-770:is(.dark *){ - --tw-bg-opacity: 1; - background-color: rgb(50 46 43 / var(--tw-bg-opacity, 1)); -} - -.dark\:bg-stone-800:is(.dark *){ - --tw-bg-opacity: 1; - background-color: rgb(41 37 36 / var(--tw-bg-opacity, 1)); -} - -.dark\:bg-stone-900:is(.dark *){ - --tw-bg-opacity: 1; - background-color: rgb(28 25 23 / var(--tw-bg-opacity, 1)); -} - -.dark\:fill-stone-770:is(.dark *){ - fill: #322e2b; -} - -.dark\:fill-stone-900:is(.dark *){ - fill: #1c1917; -} - -.dark\:text-blue-400:is(.dark *){ - --tw-text-opacity: 1; - color: rgb(96 165 250 / var(--tw-text-opacity, 1)); -} - -.dark\:text-ruby-200:is(.dark *){ - color: var(--color-ruby-200); -} - -.dark\:text-ruby-500:is(.dark *){ - color: var(--color-ruby-500); -} - -.dark\:text-stone-100:is(.dark *){ - --tw-text-opacity: 1; - color: rgb(245 245 244 / var(--tw-text-opacity, 1)); -} - -.dark\:text-stone-200:is(.dark *){ - --tw-text-opacity: 1; - color: rgb(231 229 228 / var(--tw-text-opacity, 1)); -} - -.dark\:text-stone-300:is(.dark *){ - --tw-text-opacity: 1; - color: rgb(214 211 209 / var(--tw-text-opacity, 1)); -} - -.dark\:text-stone-400:is(.dark *){ - --tw-text-opacity: 1; - color: rgb(168 162 158 / var(--tw-text-opacity, 1)); -} - -.dark\:text-stone-50:is(.dark *){ - --tw-text-opacity: 1; - color: rgb(250 250 249 / var(--tw-text-opacity, 1)); -} - -.dark\:text-stone-500:is(.dark *){ - --tw-text-opacity: 1; - color: rgb(120 113 108 / var(--tw-text-opacity, 1)); -} - -.dark\:text-stone-770:is(.dark *){ - --tw-text-opacity: 1; - color: rgb(50 46 43 / var(--tw-text-opacity, 1)); -} - -.dark\:text-stone-900:is(.dark *){ - --tw-text-opacity: 1; - color: rgb(28 25 23 / var(--tw-text-opacity, 1)); -} - -.dark\:text-white:is(.dark *){ - --tw-text-opacity: 1; - color: rgb(255 255 255 / var(--tw-text-opacity, 1)); -} - -.dark\:invert:is(.dark *){ - --tw-invert: invert(100%); - filter: var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow); -} - -.dark\:marker\:text-stone-500 *:is(.dark *)::marker{ - color: rgb(120 113 108 ); -} - -.dark\:marker\:text-stone-500:is(.dark *)::marker{ - color: rgb(120 113 108 ); -} - -.dark\:before\:bg-\[url\(\'\/images\/home\/hero\/bg-dark\.svg\'\)\]:is(.dark *)::before{ - content: var(--tw-content); - background-image: url('/images/home/hero/bg-dark.svg'); -} - -.dark\:after\:bg-\[url\(\'\/images\/home\/hero\/bg-dark\.svg\'\)\]:is(.dark *)::after{ - content: var(--tw-content); - background-image: url('/images/home/hero/bg-dark.svg'); -} - -.dark\:hover\:bg-ruby-600:hover:is(.dark *){ - background-color: var(--color-ruby-600); -} - -.dark\:hover\:bg-stone-700:hover:is(.dark *){ - --tw-bg-opacity: 1; - background-color: rgb(68 64 60 / var(--tw-bg-opacity, 1)); -} - -.dark\:hover\:bg-stone-800:hover:is(.dark *){ - --tw-bg-opacity: 1; - background-color: rgb(41 37 36 / var(--tw-bg-opacity, 1)); -} - -.dark\:hover\:text-blue-300:hover:is(.dark *){ - --tw-text-opacity: 1; - color: rgb(147 197 253 / var(--tw-text-opacity, 1)); -} - -.dark\:hover\:text-ruby-300:hover:is(.dark *){ - color: var(--color-ruby-300); -} - -.dark\:hover\:text-ruby-400:hover:is(.dark *){ - color: var(--color-ruby-400); -} - -.group:hover .dark\:group-hover\:text-ruby-400:is(.dark *){ - color: var(--color-ruby-400); -} - -.dark\:has-\[a\:hover\]\:border-ruby-600:has(a:hover):is(.dark *){ - border-color: var(--color-ruby-600); -} - -@media (min-width: 640px){ - .sm\:mx-8{ - margin-left: 2rem; - margin-right: 2rem; - } - - .sm\:mb-0{ - margin-bottom: 0px; - } - - .sm\:mb-12{ - margin-bottom: 3rem; - } - - .sm\:mb-6{ - margin-bottom: 1.5rem; - } - - .sm\:ml-0{ - margin-left: 0px; - } - - .sm\:block{ - display: block; - } - - .sm\:inline{ - display: inline; - } - - .sm\:h-12{ - height: 3rem; - } - - .sm\:h-40{ - height: 10rem; - } - - .sm\:w-12{ - width: 3rem; - } - - .sm\:w-40{ - width: 10rem; - } - - .sm\:w-\[340px\]{ - width: 340px; - } - - .sm\:gap-2{ - gap: 0.5rem; - } - - .sm\:text-2xl{ - font-size: 1.5rem; - line-height: 2rem; - } - - .sm\:text-4xl{ - font-size: 2.25rem; - line-height: 2.5rem; - } - - .sm\:text-6xl{ - font-size: 3.75rem; - line-height: 1; - } - - .sm\:text-base{ - font-size: 1rem; - line-height: 1.7; - } -} - -@media (min-width: 768px){ - .md\:-bottom-\[6px\]{ - bottom: -6px; - } - - .md\:-left-\[30px\]{ - left: -30px; - } - - .md\:-top-\[30px\]{ - top: -30px; - } - - .md\:-top-\[31px\]{ - top: -31px; - } - - .md\:bottom-3{ - bottom: 0.75rem; - } - - .md\:-mt-6{ - margin-top: -1.5rem; - } - - .md\:mb-3{ - margin-bottom: 0.75rem; - } - - .md\:mb-6{ - margin-bottom: 1.5rem; - } - - .md\:ml-4{ - margin-left: 1rem; - } - - .md\:mt-16{ - margin-top: 4rem; - } - - .md\:mt-6{ - margin-top: 1.5rem; - } - - .md\:mt-\[9\.5rem\]{ - margin-top: 9.5rem; - } - - .md\:block{ - display: block; - } - - .md\:hidden{ - display: none; - } - - .md\:h-28{ - height: 7rem; - } - - .md\:h-8{ - height: 2rem; - } - - .md\:h-\[620px\]{ - height: 620px; - } - - .md\:h-\[9\.375rem\]{ - height: 9.375rem; - } - - .md\:w-40{ - width: 10rem; - } - - .md\:w-\[105px\]{ - width: 105px; - } - - .md\:w-\[110px\]{ - width: 110px; - } - - .md\:w-\[1470px\]{ - width: 1470px; - } - - .md\:w-\[148px\]{ - width: 148px; - } - - .md\:w-\[246px\]{ - width: 246px; - } - - .md\:w-\[28rem\]{ - width: 28rem; - } - - .md\:w-\[430px\]{ - width: 430px; - } - - .md\:w-\[48px\]{ - width: 48px; - } - - .md\:w-\[52px\]{ - width: 52px; - } - - .md\:w-\[53px\]{ - width: 53px; - } - - .md\:w-\[54px\]{ - width: 54px; - } - - .md\:w-\[55px\]{ - width: 55px; - } - - .md\:w-\[58px\]{ - width: 58px; - } - - .md\:w-\[59px\]{ - width: 59px; - } - - .md\:w-\[62px\]{ - width: 62px; - } - - .md\:w-\[65px\]{ - width: 65px; - } - - .md\:w-\[69px\]{ - width: 69px; - } - - .md\:w-\[73px\]{ - width: 73px; - } - - .md\:w-\[76px\]{ - width: 76px; - } - - .md\:w-\[77px\]{ - width: 77px; - } - - .md\:w-\[81px\]{ - width: 81px; - } - - .md\:w-\[82px\]{ - width: 82px; - } - - .md\:w-\[83px\]{ - width: 83px; - } - - .md\:w-\[86px\]{ - width: 86px; - } - - .md\:w-\[87px\]{ - width: 87px; - } - - .md\:w-\[88px\]{ - width: 88px; - } - - .md\:w-\[92px\]{ - width: 92px; - } - - .md\:w-\[94px\]{ - width: 94px; - } - - .md\:min-w-\[1470px\]{ - min-width: 1470px; - } - - .md\:flex-row{ - flex-direction: row; - } - - .md\:flex-col{ - flex-direction: column; - } - - .md\:items-start{ - align-items: flex-start; - } - - .md\:gap-0{ - gap: 0px; - } - - .md\:gap-6{ - gap: 1.5rem; - } - - .md\:gap-8{ - gap: 2rem; - } - - .md\:gap-x-12{ - -moz-column-gap: 3rem; - column-gap: 3rem; - } - - .md\:gap-y-12{ - row-gap: 3rem; - } - - .md\:border-0{ - border-width: 0px; - } - - .md\:bg-transparent{ - background-color: transparent; - } - - .md\:p-0{ - padding: 0px; - } - - .md\:p-8{ - padding: 2rem; - } - - .md\:px-4{ - padding-left: 1rem; - padding-right: 1rem; - } - - .md\:px-6{ - padding-left: 1.5rem; - padding-right: 1.5rem; - } - - .md\:px-7{ - padding-left: 1.75rem; - padding-right: 1.75rem; - } - - .md\:py-20{ - padding-top: 5rem; - padding-bottom: 5rem; - } - - .md\:py-3{ - padding-top: 0.75rem; - padding-bottom: 0.75rem; - } - - .md\:py-8{ - padding-top: 2rem; - padding-bottom: 2rem; - } - - .md\:pb-12{ - padding-bottom: 3rem; - } - - .md\:pb-20{ - padding-bottom: 5rem; - } - - .md\:pt-2{ - padding-top: 0.5rem; - } - - .md\:text-center{ - text-align: center; - } - - .md\:text-2xl{ - font-size: 1.5rem; - line-height: 2rem; - } - - .md\:text-4xl{ - font-size: 2.25rem; - line-height: 2.5rem; - } - - .md\:text-5xl{ - font-size: 3rem; - line-height: 1; - } - - .md\:text-7xl{ - font-size: 4.5rem; - line-height: 1; - } - - .md\:text-\[120px\]{ - font-size: 120px; - } - - .md\:text-\[160px\]{ - font-size: 160px; - } - - .md\:text-base{ - font-size: 1rem; - line-height: 1.7; - } - - .md\:text-lg{ - font-size: 1.125rem; - line-height: 1.75rem; - } - - .md\:text-xl{ - font-size: 1.25rem; - line-height: 1.75rem; - } - - .md\:dark\:bg-transparent:is(.dark *){ - background-color: transparent; - } -} - -@media (min-width: 1024px){ - .lg\:col-span-2{ - grid-column: span 2 / span 2; - } - - .lg\:mx-0{ - margin-left: 0px; - margin-right: 0px; - } - - .lg\:mb-10{ - margin-bottom: 2.5rem; - } - - .lg\:mb-8{ - margin-bottom: 2rem; - } - - .lg\:block{ - display: block; - } - - .lg\:flex{ - display: flex; - } - - .lg\:hidden{ - display: none; - } - - .lg\:w-44{ - width: 11rem; - } - - .lg\:w-56{ - width: 14rem; - } - - .lg\:w-auto{ - width: auto; - } - - .lg\:grid-cols-2{ - grid-template-columns: repeat(2, minmax(0, 1fr)); - } - - .lg\:grid-cols-3{ - grid-template-columns: repeat(3, minmax(0, 1fr)); - } - - .lg\:flex-row{ - flex-direction: row; - } - - .lg\:flex-col-reverse{ - flex-direction: column-reverse; - } - - .lg\:items-center{ - align-items: center; - } - - .lg\:gap-12{ - gap: 3rem; - } - - .lg\:gap-16{ - gap: 4rem; - } - - .lg\:gap-2{ - gap: 0.5rem; - } - - .lg\:gap-4{ - gap: 1rem; - } - - .lg\:gap-8{ - gap: 2rem; - } - - .lg\:gap-x-24{ - -moz-column-gap: 6rem; - column-gap: 6rem; - } - - .lg\:gap-y-16{ - row-gap: 4rem; - } - - .lg\:overflow-visible{ - overflow: visible; - } - - .lg\:rounded-none{ - border-radius: 0px; - } - - .lg\:border-0{ - border-width: 0px; - } - - .lg\:bg-transparent{ - background-color: transparent; - } - - .lg\:px-0{ - padding-left: 0px; - padding-right: 0px; - } - - .lg\:px-4{ - padding-left: 1rem; - padding-right: 1rem; - } - - .lg\:px-6{ - padding-left: 1.5rem; - padding-right: 1.5rem; - } - - .lg\:px-8{ - padding-left: 2rem; - padding-right: 2rem; - } - - .lg\:py-12{ - padding-top: 3rem; - padding-bottom: 3rem; - } - - .lg\:py-16{ - padding-top: 4rem; - padding-bottom: 4rem; - } - - .lg\:py-24{ - padding-top: 6rem; - padding-bottom: 6rem; - } - - .lg\:pb-0{ - padding-bottom: 0px; - } - - .lg\:pb-24{ - padding-bottom: 6rem; - } - - .lg\:pt-0{ - padding-top: 0px; - } - - .lg\:pt-24{ - padding-top: 6rem; - } - - .lg\:text-left{ - text-align: left; - } - - .before\:lg\:block::before{ - content: var(--tw-content); - display: block; - } - - .after\:lg\:block::after{ - content: var(--tw-content); - display: block; - } - - .lg\:dark\:bg-transparent:is(.dark *){ - background-color: transparent; - } -} - -@media (min-width: 1280px){ - .xl\:mb-0{ - margin-bottom: 0px; - } - - .xl\:mb-1{ - margin-bottom: 0.25rem; - } - - .xl\:block{ - display: block; - } - - .xl\:hidden{ - display: none; - } - - .xl\:w-48{ - width: 12rem; - } - - .xl\:w-56{ - width: 14rem; - } - - .xl\:w-64{ - width: 16rem; - } - - .xl\:flex-row{ - flex-direction: row; - } - - .xl\:flex-col{ - flex-direction: column; - } - - .xl\:items-start{ - align-items: flex-start; - } - - .xl\:justify-between{ - justify-content: space-between; - } - - .xl\:gap-0{ - gap: 0px; - } - - .xl\:gap-4{ - gap: 1rem; - } - - .xl\:gap-8{ - gap: 2rem; - } - - .xl\:gap-x-32{ - -moz-column-gap: 8rem; - column-gap: 8rem; - } - - .xl\:px-5{ - padding-left: 1.25rem; - padding-right: 1.25rem; - } - - .xl\:pt-2{ - padding-top: 0.5rem; - } - - .xl\:text-center{ - text-align: center; - } -} - -@media (min-width: 1536px){ - .\32xl\:h-\[180px\]{ - height: 180px; - } - - .\32xl\:h-\[200px\]{ - height: 200px; - } - - .\32xl\:w-\[200px\]{ - width: 200px; - } - - .\32xl\:gap-16{ - gap: 4rem; - } - - .\32xl\:gap-8{ - gap: 2rem; - } - - .\32xl\:gap-x-40{ - -moz-column-gap: 10rem; - column-gap: 10rem; - } - - .before\:2xl\:block::before{ - content: var(--tw-content); - display: block; - } - - .after\:2xl\:block::after{ - content: var(--tw-content); - display: block; - } -} From 056862d003262ff27fba589b97b6e827828c251f Mon Sep 17 00:00:00 2001 From: Hiroshi SHIBATA Date: Mon, 6 Apr 2026 15:21:39 +0900 Subject: [PATCH 04/10] Build CSS in CI instead of checking it is up-to-date Since compiled.css is no longer tracked in the repository, the CI needs to build it before running tests. Move the Node.js setup and CSS build steps before the test step. Co-Authored-By: Claude Opus 4.6 (1M context) --- .github/workflows/ci.yml | 16 +++++++--------- 1 file changed, 7 insertions(+), 9 deletions(-) diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index ea95cf7527..5530a6f471 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -24,6 +24,11 @@ jobs: uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2 with: fetch-depth: 1 + - name: Setup Ruby + uses: ruby/setup-ruby@3ff19f5e2baf30647122352b96108b1fbe250c64 # v1.299.0 + with: + ruby-version: ${{ matrix.ruby }} + bundler-cache: true - name: Setup Node.js uses: actions/setup-node@v4 with: @@ -31,15 +36,8 @@ jobs: cache: 'npm' - name: Install npm dependencies run: npm ci - - name: Check CSS is up-to-date - run: | - npm run build-css - git diff --exit-code stylesheets/compiled.css || (echo "Error: compiled.css is out of date. Run 'npm run build-css' and commit the changes." && exit 1) - - name: Setup Ruby - uses: ruby/setup-ruby@3ff19f5e2baf30647122352b96108b1fbe250c64 # v1.299.0 - with: - ruby-version: ${{ matrix.ruby }} - bundler-cache: true + - name: Build CSS + run: npm run build-css - name: Dump Ruby version run: ruby -v - name: Run tests From f58c153951b74baebc24e55b92b757b3600f8f8f Mon Sep 17 00:00:00 2001 From: Hiroshi SHIBATA Date: Mon, 6 Apr 2026 15:21:51 +0900 Subject: [PATCH 05/10] Add CSS build step to deployment workflow The deployment workflow also needs to build CSS before Jekyll generates the site, since compiled.css is no longer in the repository. Co-Authored-By: Claude Opus 4.6 (1M context) --- .github/workflows/jekyll.yml | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/.github/workflows/jekyll.yml b/.github/workflows/jekyll.yml index 1b00506a9f..fa1685b90b 100644 --- a/.github/workflows/jekyll.yml +++ b/.github/workflows/jekyll.yml @@ -27,6 +27,15 @@ jobs: with: ruby-version: '3.2' bundler-cache: true + - name: Setup Node.js + uses: actions/setup-node@v4 + with: + node-version: '20' + cache: 'npm' + - name: Install npm dependencies + run: npm ci + - name: Build CSS + run: npm run build-css - name: Setup Pages id: pages uses: actions/configure-pages@45bfe0192ca1faeb007ade9deae92b16b8254a0d # v6.0.0 From b1ca28fab235d2bae50c28de90df7ce351352cfa Mon Sep 17 00:00:00 2001 From: Hiroshi SHIBATA Date: Mon, 6 Apr 2026 15:27:05 +0900 Subject: [PATCH 06/10] Add build-css task as prerequisite for build and serve Since compiled.css is no longer in the repository, rake build and rake serve need to generate it first. This also covers rake test which depends on build. Co-Authored-By: Claude Opus 4.6 (1M context) --- Rakefile | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) diff --git a/Rakefile b/Rakefile index 8fae8a9958..296fbe6d6e 100644 --- a/Rakefile +++ b/Rakefile @@ -13,18 +13,23 @@ CONFIG = "_config.yml" task default: [:build] +desc "Build CSS with Tailwind" +task :"build-css" do + sh "npm run build-css" +end + desc "Run tests (test-linter, lint, build)" task test: %i[test-news-plugin test-html-lang-plugin test-linter lint build] desc "Build the Jekyll site" -task :build do +task build: :"build-css" do require "jekyll" Jekyll::Commands::Build.process({}) end desc "Serve the Jekyll site locally" -task :serve do +task serve: :"build-css" do require "jekyll" Jekyll::Commands::Serve.process({}) From d683e7ce5011ed8847ab45a4550575bd59994251 Mon Sep 17 00:00:00 2001 From: Hiroshi SHIBATA Date: Mon, 6 Apr 2026 15:53:33 +0900 Subject: [PATCH 07/10] Extract pin hash --- .github/workflows/ci.yml | 2 +- .github/workflows/jekyll.yml | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 5530a6f471..e6e0d574d9 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -30,7 +30,7 @@ jobs: ruby-version: ${{ matrix.ruby }} bundler-cache: true - name: Setup Node.js - uses: actions/setup-node@v4 + uses: actions/setup-node@49933ea5288caeca8642d1e84afbd3f7d6820020 # v4.4.0 with: node-version: '20' cache: 'npm' diff --git a/.github/workflows/jekyll.yml b/.github/workflows/jekyll.yml index fa1685b90b..6528b61491 100644 --- a/.github/workflows/jekyll.yml +++ b/.github/workflows/jekyll.yml @@ -28,7 +28,7 @@ jobs: ruby-version: '3.2' bundler-cache: true - name: Setup Node.js - uses: actions/setup-node@v4 + uses: actions/setup-node@49933ea5288caeca8642d1e84afbd3f7d6820020 # v4.4.0 with: node-version: '20' cache: 'npm' From 4966bbd614f28b59bc313218514ec188b8806167 Mon Sep 17 00:00:00 2001 From: Hiroshi SHIBATA Date: Mon, 6 Apr 2026 15:53:58 +0900 Subject: [PATCH 08/10] Update to latest actions --- .github/workflows/ci.yml | 2 +- .github/workflows/jekyll.yml | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index e6e0d574d9..cd5e928e39 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -30,7 +30,7 @@ jobs: ruby-version: ${{ matrix.ruby }} bundler-cache: true - name: Setup Node.js - uses: actions/setup-node@49933ea5288caeca8642d1e84afbd3f7d6820020 # v4.4.0 + uses: actions/setup-node@53b83947a5a98c8d113130e565377fae1a50d02f # v6.3.0 with: node-version: '20' cache: 'npm' diff --git a/.github/workflows/jekyll.yml b/.github/workflows/jekyll.yml index 6528b61491..c537f51a32 100644 --- a/.github/workflows/jekyll.yml +++ b/.github/workflows/jekyll.yml @@ -28,7 +28,7 @@ jobs: ruby-version: '3.2' bundler-cache: true - name: Setup Node.js - uses: actions/setup-node@49933ea5288caeca8642d1e84afbd3f7d6820020 # v4.4.0 + uses: actions/setup-node@53b83947a5a98c8d113130e565377fae1a50d02f # v6.3.0 with: node-version: '20' cache: 'npm' From fd18959634737dbb2fdf2f8eab3da483265d2b73 Mon Sep 17 00:00:00 2001 From: Hiroshi SHIBATA Date: Mon, 6 Apr 2026 15:54:36 +0900 Subject: [PATCH 09/10] Use Node.js 22 in CI workflows Node.js 20 reaches EOL on 2026-04-30. Switch to Node.js 22 LTS which is supported until 2027-04-30. Co-Authored-By: Claude Opus 4.6 (1M context) --- .github/workflows/ci.yml | 2 +- .github/workflows/jekyll.yml | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index cd5e928e39..acfab4614b 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -32,7 +32,7 @@ jobs: - name: Setup Node.js uses: actions/setup-node@53b83947a5a98c8d113130e565377fae1a50d02f # v6.3.0 with: - node-version: '20' + node-version: '22' cache: 'npm' - name: Install npm dependencies run: npm ci diff --git a/.github/workflows/jekyll.yml b/.github/workflows/jekyll.yml index c537f51a32..ffea3c7110 100644 --- a/.github/workflows/jekyll.yml +++ b/.github/workflows/jekyll.yml @@ -30,7 +30,7 @@ jobs: - name: Setup Node.js uses: actions/setup-node@53b83947a5a98c8d113130e565377fae1a50d02f # v6.3.0 with: - node-version: '20' + node-version: '22' cache: 'npm' - name: Install npm dependencies run: npm ci From ac8aee352421b9360acc2fc99d6cd266cfef3ec9 Mon Sep 17 00:00:00 2001 From: Hiroshi SHIBATA Date: Mon, 6 Apr 2026 15:56:07 +0900 Subject: [PATCH 10/10] Exclude node_modules from linter The linter scans all markdown files and fails on files inside node_modules. Exclude the directory like other non-content paths. Co-Authored-By: Claude Opus 4.6 (1M context) --- lib/linter.rb | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/lib/linter.rb b/lib/linter.rb index 7b7baa49e5..4296e39c41 100644 --- a/lib/linter.rb +++ b/lib/linter.rb @@ -18,7 +18,8 @@ class Linter %r{\Aadmin/index\.md}, %r{\A[^/]*/examples/}, %r{\A_includes/}, - %r{\Atest/} + %r{\Atest/}, + %r{\Anode_modules/} ].freeze WHITESPACE_EXCLUSIONS = [