├── .gitignore ├── LICENSE ├── README.md ├── dist └── slightly-better.min.css ├── index.html ├── package-lock.json ├── package.json ├── postcss.config.js ├── screenshot.png └── slightly-better.css /.gitignore: -------------------------------------------------------------------------------- 1 | .DS_Store 2 | /node_modules -------------------------------------------------------------------------------- /LICENSE: -------------------------------------------------------------------------------- 1 | MIT License 2 | 3 | Copyright (c) 2024 printer_scanner 4 | 5 | Permission is hereby granted, free of charge, to any person obtaining a copy 6 | of this software and associated documentation files (the "Software"), to deal 7 | in the Software without restriction, including without limitation the rights 8 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 9 | copies of the Software, and to permit persons to whom the Software is 10 | furnished to do so, subject to the following conditions: 11 | 12 | The above copyright notice and this permission notice shall be included in all 13 | copies or substantial portions of the Software. 14 | 15 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 16 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 17 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 18 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 19 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 20 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE 21 | SOFTWARE. 22 | -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | # Slightly Better CSS 2 | 3 | A webpage without any CSS is slightly too ugly, libraries like Bootstrap are way too heavy, and you have too much taste to use the other CSS libraries out there. Slightly Better CSS is a small, simple stylesheet for any project that needs to look just a little bit better. 4 | 5 | We don't believe in classes or ID's, all our styling is around built-in variables, so you can write simple HTML. At only 7KB, Slightly Better CSS won't weight down your application, and is easily extendable. 6 | 7 | 8 | [![NPM version](https://img.shields.io/npm/v/slightly-better-css.svg)](https://www.npmjs.org/package/slightly-better-css) 9 | [![npm](https://img.shields.io/npm/dt/slightly-better-css.svg)](http://www.npmtrends.com/slightly-better-css) 10 | [![PRs Welcome](https://img.shields.io/badge/PRs-welcome-brightgreen.svg)](https://egghead.io/courses/how-to-contribute-to-an-open-source-project-on-github) 11 | 12 | ## 📦 Installation 13 | 14 | Include the stylesheet in your project directly using the following link: 15 | 16 | ```html 17 | 21 | ``` 22 | 23 | Alternatively, use a CDN: 24 | 25 | **unpkg**: 26 | 27 | ```html 28 | 32 | ``` 33 | 34 | **jsDelivr**: 35 | 36 | ```html 37 | 41 | ``` 42 | 43 | ### Install via npm 44 | 45 | You can also install Slightly Better CSS via npm: 46 | 47 | ```bash 48 | npm install slightly-better-css 49 | ``` 50 | 51 | Then import it into your project: 52 | 53 | ```javascript 54 | import "slightly-better-css"; 55 | ``` 56 | 57 | ### Clone the Repository 58 | 59 | Want full control? Clone the repo and make adjustments to the CSS file as needed: 60 | 61 | ```bash 62 | git clone https://github.com/printerscanner/slightly-better-css.git 63 | ``` 64 | 65 | ### Download 66 | 67 | - [Download slightly-better.css (un-minified)](https://unpkg.com/slightly-better-css/slightly-better.css) 68 | - [Download slightly-better.min.css (minified)](https://unpkg.com/slightly-better-css/slightly-better.min.css) 69 | 70 | ## Customizing 71 | 72 | If you like slightly better css but want a custom look, you can copy and paste these variables into your own stylesheet and swap your values. 73 | 74 | ```css 75 | :root { 76 | --background-color: #c3c7cf; 77 | --text-color: #000000; 78 | --accent-color: #00000f; 79 | --muted-color: #f6f6f6; 80 | --font-family: "Neue Montreal", monospace; 81 | --font-size: larger; 82 | } 83 | ``` 84 | 85 | ## Preview 86 | 87 | ![Screenshot](screenshot.png) 88 | 89 | ## Contributing 90 | 91 | If you'd like to contribute to this repository feel free to fork/submit a pull request, and if you have any suggestions feel free to email me at itsprinterscanner@gmail.com. 92 | 93 | ## License 94 | 95 | The theme is available as open source under the terms of the MIT License. 96 | -------------------------------------------------------------------------------- /dist/slightly-better.min.css: -------------------------------------------------------------------------------- 1 | /*! 2 | * Slightly Better CSS v1.0.1 3 | * Author: printer_scanner 4 | * License: MIT 5 | */:where(*,:before,:after){box-sizing:border-box}:root{--accent-color:#33e;--background-color:#fff;--border-radius:0.25rem;--font-family:system-ui,-apple-system,"Segoe UI",Roboto,"Helvetica Neue",sans-serif;--font-size:110%;--muted-color:#f6f6f6;--page-width:47rem;--text-color:#202020;--transition-speed:0.2s;--button-padding:0.625rem 0.9375rem}@media (min-width:48rem){:root{--font-size:var(--font-size-lg)}}@media (min-width:75rem){:root{--font-size:var(--font-size-lg)}}@media (prefers-color-scheme:dark){:root{--accent-color:#c4c8b1;--background-color:#17161a;--text-color:#ecdfcc;--muted-color:#3c3d37}}body{animation:fadeIn var(--transition-speed) ease-in-out;background-color:var(--background-color);color:var(--text-color);font-family:var(--font-family);font-size:var(--font-size);line-height:1.4;margin:0;word-break:break-word}h1,h2,h3,h4,h5,h6{font-weight:800;line-height:1.2}h1{font-size:2.5rem}h2{font-size:1.75rem}h3{font-size:1.5rem}h4,h5,h6{font-size:1rem}a{color:var(--accent-color);font-weight:inherit;text-decoration:none}a:focus,a:hover{text-decoration:underline}a:focus,button:focus,input:focus{outline:.125rem solid var(--accent-color);outline-offset:.125rem}time{font-weight:700}sub{font-size:.6em;vertical-align:bottom}small{font-size:.8em}blockquote,q{background:var(--muted-color);border-left:.5rem solid var(--accent-color);border-radius:var(--border-radius);display:block;margin:2rem 0;padding:1rem}code,kbd,pre,samp,var{font-family:Menlo,monospace;font-size:.9em}var{font-style:normal}pre{overflow:auto;padding:1rem}code,pre{background-color:var(--muted-color);border-radius:var(--border-radius)}code{color:var(--accent-color);padding:.25rem}hr{background:var(--text-color);border:0;height:.0625rem;margin:4rem 0}img{display:block;height:auto;margin:0 auto;max-width:100%}figure{margin:2rem 0;padding:1rem;text-align:center}figure figcaption{font-size:.8em;margin-top:.5rem}footer,header,section{padding:1.875rem}footer,header,main{margin:auto;width:var(--page-width)}ol,ul{line-height:2;padding-left:1.25rem}table{border:.0625rem solid var(--accent-color);border-collapse:collapse;table-layout:fixed;width:100%}table caption{margin:1rem 0}table tbody tr:nth-child(2n){background:var(--muted-color)}table td,table th{border:.0625rem solid var(--accent-color);padding:1rem}table th{background:var(--accent-color);color:var(--background-color);font-weight:400}input{-webkit-appearance:none;-moz-appearance:none;appearance:none;background:var(--muted-color);border:.0625rem solid var(--accent-color);border-radius:var(--border-radius);color:var(--text-color);font-size:.8em;margin:.5rem 0;padding:.5rem}input:active,input:focus{border-color:var(--accent-color);outline:none}button{background-color:var(--accent-color);border:none;border-radius:var(--border-radius);cursor:pointer;font-weight:700;padding:var(--button-padding);transition:background-color var(--transition-speed) ease}button,button:hover{color:var(--background-color)}button:hover{background-color:var(--text-color)}button:active{transform:scale(.98)}details{border:.0625rem solid var(--muted-color);border-radius:var(--border-radius);margin-bottom:1rem;padding:1rem}summary{cursor:pointer;font-weight:700}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.mt-1{margin-top:.5rem}.mt-2{margin-top:1rem}.p-1{padding:.5rem}.p-2{padding:1rem}.text-center{text-align:center}.text-right{text-align:right} -------------------------------------------------------------------------------- /index.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | Slightly Better CSS | A Slightly Better, Lightweight CSS Template 8 | 9 | 10 | 11 | 12 |
13 |
14 |

Slightly Better CSS

15 |

A webpage without any CSS is slightly too ugly, libraries like Bootstrap are way too heavy, and you have too 16 | much taste to use the other CSS libraries out there. Slightly Better CSS is a small, simple stylesheet for any 17 | project that needs to look just a little bit better.

18 |

We don't believe in classes or ID's, all our styling is around built-in variables, so you can write simple 19 | HTML. At only 2KB, Slightly Better CSS won't weight down your application, and is easily extendable.

20 | 21 |

This project is completely free and open source. Check it out on Github.

23 |
24 | 25 | 26 |
27 |

Typeface

28 |

We use default system fonts to optimize your webpage.

29 |

Heading 1

30 |

Heading 2

31 |

Heading 3

32 |

Heading 4

33 |
Heading 5
34 |
Heading 6
35 |
36 | 37 |
38 |

Paragraphs

39 |

Lorem ipsum dolor sit amet consectetur adipisicing elit. Quos error accusantium beatae! Maiores eaqu corrupti nulla! Animi facilis non, sint corrupti dignissimos voluptate porro, magni, excepturi rem ratione quisquam possimus!

40 |
41 | 42 |
43 |

Blockquotes

44 |
45 |

It is better by noble boldness to run the risk of being subject to half of the evils we anticipate than 46 | to remain in cowardly listlessness for fear of what might happen.

47 | Herodotus 48 |
49 | 50 | Inline Quote 51 |

This is a short inline quotation.

52 |
53 | 54 |
55 |

Tables

56 | 57 | 58 | 59 | 60 | 61 | 62 | 63 | 64 | 65 | 66 | 67 | 68 | 69 | 70 | 71 | 72 | 73 | 74 | 75 | 76 | 77 | 78 | 79 | 80 | 81 | 82 | 83 | 84 | 85 | 86 | 87 | 88 | 89 | 90 | 91 | 92 |
Table Caption
Table Heading 1Table Heading 2Table Heading 3Table Heading 4
Table Cell 1Table Cell 2Table Cell 3Table Cell 4
Table Cell 1Table Cell 2Table Cell 3Table Cell 4
Table Cell 1Table Cell 2Table Cell 3Table Cell 4
Table Cell 1Table Cell 2Table Cell 3Table Cell 4
93 |
94 | 95 | 96 |
97 |

Code

98 |

Keyboard input: Cmd

99 |

Inline code: console.log("Hello World");

100 |

Output: Hello World

101 |

Code Block: 102 |

103 | int main() {
104 | printf("Hello, World!");
105 | return 0;
106 | }
107 | 
108 |
109 | 110 |
111 |

Form Inputs

112 |

Very basic input styling is also supported:

113 | 114 | 115 | 116 | 117 |
118 | 119 |
120 |

Images

121 |

No <figure> element

122 |

Image alt text

123 |

Wrapped in a <figure> element, with a <figcaption>

124 |
125 | Image alt text 126 |
Here is a caption for this image.
127 |
128 |
129 | 130 |
131 |

Lists

132 |

Definition List, DL

133 |
134 |
Definition List Title, DT
135 |
This is a Definition List Division, DD.
136 |
137 |

Ordered and Unordered List

138 |
    139 |
  1. List Item 1
  2. 140 |
  3. List Item 2
  4. 141 |
  5. List Item 3
  6. 142 |
143 |
144 | 145 |
146 |

Inline elements

147 |

Text Link: Hover over this text link.

148 |

Strong: This element uses the strong tag.

149 |

Emphasis: This text has added emphasis.

150 |

Bold: Make inline text bold.

151 |

Italics: Make inline text italic.

152 |

Underline: Underline text inline. 153 |

154 |

Delete and Insert: This text is deleted and This text is inserted. 155 |

156 |

Strikethrough: This text has a strikethrough.

157 |

Superscript: Coca Cola®.

158 |

Subscript: H2O.

159 |

Small: This small text is small.

160 | 161 |

Citation: This is a citation.

162 |

Definition: The dfn element indicates a definition.

163 |

Mark: The mark element indicates a highlight.

164 |

Variable: The an + bn = cn.

165 |

Time: The time element:

166 |
167 | 168 | 174 |
175 | 176 | 177 | -------------------------------------------------------------------------------- /package-lock.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "slightly-better-css", 3 | "version": "1.0.0", 4 | "lockfileVersion": 3, 5 | "requires": true, 6 | "packages": { 7 | "": { 8 | "name": "slightly-better-css", 9 | "version": "1.0.0", 10 | "license": "MIT", 11 | "dependencies": { 12 | "user": "^0.0.0" 13 | }, 14 | "devDependencies": { 15 | "autoprefixer": "^10.4.20", 16 | "cssnano": "^7.0.6", 17 | "postcss": "^8.4.49", 18 | "postcss-cli": "^11.0.0" 19 | } 20 | }, 21 | "node_modules/@nodelib/fs.scandir": { 22 | "version": "2.1.5", 23 | "resolved": "https://registry.npmjs.org/@nodelib/fs.scandir/-/fs.scandir-2.1.5.tgz", 24 | "integrity": "sha512-vq24Bq3ym5HEQm2NKCr3yXDwjc7vTsEThRDnkp2DK9p1uqLR+DHurm/NOTo0KG7HYHU7eppKZj3MyqYuMBf62g==", 25 | "dev": true, 26 | "license": "MIT", 27 | "dependencies": { 28 | "@nodelib/fs.stat": "2.0.5", 29 | "run-parallel": "^1.1.9" 30 | }, 31 | "engines": { 32 | "node": ">= 8" 33 | } 34 | }, 35 | "node_modules/@nodelib/fs.stat": { 36 | "version": "2.0.5", 37 | "resolved": "https://registry.npmjs.org/@nodelib/fs.stat/-/fs.stat-2.0.5.tgz", 38 | "integrity": "sha512-RkhPPp2zrqDAQA/2jNhnztcPAlv64XdhIp7a7454A5ovI7Bukxgt7MX7udwAu3zg1DcpPU0rz3VV1SeaqvY4+A==", 39 | "dev": true, 40 | "license": "MIT", 41 | "engines": { 42 | "node": ">= 8" 43 | } 44 | }, 45 | "node_modules/@nodelib/fs.walk": { 46 | "version": "1.2.8", 47 | "resolved": "https://registry.npmjs.org/@nodelib/fs.walk/-/fs.walk-1.2.8.tgz", 48 | "integrity": "sha512-oGB+UxlgWcgQkgwo8GcEGwemoTFt3FIO9ababBmaGwXIoBKZ+GTy0pP185beGg7Llih/NSHSV2XAs1lnznocSg==", 49 | "dev": true, 50 | "license": "MIT", 51 | "dependencies": { 52 | "@nodelib/fs.scandir": "2.1.5", 53 | "fastq": "^1.6.0" 54 | }, 55 | "engines": { 56 | "node": ">= 8" 57 | } 58 | }, 59 | "node_modules/@sindresorhus/merge-streams": { 60 | "version": "2.3.0", 61 | "resolved": "https://registry.npmjs.org/@sindresorhus/merge-streams/-/merge-streams-2.3.0.tgz", 62 | "integrity": "sha512-LtoMMhxAlorcGhmFYI+LhPgbPZCkgP6ra1YL604EeF6U98pLlQ3iWIGMdWSC+vWmPBWBNgmDBAhnAobLROJmwg==", 63 | "dev": true, 64 | "license": "MIT", 65 | "engines": { 66 | "node": ">=18" 67 | }, 68 | "funding": { 69 | "url": "https://github.com/sponsors/sindresorhus" 70 | } 71 | }, 72 | "node_modules/@trysound/sax": { 73 | "version": "0.2.0", 74 | "resolved": "https://registry.npmjs.org/@trysound/sax/-/sax-0.2.0.tgz", 75 | "integrity": "sha512-L7z9BgrNEcYyUYtF+HaEfiS5ebkh9jXqbszz7pC0hRBPaatV0XjSD3+eHrpqFemQfgwiFF0QPIarnIihIDn7OA==", 76 | "dev": true, 77 | "license": "ISC", 78 | "engines": { 79 | "node": ">=10.13.0" 80 | } 81 | }, 82 | "node_modules/ansi-regex": { 83 | "version": "5.0.1", 84 | "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz", 85 | "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==", 86 | "dev": true, 87 | "license": "MIT", 88 | "engines": { 89 | "node": ">=8" 90 | } 91 | }, 92 | "node_modules/ansi-styles": { 93 | "version": "4.3.0", 94 | "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", 95 | "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", 96 | "dev": true, 97 | "license": "MIT", 98 | "dependencies": { 99 | "color-convert": "^2.0.1" 100 | }, 101 | "engines": { 102 | "node": ">=8" 103 | }, 104 | "funding": { 105 | "url": "https://github.com/chalk/ansi-styles?sponsor=1" 106 | } 107 | }, 108 | "node_modules/anymatch": { 109 | "version": "3.1.3", 110 | "resolved": "https://registry.npmjs.org/anymatch/-/anymatch-3.1.3.tgz", 111 | "integrity": "sha512-KMReFUr0B4t+D+OBkjR3KYqvocp2XaSzO55UcB6mgQMd3KbcE+mWTyvVV7D/zsdEbNnV6acZUutkiHQXvTr1Rw==", 112 | "dev": true, 113 | "license": "ISC", 114 | "dependencies": { 115 | "normalize-path": "^3.0.0", 116 | "picomatch": "^2.0.4" 117 | }, 118 | "engines": { 119 | "node": ">= 8" 120 | } 121 | }, 122 | "node_modules/autoprefixer": { 123 | "version": "10.4.20", 124 | "resolved": "https://registry.npmjs.org/autoprefixer/-/autoprefixer-10.4.20.tgz", 125 | "integrity": "sha512-XY25y5xSv/wEoqzDyXXME4AFfkZI0P23z6Fs3YgymDnKJkCGOnkL0iTxCa85UTqaSgfcqyf3UA6+c7wUvx/16g==", 126 | "dev": true, 127 | "funding": [ 128 | { 129 | "type": "opencollective", 130 | "url": "https://opencollective.com/postcss/" 131 | }, 132 | { 133 | "type": "tidelift", 134 | "url": "https://tidelift.com/funding/github/npm/autoprefixer" 135 | }, 136 | { 137 | "type": "github", 138 | "url": "https://github.com/sponsors/ai" 139 | } 140 | ], 141 | "license": "MIT", 142 | "dependencies": { 143 | "browserslist": "^4.23.3", 144 | "caniuse-lite": "^1.0.30001646", 145 | "fraction.js": "^4.3.7", 146 | "normalize-range": "^0.1.2", 147 | "picocolors": "^1.0.1", 148 | "postcss-value-parser": "^4.2.0" 149 | }, 150 | "bin": { 151 | "autoprefixer": "bin/autoprefixer" 152 | }, 153 | "engines": { 154 | "node": "^10 || ^12 || >=14" 155 | }, 156 | "peerDependencies": { 157 | "postcss": "^8.1.0" 158 | } 159 | }, 160 | "node_modules/binary-extensions": { 161 | "version": "2.3.0", 162 | "resolved": "https://registry.npmjs.org/binary-extensions/-/binary-extensions-2.3.0.tgz", 163 | "integrity": "sha512-Ceh+7ox5qe7LJuLHoY0feh3pHuUDHAcRUeyL2VYghZwfpkNIy/+8Ocg0a3UuSoYzavmylwuLWQOf3hl0jjMMIw==", 164 | "dev": true, 165 | "license": "MIT", 166 | "engines": { 167 | "node": ">=8" 168 | }, 169 | "funding": { 170 | "url": "https://github.com/sponsors/sindresorhus" 171 | } 172 | }, 173 | "node_modules/boolbase": { 174 | "version": "1.0.0", 175 | "resolved": "https://registry.npmjs.org/boolbase/-/boolbase-1.0.0.tgz", 176 | "integrity": "sha512-JZOSA7Mo9sNGB8+UjSgzdLtokWAky1zbztM3WRLCbZ70/3cTANmQmOdR7y2g+J0e2WXywy1yS468tY+IruqEww==", 177 | "dev": true, 178 | "license": "ISC" 179 | }, 180 | "node_modules/braces": { 181 | "version": "3.0.3", 182 | "resolved": "https://registry.npmjs.org/braces/-/braces-3.0.3.tgz", 183 | "integrity": "sha512-yQbXgO/OSZVD2IsiLlro+7Hf6Q18EJrKSEsdoMzKePKXct3gvD8oLcOQdIzGupr5Fj+EDe8gO/lxc1BzfMpxvA==", 184 | "dev": true, 185 | "license": "MIT", 186 | "dependencies": { 187 | "fill-range": "^7.1.1" 188 | }, 189 | "engines": { 190 | "node": ">=8" 191 | } 192 | }, 193 | "node_modules/browserslist": { 194 | "version": "4.24.3", 195 | "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.24.3.tgz", 196 | "integrity": "sha512-1CPmv8iobE2fyRMV97dAcMVegvvWKxmq94hkLiAkUGwKVTyDLw33K+ZxiFrREKmmps4rIw6grcCFCnTMSZ/YiA==", 197 | "dev": true, 198 | "funding": [ 199 | { 200 | "type": "opencollective", 201 | "url": "https://opencollective.com/browserslist" 202 | }, 203 | { 204 | "type": "tidelift", 205 | "url": "https://tidelift.com/funding/github/npm/browserslist" 206 | }, 207 | { 208 | "type": "github", 209 | "url": "https://github.com/sponsors/ai" 210 | } 211 | ], 212 | "license": "MIT", 213 | "dependencies": { 214 | "caniuse-lite": "^1.0.30001688", 215 | "electron-to-chromium": "^1.5.73", 216 | "node-releases": "^2.0.19", 217 | "update-browserslist-db": "^1.1.1" 218 | }, 219 | "bin": { 220 | "browserslist": "cli.js" 221 | }, 222 | "engines": { 223 | "node": "^6 || ^7 || ^8 || ^9 || ^10 || ^11 || ^12 || >=13.7" 224 | } 225 | }, 226 | "node_modules/caniuse-api": { 227 | "version": "3.0.0", 228 | "resolved": "https://registry.npmjs.org/caniuse-api/-/caniuse-api-3.0.0.tgz", 229 | "integrity": "sha512-bsTwuIg/BZZK/vreVTYYbSWoe2F+71P7K5QGEX+pT250DZbfU1MQ5prOKpPR+LL6uWKK3KMwMCAS74QB3Um1uw==", 230 | "dev": true, 231 | "license": "MIT", 232 | "dependencies": { 233 | "browserslist": "^4.0.0", 234 | "caniuse-lite": "^1.0.0", 235 | "lodash.memoize": "^4.1.2", 236 | "lodash.uniq": "^4.5.0" 237 | } 238 | }, 239 | "node_modules/caniuse-lite": { 240 | "version": "1.0.30001690", 241 | "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001690.tgz", 242 | "integrity": "sha512-5ExiE3qQN6oF8Clf8ifIDcMRCRE/dMGcETG/XGMD8/XiXm6HXQgQTh1yZYLXXpSOsEUlJm1Xr7kGULZTuGtP/w==", 243 | "dev": true, 244 | "funding": [ 245 | { 246 | "type": "opencollective", 247 | "url": "https://opencollective.com/browserslist" 248 | }, 249 | { 250 | "type": "tidelift", 251 | "url": "https://tidelift.com/funding/github/npm/caniuse-lite" 252 | }, 253 | { 254 | "type": "github", 255 | "url": "https://github.com/sponsors/ai" 256 | } 257 | ], 258 | "license": "CC-BY-4.0" 259 | }, 260 | "node_modules/chokidar": { 261 | "version": "3.6.0", 262 | "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-3.6.0.tgz", 263 | "integrity": "sha512-7VT13fmjotKpGipCW9JEQAusEPE+Ei8nl6/g4FBAmIm0GOOLMua9NDDo/DWp0ZAxCr3cPq5ZpBqmPAQgDda2Pw==", 264 | "dev": true, 265 | "license": "MIT", 266 | "dependencies": { 267 | "anymatch": "~3.1.2", 268 | "braces": "~3.0.2", 269 | "glob-parent": "~5.1.2", 270 | "is-binary-path": "~2.1.0", 271 | "is-glob": "~4.0.1", 272 | "normalize-path": "~3.0.0", 273 | "readdirp": "~3.6.0" 274 | }, 275 | "engines": { 276 | "node": ">= 8.10.0" 277 | }, 278 | "funding": { 279 | "url": "https://paulmillr.com/funding/" 280 | }, 281 | "optionalDependencies": { 282 | "fsevents": "~2.3.2" 283 | } 284 | }, 285 | "node_modules/cliui": { 286 | "version": "8.0.1", 287 | "resolved": "https://registry.npmjs.org/cliui/-/cliui-8.0.1.tgz", 288 | "integrity": "sha512-BSeNnyus75C4//NQ9gQt1/csTXyo/8Sb+afLAkzAptFuMsod9HFokGNudZpi/oQV73hnVK+sR+5PVRMd+Dr7YQ==", 289 | "dev": true, 290 | "license": "ISC", 291 | "dependencies": { 292 | "string-width": "^4.2.0", 293 | "strip-ansi": "^6.0.1", 294 | "wrap-ansi": "^7.0.0" 295 | }, 296 | "engines": { 297 | "node": ">=12" 298 | } 299 | }, 300 | "node_modules/color-convert": { 301 | "version": "2.0.1", 302 | "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", 303 | "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", 304 | "dev": true, 305 | "license": "MIT", 306 | "dependencies": { 307 | "color-name": "~1.1.4" 308 | }, 309 | "engines": { 310 | "node": ">=7.0.0" 311 | } 312 | }, 313 | "node_modules/color-name": { 314 | "version": "1.1.4", 315 | "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", 316 | "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", 317 | "dev": true, 318 | "license": "MIT" 319 | }, 320 | "node_modules/colord": { 321 | "version": "2.9.3", 322 | "resolved": "https://registry.npmjs.org/colord/-/colord-2.9.3.tgz", 323 | "integrity": "sha512-jeC1axXpnb0/2nn/Y1LPuLdgXBLH7aDcHu4KEKfqw3CUhX7ZpfBSlPKyqXE6btIgEzfWtrX3/tyBCaCvXvMkOw==", 324 | "dev": true, 325 | "license": "MIT" 326 | }, 327 | "node_modules/commander": { 328 | "version": "7.2.0", 329 | "resolved": "https://registry.npmjs.org/commander/-/commander-7.2.0.tgz", 330 | "integrity": "sha512-QrWXB+ZQSVPmIWIhtEO9H+gwHaMGYiF5ChvoJ+K9ZGHG/sVsa6yiesAD1GC/x46sET00Xlwo1u49RVVVzvcSkw==", 331 | "dev": true, 332 | "license": "MIT", 333 | "engines": { 334 | "node": ">= 10" 335 | } 336 | }, 337 | "node_modules/css-declaration-sorter": { 338 | "version": "7.2.0", 339 | "resolved": "https://registry.npmjs.org/css-declaration-sorter/-/css-declaration-sorter-7.2.0.tgz", 340 | "integrity": "sha512-h70rUM+3PNFuaBDTLe8wF/cdWu+dOZmb7pJt8Z2sedYbAcQVQV/tEchueg3GWxwqS0cxtbxmaHEdkNACqcvsow==", 341 | "dev": true, 342 | "license": "ISC", 343 | "engines": { 344 | "node": "^14 || ^16 || >=18" 345 | }, 346 | "peerDependencies": { 347 | "postcss": "^8.0.9" 348 | } 349 | }, 350 | "node_modules/css-select": { 351 | "version": "5.1.0", 352 | "resolved": "https://registry.npmjs.org/css-select/-/css-select-5.1.0.tgz", 353 | "integrity": "sha512-nwoRF1rvRRnnCqqY7updORDsuqKzqYJ28+oSMaJMMgOauh3fvwHqMS7EZpIPqK8GL+g9mKxF1vP/ZjSeNjEVHg==", 354 | "dev": true, 355 | "license": "BSD-2-Clause", 356 | "dependencies": { 357 | "boolbase": "^1.0.0", 358 | "css-what": "^6.1.0", 359 | "domhandler": "^5.0.2", 360 | "domutils": "^3.0.1", 361 | "nth-check": "^2.0.1" 362 | }, 363 | "funding": { 364 | "url": "https://github.com/sponsors/fb55" 365 | } 366 | }, 367 | "node_modules/css-tree": { 368 | "version": "2.3.1", 369 | "resolved": "https://registry.npmjs.org/css-tree/-/css-tree-2.3.1.tgz", 370 | "integrity": "sha512-6Fv1DV/TYw//QF5IzQdqsNDjx/wc8TrMBZsqjL9eW01tWb7R7k/mq+/VXfJCl7SoD5emsJop9cOByJZfs8hYIw==", 371 | "dev": true, 372 | "license": "MIT", 373 | "dependencies": { 374 | "mdn-data": "2.0.30", 375 | "source-map-js": "^1.0.1" 376 | }, 377 | "engines": { 378 | "node": "^10 || ^12.20.0 || ^14.13.0 || >=15.0.0" 379 | } 380 | }, 381 | "node_modules/css-what": { 382 | "version": "6.1.0", 383 | "resolved": "https://registry.npmjs.org/css-what/-/css-what-6.1.0.tgz", 384 | "integrity": "sha512-HTUrgRJ7r4dsZKU6GjmpfRK1O76h97Z8MfS1G0FozR+oF2kG6Vfe8JE6zwrkbxigziPHinCJ+gCPjA9EaBDtRw==", 385 | "dev": true, 386 | "license": "BSD-2-Clause", 387 | "engines": { 388 | "node": ">= 6" 389 | }, 390 | "funding": { 391 | "url": "https://github.com/sponsors/fb55" 392 | } 393 | }, 394 | "node_modules/cssesc": { 395 | "version": "3.0.0", 396 | "resolved": "https://registry.npmjs.org/cssesc/-/cssesc-3.0.0.tgz", 397 | "integrity": "sha512-/Tb/JcjK111nNScGob5MNtsntNM1aCNUDipB/TkwZFhyDrrE47SOx/18wF2bbjgc3ZzCSKW1T5nt5EbFoAz/Vg==", 398 | "dev": true, 399 | "license": "MIT", 400 | "bin": { 401 | "cssesc": "bin/cssesc" 402 | }, 403 | "engines": { 404 | "node": ">=4" 405 | } 406 | }, 407 | "node_modules/cssnano": { 408 | "version": "7.0.6", 409 | "resolved": "https://registry.npmjs.org/cssnano/-/cssnano-7.0.6.tgz", 410 | "integrity": "sha512-54woqx8SCbp8HwvNZYn68ZFAepuouZW4lTwiMVnBErM3VkO7/Sd4oTOt3Zz3bPx3kxQ36aISppyXj2Md4lg8bw==", 411 | "dev": true, 412 | "license": "MIT", 413 | "dependencies": { 414 | "cssnano-preset-default": "^7.0.6", 415 | "lilconfig": "^3.1.2" 416 | }, 417 | "engines": { 418 | "node": "^18.12.0 || ^20.9.0 || >=22.0" 419 | }, 420 | "funding": { 421 | "type": "opencollective", 422 | "url": "https://opencollective.com/cssnano" 423 | }, 424 | "peerDependencies": { 425 | "postcss": "^8.4.31" 426 | } 427 | }, 428 | "node_modules/cssnano-preset-default": { 429 | "version": "7.0.6", 430 | "resolved": "https://registry.npmjs.org/cssnano-preset-default/-/cssnano-preset-default-7.0.6.tgz", 431 | "integrity": "sha512-ZzrgYupYxEvdGGuqL+JKOY70s7+saoNlHSCK/OGn1vB2pQK8KSET8jvenzItcY+kA7NoWvfbb/YhlzuzNKjOhQ==", 432 | "dev": true, 433 | "license": "MIT", 434 | "dependencies": { 435 | "browserslist": "^4.23.3", 436 | "css-declaration-sorter": "^7.2.0", 437 | "cssnano-utils": "^5.0.0", 438 | "postcss-calc": "^10.0.2", 439 | "postcss-colormin": "^7.0.2", 440 | "postcss-convert-values": "^7.0.4", 441 | "postcss-discard-comments": "^7.0.3", 442 | "postcss-discard-duplicates": "^7.0.1", 443 | "postcss-discard-empty": "^7.0.0", 444 | "postcss-discard-overridden": "^7.0.0", 445 | "postcss-merge-longhand": "^7.0.4", 446 | "postcss-merge-rules": "^7.0.4", 447 | "postcss-minify-font-values": "^7.0.0", 448 | "postcss-minify-gradients": "^7.0.0", 449 | "postcss-minify-params": "^7.0.2", 450 | "postcss-minify-selectors": "^7.0.4", 451 | "postcss-normalize-charset": "^7.0.0", 452 | "postcss-normalize-display-values": "^7.0.0", 453 | "postcss-normalize-positions": "^7.0.0", 454 | "postcss-normalize-repeat-style": "^7.0.0", 455 | "postcss-normalize-string": "^7.0.0", 456 | "postcss-normalize-timing-functions": "^7.0.0", 457 | "postcss-normalize-unicode": "^7.0.2", 458 | "postcss-normalize-url": "^7.0.0", 459 | "postcss-normalize-whitespace": "^7.0.0", 460 | "postcss-ordered-values": "^7.0.1", 461 | "postcss-reduce-initial": "^7.0.2", 462 | "postcss-reduce-transforms": "^7.0.0", 463 | "postcss-svgo": "^7.0.1", 464 | "postcss-unique-selectors": "^7.0.3" 465 | }, 466 | "engines": { 467 | "node": "^18.12.0 || ^20.9.0 || >=22.0" 468 | }, 469 | "peerDependencies": { 470 | "postcss": "^8.4.31" 471 | } 472 | }, 473 | "node_modules/cssnano-utils": { 474 | "version": "5.0.0", 475 | "resolved": "https://registry.npmjs.org/cssnano-utils/-/cssnano-utils-5.0.0.tgz", 476 | "integrity": "sha512-Uij0Xdxc24L6SirFr25MlwC2rCFX6scyUmuKpzI+JQ7cyqDEwD42fJ0xfB3yLfOnRDU5LKGgjQ9FA6LYh76GWQ==", 477 | "dev": true, 478 | "license": "MIT", 479 | "engines": { 480 | "node": "^18.12.0 || ^20.9.0 || >=22.0" 481 | }, 482 | "peerDependencies": { 483 | "postcss": "^8.4.31" 484 | } 485 | }, 486 | "node_modules/csso": { 487 | "version": "5.0.5", 488 | "resolved": "https://registry.npmjs.org/csso/-/csso-5.0.5.tgz", 489 | "integrity": "sha512-0LrrStPOdJj+SPCCrGhzryycLjwcgUSHBtxNA8aIDxf0GLsRh1cKYhB00Gd1lDOS4yGH69+SNn13+TWbVHETFQ==", 490 | "dev": true, 491 | "license": "MIT", 492 | "dependencies": { 493 | "css-tree": "~2.2.0" 494 | }, 495 | "engines": { 496 | "node": "^10 || ^12.20.0 || ^14.13.0 || >=15.0.0", 497 | "npm": ">=7.0.0" 498 | } 499 | }, 500 | "node_modules/csso/node_modules/css-tree": { 501 | "version": "2.2.1", 502 | "resolved": "https://registry.npmjs.org/css-tree/-/css-tree-2.2.1.tgz", 503 | "integrity": "sha512-OA0mILzGc1kCOCSJerOeqDxDQ4HOh+G8NbOJFOTgOCzpw7fCBubk0fEyxp8AgOL/jvLgYA/uV0cMbe43ElF1JA==", 504 | "dev": true, 505 | "license": "MIT", 506 | "dependencies": { 507 | "mdn-data": "2.0.28", 508 | "source-map-js": "^1.0.1" 509 | }, 510 | "engines": { 511 | "node": "^10 || ^12.20.0 || ^14.13.0 || >=15.0.0", 512 | "npm": ">=7.0.0" 513 | } 514 | }, 515 | "node_modules/csso/node_modules/mdn-data": { 516 | "version": "2.0.28", 517 | "resolved": "https://registry.npmjs.org/mdn-data/-/mdn-data-2.0.28.tgz", 518 | "integrity": "sha512-aylIc7Z9y4yzHYAJNuESG3hfhC+0Ibp/MAMiaOZgNv4pmEdFyfZhhhny4MNiAfWdBQ1RQ2mfDWmM1x8SvGyp8g==", 519 | "dev": true, 520 | "license": "CC0-1.0" 521 | }, 522 | "node_modules/dependency-graph": { 523 | "version": "0.11.0", 524 | "resolved": "https://registry.npmjs.org/dependency-graph/-/dependency-graph-0.11.0.tgz", 525 | "integrity": "sha512-JeMq7fEshyepOWDfcfHK06N3MhyPhz++vtqWhMT5O9A3K42rdsEDpfdVqjaqaAhsw6a+ZqeDvQVtD0hFHQWrzg==", 526 | "dev": true, 527 | "license": "MIT", 528 | "engines": { 529 | "node": ">= 0.6.0" 530 | } 531 | }, 532 | "node_modules/dom-serializer": { 533 | "version": "2.0.0", 534 | "resolved": "https://registry.npmjs.org/dom-serializer/-/dom-serializer-2.0.0.tgz", 535 | "integrity": "sha512-wIkAryiqt/nV5EQKqQpo3SToSOV9J0DnbJqwK7Wv/Trc92zIAYZ4FlMu+JPFW1DfGFt81ZTCGgDEabffXeLyJg==", 536 | "dev": true, 537 | "license": "MIT", 538 | "dependencies": { 539 | "domelementtype": "^2.3.0", 540 | "domhandler": "^5.0.2", 541 | "entities": "^4.2.0" 542 | }, 543 | "funding": { 544 | "url": "https://github.com/cheeriojs/dom-serializer?sponsor=1" 545 | } 546 | }, 547 | "node_modules/domelementtype": { 548 | "version": "2.3.0", 549 | "resolved": "https://registry.npmjs.org/domelementtype/-/domelementtype-2.3.0.tgz", 550 | "integrity": "sha512-OLETBj6w0OsagBwdXnPdN0cnMfF9opN69co+7ZrbfPGrdpPVNBUj02spi6B1N7wChLQiPn4CSH/zJvXw56gmHw==", 551 | "dev": true, 552 | "funding": [ 553 | { 554 | "type": "github", 555 | "url": "https://github.com/sponsors/fb55" 556 | } 557 | ], 558 | "license": "BSD-2-Clause" 559 | }, 560 | "node_modules/domhandler": { 561 | "version": "5.0.3", 562 | "resolved": "https://registry.npmjs.org/domhandler/-/domhandler-5.0.3.tgz", 563 | "integrity": "sha512-cgwlv/1iFQiFnU96XXgROh8xTeetsnJiDsTc7TYCLFd9+/WNkIqPTxiM/8pSd8VIrhXGTf1Ny1q1hquVqDJB5w==", 564 | "dev": true, 565 | "license": "BSD-2-Clause", 566 | "dependencies": { 567 | "domelementtype": "^2.3.0" 568 | }, 569 | "engines": { 570 | "node": ">= 4" 571 | }, 572 | "funding": { 573 | "url": "https://github.com/fb55/domhandler?sponsor=1" 574 | } 575 | }, 576 | "node_modules/domutils": { 577 | "version": "3.1.0", 578 | "resolved": "https://registry.npmjs.org/domutils/-/domutils-3.1.0.tgz", 579 | "integrity": "sha512-H78uMmQtI2AhgDJjWeQmHwJJ2bLPD3GMmO7Zja/ZZh84wkm+4ut+IUnUdRa8uCGX88DiVx1j6FRe1XfxEgjEZA==", 580 | "dev": true, 581 | "license": "BSD-2-Clause", 582 | "dependencies": { 583 | "dom-serializer": "^2.0.0", 584 | "domelementtype": "^2.3.0", 585 | "domhandler": "^5.0.3" 586 | }, 587 | "funding": { 588 | "url": "https://github.com/fb55/domutils?sponsor=1" 589 | } 590 | }, 591 | "node_modules/electron-to-chromium": { 592 | "version": "1.5.74", 593 | "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.5.74.tgz", 594 | "integrity": "sha512-ck3//9RC+6oss/1Bh9tiAVFy5vfSKbRHAFh7Z3/eTRkEqJeWgymloShB17Vg3Z4nmDNp35vAd1BZ6CMW4Wt6Iw==", 595 | "dev": true, 596 | "license": "ISC" 597 | }, 598 | "node_modules/emoji-regex": { 599 | "version": "8.0.0", 600 | "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz", 601 | "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==", 602 | "dev": true, 603 | "license": "MIT" 604 | }, 605 | "node_modules/entities": { 606 | "version": "4.5.0", 607 | "resolved": "https://registry.npmjs.org/entities/-/entities-4.5.0.tgz", 608 | "integrity": "sha512-V0hjH4dGPh9Ao5p0MoRY6BVqtwCjhz6vI5LT8AJ55H+4g9/4vbHx1I54fS0XuclLhDHArPQCiMjDxjaL8fPxhw==", 609 | "dev": true, 610 | "license": "BSD-2-Clause", 611 | "engines": { 612 | "node": ">=0.12" 613 | }, 614 | "funding": { 615 | "url": "https://github.com/fb55/entities?sponsor=1" 616 | } 617 | }, 618 | "node_modules/escalade": { 619 | "version": "3.2.0", 620 | "resolved": "https://registry.npmjs.org/escalade/-/escalade-3.2.0.tgz", 621 | "integrity": "sha512-WUj2qlxaQtO4g6Pq5c29GTcWGDyd8itL8zTlipgECz3JesAiiOKotd8JU6otB3PACgG6xkJUyVhboMS+bje/jA==", 622 | "dev": true, 623 | "license": "MIT", 624 | "engines": { 625 | "node": ">=6" 626 | } 627 | }, 628 | "node_modules/fast-glob": { 629 | "version": "3.3.2", 630 | "resolved": "https://registry.npmjs.org/fast-glob/-/fast-glob-3.3.2.tgz", 631 | "integrity": "sha512-oX2ruAFQwf/Orj8m737Y5adxDQO0LAB7/S5MnxCdTNDd4p6BsyIVsv9JQsATbTSq8KHRpLwIHbVlUNatxd+1Ow==", 632 | "dev": true, 633 | "license": "MIT", 634 | "dependencies": { 635 | "@nodelib/fs.stat": "^2.0.2", 636 | "@nodelib/fs.walk": "^1.2.3", 637 | "glob-parent": "^5.1.2", 638 | "merge2": "^1.3.0", 639 | "micromatch": "^4.0.4" 640 | }, 641 | "engines": { 642 | "node": ">=8.6.0" 643 | } 644 | }, 645 | "node_modules/fastq": { 646 | "version": "1.17.1", 647 | "resolved": "https://registry.npmjs.org/fastq/-/fastq-1.17.1.tgz", 648 | "integrity": "sha512-sRVD3lWVIXWg6By68ZN7vho9a1pQcN/WBFaAAsDDFzlJjvoGx0P8z7V1t72grFJfJhu3YPZBuu25f7Kaw2jN1w==", 649 | "dev": true, 650 | "license": "ISC", 651 | "dependencies": { 652 | "reusify": "^1.0.4" 653 | } 654 | }, 655 | "node_modules/fill-range": { 656 | "version": "7.1.1", 657 | "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-7.1.1.tgz", 658 | "integrity": "sha512-YsGpe3WHLK8ZYi4tWDg2Jy3ebRz2rXowDxnld4bkQB00cc/1Zw9AWnC0i9ztDJitivtQvaI9KaLyKrc+hBW0yg==", 659 | "dev": true, 660 | "license": "MIT", 661 | "dependencies": { 662 | "to-regex-range": "^5.0.1" 663 | }, 664 | "engines": { 665 | "node": ">=8" 666 | } 667 | }, 668 | "node_modules/fraction.js": { 669 | "version": "4.3.7", 670 | "resolved": "https://registry.npmjs.org/fraction.js/-/fraction.js-4.3.7.tgz", 671 | "integrity": "sha512-ZsDfxO51wGAXREY55a7la9LScWpwv9RxIrYABrlvOFBlH/ShPnrtsXeuUIfXKKOVicNxQ+o8JTbJvjS4M89yew==", 672 | "dev": true, 673 | "license": "MIT", 674 | "engines": { 675 | "node": "*" 676 | }, 677 | "funding": { 678 | "type": "patreon", 679 | "url": "https://github.com/sponsors/rawify" 680 | } 681 | }, 682 | "node_modules/fs-extra": { 683 | "version": "11.2.0", 684 | "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-11.2.0.tgz", 685 | "integrity": "sha512-PmDi3uwK5nFuXh7XDTlVnS17xJS7vW36is2+w3xcv8SVxiB4NyATf4ctkVY5bkSjX0Y4nbvZCq1/EjtEyr9ktw==", 686 | "dev": true, 687 | "license": "MIT", 688 | "dependencies": { 689 | "graceful-fs": "^4.2.0", 690 | "jsonfile": "^6.0.1", 691 | "universalify": "^2.0.0" 692 | }, 693 | "engines": { 694 | "node": ">=14.14" 695 | } 696 | }, 697 | "node_modules/fsevents": { 698 | "version": "2.3.3", 699 | "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-2.3.3.tgz", 700 | "integrity": "sha512-5xoDfX+fL7faATnagmWPpbFtwh/R77WmMMqqHGS65C3vvB0YHrgF+B1YmZ3441tMj5n63k0212XNoJwzlhffQw==", 701 | "dev": true, 702 | "hasInstallScript": true, 703 | "license": "MIT", 704 | "optional": true, 705 | "os": [ 706 | "darwin" 707 | ], 708 | "engines": { 709 | "node": "^8.16.0 || ^10.6.0 || >=11.0.0" 710 | } 711 | }, 712 | "node_modules/get-caller-file": { 713 | "version": "2.0.5", 714 | "resolved": "https://registry.npmjs.org/get-caller-file/-/get-caller-file-2.0.5.tgz", 715 | "integrity": "sha512-DyFP3BM/3YHTQOCUL/w0OZHR0lpKeGrxotcHWcqNEdnltqFwXVfhEBQ94eIo34AfQpo0rGki4cyIiftY06h2Fg==", 716 | "dev": true, 717 | "license": "ISC", 718 | "engines": { 719 | "node": "6.* || 8.* || >= 10.*" 720 | } 721 | }, 722 | "node_modules/get-stdin": { 723 | "version": "9.0.0", 724 | "resolved": "https://registry.npmjs.org/get-stdin/-/get-stdin-9.0.0.tgz", 725 | "integrity": "sha512-dVKBjfWisLAicarI2Sf+JuBE/DghV4UzNAVe9yhEJuzeREd3JhOTE9cUaJTeSa77fsbQUK3pcOpJfM59+VKZaA==", 726 | "dev": true, 727 | "license": "MIT", 728 | "engines": { 729 | "node": ">=12" 730 | }, 731 | "funding": { 732 | "url": "https://github.com/sponsors/sindresorhus" 733 | } 734 | }, 735 | "node_modules/glob-parent": { 736 | "version": "5.1.2", 737 | "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.2.tgz", 738 | "integrity": "sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==", 739 | "dev": true, 740 | "license": "ISC", 741 | "dependencies": { 742 | "is-glob": "^4.0.1" 743 | }, 744 | "engines": { 745 | "node": ">= 6" 746 | } 747 | }, 748 | "node_modules/globby": { 749 | "version": "14.0.2", 750 | "resolved": "https://registry.npmjs.org/globby/-/globby-14.0.2.tgz", 751 | "integrity": "sha512-s3Fq41ZVh7vbbe2PN3nrW7yC7U7MFVc5c98/iTl9c2GawNMKx/J648KQRW6WKkuU8GIbbh2IXfIRQjOZnXcTnw==", 752 | "dev": true, 753 | "license": "MIT", 754 | "dependencies": { 755 | "@sindresorhus/merge-streams": "^2.1.0", 756 | "fast-glob": "^3.3.2", 757 | "ignore": "^5.2.4", 758 | "path-type": "^5.0.0", 759 | "slash": "^5.1.0", 760 | "unicorn-magic": "^0.1.0" 761 | }, 762 | "engines": { 763 | "node": ">=18" 764 | }, 765 | "funding": { 766 | "url": "https://github.com/sponsors/sindresorhus" 767 | } 768 | }, 769 | "node_modules/graceful-fs": { 770 | "version": "4.2.11", 771 | "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.11.tgz", 772 | "integrity": "sha512-RbJ5/jmFcNNCcDV5o9eTnBLJ/HszWV0P73bc+Ff4nS/rJj+YaS6IGyiOL0VoBYX+l1Wrl3k63h/KrH+nhJ0XvQ==", 773 | "dev": true, 774 | "license": "ISC" 775 | }, 776 | "node_modules/ignore": { 777 | "version": "5.3.2", 778 | "resolved": "https://registry.npmjs.org/ignore/-/ignore-5.3.2.tgz", 779 | "integrity": "sha512-hsBTNUqQTDwkWtcdYI2i06Y/nUBEsNEDJKjWdigLvegy8kDuJAS8uRlpkkcQpyEXL0Z/pjDy5HBmMjRCJ2gq+g==", 780 | "dev": true, 781 | "license": "MIT", 782 | "engines": { 783 | "node": ">= 4" 784 | } 785 | }, 786 | "node_modules/is-binary-path": { 787 | "version": "2.1.0", 788 | "resolved": "https://registry.npmjs.org/is-binary-path/-/is-binary-path-2.1.0.tgz", 789 | "integrity": "sha512-ZMERYes6pDydyuGidse7OsHxtbI7WVeUEozgR/g7rd0xUimYNlvZRE/K2MgZTjWy725IfelLeVcEM97mmtRGXw==", 790 | "dev": true, 791 | "license": "MIT", 792 | "dependencies": { 793 | "binary-extensions": "^2.0.0" 794 | }, 795 | "engines": { 796 | "node": ">=8" 797 | } 798 | }, 799 | "node_modules/is-extglob": { 800 | "version": "2.1.1", 801 | "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-2.1.1.tgz", 802 | "integrity": "sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ==", 803 | "dev": true, 804 | "license": "MIT", 805 | "engines": { 806 | "node": ">=0.10.0" 807 | } 808 | }, 809 | "node_modules/is-fullwidth-code-point": { 810 | "version": "3.0.0", 811 | "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz", 812 | "integrity": "sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==", 813 | "dev": true, 814 | "license": "MIT", 815 | "engines": { 816 | "node": ">=8" 817 | } 818 | }, 819 | "node_modules/is-glob": { 820 | "version": "4.0.3", 821 | "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-4.0.3.tgz", 822 | "integrity": "sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg==", 823 | "dev": true, 824 | "license": "MIT", 825 | "dependencies": { 826 | "is-extglob": "^2.1.1" 827 | }, 828 | "engines": { 829 | "node": ">=0.10.0" 830 | } 831 | }, 832 | "node_modules/is-number": { 833 | "version": "7.0.0", 834 | "resolved": "https://registry.npmjs.org/is-number/-/is-number-7.0.0.tgz", 835 | "integrity": "sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==", 836 | "dev": true, 837 | "license": "MIT", 838 | "engines": { 839 | "node": ">=0.12.0" 840 | } 841 | }, 842 | "node_modules/jsonfile": { 843 | "version": "6.1.0", 844 | "resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-6.1.0.tgz", 845 | "integrity": "sha512-5dgndWOriYSm5cnYaJNhalLNDKOqFwyDB/rr1E9ZsGciGvKPs8R2xYGCacuf3z6K1YKDz182fd+fY3cn3pMqXQ==", 846 | "dev": true, 847 | "license": "MIT", 848 | "dependencies": { 849 | "universalify": "^2.0.0" 850 | }, 851 | "optionalDependencies": { 852 | "graceful-fs": "^4.1.6" 853 | } 854 | }, 855 | "node_modules/lilconfig": { 856 | "version": "3.1.3", 857 | "resolved": "https://registry.npmjs.org/lilconfig/-/lilconfig-3.1.3.tgz", 858 | "integrity": "sha512-/vlFKAoH5Cgt3Ie+JLhRbwOsCQePABiU3tJ1egGvyQ+33R/vcwM2Zl2QR/LzjsBeItPt3oSVXapn+m4nQDvpzw==", 859 | "dev": true, 860 | "license": "MIT", 861 | "engines": { 862 | "node": ">=14" 863 | }, 864 | "funding": { 865 | "url": "https://github.com/sponsors/antonk52" 866 | } 867 | }, 868 | "node_modules/lodash.memoize": { 869 | "version": "4.1.2", 870 | "resolved": "https://registry.npmjs.org/lodash.memoize/-/lodash.memoize-4.1.2.tgz", 871 | "integrity": "sha512-t7j+NzmgnQzTAYXcsHYLgimltOV1MXHtlOWf6GjL9Kj8GK5FInw5JotxvbOs+IvV1/Dzo04/fCGfLVs7aXb4Ag==", 872 | "dev": true, 873 | "license": "MIT" 874 | }, 875 | "node_modules/lodash.uniq": { 876 | "version": "4.5.0", 877 | "resolved": "https://registry.npmjs.org/lodash.uniq/-/lodash.uniq-4.5.0.tgz", 878 | "integrity": "sha512-xfBaXQd9ryd9dlSDvnvI0lvxfLJlYAZzXomUYzLKtUeOQvOP5piqAWuGtrhWeqaXK9hhoM/iyJc5AV+XfsX3HQ==", 879 | "dev": true, 880 | "license": "MIT" 881 | }, 882 | "node_modules/mdn-data": { 883 | "version": "2.0.30", 884 | "resolved": "https://registry.npmjs.org/mdn-data/-/mdn-data-2.0.30.tgz", 885 | "integrity": "sha512-GaqWWShW4kv/G9IEucWScBx9G1/vsFZZJUO+tD26M8J8z3Kw5RDQjaoZe03YAClgeS/SWPOcb4nkFBTEi5DUEA==", 886 | "dev": true, 887 | "license": "CC0-1.0" 888 | }, 889 | "node_modules/merge2": { 890 | "version": "1.4.1", 891 | "resolved": "https://registry.npmjs.org/merge2/-/merge2-1.4.1.tgz", 892 | "integrity": "sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg==", 893 | "dev": true, 894 | "license": "MIT", 895 | "engines": { 896 | "node": ">= 8" 897 | } 898 | }, 899 | "node_modules/micromatch": { 900 | "version": "4.0.8", 901 | "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-4.0.8.tgz", 902 | "integrity": "sha512-PXwfBhYu0hBCPw8Dn0E+WDYb7af3dSLVWKi3HGv84IdF4TyFoC0ysxFd0Goxw7nSv4T/PzEJQxsYsEiFCKo2BA==", 903 | "dev": true, 904 | "license": "MIT", 905 | "dependencies": { 906 | "braces": "^3.0.3", 907 | "picomatch": "^2.3.1" 908 | }, 909 | "engines": { 910 | "node": ">=8.6" 911 | } 912 | }, 913 | "node_modules/nanoid": { 914 | "version": "3.3.8", 915 | "resolved": "https://registry.npmjs.org/nanoid/-/nanoid-3.3.8.tgz", 916 | "integrity": "sha512-WNLf5Sd8oZxOm+TzppcYk8gVOgP+l58xNy58D0nbUnOxOWRWvlcCV4kUF7ltmI6PsrLl/BgKEyS4mqsGChFN0w==", 917 | "dev": true, 918 | "funding": [ 919 | { 920 | "type": "github", 921 | "url": "https://github.com/sponsors/ai" 922 | } 923 | ], 924 | "license": "MIT", 925 | "bin": { 926 | "nanoid": "bin/nanoid.cjs" 927 | }, 928 | "engines": { 929 | "node": "^10 || ^12 || ^13.7 || ^14 || >=15.0.1" 930 | } 931 | }, 932 | "node_modules/node-releases": { 933 | "version": "2.0.19", 934 | "resolved": "https://registry.npmjs.org/node-releases/-/node-releases-2.0.19.tgz", 935 | "integrity": "sha512-xxOWJsBKtzAq7DY0J+DTzuz58K8e7sJbdgwkbMWQe8UYB6ekmsQ45q0M/tJDsGaZmbC+l7n57UV8Hl5tHxO9uw==", 936 | "dev": true, 937 | "license": "MIT" 938 | }, 939 | "node_modules/normalize-path": { 940 | "version": "3.0.0", 941 | "resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-3.0.0.tgz", 942 | "integrity": "sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==", 943 | "dev": true, 944 | "license": "MIT", 945 | "engines": { 946 | "node": ">=0.10.0" 947 | } 948 | }, 949 | "node_modules/normalize-range": { 950 | "version": "0.1.2", 951 | "resolved": "https://registry.npmjs.org/normalize-range/-/normalize-range-0.1.2.tgz", 952 | "integrity": "sha512-bdok/XvKII3nUpklnV6P2hxtMNrCboOjAcyBuQnWEhO665FwrSNRxU+AqpsyvO6LgGYPspN+lu5CLtw4jPRKNA==", 953 | "dev": true, 954 | "license": "MIT", 955 | "engines": { 956 | "node": ">=0.10.0" 957 | } 958 | }, 959 | "node_modules/nth-check": { 960 | "version": "2.1.1", 961 | "resolved": "https://registry.npmjs.org/nth-check/-/nth-check-2.1.1.tgz", 962 | "integrity": "sha512-lqjrjmaOoAnWfMmBPL+XNnynZh2+swxiX3WUE0s4yEHI6m+AwrK2UZOimIRl3X/4QctVqS8AiZjFqyOGrMXb/w==", 963 | "dev": true, 964 | "license": "BSD-2-Clause", 965 | "dependencies": { 966 | "boolbase": "^1.0.0" 967 | }, 968 | "funding": { 969 | "url": "https://github.com/fb55/nth-check?sponsor=1" 970 | } 971 | }, 972 | "node_modules/path-type": { 973 | "version": "5.0.0", 974 | "resolved": "https://registry.npmjs.org/path-type/-/path-type-5.0.0.tgz", 975 | "integrity": "sha512-5HviZNaZcfqP95rwpv+1HDgUamezbqdSYTyzjTvwtJSnIH+3vnbmWsItli8OFEndS984VT55M3jduxZbX351gg==", 976 | "dev": true, 977 | "license": "MIT", 978 | "engines": { 979 | "node": ">=12" 980 | }, 981 | "funding": { 982 | "url": "https://github.com/sponsors/sindresorhus" 983 | } 984 | }, 985 | "node_modules/picocolors": { 986 | "version": "1.1.1", 987 | "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-1.1.1.tgz", 988 | "integrity": "sha512-xceH2snhtb5M9liqDsmEw56le376mTZkEX/jEb/RxNFyegNul7eNslCXP9FDj/Lcu0X8KEyMceP2ntpaHrDEVA==", 989 | "dev": true, 990 | "license": "ISC" 991 | }, 992 | "node_modules/picomatch": { 993 | "version": "2.3.1", 994 | "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-2.3.1.tgz", 995 | "integrity": "sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==", 996 | "dev": true, 997 | "license": "MIT", 998 | "engines": { 999 | "node": ">=8.6" 1000 | }, 1001 | "funding": { 1002 | "url": "https://github.com/sponsors/jonschlinkert" 1003 | } 1004 | }, 1005 | "node_modules/pify": { 1006 | "version": "2.3.0", 1007 | "resolved": "https://registry.npmjs.org/pify/-/pify-2.3.0.tgz", 1008 | "integrity": "sha512-udgsAY+fTnvv7kI7aaxbqwWNb0AHiB0qBO89PZKPkoTmGOgdbrHDKD+0B2X4uTfJ/FT1R09r9gTsjUjNJotuog==", 1009 | "dev": true, 1010 | "license": "MIT", 1011 | "engines": { 1012 | "node": ">=0.10.0" 1013 | } 1014 | }, 1015 | "node_modules/postcss": { 1016 | "version": "8.4.49", 1017 | "resolved": "https://registry.npmjs.org/postcss/-/postcss-8.4.49.tgz", 1018 | "integrity": "sha512-OCVPnIObs4N29kxTjzLfUryOkvZEq+pf8jTF0lg8E7uETuWHA+v7j3c/xJmiqpX450191LlmZfUKkXxkTry7nA==", 1019 | "dev": true, 1020 | "funding": [ 1021 | { 1022 | "type": "opencollective", 1023 | "url": "https://opencollective.com/postcss/" 1024 | }, 1025 | { 1026 | "type": "tidelift", 1027 | "url": "https://tidelift.com/funding/github/npm/postcss" 1028 | }, 1029 | { 1030 | "type": "github", 1031 | "url": "https://github.com/sponsors/ai" 1032 | } 1033 | ], 1034 | "license": "MIT", 1035 | "dependencies": { 1036 | "nanoid": "^3.3.7", 1037 | "picocolors": "^1.1.1", 1038 | "source-map-js": "^1.2.1" 1039 | }, 1040 | "engines": { 1041 | "node": "^10 || ^12 || >=14" 1042 | } 1043 | }, 1044 | "node_modules/postcss-calc": { 1045 | "version": "10.0.2", 1046 | "resolved": "https://registry.npmjs.org/postcss-calc/-/postcss-calc-10.0.2.tgz", 1047 | "integrity": "sha512-DT/Wwm6fCKgpYVI7ZEWuPJ4az8hiEHtCUeYjZXqU7Ou4QqYh1Df2yCQ7Ca6N7xqKPFkxN3fhf+u9KSoOCJNAjg==", 1048 | "dev": true, 1049 | "license": "MIT", 1050 | "dependencies": { 1051 | "postcss-selector-parser": "^6.1.2", 1052 | "postcss-value-parser": "^4.2.0" 1053 | }, 1054 | "engines": { 1055 | "node": "^18.12 || ^20.9 || >=22.0" 1056 | }, 1057 | "peerDependencies": { 1058 | "postcss": "^8.4.38" 1059 | } 1060 | }, 1061 | "node_modules/postcss-cli": { 1062 | "version": "11.0.0", 1063 | "resolved": "https://registry.npmjs.org/postcss-cli/-/postcss-cli-11.0.0.tgz", 1064 | "integrity": "sha512-xMITAI7M0u1yolVcXJ9XTZiO9aO49mcoKQy6pCDFdMh9kGqhzLVpWxeD/32M/QBmkhcGypZFFOLNLmIW4Pg4RA==", 1065 | "dev": true, 1066 | "license": "MIT", 1067 | "dependencies": { 1068 | "chokidar": "^3.3.0", 1069 | "dependency-graph": "^0.11.0", 1070 | "fs-extra": "^11.0.0", 1071 | "get-stdin": "^9.0.0", 1072 | "globby": "^14.0.0", 1073 | "picocolors": "^1.0.0", 1074 | "postcss-load-config": "^5.0.0", 1075 | "postcss-reporter": "^7.0.0", 1076 | "pretty-hrtime": "^1.0.3", 1077 | "read-cache": "^1.0.0", 1078 | "slash": "^5.0.0", 1079 | "yargs": "^17.0.0" 1080 | }, 1081 | "bin": { 1082 | "postcss": "index.js" 1083 | }, 1084 | "engines": { 1085 | "node": ">=18" 1086 | }, 1087 | "peerDependencies": { 1088 | "postcss": "^8.0.0" 1089 | } 1090 | }, 1091 | "node_modules/postcss-colormin": { 1092 | "version": "7.0.2", 1093 | "resolved": "https://registry.npmjs.org/postcss-colormin/-/postcss-colormin-7.0.2.tgz", 1094 | "integrity": "sha512-YntRXNngcvEvDbEjTdRWGU606eZvB5prmHG4BF0yLmVpamXbpsRJzevyy6MZVyuecgzI2AWAlvFi8DAeCqwpvA==", 1095 | "dev": true, 1096 | "license": "MIT", 1097 | "dependencies": { 1098 | "browserslist": "^4.23.3", 1099 | "caniuse-api": "^3.0.0", 1100 | "colord": "^2.9.3", 1101 | "postcss-value-parser": "^4.2.0" 1102 | }, 1103 | "engines": { 1104 | "node": "^18.12.0 || ^20.9.0 || >=22.0" 1105 | }, 1106 | "peerDependencies": { 1107 | "postcss": "^8.4.31" 1108 | } 1109 | }, 1110 | "node_modules/postcss-convert-values": { 1111 | "version": "7.0.4", 1112 | "resolved": "https://registry.npmjs.org/postcss-convert-values/-/postcss-convert-values-7.0.4.tgz", 1113 | "integrity": "sha512-e2LSXPqEHVW6aoGbjV9RsSSNDO3A0rZLCBxN24zvxF25WknMPpX8Dm9UxxThyEbaytzggRuZxaGXqaOhxQ514Q==", 1114 | "dev": true, 1115 | "license": "MIT", 1116 | "dependencies": { 1117 | "browserslist": "^4.23.3", 1118 | "postcss-value-parser": "^4.2.0" 1119 | }, 1120 | "engines": { 1121 | "node": "^18.12.0 || ^20.9.0 || >=22.0" 1122 | }, 1123 | "peerDependencies": { 1124 | "postcss": "^8.4.31" 1125 | } 1126 | }, 1127 | "node_modules/postcss-discard-comments": { 1128 | "version": "7.0.3", 1129 | "resolved": "https://registry.npmjs.org/postcss-discard-comments/-/postcss-discard-comments-7.0.3.tgz", 1130 | "integrity": "sha512-q6fjd4WU4afNhWOA2WltHgCbkRhZPgQe7cXF74fuVB/ge4QbM9HEaOIzGSiMvM+g/cOsNAUGdf2JDzqA2F8iLA==", 1131 | "dev": true, 1132 | "license": "MIT", 1133 | "dependencies": { 1134 | "postcss-selector-parser": "^6.1.2" 1135 | }, 1136 | "engines": { 1137 | "node": "^18.12.0 || ^20.9.0 || >=22.0" 1138 | }, 1139 | "peerDependencies": { 1140 | "postcss": "^8.4.31" 1141 | } 1142 | }, 1143 | "node_modules/postcss-discard-duplicates": { 1144 | "version": "7.0.1", 1145 | "resolved": "https://registry.npmjs.org/postcss-discard-duplicates/-/postcss-discard-duplicates-7.0.1.tgz", 1146 | "integrity": "sha512-oZA+v8Jkpu1ct/xbbrntHRsfLGuzoP+cpt0nJe5ED2FQF8n8bJtn7Bo28jSmBYwqgqnqkuSXJfSUEE7if4nClQ==", 1147 | "dev": true, 1148 | "license": "MIT", 1149 | "engines": { 1150 | "node": "^18.12.0 || ^20.9.0 || >=22.0" 1151 | }, 1152 | "peerDependencies": { 1153 | "postcss": "^8.4.31" 1154 | } 1155 | }, 1156 | "node_modules/postcss-discard-empty": { 1157 | "version": "7.0.0", 1158 | "resolved": "https://registry.npmjs.org/postcss-discard-empty/-/postcss-discard-empty-7.0.0.tgz", 1159 | "integrity": "sha512-e+QzoReTZ8IAwhnSdp/++7gBZ/F+nBq9y6PomfwORfP7q9nBpK5AMP64kOt0bA+lShBFbBDcgpJ3X4etHg4lzA==", 1160 | "dev": true, 1161 | "license": "MIT", 1162 | "engines": { 1163 | "node": "^18.12.0 || ^20.9.0 || >=22.0" 1164 | }, 1165 | "peerDependencies": { 1166 | "postcss": "^8.4.31" 1167 | } 1168 | }, 1169 | "node_modules/postcss-discard-overridden": { 1170 | "version": "7.0.0", 1171 | "resolved": "https://registry.npmjs.org/postcss-discard-overridden/-/postcss-discard-overridden-7.0.0.tgz", 1172 | "integrity": "sha512-GmNAzx88u3k2+sBTZrJSDauR0ccpE24omTQCVmaTTZFz1du6AasspjaUPMJ2ud4RslZpoFKyf+6MSPETLojc6w==", 1173 | "dev": true, 1174 | "license": "MIT", 1175 | "engines": { 1176 | "node": "^18.12.0 || ^20.9.0 || >=22.0" 1177 | }, 1178 | "peerDependencies": { 1179 | "postcss": "^8.4.31" 1180 | } 1181 | }, 1182 | "node_modules/postcss-load-config": { 1183 | "version": "5.1.0", 1184 | "resolved": "https://registry.npmjs.org/postcss-load-config/-/postcss-load-config-5.1.0.tgz", 1185 | "integrity": "sha512-G5AJ+IX0aD0dygOE0yFZQ/huFFMSNneyfp0e3/bT05a8OfPC5FUoZRPfGijUdGOJNMewJiwzcHJXFafFzeKFVA==", 1186 | "dev": true, 1187 | "funding": [ 1188 | { 1189 | "type": "opencollective", 1190 | "url": "https://opencollective.com/postcss/" 1191 | }, 1192 | { 1193 | "type": "github", 1194 | "url": "https://github.com/sponsors/ai" 1195 | } 1196 | ], 1197 | "license": "MIT", 1198 | "dependencies": { 1199 | "lilconfig": "^3.1.1", 1200 | "yaml": "^2.4.2" 1201 | }, 1202 | "engines": { 1203 | "node": ">= 18" 1204 | }, 1205 | "peerDependencies": { 1206 | "jiti": ">=1.21.0", 1207 | "postcss": ">=8.0.9", 1208 | "tsx": "^4.8.1" 1209 | }, 1210 | "peerDependenciesMeta": { 1211 | "jiti": { 1212 | "optional": true 1213 | }, 1214 | "postcss": { 1215 | "optional": true 1216 | }, 1217 | "tsx": { 1218 | "optional": true 1219 | } 1220 | } 1221 | }, 1222 | "node_modules/postcss-merge-longhand": { 1223 | "version": "7.0.4", 1224 | "resolved": "https://registry.npmjs.org/postcss-merge-longhand/-/postcss-merge-longhand-7.0.4.tgz", 1225 | "integrity": "sha512-zer1KoZA54Q8RVHKOY5vMke0cCdNxMP3KBfDerjH/BYHh4nCIh+1Yy0t1pAEQF18ac/4z3OFclO+ZVH8azjR4A==", 1226 | "dev": true, 1227 | "license": "MIT", 1228 | "dependencies": { 1229 | "postcss-value-parser": "^4.2.0", 1230 | "stylehacks": "^7.0.4" 1231 | }, 1232 | "engines": { 1233 | "node": "^18.12.0 || ^20.9.0 || >=22.0" 1234 | }, 1235 | "peerDependencies": { 1236 | "postcss": "^8.4.31" 1237 | } 1238 | }, 1239 | "node_modules/postcss-merge-rules": { 1240 | "version": "7.0.4", 1241 | "resolved": "https://registry.npmjs.org/postcss-merge-rules/-/postcss-merge-rules-7.0.4.tgz", 1242 | "integrity": "sha512-ZsaamiMVu7uBYsIdGtKJ64PkcQt6Pcpep/uO90EpLS3dxJi6OXamIobTYcImyXGoW0Wpugh7DSD3XzxZS9JCPg==", 1243 | "dev": true, 1244 | "license": "MIT", 1245 | "dependencies": { 1246 | "browserslist": "^4.23.3", 1247 | "caniuse-api": "^3.0.0", 1248 | "cssnano-utils": "^5.0.0", 1249 | "postcss-selector-parser": "^6.1.2" 1250 | }, 1251 | "engines": { 1252 | "node": "^18.12.0 || ^20.9.0 || >=22.0" 1253 | }, 1254 | "peerDependencies": { 1255 | "postcss": "^8.4.31" 1256 | } 1257 | }, 1258 | "node_modules/postcss-minify-font-values": { 1259 | "version": "7.0.0", 1260 | "resolved": "https://registry.npmjs.org/postcss-minify-font-values/-/postcss-minify-font-values-7.0.0.tgz", 1261 | "integrity": "sha512-2ckkZtgT0zG8SMc5aoNwtm5234eUx1GGFJKf2b1bSp8UflqaeFzR50lid4PfqVI9NtGqJ2J4Y7fwvnP/u1cQog==", 1262 | "dev": true, 1263 | "license": "MIT", 1264 | "dependencies": { 1265 | "postcss-value-parser": "^4.2.0" 1266 | }, 1267 | "engines": { 1268 | "node": "^18.12.0 || ^20.9.0 || >=22.0" 1269 | }, 1270 | "peerDependencies": { 1271 | "postcss": "^8.4.31" 1272 | } 1273 | }, 1274 | "node_modules/postcss-minify-gradients": { 1275 | "version": "7.0.0", 1276 | "resolved": "https://registry.npmjs.org/postcss-minify-gradients/-/postcss-minify-gradients-7.0.0.tgz", 1277 | "integrity": "sha512-pdUIIdj/C93ryCHew0UgBnL2DtUS3hfFa5XtERrs4x+hmpMYGhbzo6l/Ir5de41O0GaKVpK1ZbDNXSY6GkXvtg==", 1278 | "dev": true, 1279 | "license": "MIT", 1280 | "dependencies": { 1281 | "colord": "^2.9.3", 1282 | "cssnano-utils": "^5.0.0", 1283 | "postcss-value-parser": "^4.2.0" 1284 | }, 1285 | "engines": { 1286 | "node": "^18.12.0 || ^20.9.0 || >=22.0" 1287 | }, 1288 | "peerDependencies": { 1289 | "postcss": "^8.4.31" 1290 | } 1291 | }, 1292 | "node_modules/postcss-minify-params": { 1293 | "version": "7.0.2", 1294 | "resolved": "https://registry.npmjs.org/postcss-minify-params/-/postcss-minify-params-7.0.2.tgz", 1295 | "integrity": "sha512-nyqVLu4MFl9df32zTsdcLqCFfE/z2+f8GE1KHPxWOAmegSo6lpV2GNy5XQvrzwbLmiU7d+fYay4cwto1oNdAaQ==", 1296 | "dev": true, 1297 | "license": "MIT", 1298 | "dependencies": { 1299 | "browserslist": "^4.23.3", 1300 | "cssnano-utils": "^5.0.0", 1301 | "postcss-value-parser": "^4.2.0" 1302 | }, 1303 | "engines": { 1304 | "node": "^18.12.0 || ^20.9.0 || >=22.0" 1305 | }, 1306 | "peerDependencies": { 1307 | "postcss": "^8.4.31" 1308 | } 1309 | }, 1310 | "node_modules/postcss-minify-selectors": { 1311 | "version": "7.0.4", 1312 | "resolved": "https://registry.npmjs.org/postcss-minify-selectors/-/postcss-minify-selectors-7.0.4.tgz", 1313 | "integrity": "sha512-JG55VADcNb4xFCf75hXkzc1rNeURhlo7ugf6JjiiKRfMsKlDzN9CXHZDyiG6x/zGchpjQS+UAgb1d4nqXqOpmA==", 1314 | "dev": true, 1315 | "license": "MIT", 1316 | "dependencies": { 1317 | "cssesc": "^3.0.0", 1318 | "postcss-selector-parser": "^6.1.2" 1319 | }, 1320 | "engines": { 1321 | "node": "^18.12.0 || ^20.9.0 || >=22.0" 1322 | }, 1323 | "peerDependencies": { 1324 | "postcss": "^8.4.31" 1325 | } 1326 | }, 1327 | "node_modules/postcss-normalize-charset": { 1328 | "version": "7.0.0", 1329 | "resolved": "https://registry.npmjs.org/postcss-normalize-charset/-/postcss-normalize-charset-7.0.0.tgz", 1330 | "integrity": "sha512-ABisNUXMeZeDNzCQxPxBCkXexvBrUHV+p7/BXOY+ulxkcjUZO0cp8ekGBwvIh2LbCwnWbyMPNJVtBSdyhM2zYQ==", 1331 | "dev": true, 1332 | "license": "MIT", 1333 | "engines": { 1334 | "node": "^18.12.0 || ^20.9.0 || >=22.0" 1335 | }, 1336 | "peerDependencies": { 1337 | "postcss": "^8.4.31" 1338 | } 1339 | }, 1340 | "node_modules/postcss-normalize-display-values": { 1341 | "version": "7.0.0", 1342 | "resolved": "https://registry.npmjs.org/postcss-normalize-display-values/-/postcss-normalize-display-values-7.0.0.tgz", 1343 | "integrity": "sha512-lnFZzNPeDf5uGMPYgGOw7v0BfB45+irSRz9gHQStdkkhiM0gTfvWkWB5BMxpn0OqgOQuZG/mRlZyJxp0EImr2Q==", 1344 | "dev": true, 1345 | "license": "MIT", 1346 | "dependencies": { 1347 | "postcss-value-parser": "^4.2.0" 1348 | }, 1349 | "engines": { 1350 | "node": "^18.12.0 || ^20.9.0 || >=22.0" 1351 | }, 1352 | "peerDependencies": { 1353 | "postcss": "^8.4.31" 1354 | } 1355 | }, 1356 | "node_modules/postcss-normalize-positions": { 1357 | "version": "7.0.0", 1358 | "resolved": "https://registry.npmjs.org/postcss-normalize-positions/-/postcss-normalize-positions-7.0.0.tgz", 1359 | "integrity": "sha512-I0yt8wX529UKIGs2y/9Ybs2CelSvItfmvg/DBIjTnoUSrPxSV7Z0yZ8ShSVtKNaV/wAY+m7bgtyVQLhB00A1NQ==", 1360 | "dev": true, 1361 | "license": "MIT", 1362 | "dependencies": { 1363 | "postcss-value-parser": "^4.2.0" 1364 | }, 1365 | "engines": { 1366 | "node": "^18.12.0 || ^20.9.0 || >=22.0" 1367 | }, 1368 | "peerDependencies": { 1369 | "postcss": "^8.4.31" 1370 | } 1371 | }, 1372 | "node_modules/postcss-normalize-repeat-style": { 1373 | "version": "7.0.0", 1374 | "resolved": "https://registry.npmjs.org/postcss-normalize-repeat-style/-/postcss-normalize-repeat-style-7.0.0.tgz", 1375 | "integrity": "sha512-o3uSGYH+2q30ieM3ppu9GTjSXIzOrRdCUn8UOMGNw7Af61bmurHTWI87hRybrP6xDHvOe5WlAj3XzN6vEO8jLw==", 1376 | "dev": true, 1377 | "license": "MIT", 1378 | "dependencies": { 1379 | "postcss-value-parser": "^4.2.0" 1380 | }, 1381 | "engines": { 1382 | "node": "^18.12.0 || ^20.9.0 || >=22.0" 1383 | }, 1384 | "peerDependencies": { 1385 | "postcss": "^8.4.31" 1386 | } 1387 | }, 1388 | "node_modules/postcss-normalize-string": { 1389 | "version": "7.0.0", 1390 | "resolved": "https://registry.npmjs.org/postcss-normalize-string/-/postcss-normalize-string-7.0.0.tgz", 1391 | "integrity": "sha512-w/qzL212DFVOpMy3UGyxrND+Kb0fvCiBBujiaONIihq7VvtC7bswjWgKQU/w4VcRyDD8gpfqUiBQ4DUOwEJ6Qg==", 1392 | "dev": true, 1393 | "license": "MIT", 1394 | "dependencies": { 1395 | "postcss-value-parser": "^4.2.0" 1396 | }, 1397 | "engines": { 1398 | "node": "^18.12.0 || ^20.9.0 || >=22.0" 1399 | }, 1400 | "peerDependencies": { 1401 | "postcss": "^8.4.31" 1402 | } 1403 | }, 1404 | "node_modules/postcss-normalize-timing-functions": { 1405 | "version": "7.0.0", 1406 | "resolved": "https://registry.npmjs.org/postcss-normalize-timing-functions/-/postcss-normalize-timing-functions-7.0.0.tgz", 1407 | "integrity": "sha512-tNgw3YV0LYoRwg43N3lTe3AEWZ66W7Dh7lVEpJbHoKOuHc1sLrzMLMFjP8SNULHaykzsonUEDbKedv8C+7ej6g==", 1408 | "dev": true, 1409 | "license": "MIT", 1410 | "dependencies": { 1411 | "postcss-value-parser": "^4.2.0" 1412 | }, 1413 | "engines": { 1414 | "node": "^18.12.0 || ^20.9.0 || >=22.0" 1415 | }, 1416 | "peerDependencies": { 1417 | "postcss": "^8.4.31" 1418 | } 1419 | }, 1420 | "node_modules/postcss-normalize-unicode": { 1421 | "version": "7.0.2", 1422 | "resolved": "https://registry.npmjs.org/postcss-normalize-unicode/-/postcss-normalize-unicode-7.0.2.tgz", 1423 | "integrity": "sha512-ztisabK5C/+ZWBdYC+Y9JCkp3M9qBv/XFvDtSw0d/XwfT3UaKeW/YTm/MD/QrPNxuecia46vkfEhewjwcYFjkg==", 1424 | "dev": true, 1425 | "license": "MIT", 1426 | "dependencies": { 1427 | "browserslist": "^4.23.3", 1428 | "postcss-value-parser": "^4.2.0" 1429 | }, 1430 | "engines": { 1431 | "node": "^18.12.0 || ^20.9.0 || >=22.0" 1432 | }, 1433 | "peerDependencies": { 1434 | "postcss": "^8.4.31" 1435 | } 1436 | }, 1437 | "node_modules/postcss-normalize-url": { 1438 | "version": "7.0.0", 1439 | "resolved": "https://registry.npmjs.org/postcss-normalize-url/-/postcss-normalize-url-7.0.0.tgz", 1440 | "integrity": "sha512-+d7+PpE+jyPX1hDQZYG+NaFD+Nd2ris6r8fPTBAjE8z/U41n/bib3vze8x7rKs5H1uEw5ppe9IojewouHk0klQ==", 1441 | "dev": true, 1442 | "license": "MIT", 1443 | "dependencies": { 1444 | "postcss-value-parser": "^4.2.0" 1445 | }, 1446 | "engines": { 1447 | "node": "^18.12.0 || ^20.9.0 || >=22.0" 1448 | }, 1449 | "peerDependencies": { 1450 | "postcss": "^8.4.31" 1451 | } 1452 | }, 1453 | "node_modules/postcss-normalize-whitespace": { 1454 | "version": "7.0.0", 1455 | "resolved": "https://registry.npmjs.org/postcss-normalize-whitespace/-/postcss-normalize-whitespace-7.0.0.tgz", 1456 | "integrity": "sha512-37/toN4wwZErqohedXYqWgvcHUGlT8O/m2jVkAfAe9Bd4MzRqlBmXrJRePH0e9Wgnz2X7KymTgTOaaFizQe3AQ==", 1457 | "dev": true, 1458 | "license": "MIT", 1459 | "dependencies": { 1460 | "postcss-value-parser": "^4.2.0" 1461 | }, 1462 | "engines": { 1463 | "node": "^18.12.0 || ^20.9.0 || >=22.0" 1464 | }, 1465 | "peerDependencies": { 1466 | "postcss": "^8.4.31" 1467 | } 1468 | }, 1469 | "node_modules/postcss-ordered-values": { 1470 | "version": "7.0.1", 1471 | "resolved": "https://registry.npmjs.org/postcss-ordered-values/-/postcss-ordered-values-7.0.1.tgz", 1472 | "integrity": "sha512-irWScWRL6nRzYmBOXReIKch75RRhNS86UPUAxXdmW/l0FcAsg0lvAXQCby/1lymxn/o0gVa6Rv/0f03eJOwHxw==", 1473 | "dev": true, 1474 | "license": "MIT", 1475 | "dependencies": { 1476 | "cssnano-utils": "^5.0.0", 1477 | "postcss-value-parser": "^4.2.0" 1478 | }, 1479 | "engines": { 1480 | "node": "^18.12.0 || ^20.9.0 || >=22.0" 1481 | }, 1482 | "peerDependencies": { 1483 | "postcss": "^8.4.31" 1484 | } 1485 | }, 1486 | "node_modules/postcss-reduce-initial": { 1487 | "version": "7.0.2", 1488 | "resolved": "https://registry.npmjs.org/postcss-reduce-initial/-/postcss-reduce-initial-7.0.2.tgz", 1489 | "integrity": "sha512-pOnu9zqQww7dEKf62Nuju6JgsW2V0KRNBHxeKohU+JkHd/GAH5uvoObqFLqkeB2n20mr6yrlWDvo5UBU5GnkfA==", 1490 | "dev": true, 1491 | "license": "MIT", 1492 | "dependencies": { 1493 | "browserslist": "^4.23.3", 1494 | "caniuse-api": "^3.0.0" 1495 | }, 1496 | "engines": { 1497 | "node": "^18.12.0 || ^20.9.0 || >=22.0" 1498 | }, 1499 | "peerDependencies": { 1500 | "postcss": "^8.4.31" 1501 | } 1502 | }, 1503 | "node_modules/postcss-reduce-transforms": { 1504 | "version": "7.0.0", 1505 | "resolved": "https://registry.npmjs.org/postcss-reduce-transforms/-/postcss-reduce-transforms-7.0.0.tgz", 1506 | "integrity": "sha512-pnt1HKKZ07/idH8cpATX/ujMbtOGhUfE+m8gbqwJE05aTaNw8gbo34a2e3if0xc0dlu75sUOiqvwCGY3fzOHew==", 1507 | "dev": true, 1508 | "license": "MIT", 1509 | "dependencies": { 1510 | "postcss-value-parser": "^4.2.0" 1511 | }, 1512 | "engines": { 1513 | "node": "^18.12.0 || ^20.9.0 || >=22.0" 1514 | }, 1515 | "peerDependencies": { 1516 | "postcss": "^8.4.31" 1517 | } 1518 | }, 1519 | "node_modules/postcss-reporter": { 1520 | "version": "7.1.0", 1521 | "resolved": "https://registry.npmjs.org/postcss-reporter/-/postcss-reporter-7.1.0.tgz", 1522 | "integrity": "sha512-/eoEylGWyy6/DOiMP5lmFRdmDKThqgn7D6hP2dXKJI/0rJSO1ADFNngZfDzxL0YAxFvws+Rtpuji1YIHj4mySA==", 1523 | "dev": true, 1524 | "funding": [ 1525 | { 1526 | "type": "opencollective", 1527 | "url": "https://opencollective.com/postcss/" 1528 | }, 1529 | { 1530 | "type": "github", 1531 | "url": "https://github.com/sponsors/ai" 1532 | } 1533 | ], 1534 | "license": "MIT", 1535 | "dependencies": { 1536 | "picocolors": "^1.0.0", 1537 | "thenby": "^1.3.4" 1538 | }, 1539 | "engines": { 1540 | "node": ">=10" 1541 | }, 1542 | "peerDependencies": { 1543 | "postcss": "^8.1.0" 1544 | } 1545 | }, 1546 | "node_modules/postcss-selector-parser": { 1547 | "version": "6.1.2", 1548 | "resolved": "https://registry.npmjs.org/postcss-selector-parser/-/postcss-selector-parser-6.1.2.tgz", 1549 | "integrity": "sha512-Q8qQfPiZ+THO/3ZrOrO0cJJKfpYCagtMUkXbnEfmgUjwXg6z/WBeOyS9APBBPCTSiDV+s4SwQGu8yFsiMRIudg==", 1550 | "dev": true, 1551 | "license": "MIT", 1552 | "dependencies": { 1553 | "cssesc": "^3.0.0", 1554 | "util-deprecate": "^1.0.2" 1555 | }, 1556 | "engines": { 1557 | "node": ">=4" 1558 | } 1559 | }, 1560 | "node_modules/postcss-svgo": { 1561 | "version": "7.0.1", 1562 | "resolved": "https://registry.npmjs.org/postcss-svgo/-/postcss-svgo-7.0.1.tgz", 1563 | "integrity": "sha512-0WBUlSL4lhD9rA5k1e5D8EN5wCEyZD6HJk0jIvRxl+FDVOMlJ7DePHYWGGVc5QRqrJ3/06FTXM0bxjmJpmTPSA==", 1564 | "dev": true, 1565 | "license": "MIT", 1566 | "dependencies": { 1567 | "postcss-value-parser": "^4.2.0", 1568 | "svgo": "^3.3.2" 1569 | }, 1570 | "engines": { 1571 | "node": "^18.12.0 || ^20.9.0 || >= 18" 1572 | }, 1573 | "peerDependencies": { 1574 | "postcss": "^8.4.31" 1575 | } 1576 | }, 1577 | "node_modules/postcss-unique-selectors": { 1578 | "version": "7.0.3", 1579 | "resolved": "https://registry.npmjs.org/postcss-unique-selectors/-/postcss-unique-selectors-7.0.3.tgz", 1580 | "integrity": "sha512-J+58u5Ic5T1QjP/LDV9g3Cx4CNOgB5vz+kM6+OxHHhFACdcDeKhBXjQmB7fnIZM12YSTvsL0Opwco83DmacW2g==", 1581 | "dev": true, 1582 | "license": "MIT", 1583 | "dependencies": { 1584 | "postcss-selector-parser": "^6.1.2" 1585 | }, 1586 | "engines": { 1587 | "node": "^18.12.0 || ^20.9.0 || >=22.0" 1588 | }, 1589 | "peerDependencies": { 1590 | "postcss": "^8.4.31" 1591 | } 1592 | }, 1593 | "node_modules/postcss-value-parser": { 1594 | "version": "4.2.0", 1595 | "resolved": "https://registry.npmjs.org/postcss-value-parser/-/postcss-value-parser-4.2.0.tgz", 1596 | "integrity": "sha512-1NNCs6uurfkVbeXG4S8JFT9t19m45ICnif8zWLd5oPSZ50QnwMfK+H3jv408d4jw/7Bttv5axS5IiHoLaVNHeQ==", 1597 | "dev": true, 1598 | "license": "MIT" 1599 | }, 1600 | "node_modules/pretty-hrtime": { 1601 | "version": "1.0.3", 1602 | "resolved": "https://registry.npmjs.org/pretty-hrtime/-/pretty-hrtime-1.0.3.tgz", 1603 | "integrity": "sha512-66hKPCr+72mlfiSjlEB1+45IjXSqvVAIy6mocupoww4tBFE9R9IhwwUGoI4G++Tc9Aq+2rxOt0RFU6gPcrte0A==", 1604 | "dev": true, 1605 | "license": "MIT", 1606 | "engines": { 1607 | "node": ">= 0.8" 1608 | } 1609 | }, 1610 | "node_modules/queue-microtask": { 1611 | "version": "1.2.3", 1612 | "resolved": "https://registry.npmjs.org/queue-microtask/-/queue-microtask-1.2.3.tgz", 1613 | "integrity": "sha512-NuaNSa6flKT5JaSYQzJok04JzTL1CA6aGhv5rfLW3PgqA+M2ChpZQnAC8h8i4ZFkBS8X5RqkDBHA7r4hej3K9A==", 1614 | "dev": true, 1615 | "funding": [ 1616 | { 1617 | "type": "github", 1618 | "url": "https://github.com/sponsors/feross" 1619 | }, 1620 | { 1621 | "type": "patreon", 1622 | "url": "https://www.patreon.com/feross" 1623 | }, 1624 | { 1625 | "type": "consulting", 1626 | "url": "https://feross.org/support" 1627 | } 1628 | ], 1629 | "license": "MIT" 1630 | }, 1631 | "node_modules/read-cache": { 1632 | "version": "1.0.0", 1633 | "resolved": "https://registry.npmjs.org/read-cache/-/read-cache-1.0.0.tgz", 1634 | "integrity": "sha512-Owdv/Ft7IjOgm/i0xvNDZ1LrRANRfew4b2prF3OWMQLxLfu3bS8FVhCsrSCMK4lR56Y9ya+AThoTpDCTxCmpRA==", 1635 | "dev": true, 1636 | "license": "MIT", 1637 | "dependencies": { 1638 | "pify": "^2.3.0" 1639 | } 1640 | }, 1641 | "node_modules/readdirp": { 1642 | "version": "3.6.0", 1643 | "resolved": "https://registry.npmjs.org/readdirp/-/readdirp-3.6.0.tgz", 1644 | "integrity": "sha512-hOS089on8RduqdbhvQ5Z37A0ESjsqz6qnRcffsMU3495FuTdqSm+7bhJ29JvIOsBDEEnan5DPu9t3To9VRlMzA==", 1645 | "dev": true, 1646 | "license": "MIT", 1647 | "dependencies": { 1648 | "picomatch": "^2.2.1" 1649 | }, 1650 | "engines": { 1651 | "node": ">=8.10.0" 1652 | } 1653 | }, 1654 | "node_modules/require-directory": { 1655 | "version": "2.1.1", 1656 | "resolved": "https://registry.npmjs.org/require-directory/-/require-directory-2.1.1.tgz", 1657 | "integrity": "sha512-fGxEI7+wsG9xrvdjsrlmL22OMTTiHRwAMroiEeMgq8gzoLC/PQr7RsRDSTLUg/bZAZtF+TVIkHc6/4RIKrui+Q==", 1658 | "dev": true, 1659 | "license": "MIT", 1660 | "engines": { 1661 | "node": ">=0.10.0" 1662 | } 1663 | }, 1664 | "node_modules/reusify": { 1665 | "version": "1.0.4", 1666 | "resolved": "https://registry.npmjs.org/reusify/-/reusify-1.0.4.tgz", 1667 | "integrity": "sha512-U9nH88a3fc/ekCF1l0/UP1IosiuIjyTh7hBvXVMHYgVcfGvt897Xguj2UOLDeI5BG2m7/uwyaLVT6fbtCwTyzw==", 1668 | "dev": true, 1669 | "license": "MIT", 1670 | "engines": { 1671 | "iojs": ">=1.0.0", 1672 | "node": ">=0.10.0" 1673 | } 1674 | }, 1675 | "node_modules/run-parallel": { 1676 | "version": "1.2.0", 1677 | "resolved": "https://registry.npmjs.org/run-parallel/-/run-parallel-1.2.0.tgz", 1678 | "integrity": "sha512-5l4VyZR86LZ/lDxZTR6jqL8AFE2S0IFLMP26AbjsLVADxHdhB/c0GUsH+y39UfCi3dzz8OlQuPmnaJOMoDHQBA==", 1679 | "dev": true, 1680 | "funding": [ 1681 | { 1682 | "type": "github", 1683 | "url": "https://github.com/sponsors/feross" 1684 | }, 1685 | { 1686 | "type": "patreon", 1687 | "url": "https://www.patreon.com/feross" 1688 | }, 1689 | { 1690 | "type": "consulting", 1691 | "url": "https://feross.org/support" 1692 | } 1693 | ], 1694 | "license": "MIT", 1695 | "dependencies": { 1696 | "queue-microtask": "^1.2.2" 1697 | } 1698 | }, 1699 | "node_modules/slash": { 1700 | "version": "5.1.0", 1701 | "resolved": "https://registry.npmjs.org/slash/-/slash-5.1.0.tgz", 1702 | "integrity": "sha512-ZA6oR3T/pEyuqwMgAKT0/hAv8oAXckzbkmR0UkUosQ+Mc4RxGoJkRmwHgHufaenlyAgE1Mxgpdcrf75y6XcnDg==", 1703 | "dev": true, 1704 | "license": "MIT", 1705 | "engines": { 1706 | "node": ">=14.16" 1707 | }, 1708 | "funding": { 1709 | "url": "https://github.com/sponsors/sindresorhus" 1710 | } 1711 | }, 1712 | "node_modules/source-map-js": { 1713 | "version": "1.2.1", 1714 | "resolved": "https://registry.npmjs.org/source-map-js/-/source-map-js-1.2.1.tgz", 1715 | "integrity": "sha512-UXWMKhLOwVKb728IUtQPXxfYU+usdybtUrK/8uGE8CQMvrhOpwvzDBwj0QhSL7MQc7vIsISBG8VQ8+IDQxpfQA==", 1716 | "dev": true, 1717 | "license": "BSD-3-Clause", 1718 | "engines": { 1719 | "node": ">=0.10.0" 1720 | } 1721 | }, 1722 | "node_modules/string-width": { 1723 | "version": "4.2.3", 1724 | "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz", 1725 | "integrity": "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==", 1726 | "dev": true, 1727 | "license": "MIT", 1728 | "dependencies": { 1729 | "emoji-regex": "^8.0.0", 1730 | "is-fullwidth-code-point": "^3.0.0", 1731 | "strip-ansi": "^6.0.1" 1732 | }, 1733 | "engines": { 1734 | "node": ">=8" 1735 | } 1736 | }, 1737 | "node_modules/strip-ansi": { 1738 | "version": "6.0.1", 1739 | "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz", 1740 | "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==", 1741 | "dev": true, 1742 | "license": "MIT", 1743 | "dependencies": { 1744 | "ansi-regex": "^5.0.1" 1745 | }, 1746 | "engines": { 1747 | "node": ">=8" 1748 | } 1749 | }, 1750 | "node_modules/stylehacks": { 1751 | "version": "7.0.4", 1752 | "resolved": "https://registry.npmjs.org/stylehacks/-/stylehacks-7.0.4.tgz", 1753 | "integrity": "sha512-i4zfNrGMt9SB4xRK9L83rlsFCgdGANfeDAYacO1pkqcE7cRHPdWHwnKZVz7WY17Veq/FvyYsRAU++Ga+qDFIww==", 1754 | "dev": true, 1755 | "license": "MIT", 1756 | "dependencies": { 1757 | "browserslist": "^4.23.3", 1758 | "postcss-selector-parser": "^6.1.2" 1759 | }, 1760 | "engines": { 1761 | "node": "^18.12.0 || ^20.9.0 || >=22.0" 1762 | }, 1763 | "peerDependencies": { 1764 | "postcss": "^8.4.31" 1765 | } 1766 | }, 1767 | "node_modules/svgo": { 1768 | "version": "3.3.2", 1769 | "resolved": "https://registry.npmjs.org/svgo/-/svgo-3.3.2.tgz", 1770 | "integrity": "sha512-OoohrmuUlBs8B8o6MB2Aevn+pRIH9zDALSR+6hhqVfa6fRwG/Qw9VUMSMW9VNg2CFc/MTIfabtdOVl9ODIJjpw==", 1771 | "dev": true, 1772 | "license": "MIT", 1773 | "dependencies": { 1774 | "@trysound/sax": "0.2.0", 1775 | "commander": "^7.2.0", 1776 | "css-select": "^5.1.0", 1777 | "css-tree": "^2.3.1", 1778 | "css-what": "^6.1.0", 1779 | "csso": "^5.0.5", 1780 | "picocolors": "^1.0.0" 1781 | }, 1782 | "bin": { 1783 | "svgo": "bin/svgo" 1784 | }, 1785 | "engines": { 1786 | "node": ">=14.0.0" 1787 | }, 1788 | "funding": { 1789 | "type": "opencollective", 1790 | "url": "https://opencollective.com/svgo" 1791 | } 1792 | }, 1793 | "node_modules/thenby": { 1794 | "version": "1.3.4", 1795 | "resolved": "https://registry.npmjs.org/thenby/-/thenby-1.3.4.tgz", 1796 | "integrity": "sha512-89Gi5raiWA3QZ4b2ePcEwswC3me9JIg+ToSgtE0JWeCynLnLxNr/f9G+xfo9K+Oj4AFdom8YNJjibIARTJmapQ==", 1797 | "dev": true, 1798 | "license": "Apache-2.0" 1799 | }, 1800 | "node_modules/to-regex-range": { 1801 | "version": "5.0.1", 1802 | "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-5.0.1.tgz", 1803 | "integrity": "sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==", 1804 | "dev": true, 1805 | "license": "MIT", 1806 | "dependencies": { 1807 | "is-number": "^7.0.0" 1808 | }, 1809 | "engines": { 1810 | "node": ">=8.0" 1811 | } 1812 | }, 1813 | "node_modules/unicorn-magic": { 1814 | "version": "0.1.0", 1815 | "resolved": "https://registry.npmjs.org/unicorn-magic/-/unicorn-magic-0.1.0.tgz", 1816 | "integrity": "sha512-lRfVq8fE8gz6QMBuDM6a+LO3IAzTi05H6gCVaUpir2E1Rwpo4ZUog45KpNXKC/Mn3Yb9UDuHumeFTo9iV/D9FQ==", 1817 | "dev": true, 1818 | "license": "MIT", 1819 | "engines": { 1820 | "node": ">=18" 1821 | }, 1822 | "funding": { 1823 | "url": "https://github.com/sponsors/sindresorhus" 1824 | } 1825 | }, 1826 | "node_modules/universalify": { 1827 | "version": "2.0.1", 1828 | "resolved": "https://registry.npmjs.org/universalify/-/universalify-2.0.1.tgz", 1829 | "integrity": "sha512-gptHNQghINnc/vTGIk0SOFGFNXw7JVrlRUtConJRlvaw6DuX0wO5Jeko9sWrMBhh+PsYAZ7oXAiOnf/UKogyiw==", 1830 | "dev": true, 1831 | "license": "MIT", 1832 | "engines": { 1833 | "node": ">= 10.0.0" 1834 | } 1835 | }, 1836 | "node_modules/update-browserslist-db": { 1837 | "version": "1.1.1", 1838 | "resolved": "https://registry.npmjs.org/update-browserslist-db/-/update-browserslist-db-1.1.1.tgz", 1839 | "integrity": "sha512-R8UzCaa9Az+38REPiJ1tXlImTJXlVfgHZsglwBD/k6nj76ctsH1E3q4doGrukiLQd3sGQYu56r5+lo5r94l29A==", 1840 | "dev": true, 1841 | "funding": [ 1842 | { 1843 | "type": "opencollective", 1844 | "url": "https://opencollective.com/browserslist" 1845 | }, 1846 | { 1847 | "type": "tidelift", 1848 | "url": "https://tidelift.com/funding/github/npm/browserslist" 1849 | }, 1850 | { 1851 | "type": "github", 1852 | "url": "https://github.com/sponsors/ai" 1853 | } 1854 | ], 1855 | "license": "MIT", 1856 | "dependencies": { 1857 | "escalade": "^3.2.0", 1858 | "picocolors": "^1.1.0" 1859 | }, 1860 | "bin": { 1861 | "update-browserslist-db": "cli.js" 1862 | }, 1863 | "peerDependencies": { 1864 | "browserslist": ">= 4.21.0" 1865 | } 1866 | }, 1867 | "node_modules/user": { 1868 | "version": "0.0.0", 1869 | "resolved": "https://registry.npmjs.org/user/-/user-0.0.0.tgz", 1870 | "integrity": "sha512-eRNM5isOvr6aEFAGi1CqAkmLkYxW2NJ5ThhbD+6IJXYKM1mo7Gtxx4mQIveHz/5K3p/SVnlW9k17ETn+QAu8IQ==", 1871 | "license": "MIT" 1872 | }, 1873 | "node_modules/util-deprecate": { 1874 | "version": "1.0.2", 1875 | "resolved": "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz", 1876 | "integrity": "sha512-EPD5q1uXyFxJpCrLnCc1nHnq3gOa6DZBocAIiI2TaSCA7VCJ1UJDMagCzIkXNsUYfD1daK//LTEQ8xiIbrHtcw==", 1877 | "dev": true, 1878 | "license": "MIT" 1879 | }, 1880 | "node_modules/wrap-ansi": { 1881 | "version": "7.0.0", 1882 | "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-7.0.0.tgz", 1883 | "integrity": "sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q==", 1884 | "dev": true, 1885 | "license": "MIT", 1886 | "dependencies": { 1887 | "ansi-styles": "^4.0.0", 1888 | "string-width": "^4.1.0", 1889 | "strip-ansi": "^6.0.0" 1890 | }, 1891 | "engines": { 1892 | "node": ">=10" 1893 | }, 1894 | "funding": { 1895 | "url": "https://github.com/chalk/wrap-ansi?sponsor=1" 1896 | } 1897 | }, 1898 | "node_modules/y18n": { 1899 | "version": "5.0.8", 1900 | "resolved": "https://registry.npmjs.org/y18n/-/y18n-5.0.8.tgz", 1901 | "integrity": "sha512-0pfFzegeDWJHJIAmTLRP2DwHjdF5s7jo9tuztdQxAhINCdvS+3nGINqPd00AphqJR/0LhANUS6/+7SCb98YOfA==", 1902 | "dev": true, 1903 | "license": "ISC", 1904 | "engines": { 1905 | "node": ">=10" 1906 | } 1907 | }, 1908 | "node_modules/yaml": { 1909 | "version": "2.6.1", 1910 | "resolved": "https://registry.npmjs.org/yaml/-/yaml-2.6.1.tgz", 1911 | "integrity": "sha512-7r0XPzioN/Q9kXBro/XPnA6kznR73DHq+GXh5ON7ZozRO6aMjbmiBuKste2wslTFkC5d1dw0GooOCepZXJ2SAg==", 1912 | "dev": true, 1913 | "license": "ISC", 1914 | "bin": { 1915 | "yaml": "bin.mjs" 1916 | }, 1917 | "engines": { 1918 | "node": ">= 14" 1919 | } 1920 | }, 1921 | "node_modules/yargs": { 1922 | "version": "17.7.2", 1923 | "resolved": "https://registry.npmjs.org/yargs/-/yargs-17.7.2.tgz", 1924 | "integrity": "sha512-7dSzzRQ++CKnNI/krKnYRV7JKKPUXMEh61soaHKg9mrWEhzFWhFnxPxGl+69cD1Ou63C13NUPCnmIcrvqCuM6w==", 1925 | "dev": true, 1926 | "license": "MIT", 1927 | "dependencies": { 1928 | "cliui": "^8.0.1", 1929 | "escalade": "^3.1.1", 1930 | "get-caller-file": "^2.0.5", 1931 | "require-directory": "^2.1.1", 1932 | "string-width": "^4.2.3", 1933 | "y18n": "^5.0.5", 1934 | "yargs-parser": "^21.1.1" 1935 | }, 1936 | "engines": { 1937 | "node": ">=12" 1938 | } 1939 | }, 1940 | "node_modules/yargs-parser": { 1941 | "version": "21.1.1", 1942 | "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-21.1.1.tgz", 1943 | "integrity": "sha512-tVpsJW7DdjecAiFpbIB1e3qxIQsE6NoPc5/eTdrbbIC4h0LVsWhnoa3g+m2HclBIujHzsxZ4VJVA+GUuc2/LBw==", 1944 | "dev": true, 1945 | "license": "ISC", 1946 | "engines": { 1947 | "node": ">=12" 1948 | } 1949 | } 1950 | } 1951 | } 1952 | -------------------------------------------------------------------------------- /package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "slightly-better-css", 3 | "version": "1.0.2", 4 | "description": "A webpage without any CSS is slightly too ugly, libraries like Bootstrap are way too heavy, and you have too much taste to use the other CSS libraries out there. Slightly Better CSS is a small, simple stylesheet for any project that needs to look just a little bit better.", 5 | "main": "dist/slightly-better.min.css", 6 | "files": [ 7 | "dist" 8 | ], 9 | "keywords": [ 10 | "css", 11 | "library", 12 | "design", 13 | "stylesheet" 14 | ], 15 | "author": "printer_scanner", 16 | "url": "https://printerscanner.net", 17 | "license": "MIT", 18 | "homepage": "https://printerscanner.github.io/slightly-better-css/", 19 | "repository": { 20 | "type": "git", 21 | "url": "https://github.com/printerscanner/slightly-better-css.git" 22 | }, 23 | "scripts": { 24 | "build:css": "postcss slightly-better.css -o dist/slightly-better.min.css" 25 | }, 26 | "devDependencies": { 27 | "autoprefixer": "^10.4.20", 28 | "cssnano": "^7.0.6", 29 | "postcss": "^8.4.49", 30 | "postcss-cli": "^11.0.0" 31 | }, 32 | "dependencies": { 33 | "user": "^0.0.0" 34 | } 35 | } 36 | -------------------------------------------------------------------------------- /postcss.config.js: -------------------------------------------------------------------------------- 1 | module.exports = { 2 | plugins: [require("autoprefixer"), require("cssnano")], 3 | }; 4 | -------------------------------------------------------------------------------- /screenshot.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/printerscanner/slightly-better-css/014aeb9c370ce21f52a5d9df18399f1e731b6eff/screenshot.png -------------------------------------------------------------------------------- /slightly-better.css: -------------------------------------------------------------------------------- 1 | /*! 2 | * Slightly Better CSS v1.0.1 3 | * Author: printer_scanner 4 | * License: MIT 5 | */ 6 | 7 | :where(*, *::before, *::after) { 8 | box-sizing: border-box; 9 | } 10 | 11 | /* Variables */ 12 | :root { 13 | --accent-color: #3333ee; 14 | --background-color: #ffffff; 15 | --border-radius: 0.25rem; 16 | --font-family: system-ui, -apple-system, "Segoe UI", Roboto, "Helvetica Neue", 17 | sans-serif; 18 | --font-size: 110%; 19 | --muted-color: #f6f6f6; 20 | --page-width: 47rem; 21 | --text-color: #202020; 22 | 23 | --transition-speed: 0.2s; 24 | --button-padding: 0.625rem 0.9375rem; 25 | } 26 | 27 | @media (min-width: 48rem) { 28 | :root { 29 | --font-size: var(--font-size-lg); 30 | } 31 | } 32 | 33 | @media (min-width: 75rem) { 34 | :root { 35 | --font-size: var(--font-size-lg); 36 | } 37 | } 38 | 39 | @media (prefers-color-scheme: dark) { 40 | :root { 41 | --accent-color: #c4c8b1; 42 | --background-color: #17161a; 43 | --text-color: #ecdfcc; 44 | --muted-color: #3c3d37; 45 | } 46 | } 47 | 48 | /* Typography */ 49 | body { 50 | background-color: var(--background-color); 51 | color: var(--text-color); 52 | font-size: var(--font-size); 53 | line-height: 1.4; 54 | margin: 0; 55 | word-break: break-word; 56 | font-family: var(--font-family); 57 | animation: fadeIn var(--transition-speed) ease-in-out; 58 | } 59 | 60 | h1, 61 | h2, 62 | h3, 63 | h4, 64 | h5, 65 | h6 { 66 | font-weight: 800; 67 | line-height: 1.2; 68 | } 69 | 70 | h1 { 71 | font-size: 2.5rem; 72 | } 73 | h2 { 74 | font-size: 1.75rem; 75 | } 76 | h3 { 77 | font-size: 1.5rem; 78 | } 79 | h4, 80 | h5, 81 | h6 { 82 | font-size: 1rem; 83 | } 84 | 85 | a { 86 | color: var(--accent-color); 87 | font-weight: inherit; 88 | text-decoration: none; 89 | } 90 | 91 | a:hover, 92 | a:focus { 93 | text-decoration: underline; 94 | } 95 | 96 | a:focus, 97 | button:focus, 98 | input:focus { 99 | outline: 0.125rem solid var(--accent-color); 100 | outline-offset: 0.125rem; 101 | } 102 | 103 | time { 104 | font-weight: bold; 105 | } 106 | 107 | sub { 108 | font-size: 0.6em; 109 | vertical-align: bottom; 110 | } 111 | 112 | small { 113 | font-size: 0.8em; 114 | } 115 | 116 | blockquote, 117 | q { 118 | background: var(--muted-color); 119 | border-left: 0.5rem solid var(--accent-color); 120 | padding: 1rem; 121 | border-radius: var(--border-radius); 122 | margin: 2rem 0; 123 | display: block; 124 | } 125 | 126 | code, 127 | kbd, 128 | samp, 129 | pre, 130 | var { 131 | font-family: Menlo, monospace; 132 | font-size: 0.9em; 133 | } 134 | 135 | var { 136 | font-style: normal; 137 | } 138 | 139 | pre { 140 | padding: 1rem; 141 | overflow: auto; 142 | background-color: var(--muted-color); 143 | border-radius: var(--border-radius); 144 | } 145 | 146 | code { 147 | background-color: var(--muted-color); 148 | padding: 0.25rem; 149 | border-radius: var(--border-radius); 150 | color: var(--accent-color); 151 | } 152 | 153 | /* Additional Elements */ 154 | hr { 155 | background: var(--text-color); 156 | border: 0; 157 | height: 0.0625rem; 158 | margin: 4rem 0; 159 | } 160 | 161 | img { 162 | display: block; 163 | height: auto; 164 | max-width: 100%; 165 | margin: 0 auto; 166 | } 167 | 168 | figure { 169 | margin: 2rem 0; 170 | padding: 1rem; 171 | text-align: center; 172 | } 173 | 174 | figure figcaption { 175 | font-size: 0.8em; 176 | margin-top: 0.5rem; 177 | } 178 | 179 | footer, 180 | header, 181 | section { 182 | padding: 1.875rem; 183 | } 184 | 185 | main, 186 | header, 187 | footer { 188 | margin: auto; 189 | width: var(--page-width); 190 | } 191 | 192 | ul, 193 | ol { 194 | line-height: 2; 195 | padding-left: 1.25rem; 196 | } 197 | 198 | table { 199 | width: 100%; 200 | border-collapse: collapse; 201 | table-layout: fixed; 202 | border: 0.0625rem solid var(--accent-color); 203 | } 204 | 205 | table caption { 206 | margin: 1rem 0; 207 | } 208 | 209 | table tbody tr:nth-child(even) { 210 | background: var(--muted-color); 211 | } 212 | 213 | table th, 214 | table td { 215 | padding: 1rem; 216 | border: 0.0625rem solid var(--accent-color); 217 | } 218 | 219 | table th { 220 | background: var(--accent-color); 221 | color: var(--background-color); 222 | font-weight: 400; 223 | } 224 | 225 | input { 226 | appearance: none; 227 | background: var(--muted-color); 228 | color: var(--text-color); 229 | padding: 0.5rem; 230 | margin: 0.5rem 0; 231 | font-size: 0.8em; 232 | border: 0.0625rem solid var(--accent-color); 233 | border-radius: var(--border-radius); 234 | } 235 | 236 | input:focus, 237 | input:active { 238 | outline: none; 239 | border-color: var(--accent-color); 240 | } 241 | 242 | button { 243 | padding: var(--button-padding); 244 | background-color: var(--accent-color); 245 | border-radius: var(--border-radius); 246 | color: var(--background-color); 247 | border: none; 248 | font-weight: 700; 249 | cursor: pointer; 250 | transition: background-color var(--transition-speed) ease; 251 | } 252 | 253 | button:hover { 254 | background-color: var(--text-color); 255 | color: var(--background-color); 256 | } 257 | 258 | button:active { 259 | transform: scale(0.98); 260 | } 261 | 262 | details { 263 | padding: 1rem; 264 | border: 0.0625rem solid var(--muted-color); 265 | border-radius: var(--border-radius); 266 | margin-bottom: 1rem; 267 | } 268 | 269 | summary { 270 | cursor: pointer; 271 | font-weight: bold; 272 | } 273 | 274 | @keyframes fadeIn { 275 | from { 276 | opacity: 0; 277 | } 278 | to { 279 | opacity: 1; 280 | } 281 | } 282 | 283 | /* Utility Classes */ 284 | .mt-1 { 285 | margin-top: 0.5rem; 286 | } 287 | .mt-2 { 288 | margin-top: 1rem; 289 | } 290 | .p-1 { 291 | padding: 0.5rem; 292 | } 293 | .p-2 { 294 | padding: 1rem; 295 | } 296 | .text-center { 297 | text-align: center; 298 | } 299 | .text-right { 300 | text-align: right; 301 | } 302 | --------------------------------------------------------------------------------