@fpkit/acss 0.4.4

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (297) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +52 -0
  3. package/dist/chunk-77CZU5XZ.cjs +9 -0
  4. package/dist/chunk-77CZU5XZ.cjs.map +1 -0
  5. package/dist/chunk-D43FJIRQ.cjs +31 -0
  6. package/dist/chunk-D43FJIRQ.cjs.map +1 -0
  7. package/dist/chunk-GJWMCDFS.js +9 -0
  8. package/dist/chunk-GJWMCDFS.js.map +1 -0
  9. package/dist/chunk-PCDUGD3C.js +5 -0
  10. package/dist/chunk-PCDUGD3C.js.map +1 -0
  11. package/dist/hooks.cjs +10 -0
  12. package/dist/hooks.cjs.map +1 -0
  13. package/dist/hooks.d.cts +32 -0
  14. package/dist/hooks.d.ts +32 -0
  15. package/dist/hooks.js +8 -0
  16. package/dist/hooks.js.map +1 -0
  17. package/dist/icon-e6044c73.d.ts +227 -0
  18. package/dist/icons.cjs +73 -0
  19. package/dist/icons.cjs.map +1 -0
  20. package/dist/icons.d.cts +252 -0
  21. package/dist/icons.d.ts +252 -0
  22. package/dist/icons.js +4 -0
  23. package/dist/icons.js.map +1 -0
  24. package/dist/index.cjs +59 -0
  25. package/dist/index.cjs.map +1 -0
  26. package/dist/index.d.cts +566 -0
  27. package/dist/index.d.ts +566 -0
  28. package/dist/index.js +11 -0
  29. package/dist/index.js.map +1 -0
  30. package/libs/chunk-GCGKYLDG.js +7 -0
  31. package/libs/chunk-GCGKYLDG.js.map +1 -0
  32. package/libs/chunk-PDD4N5P5.cjs +10 -0
  33. package/libs/chunk-PDD4N5P5.cjs.map +1 -0
  34. package/libs/chunk-QHIABQNQ.js +8 -0
  35. package/libs/chunk-QHIABQNQ.js.map +1 -0
  36. package/libs/chunk-ZOHIKF6I.cjs +31 -0
  37. package/libs/chunk-ZOHIKF6I.cjs.map +1 -0
  38. package/libs/components/badge/badge.css +1 -0
  39. package/libs/components/badge/badge.css.map +1 -0
  40. package/libs/components/badge/badge.min.css +3 -0
  41. package/libs/components/breadcrumbs/breadcrumb.css +1 -0
  42. package/libs/components/breadcrumbs/breadcrumb.css.map +1 -0
  43. package/libs/components/breadcrumbs/breadcrumb.min.css +3 -0
  44. package/libs/components/buttons/button.css +1 -0
  45. package/libs/components/buttons/button.css.map +1 -0
  46. package/libs/components/buttons/button.min.css +3 -0
  47. package/libs/components/cards/card-style.css +1 -0
  48. package/libs/components/cards/card-style.css.map +1 -0
  49. package/libs/components/cards/card-style.min.css +3 -0
  50. package/libs/components/cards/card.css +1 -0
  51. package/libs/components/cards/card.css.map +1 -0
  52. package/libs/components/cards/card.min.css +3 -0
  53. package/libs/components/details/details.css +1 -0
  54. package/libs/components/details/details.css.map +1 -0
  55. package/libs/components/details/details.min.css +3 -0
  56. package/libs/components/form/form.css +1 -0
  57. package/libs/components/form/form.css.map +1 -0
  58. package/libs/components/form/form.min.css +3 -0
  59. package/libs/components/icons/icon.css +1 -0
  60. package/libs/components/icons/icon.css.map +1 -0
  61. package/libs/components/icons/icon.min.css +3 -0
  62. package/libs/components/images/img.css +1 -0
  63. package/libs/components/images/img.css.map +1 -0
  64. package/libs/components/images/img.min.css +3 -0
  65. package/libs/components/layout/landmarks.css +1 -0
  66. package/libs/components/layout/landmarks.css.map +1 -0
  67. package/libs/components/layout/landmarks.min.css +3 -0
  68. package/libs/components/link/link.css +1 -0
  69. package/libs/components/link/link.css.map +1 -0
  70. package/libs/components/link/link.min.css +3 -0
  71. package/libs/components/nav/nav.css +1 -0
  72. package/libs/components/nav/nav.css.map +1 -0
  73. package/libs/components/nav/nav.min.css +3 -0
  74. package/libs/components/progress/progress.css +1 -0
  75. package/libs/components/progress/progress.css.map +1 -0
  76. package/libs/components/progress/progress.min.css +3 -0
  77. package/libs/components/styles/index.css +1 -0
  78. package/libs/components/styles/index.css.map +1 -0
  79. package/libs/components/styles/index.min.css +3 -0
  80. package/libs/components/tag/tag.css +1 -0
  81. package/libs/components/tag/tag.css.map +1 -0
  82. package/libs/components/tag/tag.min.css +3 -0
  83. package/libs/components/text-to-speech/text-to-speech.css +1 -0
  84. package/libs/components/text-to-speech/text-to-speech.css.map +1 -0
  85. package/libs/components/text-to-speech/text-to-speech.min.css +3 -0
  86. package/libs/hooks.cjs +12 -0
  87. package/libs/hooks.cjs.map +1 -0
  88. package/libs/hooks.d.cts +32 -0
  89. package/libs/hooks.d.ts +32 -0
  90. package/libs/hooks.js +3 -0
  91. package/libs/hooks.js.map +1 -0
  92. package/libs/icons-1f5afc0c.d.ts +318 -0
  93. package/libs/icons.cjs +12 -0
  94. package/libs/icons.cjs.map +1 -0
  95. package/libs/icons.d.cts +2 -0
  96. package/libs/icons.d.ts +2 -0
  97. package/libs/icons.js +3 -0
  98. package/libs/icons.js.map +1 -0
  99. package/libs/index.cjs +71 -0
  100. package/libs/index.cjs.map +1 -0
  101. package/libs/index.css +1 -0
  102. package/libs/index.css.map +1 -0
  103. package/libs/index.d.cts +551 -0
  104. package/libs/index.d.ts +551 -0
  105. package/libs/index.js +11 -0
  106. package/libs/index.js.map +1 -0
  107. package/package.json +125 -0
  108. package/src/App.css +42 -0
  109. package/src/App.tsx +35 -0
  110. package/src/__snapshots__/App.test.tsx.snap +56 -0
  111. package/src/components/.gitkeep +0 -0
  112. package/src/components/__snapshots__/fp.test.tsx.snap +3 -0
  113. package/src/components/badge/badge.scss +20 -0
  114. package/src/components/badge/badge.stories.tsx +54 -0
  115. package/src/components/badge/badge.tsx +17 -0
  116. package/src/components/breadcrumbs/bc-item.tsx +20 -0
  117. package/src/components/breadcrumbs/breadcrumb.scss +35 -0
  118. package/src/components/breadcrumbs/breadcrumb.stories.tsx +92 -0
  119. package/src/components/breadcrumbs/breadcrumb.tsx +218 -0
  120. package/src/components/buttons/button.scss +115 -0
  121. package/src/components/buttons/button.stories.tsx +57 -0
  122. package/src/components/buttons/button.test.tsx +104 -0
  123. package/src/components/buttons/button.tsx +64 -0
  124. package/src/components/cards/card-style.scss +0 -0
  125. package/src/components/cards/card.scss +43 -0
  126. package/src/components/cards/card.stories.tsx +114 -0
  127. package/src/components/cards/card.test.tsx +30 -0
  128. package/src/components/cards/card.tsx +135 -0
  129. package/src/components/cards/flex-card.tsx +15 -0
  130. package/src/components/details/details.scss +75 -0
  131. package/src/components/details/details.stories.tsx +122 -0
  132. package/src/components/details/details.tsx +77 -0
  133. package/src/components/form/README.mdx +70 -0
  134. package/src/components/form/fields.tsx +45 -0
  135. package/src/components/form/form.scss +87 -0
  136. package/src/components/form/form.stories.tsx +49 -0
  137. package/src/components/form/form.tsx +71 -0
  138. package/src/components/form/input.stories.tsx +155 -0
  139. package/src/components/form/inputs.tsx +84 -0
  140. package/src/components/form/select.stories.tsx +38 -0
  141. package/src/components/form/select.tsx +112 -0
  142. package/src/components/form/textarea.tsx +87 -0
  143. package/src/components/fp.test.tsx +56 -0
  144. package/src/components/fp.tsx +78 -0
  145. package/src/components/heading/heading.stories.tsx +75 -0
  146. package/src/components/heading/heading.tsx +27 -0
  147. package/src/components/icons/components/add.tsx +42 -0
  148. package/src/components/icons/components/arrow-down.tsx +52 -0
  149. package/src/components/icons/components/arrow-left.tsx +49 -0
  150. package/src/components/icons/components/arrow-right.tsx +52 -0
  151. package/src/components/icons/components/arrow-up.tsx +49 -0
  152. package/src/components/icons/components/chat.tsx +44 -0
  153. package/src/components/icons/components/code.tsx +50 -0
  154. package/src/components/icons/components/copy.tsx +51 -0
  155. package/src/components/icons/components/down.tsx +33 -0
  156. package/src/components/icons/components/home.tsx +57 -0
  157. package/src/components/icons/components/left.tsx +43 -0
  158. package/src/components/icons/components/minus.tsx +42 -0
  159. package/src/components/icons/components/pause-solid.tsx +48 -0
  160. package/src/components/icons/components/pause.tsx +63 -0
  161. package/src/components/icons/components/play-solid.tsx +44 -0
  162. package/src/components/icons/components/play.tsx +51 -0
  163. package/src/components/icons/components/remove.tsx +42 -0
  164. package/src/components/icons/components/resume-solid.tsx +52 -0
  165. package/src/components/icons/components/resume.tsx +57 -0
  166. package/src/components/icons/components/right.tsx +43 -0
  167. package/src/components/icons/components/star.tsx +38 -0
  168. package/src/components/icons/components/stop-solid.tsx +44 -0
  169. package/src/components/icons/components/stop.tsx +54 -0
  170. package/src/components/icons/components/svg.tsx +44 -0
  171. package/src/components/icons/components/up.tsx +31 -0
  172. package/src/components/icons/components/user.tsx +46 -0
  173. package/src/components/icons/icon.scss +15 -0
  174. package/src/components/icons/icon.stories.tsx +208 -0
  175. package/src/components/icons/icon.tsx +100 -0
  176. package/src/components/icons/index.ts +29 -0
  177. package/src/components/icons/types.ts +12 -0
  178. package/src/components/images/README.mdx +43 -0
  179. package/src/components/images/figure.stories.tsx +34 -0
  180. package/src/components/images/figure.tsx +44 -0
  181. package/src/components/images/img.scss +43 -0
  182. package/src/components/images/img.stories.tsx +24 -0
  183. package/src/components/images/img.test.tsx +43 -0
  184. package/src/components/images/img.tsx +93 -0
  185. package/src/components/images/place-holder.png +0 -0
  186. package/src/components/kit.tsx +56 -0
  187. package/src/components/layout/_header.scss +72 -0
  188. package/src/components/layout/footer.stories.tsx +34 -0
  189. package/src/components/layout/landmarks.scss +51 -0
  190. package/src/components/layout/landmarks.stories.tsx +54 -0
  191. package/src/components/layout/landmarks.tsx +149 -0
  192. package/src/components/layout/main.stories.tsx +90 -0
  193. package/src/components/link/link.scss +92 -0
  194. package/src/components/link/link.stories.tsx +74 -0
  195. package/src/components/link/link.tsx +48 -0
  196. package/src/components/list/list.stories.tsx +52 -0
  197. package/src/components/list/list.tsx +74 -0
  198. package/src/components/modal/dialog.tsx +50 -0
  199. package/src/components/modal/modal.tsx +85 -0
  200. package/src/components/nav/nav.scss +90 -0
  201. package/src/components/nav/nav.stories.tsx +96 -0
  202. package/src/components/nav/nav.tsx +76 -0
  203. package/src/components/popover/node_modules/.vitest/results.json +1 -0
  204. package/src/components/popover/popover.stories.tsx +31 -0
  205. package/src/components/popover/popover.test.tsx +39 -0
  206. package/src/components/popover/popover.tsx +85 -0
  207. package/src/components/progress/progress.scss +70 -0
  208. package/src/components/progress/progress.stories.tsx +51 -0
  209. package/src/components/progress/progress.tsx +82 -0
  210. package/src/components/readme.stories.mdx +7 -0
  211. package/src/components/styles/index.css +520 -0
  212. package/src/components/styles/index.css.map +1 -0
  213. package/src/components/tables/table-elements.tsx +57 -0
  214. package/src/components/tables/table.tsx +57 -0
  215. package/src/components/tag/tag.scss +56 -0
  216. package/src/components/tag/tag.stories.tsx +39 -0
  217. package/src/components/tag/tag.tsx +25 -0
  218. package/src/components/text/text.stories.tsx +67 -0
  219. package/src/components/text/text.tsx +93 -0
  220. package/src/components/text-to-speech/README.mdx +192 -0
  221. package/src/components/text-to-speech/TextInput.tsx +19 -0
  222. package/src/components/text-to-speech/TextToSpeech.stories.tsx +145 -0
  223. package/src/components/text-to-speech/TextToSpeech.tsx +94 -0
  224. package/src/components/text-to-speech/text-to-speech.scss +31 -0
  225. package/src/components/text-to-speech/useTextToSpeech.mdx +182 -0
  226. package/src/components/text-to-speech/useTextToSpeech.tsx +176 -0
  227. package/src/components/text-to-speech/views/TextToSpeechControls.tsx +117 -0
  228. package/src/components/ui.tsx +67 -0
  229. package/src/favicon.svg +15 -0
  230. package/src/hooks/popover/__snapshots__/popover.test.tsx.snap +88 -0
  231. package/src/hooks/popover/node_modules/.vitest/results.json +1 -0
  232. package/src/hooks/popover/popover.tsx +71 -0
  233. package/src/hooks/popover/use-popover.tsx +83 -0
  234. package/src/hooks.ts +1 -0
  235. package/src/icons.ts +1 -0
  236. package/src/index.css +13 -0
  237. package/src/index.scss +19 -0
  238. package/src/index.ts +35 -0
  239. package/src/libs/content.ts +30 -0
  240. package/src/logo.svg +7 -0
  241. package/src/main.tsx +10 -0
  242. package/src/patterns/.gitkeep +0 -0
  243. package/src/patterns/page/page-header.stories.tsx +44 -0
  244. package/src/patterns/page/page-header.tsx +78 -0
  245. package/src/sass/_elements.scss +17 -0
  246. package/src/sass/_globals.scss +162 -0
  247. package/src/sass/_layout.scss +51 -0
  248. package/src/sass/_loading-animation.scss +35 -0
  249. package/src/sass/_mixins.scss +10 -0
  250. package/src/sass/_properties.scss +106 -0
  251. package/src/sass/_reset.scss +183 -0
  252. package/src/sass/_type.scss +43 -0
  253. package/src/setupTest.ts +1 -0
  254. package/src/styles/badge/badge.css +22 -0
  255. package/src/styles/badge/badge.css.map +1 -0
  256. package/src/styles/breadcrumbs/breadcrumb.css +42 -0
  257. package/src/styles/breadcrumbs/breadcrumb.css.map +1 -0
  258. package/src/styles/buttons/button.css +93 -0
  259. package/src/styles/buttons/button.css.map +1 -0
  260. package/src/styles/cards/card-style.css +3 -0
  261. package/src/styles/cards/card-style.css.map +1 -0
  262. package/src/styles/cards/card.css +48 -0
  263. package/src/styles/cards/card.css.map +1 -0
  264. package/src/styles/details/details.css +69 -0
  265. package/src/styles/details/details.css.map +1 -0
  266. package/src/styles/dropdowns/dropdown.css.map +1 -0
  267. package/src/styles/form/form.css +93 -0
  268. package/src/styles/form/form.css.map +1 -0
  269. package/src/styles/form/style.css.map +1 -0
  270. package/src/styles/icons/icon.css +16 -0
  271. package/src/styles/icons/icon.css.map +1 -0
  272. package/src/styles/images/img.css +42 -0
  273. package/src/styles/images/img.css.map +1 -0
  274. package/src/styles/index.css +1330 -0
  275. package/src/styles/index.css.map +1 -0
  276. package/src/styles/layout/landmarks.css +155 -0
  277. package/src/styles/layout/landmarks.css.map +1 -0
  278. package/src/styles/link/link.css +88 -0
  279. package/src/styles/link/link.css.map +1 -0
  280. package/src/styles/nav/nav.css +85 -0
  281. package/src/styles/nav/nav.css.map +1 -0
  282. package/src/styles/progress/progress.css +54 -0
  283. package/src/styles/progress/progress.css.map +1 -0
  284. package/src/styles/progress/sass/progress.css.map +1 -0
  285. package/src/styles/styles/index.css +562 -0
  286. package/src/styles/styles/index.css.map +1 -0
  287. package/src/styles/tag/badge.css.map +1 -0
  288. package/src/styles/tag/tag.css +71 -0
  289. package/src/styles/tag/tag.css.map +1 -0
  290. package/src/styles/text-to-speech/text-to-speech.css +32 -0
  291. package/src/styles/text-to-speech/text-to-speech.css.map +1 -0
  292. package/src/test/setup.ts +6 -0
  293. package/src/types/component-props.ts +36 -0
  294. package/src/types/index.ts +2 -0
  295. package/src/types/input-props.ts +28 -0
  296. package/src/types/shared.ts +57 -0
  297. package/src/vite-env.d.ts +1 -0
@@ -0,0 +1,1330 @@
1
+ *,
2
+ *::before,
3
+ *::after {
4
+ box-sizing: border-box;
5
+ }
6
+
7
+ ::selection {
8
+ /* Optional */
9
+ /* It can be really hard to read highlighted text with a text-shadow, it should be removed when selected */
10
+ text-shadow: none;
11
+ /* NOTE: Using this means the color and background-color are set to transparent for selected text... */
12
+ /* So you can customise your styles below */
13
+ color: #fff;
14
+ background-color: #00f;
15
+ }
16
+
17
+ /*
18
+ 3. Allow percentage-based heights in the application
19
+ */
20
+ html,
21
+ body {
22
+ height: 100%;
23
+ font-size: 100%;
24
+ }
25
+
26
+ /* Set core root defaults */
27
+ html:focus-within {
28
+ scroll-behavior: smooth;
29
+ }
30
+
31
+ /* Remove default margin */
32
+ body,
33
+ h1,
34
+ h2,
35
+ h3,
36
+ h4,
37
+ p,
38
+ figure,
39
+ blockquote,
40
+ dl,
41
+ dd {
42
+ margin: 0;
43
+ }
44
+
45
+ /* Remove list styles on ul, ol elements with a list role, which suggests default styling will be removed */
46
+ /* Set core body defaults */
47
+ body {
48
+ min-height: 100vh;
49
+ text-rendering: optimizeSpeed;
50
+ line-height: 1.5;
51
+ }
52
+
53
+ /* A elements that don't have a class get default styles */
54
+ a:not([class]) {
55
+ text-decoration-skip-ink: auto;
56
+ }
57
+
58
+ a,
59
+ button {
60
+ cursor: pointer;
61
+ }
62
+
63
+ /* Make images easier to work with */
64
+ img,
65
+ picture,
66
+ video,
67
+ canvas {
68
+ display: block;
69
+ max-width: 100%;
70
+ aspect-ratio: auto;
71
+ }
72
+
73
+ img,
74
+ video,
75
+ iframe {
76
+ max-inline-size: 100%;
77
+ block-size: auto;
78
+ }
79
+
80
+ img {
81
+ max-width: 100%;
82
+ height: auto;
83
+ vertical-align: middle;
84
+ font-style: italic;
85
+ background-repeat: no-repeat;
86
+ background-size: cover;
87
+ shape-margin: 0.75rem;
88
+ }
89
+
90
+ svg {
91
+ display: inline-block;
92
+ }
93
+
94
+ /* Inherit fonts for inputs and buttons */
95
+ input,
96
+ textarea,
97
+ select {
98
+ font-family: inherit;
99
+ font-size: inherit;
100
+ font-style: inherit;
101
+ font-weight: inherit;
102
+ font-variant: inherit;
103
+ line-height: inherit;
104
+ background-color: inherit;
105
+ }
106
+
107
+ /* Inherit fonts for inputs and buttons */
108
+ :where(button) {
109
+ font-family: inherit;
110
+ }
111
+
112
+ /* Remove all animations, transitions and smooth scroll for people that prefer not to see them */
113
+ @media (prefers-reduced-motion: reduce) {
114
+ html:focus-within {
115
+ scroll-behavior: auto;
116
+ }
117
+ *,
118
+ *::before,
119
+ *::after {
120
+ animation-duration: 0.01ms !important;
121
+ animation-iteration-count: 1 !important;
122
+ transition-duration: 0.01ms !important;
123
+ scroll-behavior: auto !important;
124
+ }
125
+ }
126
+ /* Create a root stacking context */
127
+ #root,
128
+ #__next {
129
+ isolation: isolate;
130
+ }
131
+
132
+ p,
133
+ h1,
134
+ h2,
135
+ h3,
136
+ h4,
137
+ h5,
138
+ h6 {
139
+ overflow-wrap: break-word;
140
+ }
141
+
142
+ *:focus {
143
+ outline: none;
144
+ outline-style: auto;
145
+ }
146
+
147
+ b {
148
+ font-weight: normal;
149
+ }
150
+
151
+ /* Removes spacing between cells in tables */
152
+ table {
153
+ border-collapse: collapse;
154
+ }
155
+
156
+ svg {
157
+ max-width: inline-size;
158
+ /* Optional - make the SVG's fill be the same as the inherited color */
159
+ /* Prevent the SVG from altering cursor interaction */
160
+ pointer-events: none;
161
+ }
162
+ svg[role=img] {
163
+ display: inline-flex;
164
+ align-items: center;
165
+ width: auto;
166
+ }
167
+
168
+ :root {
169
+ --weight: 600;
170
+ --fs: clamp(0.96rem, 1vw + 0.5rem, 1.6rem);
171
+ --p: 1rem;
172
+ --px: var(--p);
173
+ --py: var(--p);
174
+ --m: 0.75rem;
175
+ --mx: var(--m);
176
+ --my: var(--m);
177
+ --weight: 600;
178
+ --radius: 0.5rem;
179
+ --placeholder-color: gray;
180
+ --placeholder-style: italic;
181
+ --placeholder-fs: smaller;
182
+ --transition: all 0.25s linear;
183
+ --fs-0: clamp(.9rem, 4vw - 1rem, 1.12rem);
184
+ --fs-1: clamp(0.65rem, 1.3vw + 0.25rem, 0.75rem);
185
+ --fs-2: clamp(0.7rem, 2vw - 0.5rem, 0.875rem);
186
+ --fs-3: clamp(0.85rem, 2vw - 0.25rem, 0.925rem);
187
+ --fs-4: clamp(0.9rem, 2vw - 0.25rem, 1.313rem);
188
+ --fs-5: clamp(0.94rem, 2vw - 0.25rem, 1.463rem);
189
+ --fs-6: clamp(1rem, 2vw + 0.75rem, 2rem);
190
+ --fs-7: clamp(1.1rem, 4vw - 0.25rem, 2.375rem);
191
+ --fs-8: clamp(1.2rem, 4vw + 0.25rem, 3rem);
192
+ --fs-9: clamp(1.2rem, 4vw + 0.5rem, 4rem);
193
+ --fs-10: clamp(1.2rem, 5vw + 0.5rem, 4.5rem);
194
+ --fs-11: clamp(1.2rem, 5vw + 0.75rem, 5.063rem);
195
+ --fs-12: clamp(1.5rem, 5vw + 0.9rem, 6.375rem);
196
+ --fs-xs: var(--fs-1);
197
+ --fs-sm: var(--fs-3);
198
+ --fs-base: var(--fs-0);
199
+ --fs-md: var(--fs-5);
200
+ --fs-lg: var(--fs-7);
201
+ --fs-xl: var(--fs-9);
202
+ --fs-xxl: var(--fs-11);
203
+ --fs-xxxl: var(--fs-12);
204
+ --display: var(--fs-12);
205
+ --display-md: var(--fs-11);
206
+ --display-sm: var(--fs-10);
207
+ --h1: var(--fs-11);
208
+ --h2: var(--fs-9);
209
+ --h3: var(--fs-8);
210
+ --h4: var(--fs-7);
211
+ --h5: var(--fs-6);
212
+ --h6: var(--fs-5);
213
+ --spc-0: 0;
214
+ --spc-1: 0.25rem;
215
+ --spc-2: 0.5rem;
216
+ --spc-3: 0.75rem;
217
+ --spc-4: 1rem;
218
+ --spc-5: 1.5;
219
+ --spc-6: 2rem;
220
+ --spc-7: 2.5rem;
221
+ --spc-8: 3rem;
222
+ --spc-9: 3.5rem;
223
+ --spc-10: 4rem;
224
+ --spc-11: 4.5rem;
225
+ --spc-12: 5rem;
226
+ --spc-13: 6rem;
227
+ --spc-14: 7rem;
228
+ --spc-15: 8rem;
229
+ --spc-16: 9rem;
230
+ --spc-17: 10rem;
231
+ --spc-18: 11rem;
232
+ --spc-19: 12rem;
233
+ --spc-20: 13rem;
234
+ --spc: var(--spc-4);
235
+ --spc-xs: var(--spc-1);
236
+ --spc-sm: var(--spc-3);
237
+ --spc-base: var(--spc-5);
238
+ --spc-md: var(--spc-7);
239
+ --spc-lg: var(--spc-9);
240
+ --spc-xl: var(--spc-11);
241
+ --spc-xxl: var(--spc-13);
242
+ --vw-xs: 5vw;
243
+ --vw-sm: 10vw;
244
+ --vw-md: 20vw;
245
+ --vw-lg: 50vw;
246
+ --vw-xl: 80vw;
247
+ --vw-xxl: 95vw;
248
+ --vh-xs: 5vh;
249
+ --vh-sm: 10vh;
250
+ --vh-md: 20vh;
251
+ --vh-lg: 50vh;
252
+ --vh-xl: 80vh;
253
+ --vh-xxl: 95vh;
254
+ }
255
+
256
+ :root {
257
+ --font-family: -apple-system, BlinkMacSystemFont, "Segoe UI",
258
+ "Helvetica Neue", Arial, "Noto Sans", sans-serif, "Apple Color Emoji",
259
+ "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";
260
+ --TRUE: initial;
261
+ --FALSE: ;
262
+ --fs-weight: 500;
263
+ }
264
+
265
+ html {
266
+ font-family: var(--font-family);
267
+ font-size: 100%;
268
+ }
269
+
270
+ body {
271
+ display: var(--body-dsp, flex);
272
+ min-height: 100%;
273
+ flex-direction: var(--body-direction, column);
274
+ min-width: 20.3125rem;
275
+ font-size: var(--fs-0);
276
+ }
277
+ body main {
278
+ flex-grow: 1;
279
+ }
280
+ body > a[href^="#"] {
281
+ position: absolute;
282
+ top: -4rem;
283
+ left: 0;
284
+ width: 100%;
285
+ display: block;
286
+ justify-content: flex-start;
287
+ padding: 1rem;
288
+ z-index: 100;
289
+ transition: top 0.3s;
290
+ border-radius: 0;
291
+ background-color: whitesmoke;
292
+ }
293
+ body > a[href^="#"]:focus {
294
+ top: 0;
295
+ }
296
+
297
+ * + div,
298
+ * + ul,
299
+ * + section {
300
+ margin-block-start: 1rem;
301
+ }
302
+
303
+ main,
304
+ header,
305
+ footer,
306
+ section {
307
+ font-size: var(--fs-0);
308
+ }
309
+ main > section,
310
+ header > section,
311
+ footer > section,
312
+ section > section {
313
+ margin-inline: auto;
314
+ width: var(--content-w, 80%);
315
+ }
316
+ main > div,
317
+ header > div,
318
+ footer > div,
319
+ section > div {
320
+ width: 100%;
321
+ text-align: center;
322
+ }
323
+
324
+ section:not(nav) {
325
+ margin-inline: var(--sect-y, auto);
326
+ padding-block: var(--sect-x, --spc-4);
327
+ }
328
+
329
+ p {
330
+ max-width: 75ch;
331
+ font-size: var(--fs-0);
332
+ line-height: 1.6;
333
+ }
334
+ p + p {
335
+ margin-block-start: 1rem;
336
+ }
337
+
338
+ ul,
339
+ ol {
340
+ display: var(--li-display, flex);
341
+ flex-direction: var(--li-direction, column);
342
+ gap: var(--li-gap, 0.2rem);
343
+ flex-wrap: var(--li-wrap, nowrap);
344
+ padding-inline-start: var(--li-ps, var(--spc-0));
345
+ }
346
+ ul[role=list], ul[data-list~=unstyled],
347
+ ol[role=list],
348
+ ol[data-list~=unstyled] {
349
+ list-style: var(--li-style, none);
350
+ margin-block-end: var(--li-my, 0);
351
+ margin-block-start: var(--li-mx, 0);
352
+ }
353
+ ul[data-list~=inline],
354
+ ol[data-list~=inline] {
355
+ --li-direction: row;
356
+ --li-gap: 1rem;
357
+ --li-wrap: wrap;
358
+ --li-px: 0;
359
+ }
360
+
361
+ sup {
362
+ vertical-align: super;
363
+ font-size: smaller;
364
+ }
365
+
366
+ blockquote {
367
+ padding: 1rem;
368
+ border-left: 5px lightgray solid;
369
+ }
370
+
371
+ strong {
372
+ font-weight: var(--fs-weight);
373
+ }
374
+
375
+ h1,
376
+ h2,
377
+ h3,
378
+ h4,
379
+ h5,
380
+ h6 {
381
+ font-weight: var(--fs-weight);
382
+ margin-block-start: 0;
383
+ margin-block-end: 1rem;
384
+ line-height: 1.5;
385
+ }
386
+
387
+ h1 {
388
+ font-size: var(--h1, var(--fs-7));
389
+ }
390
+
391
+ h2 {
392
+ font-size: var(--h2, var(--fs-6));
393
+ }
394
+
395
+ h3 {
396
+ font-size: var(--h3, var(--fs-5));
397
+ }
398
+
399
+ h4 {
400
+ font-size: var(--h4, var(--fs-4));
401
+ }
402
+
403
+ h5 {
404
+ font-size: var(--h5, var(--fs-3));
405
+ }
406
+
407
+ h6 {
408
+ font-size: var(--h6, var(--fs-2));
409
+ }
410
+
411
+ hr {
412
+ --hr-h: 0.0625rem;
413
+ --hr-color: lightgray;
414
+ --hr-my: 1.5rem;
415
+ --hr-style: dotted;
416
+ border: none;
417
+ border-bottom: var(--hr-h) var(--hr-style) var(--hr-color);
418
+ margin-block: var(--hr-my);
419
+ }
420
+
421
+ h1[data-ui~=display], h1:has(span:first-of-type) > span,
422
+ h2[data-ui~=display],
423
+ h2:has(span:first-of-type) > span,
424
+ h3[data-ui~=display],
425
+ h3:has(span:first-of-type) > span,
426
+ h4[data-ui~=display],
427
+ h4:has(span:first-of-type) > span,
428
+ h5[data-ui~=display],
429
+ h5:has(span:first-of-type) > span,
430
+ h6[data-ui~=display],
431
+ h6:has(span:first-of-type) > span {
432
+ --weight: 600;
433
+ --title-1: var(--h1);
434
+ --title-2: var(--h2);
435
+ --title-3: var(--h3);
436
+ --title-4: var(--h4);
437
+ --title-5: var(--h5);
438
+ --title-6: var(--h6);
439
+ }
440
+
441
+ button {
442
+ --btn-sm: calc(12rem / 16);
443
+ --btn-md: calc(16rem / 16);
444
+ --btn-lg: calc(21rem / 16);
445
+ --btn-pill: 100rem;
446
+ --btn-height: calc(40rem / 16);
447
+ --fs: 0.95rem;
448
+ --btn-fs: calc(15rem / 16);
449
+ --btn-bg: lightgray;
450
+ --btn-width: max-content;
451
+ font-size: var(--btn-fs);
452
+ font-weight: var(--btn-fw, 500);
453
+ height: var(--btn-height, 2.5rem);
454
+ min-height: var(--btn-height);
455
+ place-items: var(--btn-place, center);
456
+ padding-inline: var(--btn-px, calc(var(--btn-fs) + 1.1%));
457
+ padding-block: var(--btn-py, calc(var(--btn-fs) + 0.75%));
458
+ border: var(--btn-bdr, none);
459
+ border-radius: var(--btn-rds, 0.375rem);
460
+ text-decoration: var(--btn-deco, none);
461
+ color: var(--btn-cl, currentColor);
462
+ display: var(--btn-dsp, inline-flex);
463
+ gap: var(--btn-gap, 0.2rem);
464
+ white-space: var(--btn-wspc, inherit);
465
+ margin: var(--btn-spc, 0);
466
+ transition: var(--tran-all);
467
+ background-color: var(--btn-bg, var(--btn));
468
+ outline: none;
469
+ width: var(--btn-width);
470
+ }
471
+ button[type] {
472
+ background-color: var(--btn-bg, var(--neutral-300));
473
+ --btn-bdr: solid var(--btn-sg);
474
+ }
475
+ button[type=submit], button[style*=submit] {
476
+ --btn-bg: var(--primary-500, royal-blue);
477
+ --btn-color: white;
478
+ }
479
+ button[disabled], button[aria-disabled=true] {
480
+ cursor: var(--btn-cursor, not-allowed);
481
+ }
482
+ button[disabled]:is(:hover, :focus), button[aria-disabled=true]:is(:hover, :focus) {
483
+ transform: none;
484
+ }
485
+ button:is(:hover, :focus) {
486
+ background-color: var(--btn-bg, var(--btn, lightgray));
487
+ filter: invert(1) hue-rotate 180deg;
488
+ transform: scale(0.95) var(--line-style, solid);
489
+ outline-offset: var(--line-offset, 5px);
490
+ }
491
+ button:is(:hover, :focus)[aria-disabled=true] {
492
+ transform: none;
493
+ opacity: var(--btn-opacity, 0.5);
494
+ }
495
+ button[type=reset] {
496
+ --btn-bg: transparent;
497
+ --btn-color: gray;
498
+ --btn-bdr: gray thin solid;
499
+ }
500
+ button[type=submit] {
501
+ --btn-bg: var(--primary-700, blue);
502
+ --btn-cl: #fff;
503
+ --btn-color: rgb(231, 231, 231);
504
+ --btn-border: none;
505
+ }
506
+ button[data-fp-btn~=pill], button[data-btn~=pill], button[data-style~=pill] {
507
+ border-radius: var(--btn-pill, 100rem);
508
+ }
509
+ button[data-btn~=sm] {
510
+ --btn-fs: var(--btn-sm);
511
+ }
512
+ button[data-btn~=md] {
513
+ --btn-fs: var(--btn-md);
514
+ }
515
+ button[data-btn~=lg] {
516
+ --btn-fs: var(--btn-lg);
517
+ }
518
+ button[data-btn~=text] {
519
+ --btn-bg: transparent;
520
+ --btn-cl: currentColor;
521
+ --btn-bdr: none;
522
+ --btn-height: unset;
523
+ --btn-width: unset;
524
+ --btn-py: 0.75rem;
525
+ --btn-px: 0.75rem;
526
+ }
527
+ button[data-btn~=text]:is(:hover, :focus) {
528
+ background-color: transparent;
529
+ outline: 0.07rem solid var(--btn-cl);
530
+ outline-offset: 0;
531
+ }
532
+
533
+ p[role=note],
534
+ [role=note],
535
+ small > span,
536
+ [data-tag] {
537
+ --beta: var(--warning-500, orange);
538
+ --stable: var(--success-500, green);
539
+ --production: rgb(44, 71, 151);
540
+ --tag-px: 0.7rem;
541
+ --tag-py: 0.2rem;
542
+ --tag-fs: 0.8rem;
543
+ --tag-radius: 99rem;
544
+ --tag-bg: lightgray;
545
+ --tag-fw: 500;
546
+ --tag-color: currentColor;
547
+ --tag-display: inline-block;
548
+ display: var(--tag-display);
549
+ padding-inline: var(--tag-px);
550
+ padding-block: var(--tag-py);
551
+ font-size: var(--tag-fs);
552
+ color: var(--tag-color);
553
+ background-color: var(--tag-bg);
554
+ border-radius: var(--tag-radius);
555
+ }
556
+ p[role=note][data-tag~=beta],
557
+ [role=note][data-tag~=beta],
558
+ small > span[data-tag~=beta],
559
+ [data-tag][data-tag~=beta] {
560
+ background-color: var(--beta);
561
+ }
562
+ p[role=note][data-tag~=stable],
563
+ [role=note][data-tag~=stable],
564
+ small > span[data-tag~=stable],
565
+ [data-tag][data-tag~=stable] {
566
+ --tag-cl: white;
567
+ --tag-bg: var(--stable);
568
+ }
569
+ p[role=note][data-tag~=production],
570
+ [role=note][data-tag~=production],
571
+ small > span[data-tag~=production],
572
+ [data-tag][data-tag~=production] {
573
+ --tag-color: white;
574
+ --tag-bg: var(--production);
575
+ }
576
+ p[role=note][data-tag~=beta],
577
+ [role=note][data-tag~=beta],
578
+ small > span[data-tag~=beta],
579
+ [data-tag][data-tag~=beta] {
580
+ --tag-color: currentColor;
581
+ --tag-bg: var(--beta);
582
+ }
583
+ p[role=note][data-tag~=alpha],
584
+ [role=note][data-tag~=alpha],
585
+ small > span[data-tag~=alpha],
586
+ [data-tag][data-tag~=alpha] {
587
+ --tag-color: currentColor;
588
+ --tag-bg: var(--beta);
589
+ }
590
+ p[role=note][data-tag~=beta],
591
+ [role=note][data-tag~=beta],
592
+ small > span[data-tag~=beta],
593
+ [data-tag][data-tag~=beta] {
594
+ --tag-color: currentColor;
595
+ --tag-bg: var(--beta);
596
+ }
597
+
598
+ p[role=note] {
599
+ --tag-display: block;
600
+ --border-radius: 0.5rem;
601
+ }
602
+
603
+ img[alt] {
604
+ --img-max-width: 100%;
605
+ --img-height: auto;
606
+ --img-object-fit: cover;
607
+ --img-object-position: center;
608
+ --img-aspect-ratio: auto 2/3;
609
+ --img-display: inline-block;
610
+ max-width: var(--img-max-width);
611
+ max-inline-size: var(--img-max-width);
612
+ block-size: var(--img-height);
613
+ object-fit: var(--img-object-fit);
614
+ object-position: var(--img-object-position);
615
+ aspect-ratio: var(--img-aspect-ratio);
616
+ display: var(--img-display);
617
+ vertical-align: middle;
618
+ font-style: italic;
619
+ background-size: cover;
620
+ background-repeat: no-repeat;
621
+ shape-margin: var(--spc-3);
622
+ }
623
+
624
+ figure:has(img[alt]) {
625
+ --fig-display: flex;
626
+ --fig-p: 0.5rem;
627
+ --fig-bg: rgba(245, 245, 245, 0.683);
628
+ --fig-w: fit-content;
629
+ display: var(--fig-display);
630
+ position: relative;
631
+ padding: var(--fig-p);
632
+ background-color: var(--fig-bg);
633
+ max-width: var(--fig-w);
634
+ }
635
+ figure:has(img[alt]) > figcaption {
636
+ position: absolute;
637
+ bottom: var(--fig-bottom, var(--fig-p));
638
+ left: var(--fig-left, var(--fig-p));
639
+ right: var(--fig-right, var(--fig-p));
640
+ padding: var(--caption-p, var(--spc-3));
641
+ background-color: var(--fig-bg);
642
+ }
643
+
644
+ [data-card],
645
+ [data-component~=card] {
646
+ --card-p: 2rem;
647
+ --card-bg: #fff;
648
+ --card-radius: calc(var(--card-p) / 3);
649
+ --card-shadow: 0 0 1rem rgba(0, 0, 0, 0.1);
650
+ --card-position: relative;
651
+ --card-display: flex;
652
+ --card-direction: column;
653
+ --card-gap: 1rem;
654
+ position: relative;
655
+ display: var(--card-display);
656
+ display: var(--card-display);
657
+ flex-direction: var(--card-direction);
658
+ gap: var(--card-gap);
659
+ box-shadow: var(--card-shadow);
660
+ border-radius: var(--card-radius);
661
+ background-color: var(--card-bg);
662
+ }
663
+ [data-card] [data-card-content],
664
+ [data-card] h3,
665
+ [data-card] h2,
666
+ [data-component~=card] [data-card-content],
667
+ [data-component~=card] h3,
668
+ [data-component~=card] h2 {
669
+ margin-block-end: 0;
670
+ }
671
+ [data-card] > div,
672
+ [data-component~=card] > div {
673
+ height: 100%;
674
+ display: var(--card-display);
675
+ flex-direction: var(--card-direction);
676
+ gap: var(--card-gap);
677
+ }
678
+ [data-card] > div article,
679
+ [data-component~=card] > div article {
680
+ flex: 2;
681
+ }
682
+ [data-card] + div,
683
+ [data-component~=card] + div {
684
+ margin-block-start: 0;
685
+ }
686
+
687
+ [data-card] > * {
688
+ padding: var(--card-p);
689
+ }
690
+
691
+ progress {
692
+ /* Revert all styles */
693
+ all: revert;
694
+ --progress-w: 100%;
695
+ --progress-h: 1rem;
696
+ --progress-bg: #cccccc;
697
+ --progress-color: rgb(71, 71, 245);
698
+ --progress-accent-color: var(--progress-color);
699
+ /* This code changes the color of the progress bar. */
700
+ /* The variable names indicate the colors that are used. */
701
+ /* The colors are used in the progress bar. */
702
+ /* If the progress element is busy, remove the revert styles */
703
+ }
704
+ progress[value] {
705
+ width: var(--progress-w);
706
+ height: var(--progress-h);
707
+ background-color: var(--progress-bg);
708
+ accent-color: var(--progress-accent-color);
709
+ /* Styling for the remaining part of the& bar */
710
+ }
711
+ progress[value]::-webkit-progress-value {
712
+ /* Color for Chrome, Safari, and newer Opera */
713
+ background-color: var(--progress-accent-color);
714
+ accent-color: var(--progress-accent-color);
715
+ }
716
+ progress[value]::-moz-progress-bar {
717
+ /* Color for Firefox */
718
+ background-color: var(--progress-accent-color);
719
+ accent-color: var(--progress-accent-color);
720
+ }
721
+ progress[value]::-webkit-progress-bar {
722
+ /* Background for Chrome, Safari, and newer Opera */
723
+ background-color: var(--progress-background-color);
724
+ accent-color: var(--progress-accent-color);
725
+ }
726
+ progress[aria-busy] {
727
+ width: var(--progress-w);
728
+ height: var(--progress-h);
729
+ accent-color: var(--progress-accent-color);
730
+ /* Styling for the remaining part of the& bar */
731
+ }
732
+ progress[aria-busy]::-webkit-progress-value {
733
+ /* Color for Chrome, Safari, and newer Opera */
734
+ accent-color: var(--progress-accent-color);
735
+ }
736
+ progress[aria-busy]::-moz-progress-bar {
737
+ accent-color: var(--progress-accent-color);
738
+ }
739
+ progress[aria-busy]::-webkit-progress-bar {
740
+ /* Background for Chrome, Safari, and newer Opera */
741
+ accent-color: var(--progress-accent-color);
742
+ }
743
+
744
+ details {
745
+ --details-w: 100%;
746
+ --details-h: fit-content;
747
+ --details-border: 1px solid #dfdfdf;
748
+ --details-display: flex;
749
+ --details-justify: flex-start;
750
+ --details-direction: columns;
751
+ --details-gap: 5rem;
752
+ --details-px: 1.5rem;
753
+ --details-py: 1.5rem;
754
+ --details-radius: 0.5rem;
755
+ --summary-cursor: pointer;
756
+ --summary-transitions: all 0.75s linear;
757
+ --summary-display: flex;
758
+ --summary-justify: flex-start;
759
+ --summary-align: center;
760
+ --summary-gap: 0.5rem;
761
+ --max-h-closed: 6.25rem;
762
+ --max-h-open: 50rem;
763
+ display: var(--details-display);
764
+ flex-direction: var(--details-direction);
765
+ justify-content: var(--details-justify);
766
+ gap: var(--details-gap);
767
+ width: var(--details-w);
768
+ border: var(--details-border);
769
+ transition: var(--summary-transitions);
770
+ max-height: var(--max-h-closed);
771
+ overflow: clip;
772
+ border-radius: var(--details-radius);
773
+ }
774
+ details::marker {
775
+ content: none;
776
+ }
777
+ details summary {
778
+ display: var(--summary-display);
779
+ justify-content: var(--summary-justify);
780
+ align-items: var(--summary-align);
781
+ padding-inline: var(--summary-px, var(--details-px));
782
+ padding-block: var(--summary-py, var(--details-py));
783
+ gap: var(--summary-gap);
784
+ list-style: none;
785
+ /* This ensures no bullet points are shown */
786
+ }
787
+ details summary::-webkit-details-marker {
788
+ display: none;
789
+ }
790
+ details summary:hover {
791
+ cursor: var(--summary-cursor);
792
+ }
793
+ details summary > section {
794
+ width: var(--details-w);
795
+ }
796
+ details > section {
797
+ padding-inline: var(--details-px);
798
+ padding-block: var(--details-py);
799
+ border: 1px transparent solid;
800
+ }
801
+ details[open] {
802
+ max-height: var(--max-h-open);
803
+ transition: var(--summary-transitions);
804
+ }
805
+ details[open] > summary {
806
+ border-bottom: var(--details-border);
807
+ }
808
+ details[open] > section {
809
+ max-height: var(--max-h-open);
810
+ }
811
+
812
+ a[href] {
813
+ --link-decoration: none;
814
+ --link-color: #085ab7;
815
+ --link-bg: transparent;
816
+ --link-px: 0;
817
+ --link-py: 0;
818
+ --link-transition: all 0.75s ease-in-out;
819
+ --link-fs: 1rem;
820
+ --link-radius: 0.25rem;
821
+ --link-skip-ink: auto;
822
+ --link-decoration-offset: 1.5px;
823
+ --link-decoration-thickness: 3px;
824
+ --link-decoration: color: var(--link-color) var(--link-decoration-offset)
825
+ var(--link-decoration-thickness) var(--link-skip-ink);
826
+ --link-decoration-thickness: 3px;
827
+ --link-decoration: color: var(--link-color) var(--link-decoration-offset)
828
+ var(--link-decoration-thickness) var(--link-skip-ink);
829
+ color: var(--link-color);
830
+ font-size: var(--link-fs);
831
+ text-decoration: var(--link-decoration);
832
+ text-underline-offset: var(--link-decoration-offset);
833
+ text-decoration-skip-ink: var(--link-skip-ink);
834
+ background-color: var(--link-bg);
835
+ border-radius: var(--link-radius);
836
+ background-color: var(--link-bg);
837
+ border-radius: var(--link-radius);
838
+ font-weight: var(--link-weight);
839
+ }
840
+ a[href] > i,
841
+ a[href] > b {
842
+ font-weight: var(--link-weight);
843
+ font-style: normal;
844
+ }
845
+ a[href]:hover {
846
+ --link-decoration: underline;
847
+ }
848
+ a[href]:focus {
849
+ outline: none;
850
+ --link-decoration: underline;
851
+ }
852
+ a[href]:visited, a[href]:active {
853
+ --link-color: currentColor;
854
+ }
855
+ a[href]:has(> b), a[href][data-link~=btn], a[href]:has(> i) {
856
+ --link-button-color: var(--link-color);
857
+ --link-bg: transparent;
858
+ --link-decoration: none;
859
+ --link-border: 2px currentColor solid;
860
+ --link-fs: 0.9rem;
861
+ background-color: var(--link-bg);
862
+ font-style: normal;
863
+ font-size: var(--link-fs);
864
+ color: var(--link-button-color);
865
+ padding-inline: var(--link-fs);
866
+ padding-block: calc(var(--link-fs) - 0.4rem);
867
+ border-radius: var(--link-radius, 99rem);
868
+ display: inline-flex;
869
+ outline: var(--link-border);
870
+ --scale-transition: transform 0.25s ease;
871
+ --scale: scale(1);
872
+ --scale-to: scale(1.05);
873
+ transform: var(--scale);
874
+ transition: var(--scale-transition);
875
+ }
876
+ a[href]:has(> b):focus, a[href][data-link~=btn]:focus, a[href]:has(> i):focus {
877
+ outline: var(--link-border);
878
+ --link-decoration: none;
879
+ }
880
+ a[href]:has(> b):hover, a[href][data-link~=btn]:hover, a[href]:has(> i):hover {
881
+ --link-decoration: none;
882
+ }
883
+ a[href]:has(> b):hover, a[href][data-link~=btn]:hover, a[href]:has(> i):hover {
884
+ transform: var(--scale-to);
885
+ }
886
+ a[href][data-link~=pill], a[href]:has(> i) {
887
+ --link-radius: 99rem;
888
+ --link-decoration: none;
889
+ font-style: normal;
890
+ }
891
+ a[href][data-link~=pill]:hover, a[href][data-link~=pill]:focus, a[href]:has(> i):hover, a[href]:has(> i):focus {
892
+ --link-decoration: none;
893
+ }
894
+
895
+ header > section {
896
+ width: auto;
897
+ }
898
+
899
+ header,
900
+ [data-hero],
901
+ [data-grid~=overlay] {
902
+ --overlay-grid-area: overlay;
903
+ --overlay-placement: center;
904
+ --overlay-display: grid;
905
+ --overlay-padding: 2rem;
906
+ --overlay-w: 100%;
907
+ --overlay-h: 40vh;
908
+ --overlay-max-h: 500px;
909
+ --overlay-color: currentColor;
910
+ --overlay-content-w: 80%;
911
+ --overlay-gap: 2rem;
912
+ --overlay-bg: whitesmoke;
913
+ --overlay-px: auto;
914
+ --overlay-py: auto;
915
+ --overlay-mx: auto;
916
+ --overlay-my: auto;
917
+ grid-template-areas: "overlay";
918
+ display: var(--overlay-display);
919
+ place-items: var(--overlay-placement);
920
+ align-items: var(--overlay-placement);
921
+ min-height: var(--overlay-h);
922
+ width: var(--overlay-w);
923
+ color: var(--overlay-color);
924
+ background-color: var(--overlay-bg);
925
+ min-width: 20rem;
926
+ }
927
+
928
+ header > *,
929
+ [data-hero] > *,
930
+ [data-grid~=overlay] > * {
931
+ grid-area: overlay;
932
+ }
933
+
934
+ header > img,
935
+ [data-hero] > img,
936
+ [data-grid~=overlay] > img {
937
+ width: var(--overlay-w);
938
+ background-size: contain;
939
+ }
940
+
941
+ header > div,
942
+ header > section,
943
+ [data-hero] > div,
944
+ [data-hero] > section,
945
+ [data-grid~=overlay] > div,
946
+ [data-grid~=overlay] > section {
947
+ --overlay-display: flex;
948
+ max-width: var(--overlay-content-w);
949
+ padding-inline: var(--spc-4);
950
+ margin-inline: var(--overlay-mx);
951
+ gap: var(--overlay-gap);
952
+ text-align: center;
953
+ }
954
+
955
+ header > div p,
956
+ header > section p,
957
+ [data-hero] > div p,
958
+ [data-hero] > section p,
959
+ [data-grid~=overlay] > div p,
960
+ [data-grid~=overlay] > section p {
961
+ width: auto;
962
+ max-width: 60ch;
963
+ font-size: var(--fs-8);
964
+ line-height: 1.4;
965
+ }
966
+
967
+ header > div > h1,
968
+ header > div > h2,
969
+ header > section > h1,
970
+ header > section > h2,
971
+ [data-hero] > div > h1,
972
+ [data-hero] > div > h2,
973
+ [data-hero] > section > h1,
974
+ [data-hero] > section > h2,
975
+ [data-grid~=overlay] > div > h1,
976
+ [data-grid~=overlay] > div > h2,
977
+ [data-grid~=overlay] > section > h1,
978
+ [data-grid~=overlay] > section > h2 {
979
+ line-height: var(--header-lh, 1.1);
980
+ font-weight: 500;
981
+ }
982
+
983
+ header > div > h1,
984
+ header > section > h1,
985
+ [data-hero] > div > h1,
986
+ [data-hero] > section > h1,
987
+ [data-grid~=overlay] > div > h1,
988
+ [data-grid~=overlay] > section > h1 {
989
+ font-size: var(--fs-12);
990
+ }
991
+
992
+ header > div > h2,
993
+ header > section > h2,
994
+ [data-hero] > div > h2,
995
+ [data-hero] > section > h2,
996
+ [data-grid~=overlay] > div > h2,
997
+ [data-grid~=overlay] > section > h2 {
998
+ font-size: var(--fs-11);
999
+ }
1000
+
1001
+ header > div > h3,
1002
+ header > section > h3,
1003
+ [data-hero] > div > h3,
1004
+ [data-hero] > section > h3,
1005
+ [data-grid~=overlay] > div > h3,
1006
+ [data-grid~=overlay] > section > h3 {
1007
+ font-size: var(--fs-10);
1008
+ }
1009
+
1010
+ main,
1011
+ footer {
1012
+ --content-w: min(100%, 1480px);
1013
+ --content-mx: auto;
1014
+ --content-px: 1rem;
1015
+ --content-gap: 2rem;
1016
+ padding-block: var(--overlay-padding);
1017
+ }
1018
+ main > section,
1019
+ footer > section {
1020
+ width: var(--content-w);
1021
+ margin-inline: var(--content-mx);
1022
+ padding-inline: var(--spc-6);
1023
+ }
1024
+
1025
+ main {
1026
+ flex: 1;
1027
+ font-size: var(--fs-3);
1028
+ }
1029
+ main > section[aria-label],
1030
+ main > section {
1031
+ width: var(--content-w);
1032
+ margin-inline: var(--content-mx);
1033
+ }
1034
+ main > section[aria-label]:has(> article, > aside),
1035
+ main > section:has(> article, > aside) {
1036
+ display: flex;
1037
+ flex-wrap: wrap;
1038
+ flex: 1;
1039
+ gap: var(--content-gap);
1040
+ }
1041
+ main > section[aria-label]:has(> article, > aside) > article,
1042
+ main > section:has(> article, > aside) > article {
1043
+ flex-basis: 0;
1044
+ flex-grow: 999;
1045
+ min-inline-size: 50%;
1046
+ }
1047
+ main > section[aria-label]:has(> article, > aside) > aside,
1048
+ main > section:has(> article, > aside) > aside {
1049
+ flex-basis: 20rem;
1050
+ flex-grow: 1;
1051
+ }
1052
+
1053
+ footer > div {
1054
+ display: flex;
1055
+ align-items: center;
1056
+ justify-content: center;
1057
+ min-height: 5rem;
1058
+ text-align: center;
1059
+ }
1060
+
1061
+ sup:has(> span) {
1062
+ --badge-bg: lightgray;
1063
+ --badge-color: currentColor;
1064
+ --badge-radius: 0.15rem;
1065
+ --badge-padding: 0.15rem;
1066
+ --badge-v-align: 0.5rem;
1067
+ --badge-fs: clamp(0.4rem, 0.5rem + 0.5vw, 7rem);
1068
+ background-color: var(--badge-bg);
1069
+ color: var(--badge-color);
1070
+ padding: var(--badge-padding);
1071
+ border-radius: var(--badge-radius);
1072
+ vertical-align: var(--badge-v-align);
1073
+ }
1074
+ sup:has(> span) span {
1075
+ color: inherit;
1076
+ }
1077
+ sup:has(> span)[data-badge~=rounded] {
1078
+ --badge-radius: 100%;
1079
+ --badge-padding: 0.2rem;
1080
+ }
1081
+
1082
+ body > nav,
1083
+ [aria-label~=navbar], .navbar {
1084
+ padding-inline: var(--nav-px, 1rem);
1085
+ min-height: var(--nav-h, fit-content);
1086
+ }
1087
+ @media (max-width: 580px) {
1088
+ body > nav,
1089
+ [aria-label~=navbar], .navbar {
1090
+ flex-direction: column;
1091
+ height: fit-content;
1092
+ min-height: fit-content;
1093
+ padding-block: unset;
1094
+ gap: 0.5rem;
1095
+ }
1096
+ }
1097
+ body > nav ul > li,
1098
+ [aria-label~=navbar] ul > li, .navbar ul > li {
1099
+ display: flex;
1100
+ align-items: center;
1101
+ list-style: none;
1102
+ margin: 0;
1103
+ padding: 0;
1104
+ min-height: 100%;
1105
+ padding-inline: var(--nav-px, 0.75rem);
1106
+ }
1107
+ body > nav ul > li:hover,
1108
+ [aria-label~=navbar] ul > li:hover, .navbar ul > li:hover {
1109
+ background-color: var(--nav-hov-bg, whitesmoke);
1110
+ }
1111
+ body > nav ul > li:hover:where(img),
1112
+ [aria-label~=navbar] ul > li:hover:where(img), .navbar ul > li:hover:where(img) {
1113
+ background-color: transparent;
1114
+ }
1115
+
1116
+ nav {
1117
+ display: var(--nav-dsp, flex);
1118
+ flex-direction: var(--nav-direction, row);
1119
+ width: var(--nav-w, auto);
1120
+ place-items: var(--nav-align, center);
1121
+ justify-content: var(--nav-justify, space-between);
1122
+ margin-inline: var(--nav-mx, 0);
1123
+ background-color: var(--nav-bg, initial);
1124
+ }
1125
+ nav > section,
1126
+ nav > ul {
1127
+ --nav-dsp: flex;
1128
+ flex-direction: var(--nav-direction, row);
1129
+ display: var(--nav-dsp, flex);
1130
+ gap: var(--nav-gap, 0);
1131
+ font-size: var(--nav-fs, 0.9rem);
1132
+ align-items: var(--nav-align, center);
1133
+ padding-inline: var(--nav-px, 1rem);
1134
+ padding-block: var(--nav-py, 0);
1135
+ height: 100%;
1136
+ }
1137
+ nav > section[data-list~=block],
1138
+ nav > ul[data-list~=block] {
1139
+ --nav-direction: column;
1140
+ }
1141
+ nav > section > div {
1142
+ --py: 0;
1143
+ }
1144
+ nav ul > li {
1145
+ display: flex;
1146
+ align-items: center;
1147
+ list-style: none;
1148
+ margin: 0;
1149
+ padding: 0;
1150
+ min-height: 100%;
1151
+ padding-inline: var(--nav-px, 1rem);
1152
+ }
1153
+ nav img[alt] {
1154
+ --px: 0 var(--s1);
1155
+ --w: var(--brand-w, 3.6rem);
1156
+ }
1157
+ nav[data-variant] {
1158
+ background-color: var(--nav-bg);
1159
+ color: var(--nav-cl);
1160
+ font-size: var(--nav-fs, 0.9rem);
1161
+ }
1162
+ nav > div {
1163
+ margin-block-start: 0;
1164
+ }
1165
+
1166
+ :root {
1167
+ --input-border-color: gray;
1168
+ --input-appearance: none;
1169
+ --input-bg: inherit;
1170
+ --input-border: none;
1171
+ --input-outline: thin solid var(--input-border-color);
1172
+ --input-px: 0.6rem;
1173
+ --input-py: 0.4rem;
1174
+ --input-radius: --var(--radius);
1175
+ --input-fs: var(--fs);
1176
+ --input-w: clamp(200px, 100%, 500px);
1177
+ --placeholder-color: gray;
1178
+ --placeholder-style: italic;
1179
+ --placeholder-fs: smaller;
1180
+ --form-direction: column;
1181
+ --select-arrow: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='20' height='20'><polyline points='6,9 10,13 14,9' stroke='%23000000' stroke-width='1.5' fill='none' /></svg>");
1182
+ }
1183
+
1184
+ form {
1185
+ display: flex;
1186
+ flex-direction: var(--form-direction);
1187
+ gap: 1rem;
1188
+ }
1189
+ form > div {
1190
+ display: flex;
1191
+ gap: 1rem;
1192
+ flex-direction: var(--form-direction);
1193
+ }
1194
+ form label {
1195
+ display: block;
1196
+ }
1197
+
1198
+ input[type]:not([type=checkbox], [type=radio]),
1199
+ textarea,
1200
+ select {
1201
+ -webkit-appearance: var(--input-appearance);
1202
+ -moz-appearance: var(--input-appearance);
1203
+ appearance: var(--input-appearance);
1204
+ width: var(--input-w);
1205
+ border: var(--input-border);
1206
+ outline: var(--input-outline);
1207
+ padding-inline: var(--input-px);
1208
+ padding-block: var(--input-py);
1209
+ border-radius: var(--input-radius);
1210
+ background-color: var(--input-bg, #fff);
1211
+ }
1212
+ input[type]:not([type=checkbox], [type=radio])::placeholder,
1213
+ textarea::placeholder,
1214
+ select::placeholder {
1215
+ color: var(--placeholder-color);
1216
+ font-style: var(--placeholder-style);
1217
+ font-size: var(--placeholder-fs);
1218
+ text-transform: capitalize;
1219
+ }
1220
+ input[type]:not([type=checkbox], [type=radio]):focus-visible, input[type]:not([type=checkbox], [type=radio]):focus,
1221
+ textarea:focus-visible,
1222
+ textarea:focus,
1223
+ select:focus-visible,
1224
+ select:focus {
1225
+ outline-width: medium;
1226
+ }
1227
+ input[type]:not([type=checkbox], [type=radio])[aria-required=true]::placeholder,
1228
+ textarea[aria-required=true]::placeholder,
1229
+ select[aria-required=true]::placeholder {
1230
+ color: var(--color-required, var(--placeholder-color));
1231
+ font-weight: 600;
1232
+ }
1233
+ input[type]:not([type=checkbox], [type=radio])[aria-required=true]::placeholder::after,
1234
+ textarea[aria-required=true]::placeholder::after,
1235
+ select[aria-required=true]::placeholder::after {
1236
+ content: "* ";
1237
+ }
1238
+ input[type]:not([type=checkbox], [type=radio])[aria-disabled=true],
1239
+ textarea[aria-disabled=true],
1240
+ select[aria-disabled=true] {
1241
+ --input-border-color: lightgray;
1242
+ cursor: not-allowed;
1243
+ text-transform: capitalize;
1244
+ text-decoration: line-through;
1245
+ }
1246
+
1247
+ select {
1248
+ border: var(--input-outline);
1249
+ outline: none;
1250
+ -webkit-appearance: none; /* Remove default arrow in Chrome and Safari */
1251
+ -moz-appearance: none; /* Remove default arrow in Firefox */
1252
+ appearance: none; /* Remove default arrow in other browsers */
1253
+ background: var(--select-arrow) no-repeat;
1254
+ background-position: right 0.5rem top 50%;
1255
+ padding-inline-end: 0;
1256
+ }
1257
+
1258
+ nav:not(body > nav),
1259
+ nav[data-breadcrumb] {
1260
+ --breadcrumb-px: unset;
1261
+ --breadcrumb-dsp: flex;
1262
+ --breadcrumb-gap: 0.5rem;
1263
+ --breadcrumb-color: currentColor;
1264
+ --breadcrumb-current-color: rgb(46, 46, 46);
1265
+ --breadcrumb-fs: var(--fs-0);
1266
+ margin-inline: unset;
1267
+ padding-inline: unset;
1268
+ }
1269
+ nav:not(body > nav) ol,
1270
+ nav[data-breadcrumb] ol {
1271
+ padding-inline: var(--breadcrumb-px);
1272
+ display: var(--breadcrumb-dsp);
1273
+ gap: var(--breadcrumb-gap);
1274
+ }
1275
+ nav:not(body > nav) ol li,
1276
+ nav[data-breadcrumb] ol li {
1277
+ padding-inline: unset;
1278
+ width: var(--breadcrumb-w, fit-content);
1279
+ text-transform: capitalize;
1280
+ display: flex;
1281
+ color: var(--breadcrumb-color);
1282
+ gap: 0.5rem;
1283
+ font-size: var(--breadcrumb-fs);
1284
+ }
1285
+ nav:not(body > nav) ol li span[aria-hidden=true],
1286
+ nav[data-breadcrumb] ol li span[aria-hidden=true] {
1287
+ opacity: 0.6;
1288
+ }
1289
+ nav:not(body > nav) ol li a[href],
1290
+ nav[data-breadcrumb] ol li a[href] {
1291
+ font-size: var(--breadcrumb-fs);
1292
+ }
1293
+ nav:not(body > nav) ol li a[href][aria-current],
1294
+ nav[data-breadcrumb] ol li a[href][aria-current] {
1295
+ color: var(--breadcrumb-current-color);
1296
+ text-decoration: none;
1297
+ }
1298
+
1299
+ [data-tts] {
1300
+ --tts-gap: 0.5rem;
1301
+ --tts-bg: #fff;
1302
+ --tts-border-width: 0.125rem;
1303
+ --tts-border-style: solid;
1304
+ --tts-border-color: currentColor;
1305
+ --tts-radius: 99rem;
1306
+ --tts-padding: 0.5rem;
1307
+ --tts-min-width: 20.3125rem;
1308
+ --tts-align-items: center;
1309
+ --tts-justify-content: center;
1310
+ display: flex;
1311
+ gap: var(--tts-gap);
1312
+ align-items: var(--tts-align-items);
1313
+ justify-content: var(--tts-justify-content);
1314
+ background-color: var(--tts-bg);
1315
+ border: none;
1316
+ outline: var(--tts-border-width) var(--tts-border-style) var(--tts-border-color);
1317
+ border-radius: var(--tts-radius);
1318
+ padding: var(--tts-padding);
1319
+ min-width: var(--tts-min-width);
1320
+ }
1321
+ [data-tts] button[data-btn~=tts-btn],
1322
+ [data-tts] .tts-border {
1323
+ outline: none;
1324
+ }
1325
+ [data-tts] button[data-btn~=tts-btn]:hover,
1326
+ [data-tts] .tts-border:hover {
1327
+ outline: var(--tts-border-width) var(--tts-border-style);
1328
+ }
1329
+
1330
+ /*# sourceMappingURL=index.css.map */