@mdn/fred 0.1.0 → 0.2.0

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 (640) hide show
  1. package/CHANGELOG.md +100 -0
  2. package/build/render.js +3 -3
  3. package/build/server-worker.js +2 -2
  4. package/build/types.d.ts +2 -2
  5. package/components/a11y-menu/server.css +1 -1
  6. package/components/about-tabs/element.css +3 -1
  7. package/components/about-tabs/element.js +8 -0
  8. package/components/advertising/server.css +1 -1
  9. package/components/article-footer/server.css +0 -4
  10. package/components/article-footer/server.js +13 -16
  11. package/components/baseline-indicator/server.css +5 -6
  12. package/components/baseline-indicator/server.js +1 -6
  13. package/components/blog-index/server.css +2 -2
  14. package/components/blog-post/server.css +3 -3
  15. package/components/breadcrumbs-bar/server.js +26 -7
  16. package/components/button/pure.js +6 -3
  17. package/components/code-example/common.css +47 -3
  18. package/components/code-example/element.js +4 -5
  19. package/components/code-example/prism.css +62 -59
  20. package/components/color/area.css +11 -0
  21. package/components/color/border.css +1 -1
  22. package/components/color/global.css +5 -4
  23. package/components/color-theme/element.css +4 -0
  24. package/components/color-theme/element.js +19 -30
  25. package/components/compat-table/index-common.css +4 -2
  26. package/components/content-section/server.css +137 -23
  27. package/components/contributor-spotlight/server.css +4 -4
  28. package/components/curriculum/assets/curriculum-landing-top.svg +1 -1
  29. package/components/curriculum/layout.css +81 -13
  30. package/components/curriculum/module-list.css +5 -5
  31. package/components/curriculum/module.css +3 -3
  32. package/components/curriculum/shared.css +14 -47
  33. package/components/curriculum/sidebar.css +66 -294
  34. package/components/curriculum/toc.css +9 -23
  35. package/components/curriculum/utils.js +47 -58
  36. package/components/curriculum/vars.css +68 -39
  37. package/components/curriculum-about/server.css +17 -3
  38. package/components/curriculum-about/server.js +18 -15
  39. package/components/curriculum-default/server.css +11 -0
  40. package/components/curriculum-default/server.js +17 -14
  41. package/components/curriculum-landing/server.css +7 -7
  42. package/components/curriculum-module/server.css +75 -73
  43. package/components/curriculum-module/server.js +19 -17
  44. package/components/curriculum-overview/server.css +11 -0
  45. package/components/curriculum-overview/server.js +60 -24
  46. package/components/dropdown/element.js +3 -1
  47. package/components/featured-articles/server.css +1 -1
  48. package/components/font/README.md +11 -0
  49. package/components/font/fonts/jetbrains-mono-cyrillic.woff2 +0 -0
  50. package/components/font/fonts/jetbrains-mono-italic-cyrillic.woff2 +0 -0
  51. package/components/font/fonts/jetbrains-mono-italic-latin-extended.woff2 +0 -0
  52. package/components/font/fonts/jetbrains-mono-italic-latin.woff2 +0 -0
  53. package/components/font/fonts/jetbrains-mono-latin-extended.woff2 +0 -0
  54. package/components/font/fonts/jetbrains-mono-latin.woff2 +0 -0
  55. package/components/font/fonts/jetbrains-mono-nl.patch +4758 -0
  56. package/components/font/fonts/source/jetbrains-mono-italic.ttf +0 -0
  57. package/components/font/fonts/source/jetbrains-mono.ttf +0 -0
  58. package/components/font/global.css +3 -0
  59. package/components/font/inter.css +6 -0
  60. package/components/footer/server.css +20 -3
  61. package/components/footer/server.js +3 -0
  62. package/components/generic-about/server.css +16 -14
  63. package/components/generic-community/server.css +16 -16
  64. package/components/generic-community/server.js +11 -4
  65. package/components/generic-content/server.css +1 -1
  66. package/components/generic-sidebar/server.css +2 -2
  67. package/components/generic-sidebar/server.js +14 -5
  68. package/components/generic-toc/server.css +2 -2
  69. package/components/homepage-search/element.css +14 -17
  70. package/components/html/global.css +3 -0
  71. package/components/icon/chart-no-axes-combined.svg +1 -0
  72. package/components/icon/circle-play.svg +1 -0
  73. package/components/icon/log-in.svg +1 -0
  74. package/components/icon/mdn-m.svg +1 -0
  75. package/components/icon/shield-check.svg +1 -0
  76. package/components/icon/users.svg +1 -0
  77. package/components/interactive-example/element.css +3 -1
  78. package/components/issues-table/element.css +2 -2
  79. package/components/ix-tab/element.css +1 -1
  80. package/components/language-switcher/element.css +2 -1
  81. package/components/language-switcher/element.js +1 -0
  82. package/components/latest-news/server.css +1 -1
  83. package/components/left-sidebar/server.css +12 -15
  84. package/components/live-sample-result/element.css +1 -0
  85. package/components/live-sample-result/element.js +10 -2
  86. package/components/logo/server.css +5 -0
  87. package/components/mandala/server.css +2 -2
  88. package/components/media/index.css +3 -0
  89. package/components/menu/base.css +40 -11
  90. package/components/menu/desktop.css +1 -1
  91. package/components/menu/mobile.css +1 -1
  92. package/components/menu/server.js +34 -45
  93. package/components/modal/element.js +1 -1
  94. package/components/navigation/base.css +0 -8
  95. package/components/navigation/desktop.css +22 -5
  96. package/components/navigation/mobile.css +25 -6
  97. package/components/navigation/server.js +5 -2
  98. package/components/not-found/element.css +1 -0
  99. package/components/not-found/element.js +1 -1
  100. package/components/observatory/colors.css +64 -0
  101. package/components/observatory/common.css +5 -0
  102. package/components/observatory-comparison-table/element.css +6 -6
  103. package/components/observatory-form/element.css +6 -11
  104. package/components/observatory-header-link/element.css +1 -9
  105. package/components/observatory-human-duration/element.css +1 -0
  106. package/components/observatory-human-duration/element.js +4 -3
  107. package/components/observatory-landing/server.css +208 -1
  108. package/components/observatory-landing/server.js +76 -66
  109. package/components/observatory-rescan-button/element.css +1 -0
  110. package/components/observatory-rescan-button/element.js +11 -3
  111. package/components/observatory-results/element.css +38 -42
  112. package/components/observatory-results/server.css +119 -1
  113. package/components/observatory-results/server.js +47 -43
  114. package/components/observatory-tests-and-scores/element.css +3 -1
  115. package/components/outer-layout/server.js +8 -2
  116. package/components/placement-sidebar/element.css +1 -1
  117. package/components/play-console/element.css +1 -1
  118. package/components/play-runner/element.css +3 -0
  119. package/components/playground/element.css +35 -9
  120. package/components/playground/element.js +63 -3
  121. package/components/prev-next/index.css +32 -3
  122. package/components/radius/global.css +6 -0
  123. package/components/reference-layout/server.css +4 -4
  124. package/components/reference-layout/server.js +6 -3
  125. package/components/reference-toc/server.css +2 -2
  126. package/components/scrim-inline/element.css +2 -2
  127. package/components/scrim-inline/global.css +1 -1
  128. package/components/search-button/element.css +7 -1
  129. package/components/search-modal/element.css +61 -27
  130. package/components/search-modal/element.js +14 -0
  131. package/components/sidebar-filter/element.css +1 -1
  132. package/components/site-search/element.css +6 -7
  133. package/components/specifications-list/index.js +18 -26
  134. package/components/switch/element.css +1 -1
  135. package/components/user-menu/base.css +0 -7
  136. package/components/user-menu/desktop.css +15 -3
  137. package/components/user-menu/element.js +10 -2
  138. package/components/user-menu/mobile.css +2 -14
  139. package/components/utils/index.js +9 -0
  140. package/components/vars/global.css +1 -1
  141. package/components/writer-open-editor/element.js +31 -0
  142. package/components/writer-toolbar/server.css +11 -0
  143. package/components/writer-toolbar/server.js +27 -0
  144. package/dist/client/{1048.7f6f1de50a1fda0d.js → 1048.9db1491a9a9f26c3.js} +2 -2
  145. package/dist/client/{1048.7f6f1de50a1fda0d.js.map → 1048.9db1491a9a9f26c3.js.map} +1 -1
  146. package/dist/client/1197.65020044d7ef7add.css +32 -0
  147. package/dist/client/1197.65020044d7ef7add.css.map +1 -0
  148. package/dist/client/1241.691b26f66d52ce68.css +2 -0
  149. package/dist/client/1241.691b26f66d52ce68.css.map +1 -0
  150. package/dist/client/{1342.b05de4cd80d4c221.js → 1342.a66390274e8adda1.js} +8 -8
  151. package/dist/client/{1342.b05de4cd80d4c221.js.map → 1342.a66390274e8adda1.js.map} +1 -1
  152. package/dist/client/1624.98ead28526f7a6a1.js +69 -0
  153. package/dist/client/{1624.5694c64f5e45232c.js.map → 1624.98ead28526f7a6a1.js.map} +1 -1
  154. package/dist/client/1739.8793c189d4f57b38.js +8 -0
  155. package/dist/client/{1739.505aa54ed62222c8.js.map → 1739.8793c189d4f57b38.js.map} +1 -1
  156. package/dist/client/{1916.bc7551ab839d52f8.js → 1916.53595bf8d5201723.js} +3 -3
  157. package/dist/client/{1916.bc7551ab839d52f8.js.map → 1916.53595bf8d5201723.js.map} +1 -1
  158. package/dist/client/2254.85c84b41fe477e9f.css +2 -0
  159. package/dist/client/2254.85c84b41fe477e9f.css.map +1 -0
  160. package/dist/client/2299.15bde599f83bc9f8.js +2 -0
  161. package/dist/client/2299.15bde599f83bc9f8.js.map +1 -0
  162. package/dist/client/{2448.92286b4e96ad1c02.js → 2448.34e8a46d8ac913b9.js} +7 -7
  163. package/dist/client/2448.34e8a46d8ac913b9.js.map +1 -0
  164. package/dist/client/{2656.0009ef5e53d43860.js → 2656.9ffeb69f976e1ada.js} +3 -3
  165. package/dist/client/{2656.0009ef5e53d43860.js.map → 2656.9ffeb69f976e1ada.js.map} +1 -1
  166. package/dist/client/268.5b8cf50cd9481947.js +50 -0
  167. package/dist/client/268.5b8cf50cd9481947.js.map +1 -0
  168. package/dist/client/2826.d61ca617ff379ad4.js +29 -0
  169. package/dist/client/2826.d61ca617ff379ad4.js.map +1 -0
  170. package/dist/client/{9632.b317ca4ae5930b4a.js → 3536.38f4b1a8002b53e2.js} +30 -2
  171. package/dist/client/3536.38f4b1a8002b53e2.js.map +1 -0
  172. package/dist/client/{3580.bf3f2a7896833bd8.js → 3580.92db5b07a85b0961.js} +2 -2
  173. package/dist/client/{3580.bf3f2a7896833bd8.js.map → 3580.92db5b07a85b0961.js.map} +1 -1
  174. package/dist/client/37.d890a50de1313ae7.js +120 -0
  175. package/dist/client/37.d890a50de1313ae7.js.map +1 -0
  176. package/dist/client/{3769.d1f1fcf335099c33.js → 3769.f46716bd58921c06.js} +6 -5
  177. package/dist/client/3769.f46716bd58921c06.js.map +1 -0
  178. package/dist/client/3892.db79ccfcc2e8b5a2.js +5 -0
  179. package/dist/client/3892.db79ccfcc2e8b5a2.js.map +1 -0
  180. package/dist/client/391.947b429ccac6ca45.js +8 -0
  181. package/dist/client/391.947b429ccac6ca45.js.map +1 -0
  182. package/dist/client/{4036.5ca9997e4c034473.js → 4036.4aa9a690073ccbac.js} +11 -7
  183. package/dist/client/4036.4aa9a690073ccbac.js.map +1 -0
  184. package/dist/client/4045.ec4c143648ab2280.js +8 -0
  185. package/dist/client/4045.ec4c143648ab2280.js.map +1 -0
  186. package/dist/client/4531.5f4701b319065b2b.js +34 -0
  187. package/dist/client/4531.5f4701b319065b2b.js.map +1 -0
  188. package/dist/client/{476.0de6391161b814ad.js → 476.67faa1bd02f2479c.js} +3 -3
  189. package/dist/client/{476.0de6391161b814ad.js.map → 476.67faa1bd02f2479c.js.map} +1 -1
  190. package/dist/client/{4849.4da5f274175b7cc7.js → 4849.2d0d91db57dc6419.js} +2 -2
  191. package/dist/client/{4849.4da5f274175b7cc7.js.map → 4849.2d0d91db57dc6419.js.map} +1 -1
  192. package/dist/client/{5066.31235bae47282d5a.js → 5066.c3b69e4601465269.js} +9 -9
  193. package/dist/client/{5066.31235bae47282d5a.js.map → 5066.c3b69e4601465269.js.map} +1 -1
  194. package/dist/client/{533.518751bfb02cbcee.js → 533.43be64a8c12d5411.js} +2 -2
  195. package/dist/client/{533.518751bfb02cbcee.js.map → 533.43be64a8c12d5411.js.map} +1 -1
  196. package/dist/client/5531.ff59053d35a9ebc5.js +387 -0
  197. package/dist/client/{5531.3f07c9b4290520c7.js.map → 5531.ff59053d35a9ebc5.js.map} +1 -1
  198. package/dist/client/{5557.247c4c4c61d91b4d.js → 5557.3923ba7ade67d4c8.js} +4 -4
  199. package/dist/client/{5557.247c4c4c61d91b4d.js.map → 5557.3923ba7ade67d4c8.js.map} +1 -1
  200. package/dist/client/{5837.52bd8ccde0085adc.js → 5837.2173cfac5b28fb95.js} +2 -2
  201. package/dist/client/5837.2173cfac5b28fb95.js.map +1 -0
  202. package/dist/client/5911.7dd68675e0a4ff43.js +2 -0
  203. package/dist/client/5911.7dd68675e0a4ff43.js.map +1 -0
  204. package/dist/client/614.b7c7bcd4ee6e4f7d.css +2 -0
  205. package/dist/client/614.b7c7bcd4ee6e4f7d.css.map +1 -0
  206. package/dist/client/6213.ba167b80474036f0.js +20 -0
  207. package/dist/client/6213.ba167b80474036f0.js.map +1 -0
  208. package/dist/client/665.7d96ffb19066da27.js +34 -0
  209. package/dist/client/665.7d96ffb19066da27.js.map +1 -0
  210. package/dist/client/6681.51b917ef9762ead2.js +6 -0
  211. package/dist/client/{6681.4bc549fb34f3fd5c.js.map → 6681.51b917ef9762ead2.js.map} +1 -1
  212. package/dist/client/6955.3de7286d9ee3c36f.js +33 -0
  213. package/dist/client/6955.3de7286d9ee3c36f.js.map +1 -0
  214. package/dist/client/{7326.b1ad5a6bece08bb2.js → 7326.9d0d137e939223ba.js} +2 -2
  215. package/dist/client/7326.9d0d137e939223ba.js.map +1 -0
  216. package/dist/client/{736.c130ba990b1ed252.js → 736.0fa146c2a494e88c.js} +5 -5
  217. package/dist/client/{736.c130ba990b1ed252.js.map → 736.0fa146c2a494e88c.js.map} +1 -1
  218. package/dist/client/7461.7d6383069ad3bded.js +35 -0
  219. package/dist/client/7461.7d6383069ad3bded.js.map +1 -0
  220. package/dist/client/7509.c7697df525e5b425.js +9 -0
  221. package/dist/client/7509.c7697df525e5b425.js.map +1 -0
  222. package/dist/client/{7731.401da89d94c0e064.js → 7731.dab635045f8c8801.js} +2 -2
  223. package/dist/client/{7731.401da89d94c0e064.js.map → 7731.dab635045f8c8801.js.map} +1 -1
  224. package/dist/client/{7816.086a6f46f1339f10.js → 7816.fcae90f472f6a101.js} +2 -2
  225. package/dist/client/{7816.086a6f46f1339f10.js.map → 7816.fcae90f472f6a101.js.map} +1 -1
  226. package/dist/client/833.a99cc1ff95a9361c.js +5 -0
  227. package/dist/client/833.a99cc1ff95a9361c.js.map +1 -0
  228. package/dist/client/{8468.add3c4feb6c9e926.js → 8468.f45cbbf88e617172.js} +3 -3
  229. package/dist/client/{8468.add3c4feb6c9e926.js.map → 8468.f45cbbf88e617172.js.map} +1 -1
  230. package/dist/client/{8483.e69da156837fde23.js → 8483.42cb8809ffb7c809.js} +3 -3
  231. package/dist/client/{8483.e69da156837fde23.js.map → 8483.42cb8809ffb7c809.js.map} +1 -1
  232. package/dist/client/{8551.4cf05a456e8b9b36.js → 8551.88765e00cf64cda8.js} +2 -2
  233. package/dist/client/{8551.4cf05a456e8b9b36.js.map → 8551.88765e00cf64cda8.js.map} +1 -1
  234. package/dist/client/{8684.538d49e436a77c37.js → 8684.9d7a1ac15f75f143.js} +5 -5
  235. package/dist/client/{8684.538d49e436a77c37.js.map → 8684.9d7a1ac15f75f143.js.map} +1 -1
  236. package/dist/client/8896.c876205851967073.js +9 -0
  237. package/dist/client/8896.c876205851967073.js.map +1 -0
  238. package/dist/client/{8911.e1fd0ac2f979c2ea.js → 8911.74685697a6189123.js} +7 -7
  239. package/dist/client/8911.74685697a6189123.js.map +1 -0
  240. package/dist/client/9021.3d43ecdc365948b8.js +16 -0
  241. package/dist/client/9021.3d43ecdc365948b8.js.map +1 -0
  242. package/dist/client/917.f2551a4b63ec4d86.js +17 -0
  243. package/dist/client/917.f2551a4b63ec4d86.js.map +1 -0
  244. package/dist/client/9222.a2d629b05b5c3c7e.js +104 -0
  245. package/dist/client/9222.a2d629b05b5c3c7e.js.LICENSE.txt +5 -0
  246. package/dist/client/9222.a2d629b05b5c3c7e.js.map +1 -0
  247. package/dist/client/chart-no-axes-combined.aee09a7064cb8b35.svg +1 -0
  248. package/dist/client/{circle-alert.4199b283585ef0bb.svg → circle-play.6ed4ac1fb3c93a04.svg} +1 -1
  249. package/dist/client/{curriculum-about-covered.74e453cf7e1a86c2.svg → curriculum-about-covered.a0e620d9fa0a96bb.svg} +1 -1
  250. package/dist/client/{curriculum-about-detail.515f645950e2300b.svg → curriculum-about-detail.73feb705e269ebbe.svg} +1 -1
  251. package/dist/client/{curriculum-about-educators.91685cbbd58c65fb.svg → curriculum-about-educators.03744c34dabd5fe7.svg} +1 -1
  252. package/dist/client/{curriculum-about-not.42caac16e07477b5.svg → curriculum-about-not.aa3c2baa11be115d.svg} +1 -1
  253. package/dist/client/{curriculum-about-students.36ca88cba5f00272.svg → curriculum-about-students.842af9608002c05a.svg} +1 -1
  254. package/dist/client/{curriculum-bullet.934e76f0055c7737.svg → curriculum-bullet.ae8de1d4f7e37953.svg} +1 -1
  255. package/dist/client/{curriculum-landing-about-beginner.c283306531a0a760.svg → curriculum-landing-about-beginner.9603b098f49dfb52.svg} +1 -1
  256. package/dist/client/{curriculum-landing-about-bullet.329a46667f2b7b1c.svg → curriculum-landing-about-bullet.1a31ffce2d5917cb.svg} +1 -1
  257. package/dist/client/{curriculum-landing-about-free.860c02f993720011.svg → curriculum-landing-about-free.1ff3ec55692670ba.svg} +1 -1
  258. package/dist/client/{curriculum-landing-about-pace.caf53bc7642d2d9e.svg → curriculum-landing-about-pace.04fd0a480b4ef342.svg} +1 -1
  259. package/dist/client/{curriculum-landing-arrow.37d9469e2da628fb.svg → curriculum-landing-arrow.b4d5ba21e3dc087e.svg} +1 -1
  260. package/dist/client/{curriculum-landing-started-advanced.6aa084114d4a009d.svg → curriculum-landing-started-advanced.bd07b9246e350d6f.svg} +1 -1
  261. package/dist/client/{curriculum-landing-started-beginner.684ee16fbad28594.svg → curriculum-landing-started-beginner.62cf58049310b5c1.svg} +1 -1
  262. package/dist/client/{curriculum-landing-started-educator.1fc04ca1f8ce8d38.svg → curriculum-landing-started-educator.779ce85811a81d19.svg} +1 -1
  263. package/dist/client/{curriculum-landing-started-employment.ad9634ce6c19f3ba.svg → curriculum-landing-started-employment.4e7b977d45493058.svg} +1 -1
  264. package/dist/client/{curriculum-mdn-resource.f452724542f874b8.svg → curriculum-mdn-resource.335ee2e480d302fb.svg} +1 -1
  265. package/dist/client/{curriculum-partner-bg.247900de90ec7d1e.svg → curriculum-partner-bg.70de155df588311a.svg} +1 -1
  266. package/dist/client/{curriculum-scrim-bg.66afaab49246fbd9.svg → curriculum-scrim-bg.29a27117721ff3e9.svg} +1 -1
  267. package/dist/client/index.31463704d14e154c.js +260 -0
  268. package/dist/client/index.31463704d14e154c.js.LICENSE.txt +25 -0
  269. package/dist/client/index.31463704d14e154c.js.map +1 -0
  270. package/dist/client/jetbrains-mono-cyrillic.577e793cdf179ae1.woff2 +0 -0
  271. package/dist/client/jetbrains-mono-italic-cyrillic.8d00711fdb1702e0.woff2 +0 -0
  272. package/dist/client/jetbrains-mono-italic-latin-extended.c25d5e1f309ed948.woff2 +0 -0
  273. package/dist/client/jetbrains-mono-italic-latin.55b330522e5e3ed9.woff2 +0 -0
  274. package/dist/client/jetbrains-mono-latin-extended.01c891f9c832ce28.woff2 +0 -0
  275. package/dist/client/jetbrains-mono-latin.119994ed445212c7.woff2 +0 -0
  276. package/dist/client/mdn-m.70aac857e4a908d0.svg +1 -0
  277. package/dist/client/{runtime.51020603a07b972d.js → runtime.ee03d594ff24ae70.js} +2 -2
  278. package/dist/client/runtime.ee03d594ff24ae70.js.map +1 -0
  279. package/dist/client/shield-check.07bdc37f20ac5cc6.svg +1 -0
  280. package/dist/client/stats.json +1096 -1024
  281. package/dist/client/styles-a11y-menu.5796ee87cb69f93f.css +2 -0
  282. package/dist/client/styles-a11y-menu.5796ee87cb69f93f.css.map +1 -0
  283. package/dist/client/styles-a11y-menu.c408da1c50de7848.js +1 -0
  284. package/dist/client/styles-advertising.4c00484729f959ad.js +1 -0
  285. package/dist/client/{styles-advertising.c54670419b34708a.css → styles-advertising.c4692f68b3c61df1.css} +2 -2
  286. package/dist/client/{styles-advertising.c54670419b34708a.css.map → styles-advertising.c4692f68b3c61df1.css.map} +1 -1
  287. package/dist/client/styles-article-footer.81ae18c89fc527dc.css +2 -0
  288. package/dist/client/styles-article-footer.81ae18c89fc527dc.css.map +1 -0
  289. package/dist/client/styles-article-footer.f591a23b879db7bc.js +1 -0
  290. package/dist/client/styles-banner.cce5a46592f9ae9c.js +1 -0
  291. package/dist/client/{styles-baseline-indicator.32a52f7b51085fbb.css → styles-baseline-indicator.083aba7301c6f745.css} +2 -2
  292. package/dist/client/styles-baseline-indicator.083aba7301c6f745.css.map +1 -0
  293. package/dist/client/styles-baseline-indicator.35315666a6ff6562.js +1 -0
  294. package/dist/client/styles-blog-index.65525134178d64fd.js +1 -0
  295. package/dist/client/styles-blog-index.acbe792e1ec96930.css +2 -0
  296. package/dist/client/styles-blog-index.acbe792e1ec96930.css.map +1 -0
  297. package/dist/client/styles-blog-post.0cc5813f0a44aff0.js +1 -0
  298. package/dist/client/styles-blog-post.5085aa38dc1ab3a3.css +2 -0
  299. package/dist/client/styles-blog-post.5085aa38dc1ab3a3.css.map +1 -0
  300. package/dist/client/styles-breadcrumbs-bar.740212452ad4a93e.js +1 -0
  301. package/dist/client/{styles-breadcrumbs-bar.b7a94abe36578bab.css → styles-breadcrumbs-bar.e2fa6dfb04a38166.css} +2 -2
  302. package/dist/client/{styles-breadcrumbs-bar.b7a94abe36578bab.css.map → styles-breadcrumbs-bar.e2fa6dfb04a38166.css.map} +1 -1
  303. package/dist/client/{styles-breadcrumbs.d07ccd5520eeea01.css → styles-breadcrumbs.0afde562052673c5.css} +2 -2
  304. package/dist/client/{styles-breadcrumbs.d07ccd5520eeea01.css.map → styles-breadcrumbs.0afde562052673c5.css.map} +1 -1
  305. package/dist/client/styles-breadcrumbs.3b39fd6a3c2edb2e.js +1 -0
  306. package/dist/client/styles-button.a58118f8ded7e527.js +1 -0
  307. package/dist/client/styles-content-section.06ab08df9b9e047e.js +1 -0
  308. package/dist/client/styles-content-section.ffa19ece6d4fa70f.css +2 -0
  309. package/dist/client/styles-content-section.ffa19ece6d4fa70f.css.map +1 -0
  310. package/dist/client/styles-contributor-spotlight.38657357f29e301d.css +2 -0
  311. package/dist/client/styles-contributor-spotlight.38657357f29e301d.css.map +1 -0
  312. package/dist/client/styles-contributor-spotlight.5303aa09b91c2b0f.js +1 -0
  313. package/dist/client/styles-curriculum-about.75e3406bfe012d87.css +2 -0
  314. package/dist/client/styles-curriculum-about.75e3406bfe012d87.css.map +1 -0
  315. package/dist/client/styles-curriculum-about.c7d034c5eb1cedfc.js +1 -0
  316. package/dist/client/styles-curriculum-default.425c715d690a611c.js +1 -0
  317. package/dist/client/styles-curriculum-default.ceb6f07d1ba3a1fe.css +2 -0
  318. package/dist/client/styles-curriculum-default.ceb6f07d1ba3a1fe.css.map +1 -0
  319. package/dist/client/styles-curriculum-landing.1558840404f90c97.js +1 -0
  320. package/dist/client/styles-curriculum-landing.4c266be210279754.css +2 -0
  321. package/dist/client/styles-curriculum-landing.4c266be210279754.css.map +1 -0
  322. package/dist/client/styles-curriculum-module.7e5cd517e846d594.js +1 -0
  323. package/dist/client/styles-curriculum-module.986c101af5734725.css +2 -0
  324. package/dist/client/styles-curriculum-module.986c101af5734725.css.map +1 -0
  325. package/dist/client/styles-curriculum-overview.4c7cb02c1ddc853e.js +1 -0
  326. package/dist/client/styles-curriculum-overview.5e1cf930403c07b3.css +2 -0
  327. package/dist/client/styles-curriculum-overview.5e1cf930403c07b3.css.map +1 -0
  328. package/dist/client/styles-featured-articles.b4ecc71ab736bd5b.css +2 -0
  329. package/dist/client/styles-featured-articles.b4ecc71ab736bd5b.css.map +1 -0
  330. package/dist/client/styles-featured-articles.e307bb8142f33739.js +1 -0
  331. package/dist/client/styles-footer.a2850e459e2d290b.css +2 -0
  332. package/dist/client/{styles-footer.c1a53f0a58f04928.css.map → styles-footer.a2850e459e2d290b.css.map} +1 -1
  333. package/dist/client/styles-footer.c29033543af832fb.js +1 -0
  334. package/dist/client/styles-generic-about.2d4dc610496035b0.js +1 -0
  335. package/dist/client/styles-generic-about.766241910cf1bfdf.css +2 -0
  336. package/dist/client/styles-generic-about.766241910cf1bfdf.css.map +1 -0
  337. package/dist/client/styles-generic-community.76b2cea1e9b36907.js +1 -0
  338. package/dist/client/styles-generic-community.aa93fe32626f89a4.css +2 -0
  339. package/dist/client/styles-generic-community.aa93fe32626f89a4.css.map +1 -0
  340. package/dist/client/{styles-generic-content.7960b980b98f1d3d.css → styles-generic-content.3c8089706edb022d.css} +2 -2
  341. package/dist/client/{styles-generic-content.7960b980b98f1d3d.css.map → styles-generic-content.3c8089706edb022d.css.map} +1 -1
  342. package/dist/client/styles-generic-content.95822f3a7d72b2af.js +1 -0
  343. package/dist/client/styles-generic-layout.42a5e62407bd0066.css +2 -0
  344. package/dist/client/{styles-generic-layout.55441b1a560f5c9f.css.map → styles-generic-layout.42a5e62407bd0066.css.map} +1 -1
  345. package/dist/client/styles-generic-layout.e3b1cbc7db109acc.js +1 -0
  346. package/dist/client/styles-generic-sidebar.2e998de436f774c4.css +2 -0
  347. package/dist/client/styles-generic-sidebar.2e998de436f774c4.css.map +1 -0
  348. package/dist/client/styles-generic-sidebar.9767d319bbbde061.js +1 -0
  349. package/dist/client/styles-generic-toc.109e07ffeb20bc67.css +2 -0
  350. package/dist/client/styles-generic-toc.109e07ffeb20bc67.css.map +1 -0
  351. package/dist/client/styles-generic-toc.56e46052fca1042a.js +1 -0
  352. package/dist/client/styles-global.50c705928b5966d2.css +2 -0
  353. package/dist/client/styles-global.50c705928b5966d2.css.map +1 -0
  354. package/dist/client/styles-global.5928df920ab8d790.js +1 -0
  355. package/dist/client/styles-heading-anchor.0eec5185ab9425b7.css +2 -0
  356. package/dist/client/{styles-heading-anchor.f2760897211efe98.css.map → styles-heading-anchor.0eec5185ab9425b7.css.map} +1 -1
  357. package/dist/client/styles-heading-anchor.69440b0832b0c7b6.js +1 -0
  358. package/dist/client/styles-homepage-body.a1dd591dfd38a0e2.js +1 -0
  359. package/dist/client/{styles-homepage-contributor-spotlight.f02bdd82c7536b72.css → styles-homepage-contributor-spotlight.38935642cba8718d.css} +2 -2
  360. package/dist/client/{styles-homepage-contributor-spotlight.f02bdd82c7536b72.css.map → styles-homepage-contributor-spotlight.38935642cba8718d.css.map} +1 -1
  361. package/dist/client/styles-homepage-contributor-spotlight.a872f7a5144621ce.js +1 -0
  362. package/dist/client/styles-homepage-footer.56ccee76430fb4b6.js +1 -0
  363. package/dist/client/styles-homepage-header.ef7007190d01e72b.js +1 -0
  364. package/dist/client/styles-homepage-hero.db4057884586bcc0.js +1 -0
  365. package/dist/client/styles-homepage.643e215e9b541f48.js +1 -0
  366. package/dist/client/styles-latest-news.b28826e707e5a793.js +1 -0
  367. package/dist/client/styles-latest-news.ef3b9e57333a87bc.css +2 -0
  368. package/dist/client/styles-latest-news.ef3b9e57333a87bc.css.map +1 -0
  369. package/dist/client/styles-left-sidebar.07f68fb381233e5e.css +2 -0
  370. package/dist/client/styles-left-sidebar.07f68fb381233e5e.css.map +1 -0
  371. package/dist/client/styles-left-sidebar.689072b681b6085c.js +1 -0
  372. package/dist/client/styles-logo.5fe2004c01665043.js +1 -0
  373. package/dist/client/styles-logo.f9c13d56f40d50b6.css +2 -0
  374. package/dist/client/styles-logo.f9c13d56f40d50b6.css.map +1 -0
  375. package/dist/client/styles-mandala.39843b917e3341c1.js +1 -0
  376. package/dist/client/styles-mandala.8fbfeb0567dbde40.css +2 -0
  377. package/dist/client/styles-mandala.8fbfeb0567dbde40.css.map +1 -0
  378. package/dist/client/styles-menu.0df94f3d4546f4e2.js +1 -0
  379. package/dist/client/styles-menu.5193bf2642ae7d64.css +2 -0
  380. package/dist/client/styles-menu.5193bf2642ae7d64.css.map +1 -0
  381. package/dist/client/styles-navigation.013b4a4ed330892a.css +2 -0
  382. package/dist/client/styles-navigation.013b4a4ed330892a.css.map +1 -0
  383. package/dist/client/styles-navigation.f10f27bc66c78348.js +1 -0
  384. package/dist/client/styles-not-found.db6d6367152f676d.js +1 -0
  385. package/dist/client/styles-observatory-landing.28dd60cf0de05bec.js +1 -0
  386. package/dist/client/styles-observatory-landing.7b47ee0004877825.css +2 -0
  387. package/dist/client/styles-observatory-landing.7b47ee0004877825.css.map +1 -0
  388. package/dist/client/styles-observatory-results.36b6175e7444ec4e.css +2 -0
  389. package/dist/client/styles-observatory-results.36b6175e7444ec4e.css.map +1 -0
  390. package/dist/client/styles-observatory-results.7ce6d37475f9cf58.js +1 -0
  391. package/dist/client/styles-page-layout.0d53ebc97d7b7bf1.js +1 -0
  392. package/dist/client/styles-page-layout.e52a43c97f04cf90.css +2 -0
  393. package/dist/client/{styles-page-layout.5db9be57df19de0c.css.map → styles-page-layout.e52a43c97f04cf90.css.map} +1 -1
  394. package/dist/client/styles-pagination.19bf90db76d7d8d3.css +2 -0
  395. package/dist/client/{styles-pagination.0b3aa3fd6f6d3808.css.map → styles-pagination.19bf90db76d7d8d3.css.map} +1 -1
  396. package/dist/client/styles-pagination.e6fa33b9eadd8ab2.js +1 -0
  397. package/dist/client/styles-playground.59775225856ba2c6.js +1 -0
  398. package/dist/client/styles-recent-contributions.c51e066b59d22fca.js +1 -0
  399. package/dist/client/styles-reference-layout.0ab1a4d92d4a0966.css +2 -0
  400. package/dist/client/styles-reference-layout.0ab1a4d92d4a0966.css.map +1 -0
  401. package/dist/client/styles-reference-layout.218edbd3288fad71.js +1 -0
  402. package/dist/client/styles-reference-toc.67439c41e5f07bef.js +1 -0
  403. package/dist/client/{styles-reference-toc.5ce4f97dbe6e3ed0.css → styles-reference-toc.9b9bd019efd16b86.css} +2 -2
  404. package/dist/client/{styles-reference-toc.5ce4f97dbe6e3ed0.css.map → styles-reference-toc.9b9bd019efd16b86.css.map} +1 -1
  405. package/dist/client/styles-sandbox.22c29067838f22d9.js +1 -0
  406. package/dist/client/styles-site-search.5d4b622a11b82915.js +1 -0
  407. package/dist/client/styles-site-search.ec3b6780533a8750.css +2 -0
  408. package/dist/client/{styles-site-search.cf345ef99e0d06b5.css.map → styles-site-search.ec3b6780533a8750.css.map} +1 -1
  409. package/dist/client/styles-translation-banner.b923aed537f60120.js +1 -0
  410. package/dist/client/styles-writer-toolbar.00468688f6144393.js +1 -0
  411. package/dist/client/styles-writer-toolbar.70bdeddd3734ab11.css +2 -0
  412. package/dist/client/styles-writer-toolbar.70bdeddd3734ab11.css.map +1 -0
  413. package/dist/client/styles.7fb7069c86aa338c.js +2 -0
  414. package/dist/client/styles.7fb7069c86aa338c.js.map +1 -0
  415. package/dist/client/users.f7e6f1f213744762.svg +1 -0
  416. package/dist/legacy/{1284.0939e1a7de12c23c.js → 1284.9609d9ed70761e2f.js} +3 -3
  417. package/dist/legacy/{1284.0939e1a7de12c23c.js.map → 1284.9609d9ed70761e2f.js.map} +1 -1
  418. package/dist/legacy/3957.798f0651121f0fa7.js.map +1 -1
  419. package/dist/legacy/{7664.eee0fe67e04785f4.js → 7664.7bf14ff753e36b72.js} +3 -3
  420. package/dist/legacy/7664.7bf14ff753e36b72.js.map +1 -0
  421. package/dist/legacy/{8716.9fde41ad50c3078d.js → 8716.0a9d049bf166f65a.js} +7 -7
  422. package/dist/legacy/{8716.9fde41ad50c3078d.js.map → 8716.0a9d049bf166f65a.js.map} +1 -1
  423. package/dist/legacy/afree.da56b83d257902e0.png +0 -0
  424. package/dist/legacy/{index.9db2264bb6151226.css → index.92ea4d5b7af91171.css} +2 -2
  425. package/dist/legacy/index.92ea4d5b7af91171.css.map +1 -0
  426. package/dist/legacy/{index.b760891bfcc63977.js → index.dd25b33b92ab6c72.js} +5 -5
  427. package/dist/legacy/index.dd25b33b92ab6c72.js.map +1 -0
  428. package/dist/legacy/stats.json +12 -12
  429. package/dist/ssr/index.js +483 -485
  430. package/dist/ssr/index.js.map +1 -1
  431. package/dist/ssr/results-icon.b469eb939df034e7.svg +1 -0
  432. package/dist/ssr/stats.json +54 -46
  433. package/dist/ssr/summary-icon.eff7a61e59b7e02f.svg +1 -0
  434. package/entry.client.js +1 -1
  435. package/entry.ssr.js +3 -4
  436. package/hooks/dialog-closedby.js +42 -0
  437. package/l10n/de.ftl +2 -2
  438. package/l10n/en-US.ftl +10 -10
  439. package/legacy/index.tsx +1 -0
  440. package/legacy/legacy.css +5 -0
  441. package/package.json +22 -21
  442. package/rspack.config.js +27 -11
  443. package/server.js +37 -3
  444. package/svgo.config.js +22 -11
  445. package/types/element-map.d.ts +1 -0
  446. package/types/fred.ts +5 -1
  447. package/components/css-formal-syntax/index.css +0 -10
  448. package/components/observatory/index.css +0 -406
  449. package/components/observatory-landing/faq.js +0 -16
  450. package/components/observatory-landing/feedback.js +0 -16
  451. package/dist/client/1197.25090f81ab4208bc.css +0 -32
  452. package/dist/client/1197.25090f81ab4208bc.css.map +0 -1
  453. package/dist/client/1624.5694c64f5e45232c.js +0 -69
  454. package/dist/client/1739.505aa54ed62222c8.js +0 -8
  455. package/dist/client/2254.5fbfe2d0124ff3ba.css +0 -2
  456. package/dist/client/2254.5fbfe2d0124ff3ba.css.map +0 -1
  457. package/dist/client/2448.92286b4e96ad1c02.js.map +0 -1
  458. package/dist/client/2826.2162e19b0f72cf75.js +0 -29
  459. package/dist/client/2826.2162e19b0f72cf75.js.map +0 -1
  460. package/dist/client/3536.d17eba9caa4089c1.js +0 -30
  461. package/dist/client/3536.d17eba9caa4089c1.js.map +0 -1
  462. package/dist/client/37.feff9590370f461a.js +0 -102
  463. package/dist/client/37.feff9590370f461a.js.map +0 -1
  464. package/dist/client/3769.d1f1fcf335099c33.js.map +0 -1
  465. package/dist/client/3892.62b28110dbb3645e.js +0 -5
  466. package/dist/client/3892.62b28110dbb3645e.js.map +0 -1
  467. package/dist/client/391.ead0b358d96c9c13.js +0 -8
  468. package/dist/client/391.ead0b358d96c9c13.js.map +0 -1
  469. package/dist/client/4036.5ca9997e4c034473.js.map +0 -1
  470. package/dist/client/4045.c0fd898eab0b2a5c.js +0 -8
  471. package/dist/client/4045.c0fd898eab0b2a5c.js.map +0 -1
  472. package/dist/client/4531.4ae011f8a64a2b27.js +0 -34
  473. package/dist/client/4531.4ae011f8a64a2b27.js.map +0 -1
  474. package/dist/client/5531.3f07c9b4290520c7.js +0 -387
  475. package/dist/client/5837.52bd8ccde0085adc.js.map +0 -1
  476. package/dist/client/614.01075c8e848f77c4.css +0 -2
  477. package/dist/client/614.01075c8e848f77c4.css.map +0 -1
  478. package/dist/client/6213.32f53c1c3ef65496.js +0 -20
  479. package/dist/client/6213.32f53c1c3ef65496.js.map +0 -1
  480. package/dist/client/665.bfa5abb72f818c34.js +0 -34
  481. package/dist/client/665.bfa5abb72f818c34.js.map +0 -1
  482. package/dist/client/6681.4bc549fb34f3fd5c.js +0 -6
  483. package/dist/client/6955.90a316f179d37d80.js +0 -52
  484. package/dist/client/6955.90a316f179d37d80.js.map +0 -1
  485. package/dist/client/7326.b1ad5a6bece08bb2.js.map +0 -1
  486. package/dist/client/7345.6d89013575f169db.js +0 -16
  487. package/dist/client/7345.6d89013575f169db.js.map +0 -1
  488. package/dist/client/7461.c7551ade83fa6056.js +0 -35
  489. package/dist/client/7461.c7551ade83fa6056.js.map +0 -1
  490. package/dist/client/7509.780e429ccb3e9290.js +0 -9
  491. package/dist/client/7509.780e429ccb3e9290.js.map +0 -1
  492. package/dist/client/781.389e02e257b52721.css +0 -2
  493. package/dist/client/781.389e02e257b52721.css.map +0 -1
  494. package/dist/client/7898.7fd3ac2396a8dd7b.js +0 -45
  495. package/dist/client/7898.7fd3ac2396a8dd7b.js.map +0 -1
  496. package/dist/client/8877.6b7cc9370ff77f02.js +0 -2
  497. package/dist/client/8877.6b7cc9370ff77f02.js.map +0 -1
  498. package/dist/client/8896.85df788778cc02ca.js +0 -9
  499. package/dist/client/8896.85df788778cc02ca.js.map +0 -1
  500. package/dist/client/8911.e1fd0ac2f979c2ea.js.map +0 -1
  501. package/dist/client/917.f2371f7a8ef08c84.js +0 -17
  502. package/dist/client/917.f2371f7a8ef08c84.js.map +0 -1
  503. package/dist/client/9222.f3820fec7e0a91be.js +0 -104
  504. package/dist/client/9222.f3820fec7e0a91be.js.map +0 -1
  505. package/dist/client/9632.b317ca4ae5930b4a.js.map +0 -1
  506. package/dist/client/index.e36c34deca671725.js +0 -251
  507. package/dist/client/index.e36c34deca671725.js.map +0 -1
  508. package/dist/client/jetbrains-mono-cyrillic.4be0050294dbaee4.woff2 +0 -0
  509. package/dist/client/jetbrains-mono-italic-cyrillic.789710e9fe5a2b03.woff2 +0 -0
  510. package/dist/client/jetbrains-mono-italic-latin-extended.58430489c22fda09.woff2 +0 -0
  511. package/dist/client/jetbrains-mono-italic-latin.80ad93ea1dcec528.woff2 +0 -0
  512. package/dist/client/jetbrains-mono-latin-extended.2b8ab8f35e622fdb.woff2 +0 -0
  513. package/dist/client/jetbrains-mono-latin.eaa3472268346b6c.woff2 +0 -0
  514. package/dist/client/runtime.51020603a07b972d.js.map +0 -1
  515. package/dist/client/styles-a11y-menu.53797029a4c05806.css +0 -2
  516. package/dist/client/styles-a11y-menu.53797029a4c05806.css.map +0 -1
  517. package/dist/client/styles-a11y-menu.8c2ae6bc250fdde3.js +0 -1
  518. package/dist/client/styles-advertising.f01a816ffb81826d.js +0 -1
  519. package/dist/client/styles-article-footer.3bc45ecc7223c0ee.css +0 -2
  520. package/dist/client/styles-article-footer.3bc45ecc7223c0ee.css.map +0 -1
  521. package/dist/client/styles-article-footer.abc86d1bc28dbbea.js +0 -1
  522. package/dist/client/styles-banner.dd24262bb896879a.js +0 -1
  523. package/dist/client/styles-baseline-indicator.26595fbb926e3339.js +0 -1
  524. package/dist/client/styles-baseline-indicator.32a52f7b51085fbb.css.map +0 -1
  525. package/dist/client/styles-blog-index.7af1563c6077a7be.css +0 -2
  526. package/dist/client/styles-blog-index.7af1563c6077a7be.css.map +0 -1
  527. package/dist/client/styles-blog-index.805cf1995d84466a.js +0 -1
  528. package/dist/client/styles-blog-post.5824db4f15723a68.css +0 -2
  529. package/dist/client/styles-blog-post.5824db4f15723a68.css.map +0 -1
  530. package/dist/client/styles-blog-post.87f4fe5450147ce8.js +0 -1
  531. package/dist/client/styles-breadcrumbs-bar.474628c11d128ace.js +0 -1
  532. package/dist/client/styles-breadcrumbs.b0241eed8398fe84.js +0 -1
  533. package/dist/client/styles-button.bd90715982da863b.js +0 -1
  534. package/dist/client/styles-content-section.a1f8a5f77270d1dc.js +0 -1
  535. package/dist/client/styles-content-section.f47b61c45a723af0.css +0 -2
  536. package/dist/client/styles-content-section.f47b61c45a723af0.css.map +0 -1
  537. package/dist/client/styles-contributor-spotlight.a77d55cfef159e66.css +0 -2
  538. package/dist/client/styles-contributor-spotlight.a77d55cfef159e66.css.map +0 -1
  539. package/dist/client/styles-contributor-spotlight.a992b1d366637c5d.js +0 -1
  540. package/dist/client/styles-curriculum-about.4b80aa2f2b88e8e4.js +0 -1
  541. package/dist/client/styles-curriculum-about.b8d113b14323c909.css +0 -2
  542. package/dist/client/styles-curriculum-about.b8d113b14323c909.css.map +0 -1
  543. package/dist/client/styles-curriculum-default.190eba828fd99e0a.js +0 -1
  544. package/dist/client/styles-curriculum-default.ef46db3751d8e999.css +0 -0
  545. package/dist/client/styles-curriculum-landing.56209b30561d82e0.css +0 -2
  546. package/dist/client/styles-curriculum-landing.56209b30561d82e0.css.map +0 -1
  547. package/dist/client/styles-curriculum-landing.e73c9557dd2057aa.js +0 -1
  548. package/dist/client/styles-curriculum-module.7fc982bc6793fa48.js +0 -1
  549. package/dist/client/styles-curriculum-module.c7271eb90af85eba.css +0 -2
  550. package/dist/client/styles-curriculum-module.c7271eb90af85eba.css.map +0 -1
  551. package/dist/client/styles-curriculum-overview.d00ecdc305f40125.js +0 -1
  552. package/dist/client/styles-curriculum-overview.ef46db3751d8e999.css +0 -0
  553. package/dist/client/styles-featured-articles.27e767c8b538f066.js +0 -1
  554. package/dist/client/styles-featured-articles.c518f93ad0470cdf.css +0 -2
  555. package/dist/client/styles-featured-articles.c518f93ad0470cdf.css.map +0 -1
  556. package/dist/client/styles-footer.c1a53f0a58f04928.css +0 -2
  557. package/dist/client/styles-footer.e86ec0a935d5937f.js +0 -1
  558. package/dist/client/styles-generic-about.27a13c39db15963c.js +0 -1
  559. package/dist/client/styles-generic-about.481f176f22ba0def.css +0 -2
  560. package/dist/client/styles-generic-about.481f176f22ba0def.css.map +0 -1
  561. package/dist/client/styles-generic-community.44405e7e3938a4b6.js +0 -1
  562. package/dist/client/styles-generic-community.ddbcb9e0488bf017.css +0 -2
  563. package/dist/client/styles-generic-community.ddbcb9e0488bf017.css.map +0 -1
  564. package/dist/client/styles-generic-content.a2ddd6aac780a65f.js +0 -1
  565. package/dist/client/styles-generic-layout.55441b1a560f5c9f.css +0 -2
  566. package/dist/client/styles-generic-layout.670f75c4f806be84.js +0 -1
  567. package/dist/client/styles-generic-sidebar.515ed6dc89aec542.css +0 -2
  568. package/dist/client/styles-generic-sidebar.515ed6dc89aec542.css.map +0 -1
  569. package/dist/client/styles-generic-sidebar.d1528b01acb49222.js +0 -1
  570. package/dist/client/styles-generic-toc.88e45e1e72c77b73.css +0 -2
  571. package/dist/client/styles-generic-toc.88e45e1e72c77b73.css.map +0 -1
  572. package/dist/client/styles-generic-toc.db854e6e0376fb6b.js +0 -1
  573. package/dist/client/styles-global.698ebe57a5418ca2.css +0 -2
  574. package/dist/client/styles-global.698ebe57a5418ca2.css.map +0 -1
  575. package/dist/client/styles-global.cb63a51fc1146957.js +0 -1
  576. package/dist/client/styles-heading-anchor.6ffff34f5421dc9f.js +0 -1
  577. package/dist/client/styles-heading-anchor.f2760897211efe98.css +0 -2
  578. package/dist/client/styles-homepage-body.4a9eaf99a6d5a434.js +0 -1
  579. package/dist/client/styles-homepage-contributor-spotlight.a91a262ee949a587.js +0 -1
  580. package/dist/client/styles-homepage-footer.cddd4004e597dbdf.js +0 -1
  581. package/dist/client/styles-homepage-header.6fc6295b2124ce59.js +0 -1
  582. package/dist/client/styles-homepage-hero.d56f468fb0364b60.js +0 -1
  583. package/dist/client/styles-homepage.be456abdb86e4bd2.js +0 -1
  584. package/dist/client/styles-latest-news.1b5fd7a95688fea4.css +0 -2
  585. package/dist/client/styles-latest-news.1b5fd7a95688fea4.css.map +0 -1
  586. package/dist/client/styles-latest-news.f725dd4127faabc2.js +0 -1
  587. package/dist/client/styles-left-sidebar.135a5bc6ad04c4f0.css +0 -2
  588. package/dist/client/styles-left-sidebar.135a5bc6ad04c4f0.css.map +0 -1
  589. package/dist/client/styles-left-sidebar.6cdadac4a1db951d.js +0 -1
  590. package/dist/client/styles-logo.8e7830628a9d7ef5.js +0 -1
  591. package/dist/client/styles-logo.a89a79f82f933ef6.css +0 -2
  592. package/dist/client/styles-logo.a89a79f82f933ef6.css.map +0 -1
  593. package/dist/client/styles-mandala.41af6b0b37aa7987.js +0 -1
  594. package/dist/client/styles-mandala.96281d90e09ea84c.css +0 -2
  595. package/dist/client/styles-mandala.96281d90e09ea84c.css.map +0 -1
  596. package/dist/client/styles-menu.786218f8a3e51b45.js +0 -1
  597. package/dist/client/styles-menu.d6b6e63ef2bff0d6.css +0 -2
  598. package/dist/client/styles-menu.d6b6e63ef2bff0d6.css.map +0 -1
  599. package/dist/client/styles-navigation.94adc2be697cca49.css +0 -2
  600. package/dist/client/styles-navigation.94adc2be697cca49.css.map +0 -1
  601. package/dist/client/styles-navigation.fac8722caf14abc8.js +0 -1
  602. package/dist/client/styles-not-found.f42949546ffd210c.js +0 -1
  603. package/dist/client/styles-observatory-landing.994044845e174ebc.js +0 -1
  604. package/dist/client/styles-observatory-landing.ef46db3751d8e999.css +0 -0
  605. package/dist/client/styles-observatory-results.2ebe1e1263bf9901.js +0 -1
  606. package/dist/client/styles-observatory-results.ef46db3751d8e999.css +0 -0
  607. package/dist/client/styles-page-layout.17e57aa7087c3c14.js +0 -1
  608. package/dist/client/styles-page-layout.5db9be57df19de0c.css +0 -2
  609. package/dist/client/styles-pagination.0b3aa3fd6f6d3808.css +0 -2
  610. package/dist/client/styles-pagination.8e0e077c056abb08.js +0 -1
  611. package/dist/client/styles-playground.6ba82a762ed428cd.js +0 -1
  612. package/dist/client/styles-recent-contributions.049ea82f38aea973.js +0 -1
  613. package/dist/client/styles-reference-layout.3fdc304c65153216.css +0 -2
  614. package/dist/client/styles-reference-layout.3fdc304c65153216.css.map +0 -1
  615. package/dist/client/styles-reference-layout.dffb8a58fa542929.js +0 -1
  616. package/dist/client/styles-reference-toc.885940cc1b62f05f.js +0 -1
  617. package/dist/client/styles-sandbox.28b391e75fd280b4.js +0 -1
  618. package/dist/client/styles-site-search.442cfc8fc77298a8.js +0 -1
  619. package/dist/client/styles-site-search.cf345ef99e0d06b5.css +0 -2
  620. package/dist/client/styles-translation-banner.ddf203bc7bb2e1bc.js +0 -1
  621. package/dist/client/styles.23fb47137258e781.js +0 -2
  622. package/dist/client/styles.23fb47137258e781.js.map +0 -1
  623. package/dist/legacy/7664.eee0fe67e04785f4.js.map +0 -1
  624. package/dist/legacy/afree.23e42bd4c44a110f.png +0 -0
  625. package/dist/legacy/index.9db2264bb6151226.css.map +0 -1
  626. package/dist/legacy/index.b760891bfcc63977.js.map +0 -1
  627. package/hooks/css-formal-syntax.js +0 -21
  628. /package/dist/client/{1342.b05de4cd80d4c221.js.LICENSE.txt → 1342.a66390274e8adda1.js.LICENSE.txt} +0 -0
  629. /package/dist/client/{2448.92286b4e96ad1c02.js.LICENSE.txt → 2448.34e8a46d8ac913b9.js.LICENSE.txt} +0 -0
  630. /package/dist/client/{4036.5ca9997e4c034473.js.LICENSE.txt → 4036.4aa9a690073ccbac.js.LICENSE.txt} +0 -0
  631. /package/dist/client/{4045.c0fd898eab0b2a5c.js.LICENSE.txt → 4045.ec4c143648ab2280.js.LICENSE.txt} +0 -0
  632. /package/dist/client/{4531.4ae011f8a64a2b27.js.LICENSE.txt → 4531.5f4701b319065b2b.js.LICENSE.txt} +0 -0
  633. /package/dist/client/{5557.247c4c4c61d91b4d.js.LICENSE.txt → 5557.3923ba7ade67d4c8.js.LICENSE.txt} +0 -0
  634. /package/dist/client/{8468.add3c4feb6c9e926.js.LICENSE.txt → 833.a99cc1ff95a9361c.js.LICENSE.txt} +0 -0
  635. /package/dist/client/{917.f2371f7a8ef08c84.js.LICENSE.txt → 8468.f45cbbf88e617172.js.LICENSE.txt} +0 -0
  636. /package/dist/client/{9222.f3820fec7e0a91be.js.LICENSE.txt → 917.f2551a4b63ec4d86.js.LICENSE.txt} +0 -0
  637. /package/dist/legacy/{1284.0939e1a7de12c23c.js.LICENSE.txt → 1284.9609d9ed70761e2f.js.LICENSE.txt} +0 -0
  638. /package/dist/legacy/{7664.eee0fe67e04785f4.js.LICENSE.txt → 7664.7bf14ff753e36b72.js.LICENSE.txt} +0 -0
  639. /package/dist/legacy/{8716.9fde41ad50c3078d.js.LICENSE.txt → 8716.0a9d049bf166f65a.js.LICENSE.txt} +0 -0
  640. /package/dist/legacy/{index.b760891bfcc63977.js.LICENSE.txt → index.dd25b33b92ab6c72.js.LICENSE.txt} +0 -0
package/svgo.config.js CHANGED
@@ -1,13 +1,24 @@
1
- export default {
2
- multipass: true,
3
- plugins: [
4
- {
5
- name: "preset-default",
6
- params: {
7
- overrides: {
8
- removeViewBox: false,
1
+ export default override();
2
+
3
+ /**
4
+ * @param {object} [overrides]
5
+ * @param {(string | object)[]} [plugins]
6
+ * @returns
7
+ */
8
+ export function override(overrides, plugins = []) {
9
+ return {
10
+ multipass: true,
11
+ plugins: [
12
+ {
13
+ name: "preset-default",
14
+ params: {
15
+ overrides: {
16
+ removeViewBox: false,
17
+ ...overrides,
18
+ },
9
19
  },
10
20
  },
11
- },
12
- ],
13
- };
21
+ ...plugins,
22
+ ],
23
+ };
24
+ }
@@ -57,6 +57,7 @@ declare global {
57
57
  "mdn-themed-image": import("../components/themed-image/element.js").MDNThemedImage;
58
58
  "mdn-toggle-sidebar": import("../components/toggle-sidebar/element.js").MDNToggleSidebar;
59
59
  "mdn-user-menu": import("../components/user-menu/element.js").MDNUserMenu;
60
+ "mdn-writer-open-editor": import("../components/writer-open-editor/element.js").MDNWriterOpenEditor;
60
61
  }
61
62
  }
62
63
 
package/types/fred.ts CHANGED
@@ -2,12 +2,16 @@ import { BuiltPage } from "@mdn/rari";
2
2
  import { L10nFunction } from "./fluent-2.js";
3
3
  import { StatsCompilation } from "@rspack/core";
4
4
 
5
- export type Context<T = BuiltPage> = T &
5
+ export type Context<T = BuiltPage> = PartialContext<T> &
6
6
  L10nContext & {
7
7
  pageTitle?: string;
8
8
  path: string;
9
9
  };
10
10
 
11
+ export type PartialContext<T = BuiltPage> = T & {
12
+ localServer?: boolean;
13
+ };
14
+
11
15
  export type L10nContext = {
12
16
  locale: string;
13
17
  l10n: L10nFunction;
@@ -1,10 +0,0 @@
1
- /* Formal syntax on CSS pages */
2
- .css-formal-syntax {
3
- font-size: var(--font-size-small);
4
- text-wrap: wrap;
5
-
6
- ~ footer {
7
- padding: 0.5rem 1rem;
8
- font-size: var(--font-size-small);
9
- }
10
- }
@@ -1,406 +0,0 @@
1
- /* Observatory main layout */
2
-
3
- .obs-layout {
4
- --spacing: 2rem;
5
-
6
- --progress-color: var(--observatory-accent);
7
-
8
- --observatory-accent: light-dark(
9
- var(--color-purple-20),
10
- var(--color-purple-80)
11
- );
12
- --observatory-accent-light: light-dark(
13
- var(--color-purple-20),
14
- var(--color-purple-80)
15
- );
16
-
17
- --observatory-pass-icon-bg: light-dark(
18
- var(--color-green-90),
19
- var(--color-green-20)
20
- );
21
- --observatory-pass-icon-color: light-dark(
22
- var(--color-green-50),
23
- var(--color-green-80)
24
- );
25
- --observatory-fail-icon-bg: light-dark(
26
- var(--color-red-90),
27
- var(--color-red-10)
28
- );
29
- --observatory-fail-icon-color: light-dark(
30
- var(--color-red-50),
31
- var(--color-red-80)
32
- );
33
-
34
- --observatory-table-bg: light-dark(var(--color-white), var(--color-gray-10));
35
- --observatory-table-bg-alternate: light-dark(
36
- var(--color-gray-90),
37
- var(--color-gray-10)
38
- );
39
- --observatory-table-header-bg: light-dark(
40
- var(--color-gray-90),
41
- var(--color-gray-10)
42
- );
43
-
44
- --observatory-grade-a-bg: light-dark(#d2fadd, #265c3d);
45
- --observatory-grade-a-border: light-dark(#017a37, #89fca1);
46
- --observatory-grade-b-bg: light-dark(#e8fad2, #52662a);
47
- --observatory-grade-b-border: light-dark(#547a01, #d5fc88);
48
- --observatory-grade-c-bg: light-dark(#faf8d2, #66602a);
49
- --observatory-grade-c-border: light-dark(#7a7001, #fcf988);
50
- --observatory-grade-d-bg: light-dark(#fae8d2, #5c3d26);
51
- --observatory-grade-d-border: light-dark(#a65001, #ff6a00);
52
- --observatory-grade-f-bg: light-dark(#fad2d2, #5c2626);
53
- --observatory-grade-f-border: light-dark(#aa0000, #fc8888);
54
- --observatory-arrow-down-color: light-dark(
55
- var(--color-red-20),
56
- var(--color-red-80)
57
- );
58
- --observatory-arrow-up-color: light-dark(
59
- var(--color-green-50),
60
- var(--color-green-80)
61
- );
62
-
63
- --form-invalid-color: light-dark(var(--color-red-50), var(--color-red-80));
64
-
65
- --font-body: inter, var(--font-fallback);
66
-
67
- /* icons */
68
- --alert-circle-img: url("./assets/alert-circle.svg");
69
-
70
- /* Draw a top border in our color */
71
- }
72
-
73
- /* landing */
74
- .obs-landing-top {
75
- display: grid;
76
-
77
- grid-template-areas: "form svg auto";
78
- grid-template-columns: 2fr 1fr minmax(0, 200px);
79
-
80
- gap: 0 6.25rem;
81
-
82
- max-width: var(--max-width);
83
-
84
- padding-block: 0.75rem;
85
- padding-inline: 1rem;
86
-
87
- @media (--screen-xxlarge) {
88
- padding-inline: calc((100% - 1440px + (1rem * 2)) / 2);
89
- }
90
- --border-radius: 0.3rem;
91
-
92
- @media (--screen-large-and-narrower) {
93
- grid-template-areas: "form svg";
94
- grid-template-columns: auto;
95
- }
96
-
97
- @media (--screen-small-and-narrower) {
98
- grid-template-areas: "form" "svg";
99
-
100
- .landing-illustration {
101
- text-align: center;
102
- }
103
- }
104
-
105
- .accent {
106
- color: var(--observatory-accent);
107
- }
108
- }
109
-
110
- .obs-landing-top__form {
111
- grid-area: form;
112
-
113
- p {
114
- margin: 1rem 0 2rem;
115
- }
116
- }
117
-
118
- .obs-landing-top__illustration {
119
- grid-area: svg;
120
-
121
- svg {
122
- width: auto;
123
- max-width: 50vw;
124
- height: 100%;
125
- }
126
-
127
- @media (--screen-small-and-narrower) {
128
- text-align: center;
129
- }
130
- }
131
-
132
- .obs-landing-about {
133
- padding-block: 0.75rem;
134
- padding-inline: 1rem;
135
-
136
- @media (--screen-xxlarge) {
137
- padding-inline: calc((100% - 1440px + (1rem * 2)) / 2);
138
- }
139
-
140
- color: var(--color-text-secondary);
141
-
142
- background-color: light-dark(var(--color-gray-90), var(--color-gray-05));
143
-
144
- p {
145
- color: var(--color-text-secondary);
146
- }
147
-
148
- h1,
149
- h2 {
150
- font-style: normal;
151
- font-weight: 600;
152
- letter-spacing: var(--heading-letter-spacing);
153
- }
154
-
155
- h2 {
156
- margin-bottom: 2rem;
157
- }
158
-
159
- @media (--screen-medium-and-wider) {
160
- .assessment {
161
- margin-left: 0;
162
- }
163
-
164
- .scanning {
165
- margin-left: 3.125rem;
166
- }
167
-
168
- .security {
169
- margin-left: 6.25rem;
170
- }
171
-
172
- .mdn {
173
- margin-left: 9.75rem;
174
- }
175
- }
176
-
177
- @media (--screen-small-and-narrower) {
178
- figure ~ figure {
179
- margin-top: 1.75rem;
180
- }
181
-
182
- .lines {
183
- display: none;
184
- }
185
- }
186
-
187
- @media (--screen-medium-only) {
188
- .about-copy {
189
- width: 80%;
190
- }
191
- }
192
-
193
- svg defs#defs3 #gradient {
194
- stop#stop1 {
195
- stop-color: var(--observatory-accent);
196
- }
197
-
198
- stop#stop2 {
199
- stop-color: color-mix(
200
- in srgb,
201
- var(--observatory-accent),
202
- var(--color-background-secondary)
203
- );
204
- }
205
-
206
- stop#stop3 {
207
- stop-color: var(--color-background-secondary);
208
- }
209
- }
210
-
211
- figure {
212
- display: grid;
213
-
214
- grid-template-columns: 2rem 1fr;
215
-
216
- gap: 1.5rem;
217
- align-items: start;
218
-
219
- figcaption {
220
- p {
221
- margin: 0;
222
- color: var(--color-text-primary);
223
- }
224
- }
225
-
226
- &.assessment {
227
- margin-left: 0;
228
- }
229
-
230
- &.assessment,
231
- &.scanning,
232
- &.security,
233
- &.mdn {
234
- svg path {
235
- fill: var(--observatory-accent);
236
- }
237
- }
238
- }
239
- }
240
-
241
- .obs-links__link {
242
- display: inline-block;
243
-
244
- margin-top: 2rem;
245
- margin-right: 1rem;
246
-
247
- font-size: var(--type-tiny-font-size);
248
-
249
- color: var(--color-text-secondary);
250
-
251
- text-decoration: underline;
252
-
253
- &:hover {
254
- text-decoration: none;
255
- }
256
-
257
- &::before {
258
- display: inline-block;
259
-
260
- width: 1.5em;
261
- height: 1.5em;
262
-
263
- margin-right: 0.2em;
264
-
265
- vertical-align: middle;
266
-
267
- content: "";
268
-
269
- background-color: var(--color-text-secondary);
270
-
271
- mask-repeat: no-repeat;
272
- mask-position: center;
273
- mask-size: cover;
274
- }
275
- }
276
-
277
- .obs-links__link--faq {
278
- &::before {
279
- mask-image: url("../icon/circle-help.svg");
280
- }
281
- }
282
-
283
- .obs-links__link--feedback {
284
- &::before {
285
- mask-image: url("../icon/circle-alert.svg");
286
- }
287
- }
288
-
289
- /* results */
290
- .obs-results {
291
- display: grid;
292
-
293
- grid-template-areas:
294
- "header"
295
- "main"
296
- "sidebar";
297
- grid-template-columns: 1fr minmax(0, 200px);
298
-
299
- row-gap: 0;
300
- column-gap: 3rem;
301
-
302
- max-width: var(--max-width);
303
-
304
- padding-block: 0.75rem;
305
- padding-inline: 1rem;
306
-
307
- color: var(--color-text-primary);
308
-
309
- background-color: light-dark(var(--color-gray-90), var(--color-gray-05));
310
-
311
- @media (--screen-xxlarge) {
312
- padding-inline: calc((100% - 1440px + (1rem * 2)) / 2);
313
- }
314
-
315
- --summary-icon: url("assets/summary-icon.svg");
316
- --results-icon: url("assets/results-icon.svg");
317
- --border-radius: 0.3rem;
318
-
319
- @media (--screen-medium-and-wider) {
320
- grid-template-areas: "header sidebar" "main sidebar";
321
- grid-template-columns: minmax(0, 1fr) 12rem;
322
- column-gap: 1rem;
323
-
324
- section.header,
325
- section.main {
326
- padding: 0;
327
- }
328
- }
329
-
330
- @media (--screen-xlarge-and-wider) {
331
- grid-template-areas: "header sidebar" "main sidebar";
332
- grid-template-columns: 2fr minmax(0, 200px);
333
- column-gap: 3rem;
334
- }
335
- }
336
-
337
- .obs-results__header {
338
- display: flex;
339
-
340
- flex-wrap: wrap;
341
-
342
- grid-area: header;
343
-
344
- gap: 1.5rem;
345
- align-items: start;
346
- justify-content: space-between;
347
- }
348
-
349
- .obs-results__feedback {
350
- .obs-links__link {
351
- margin-top: 1.5rem;
352
- font-size: var(--font-size-small);
353
- }
354
- }
355
-
356
- .obs-results__mdn-results {
357
- grid-area: main;
358
- }
359
-
360
- .obs-toc {
361
- grid-area: sidebar;
362
- padding: 0;
363
- margin-bottom: 2rem;
364
- }
365
-
366
- h2.obs-toc__heading {
367
- margin: 0 0 1rem;
368
- margin-top: 1.5rem;
369
-
370
- font: var(--type-heading-h5);
371
- font-size: var(--type-base-font-size-rem);
372
-
373
- color: var(--color-text-secondary);
374
-
375
- letter-spacing: 1.5px;
376
- }
377
-
378
- .obs-toc__list {
379
- display: inline-block;
380
-
381
- padding: 0.5rem 1rem;
382
-
383
- font-size: var(--type-smaller-font-size);
384
-
385
- color: var(--color-text-secondary);
386
-
387
- text-decoration: none;
388
-
389
- list-style: none;
390
-
391
- border-left: 2px solid var(--color-border-primary);
392
- }
393
-
394
- .obs-toc__item {
395
- padding: 0.5rem 0;
396
- color: var(--color-text-secondary);
397
-
398
- a {
399
- color: var(--color-text-secondary);
400
- text-decoration: none;
401
- }
402
- }
403
-
404
- .obs-results__title-accent {
405
- color: var(--observatory-accent);
406
- }
@@ -1,16 +0,0 @@
1
- import { html } from "lit";
2
-
3
- /**
4
- * @param {import("@fred").Context<import("@rari").SPAPage>} _context
5
- * @returns {import("@lit").TemplateResult}
6
- */
7
- export function FAQ(_context) {
8
- return html`<a
9
- href="/en-US/observatory/docs/faq"
10
- target="_blank"
11
- rel="noopener"
12
- class="obs-links__link obs-links__link--faq"
13
- >
14
- Read our FAQ
15
- </a>`;
16
- }
@@ -1,16 +0,0 @@
1
- import { html } from "lit";
2
-
3
- /**
4
- * @param {import("@fred").Context<import("@rari").SPAPage>} _context
5
- * @returns {import("@lit").TemplateResult}
6
- */
7
- export function Feedback(_context) {
8
- return html`<a
9
- href="https://survey.alchemer.com/s3/7897385/MDN-HTTP-Observatory"
10
- target="_blank"
11
- rel="noopener"
12
- class="obs-links__link obs-links__link--feedback"
13
- >
14
- Report Feedback
15
- </a>`;
16
- }
@@ -1,32 +0,0 @@
1
- .curriculum-content-container{--max-width:74rem;--gutter:1rem;--inner-width:calc(min(var(--max-width), 100vw) - var(--gutter)*2);--csstools-light-dark-toggle--0:var(--csstools-color-scheme--light) #000;--curriculum-bg-color-landing-about-ul:var(--csstools-light-dark-toggle--0,#fff);--csstools-light-dark-toggle--1:var(--csstools-color-scheme--light) #8a5b33;--curriculum-bg-color-landing-stairway-floor:var(--csstools-light-dark-toggle--1,#fcf2e8);--csstools-light-dark-toggle--2:var(--csstools-color-scheme--light) #25170e;--curriculum-bg-color-landing-top-icon:var(--csstools-light-dark-toggle--2,#fcf2e8);--csstools-light-dark-toggle--3:var(--csstools-color-scheme--light) #0e0c0b;--curriculum-bg-color-landing:var(--csstools-light-dark-toggle--3,#fff);--csstools-light-dark-toggle--4:var(--csstools-color-scheme--light) #000;--curriculum-bg-color-list-item-body:var(--csstools-light-dark-toggle--4,#fff);--csstools-light-dark-toggle--5:var(--csstools-color-scheme--light) #5c437f;--curriculum-bg-color-list-item-icon-topic-practices:var(--csstools-light-dark-toggle--5,#fff);--csstools-light-dark-toggle--6:var(--csstools-color-scheme--light) #816e41;--curriculum-bg-color-list-item-icon-topic-scripting:var(--csstools-light-dark-toggle--6,#fff);--csstools-light-dark-toggle--7:var(--csstools-color-scheme--light) #7f4346;--curriculum-bg-color-list-item-icon-topic-standards:var(--csstools-light-dark-toggle--7,#fff);--csstools-light-dark-toggle--8:var(--csstools-color-scheme--light) #43537f;--curriculum-bg-color-list-item-icon-topic-styling:var(--csstools-light-dark-toggle--8,#fff);--csstools-light-dark-toggle--9:var(--csstools-color-scheme--light) #437f59;--curriculum-bg-color-list-item-icon-topic-tooling:var(--csstools-light-dark-toggle--9,#fff);--csstools-light-dark-toggle--10:var(--csstools-color-scheme--light) #333;--curriculum-bg-color-list-item-topic-practices:var(--csstools-light-dark-toggle--10,#a666ff30);--csstools-light-dark-toggle--11:var(--csstools-color-scheme--light) #333;--curriculum-bg-color-list-item-topic-scripting:var(--csstools-light-dark-toggle--11,#94850030);--csstools-light-dark-toggle--12:var(--csstools-color-scheme--light) #333;--curriculum-bg-color-list-item-topic-standards:var(--csstools-light-dark-toggle--12,#ff296230);--csstools-light-dark-toggle--13:var(--csstools-color-scheme--light) #333;--curriculum-bg-color-list-item-topic-styling:var(--csstools-light-dark-toggle--13,#008cf030);--csstools-light-dark-toggle--14:var(--csstools-color-scheme--light) #333;--curriculum-bg-color-list-item-topic-tooling:var(--csstools-light-dark-toggle--14,#00994230);--csstools-light-dark-toggle--15:var(--csstools-color-scheme--light) #322d29;--curriculum-bg-color-note:var(--csstools-light-dark-toggle--15,#fcf2e880);--csstools-light-dark-toggle--16:var(--csstools-color-scheme--light) #211f1c;--curriculum-bg-color-partner:var(--csstools-light-dark-toggle--16,#fff);--csstools-light-dark-toggle--17:var(--csstools-color-scheme--light) #5c437f;--curriculum-bg-color-topic-practices:var(--csstools-light-dark-toggle--17,#a666ff30);--csstools-light-dark-toggle--18:var(--csstools-color-scheme--light) #766841;--curriculum-bg-color-topic-scripting:var(--csstools-light-dark-toggle--18,#94850030);--csstools-light-dark-toggle--19:var(--csstools-color-scheme--light) #9a4c52;--curriculum-bg-color-topic-standards:var(--csstools-light-dark-toggle--19,#ff296230);--csstools-light-dark-toggle--20:var(--csstools-color-scheme--light) #4d619d;--curriculum-bg-color-topic-styling:var(--csstools-light-dark-toggle--20,#008cf030);--csstools-light-dark-toggle--21:var(--csstools-color-scheme--light) #3c8050;--curriculum-bg-color-topic-tooling:var(--csstools-light-dark-toggle--21,#00994230);--csstools-light-dark-toggle--22:var(--csstools-color-scheme--light) #25170e;--curriculum-bg-color:var(--csstools-light-dark-toggle--22,#fcf2e8);--csstools-light-dark-toggle--23:var(--csstools-color-scheme--light) #333;--curriculum-bg-large-color:var(--csstools-light-dark-toggle--23,#fcf2e8);--csstools-light-dark-toggle--24:var(--csstools-color-scheme--light) #cccccca6;--curriculum-border-color-hover:var(--csstools-light-dark-toggle--24,#fff);--csstools-light-dark-toggle--25:var(--csstools-color-scheme--light) #4f4f4f;--curriculum-border-color:var(--csstools-light-dark-toggle--25,#f3f2f2);--csstools-light-dark-toggle--26:var(--csstools-color-scheme--light) #e2632c;--curriculum-category-color:var(--csstools-light-dark-toggle--26,#e2632c);--csstools-light-dark-toggle--27:var(--csstools-color-scheme--light) #b16235;--curriculum-color-landing-laptop:var(--csstools-light-dark-toggle--27,#e2632c);--csstools-light-dark-toggle--28:var(--csstools-color-scheme--light) #cb96ee;--curriculum-color-list-item-icon-topic-practices:var(--csstools-light-dark-toggle--28,#962eff);--csstools-light-dark-toggle--29:var(--csstools-color-scheme--light) #f3d78c;--curriculum-color-list-item-icon-topic-scripting:var(--csstools-light-dark-toggle--29,#756a00);--csstools-light-dark-toggle--30:var(--csstools-color-scheme--light) #f38c94;--curriculum-color-list-item-icon-topic-standards:var(--csstools-light-dark-toggle--30,#d10038);--csstools-light-dark-toggle--31:var(--csstools-color-scheme--light) #96acee;--curriculum-color-list-item-icon-topic-styling:var(--csstools-light-dark-toggle--31,#0061c2);--csstools-light-dark-toggle--32:var(--csstools-color-scheme--light) #8cf3b8;--curriculum-color-list-item-icon-topic-tooling:var(--csstools-light-dark-toggle--32,#007a35);--csstools-light-dark-toggle--33:var(--csstools-color-scheme--light) #cb96ee;--curriculum-color-topic-practices:var(--csstools-light-dark-toggle--33,#962eff);--csstools-light-dark-toggle--34:var(--csstools-color-scheme--light) #f3d78c;--curriculum-color-topic-scripting:var(--csstools-light-dark-toggle--34,#756a00);--csstools-light-dark-toggle--35:var(--csstools-color-scheme--light) #f38c94;--curriculum-color-topic-standards:var(--csstools-light-dark-toggle--35,#d10038);--csstools-light-dark-toggle--36:var(--csstools-color-scheme--light) #96acee;--curriculum-color-topic-styling:var(--csstools-light-dark-toggle--36,#0061c2);--csstools-light-dark-toggle--37:var(--csstools-color-scheme--light) #8cf3b8;--curriculum-color-topic-tooling:var(--csstools-light-dark-toggle--37,#007a35);--csstools-light-dark-toggle--38:var(--csstools-color-scheme--light) #e2632c;--curriculum-color:var(--csstools-light-dark-toggle--38,#d87e55);--csstools-light-dark-toggle--39:var(--csstools-color-scheme--light) #25170e;--curriculum-module-label-bg-color:var(--csstools-light-dark-toggle--39,#fefaf6);--csstools-light-dark-toggle--40:var(--csstools-color-scheme--light) #e2632c;--curriculum-module-label-color:var(--csstools-light-dark-toggle--40,#b74d1f);--csstools-light-dark-toggle--41:var(--csstools-color-scheme--light) #b1733526;--csstools-light-dark-toggle--42:var(--csstools-color-scheme--light) #b162350f;--curriculum-shadow-landing-about-ul:0 4px 10px 0 var(--csstools-light-dark-toggle--41,#e2632c0f),0 -2px 4px 0 var(--csstools-light-dark-toggle--42,#b162350f);--csstools-light-dark-toggle--43:var(--csstools-color-scheme--light) #24242426;--csstools-light-dark-toggle--44:var(--csstools-color-scheme--light) #57575726;--curriculum-shadow:4px 4px 8px 0 var(--csstools-light-dark-toggle--43,#e2632c0f),-4px 4px 8px 0 var(--csstools-light-dark-toggle--44,#b3b3b326);--curriculum-landing-about-beginner:url(/static/client/curriculum-landing-about-beginner.c283306531a0a760.svg#light);--curriculum-landing-about-pace:url(/static/client/curriculum-landing-about-pace.caf53bc7642d2d9e.svg#light);--curriculum-landing-about-free:url(/static/client/curriculum-landing-about-free.860c02f993720011.svg#light);--curriculum-landing-about-bullet:url(/static/client/curriculum-landing-about-bullet.329a46667f2b7b1c.svg#light);--curriculum-landing-started-beginner:url(/static/client/curriculum-landing-started-beginner.684ee16fbad28594.svg#light);--curriculum-landing-started-advanced:url(/static/client/curriculum-landing-started-advanced.6aa084114d4a009d.svg#light);--curriculum-landing-started-employment:url(/static/client/curriculum-landing-started-employment.ad9634ce6c19f3ba.svg#light);--curriculum-landing-started-educator:url(/static/client/curriculum-landing-started-educator.1fc04ca1f8ce8d38.svg#light);--curriculum-module-mdn-resource:url(/static/client/curriculum-mdn-resource.f452724542f874b8.svg#light);--curriculum-bullet:url(/static/client/curriculum-bullet.934e76f0055c7737.svg#light);--curriculum-about-covered:url(/static/client/curriculum-about-covered.74e453cf7e1a86c2.svg#light);--curriculum-about-detail:url(/static/client/curriculum-about-detail.515f645950e2300b.svg#light);--curriculum-about-educators:url(/static/client/curriculum-about-educators.91685cbbd58c65fb.svg#light);--curriculum-about-not:url(/static/client/curriculum-about-not.42caac16e07477b5.svg#light);--curriculum-about-students:url(/static/client/curriculum-about-students.36ca88cba5f00272.svg#light);--curriculum-bg-image-partner:url(/static/client/curriculum-partner-bg.247900de90ec7d1e.svg#light);--curriculum-scrim-bg:url(/static/client/curriculum-scrim-bg.66afaab49246fbd9.svg#light);--curriculum-landing-arrow:url(/static/client/curriculum-landing-arrow.37d9469e2da628fb.svg#light);--text-primary:var(--color-text-primary);--text-secondary:var(--color-text-secondary)}@supports (color:hsl(0 0% 0%/0)) and (color:light-dark(red,red)){.curriculum-content-container{--curriculum-bg-color-landing-about-ul:light-dark(#fff,#000);--curriculum-bg-color-landing-stairway-floor:light-dark(#fcf2e8,#8a5b33);--curriculum-bg-color-landing-top-icon:light-dark(#fcf2e8,#25170e);--curriculum-bg-color-landing:light-dark(#fff,#0e0c0b);--curriculum-bg-color-list-item-body:light-dark(#fff,#000);--curriculum-bg-color-list-item-icon-topic-practices:light-dark(#fff,#5c437f);--curriculum-bg-color-list-item-icon-topic-scripting:light-dark(#fff,#816e41);--curriculum-bg-color-list-item-icon-topic-standards:light-dark(#fff,#7f4346);--curriculum-bg-color-list-item-icon-topic-styling:light-dark(#fff,#43537f);--curriculum-bg-color-list-item-icon-topic-tooling:light-dark(#fff,#437f59);--curriculum-bg-color-list-item-topic-practices:light-dark(#a666ff30,#333);--curriculum-bg-color-list-item-topic-scripting:light-dark(#94850030,#333);--curriculum-bg-color-list-item-topic-standards:light-dark(#ff296230,#333);--curriculum-bg-color-list-item-topic-styling:light-dark(#008cf030,#333);--curriculum-bg-color-list-item-topic-tooling:light-dark(#00994230,#333);--curriculum-bg-color-note:light-dark(#fcf2e880,#322d29);--curriculum-bg-color-partner:light-dark(#fff,#211f1c);--curriculum-bg-color-topic-practices:light-dark(#a666ff30,#5c437f);--curriculum-bg-color-topic-scripting:light-dark(#94850030,#766841);--curriculum-bg-color-topic-standards:light-dark(#ff296230,#9a4c52);--curriculum-bg-color-topic-styling:light-dark(#008cf030,#4d619d);--curriculum-bg-color-topic-tooling:light-dark(#00994230,#3c8050);--curriculum-bg-color:light-dark(#fcf2e8,#25170e);--curriculum-bg-large-color:light-dark(#fcf2e8,#333);--curriculum-border-color-hover:light-dark(#fff,#cccccca6);--curriculum-border-color:light-dark(#f3f2f2,#4f4f4f);--curriculum-category-color:light-dark(#e2632c,#e2632c);--curriculum-color-landing-laptop:light-dark(#e2632c,#b16235);--curriculum-color-list-item-icon-topic-practices:light-dark(#962eff,#cb96ee);--curriculum-color-list-item-icon-topic-scripting:light-dark(#756a00,#f3d78c);--curriculum-color-list-item-icon-topic-standards:light-dark(#d10038,#f38c94);--curriculum-color-list-item-icon-topic-styling:light-dark(#0061c2,#96acee);--curriculum-color-list-item-icon-topic-tooling:light-dark(#007a35,#8cf3b8);--curriculum-color-topic-practices:light-dark(#962eff,#cb96ee);--curriculum-color-topic-scripting:light-dark(#756a00,#f3d78c);--curriculum-color-topic-standards:light-dark(#d10038,#f38c94);--curriculum-color-topic-styling:light-dark(#0061c2,#96acee);--curriculum-color-topic-tooling:light-dark(#007a35,#8cf3b8);--curriculum-color:light-dark(#d87e55,#e2632c);--curriculum-module-label-bg-color:light-dark(#fefaf6,#25170e);--curriculum-module-label-color:light-dark(#b74d1f,#e2632c);--curriculum-shadow-landing-about-ul:0 4px 10px 0 light-dark(#e2632c0f,#b1733526),0 -2px 4px 0 light-dark(#b162350f,#b162350f);--curriculum-shadow:4px 4px 8px 0 light-dark(#e2632c0f,#24242426),-4px 4px 8px 0 light-dark(#b3b3b326,#57575726)}}@supports not (color:light-dark(tan,tan)){.curriculum-content-container *{--csstools-light-dark-toggle--0:var(--csstools-color-scheme--light) #000;--curriculum-bg-color-landing-about-ul:var(--csstools-light-dark-toggle--0,#fff);--csstools-light-dark-toggle--1:var(--csstools-color-scheme--light) #8a5b33;--curriculum-bg-color-landing-stairway-floor:var(--csstools-light-dark-toggle--1,#fcf2e8);--csstools-light-dark-toggle--2:var(--csstools-color-scheme--light) #25170e;--curriculum-bg-color-landing-top-icon:var(--csstools-light-dark-toggle--2,#fcf2e8);--csstools-light-dark-toggle--3:var(--csstools-color-scheme--light) #0e0c0b;--curriculum-bg-color-landing:var(--csstools-light-dark-toggle--3,#fff);--csstools-light-dark-toggle--4:var(--csstools-color-scheme--light) #000;--curriculum-bg-color-list-item-body:var(--csstools-light-dark-toggle--4,#fff);--csstools-light-dark-toggle--5:var(--csstools-color-scheme--light) #5c437f;--curriculum-bg-color-list-item-icon-topic-practices:var(--csstools-light-dark-toggle--5,#fff);--csstools-light-dark-toggle--6:var(--csstools-color-scheme--light) #816e41;--curriculum-bg-color-list-item-icon-topic-scripting:var(--csstools-light-dark-toggle--6,#fff);--csstools-light-dark-toggle--7:var(--csstools-color-scheme--light) #7f4346;--curriculum-bg-color-list-item-icon-topic-standards:var(--csstools-light-dark-toggle--7,#fff);--csstools-light-dark-toggle--8:var(--csstools-color-scheme--light) #43537f;--curriculum-bg-color-list-item-icon-topic-styling:var(--csstools-light-dark-toggle--8,#fff);--csstools-light-dark-toggle--9:var(--csstools-color-scheme--light) #437f59;--curriculum-bg-color-list-item-icon-topic-tooling:var(--csstools-light-dark-toggle--9,#fff);--csstools-light-dark-toggle--10:var(--csstools-color-scheme--light) #333;--curriculum-bg-color-list-item-topic-practices:var(--csstools-light-dark-toggle--10,#a666ff30);--csstools-light-dark-toggle--11:var(--csstools-color-scheme--light) #333;--curriculum-bg-color-list-item-topic-scripting:var(--csstools-light-dark-toggle--11,#94850030);--csstools-light-dark-toggle--12:var(--csstools-color-scheme--light) #333;--curriculum-bg-color-list-item-topic-standards:var(--csstools-light-dark-toggle--12,#ff296230);--csstools-light-dark-toggle--13:var(--csstools-color-scheme--light) #333;--curriculum-bg-color-list-item-topic-styling:var(--csstools-light-dark-toggle--13,#008cf030);--csstools-light-dark-toggle--14:var(--csstools-color-scheme--light) #333;--curriculum-bg-color-list-item-topic-tooling:var(--csstools-light-dark-toggle--14,#00994230);--csstools-light-dark-toggle--15:var(--csstools-color-scheme--light) #322d29;--curriculum-bg-color-note:var(--csstools-light-dark-toggle--15,#fcf2e880);--csstools-light-dark-toggle--16:var(--csstools-color-scheme--light) #211f1c;--curriculum-bg-color-partner:var(--csstools-light-dark-toggle--16,#fff);--csstools-light-dark-toggle--17:var(--csstools-color-scheme--light) #5c437f;--curriculum-bg-color-topic-practices:var(--csstools-light-dark-toggle--17,#a666ff30);--csstools-light-dark-toggle--18:var(--csstools-color-scheme--light) #766841;--curriculum-bg-color-topic-scripting:var(--csstools-light-dark-toggle--18,#94850030);--csstools-light-dark-toggle--19:var(--csstools-color-scheme--light) #9a4c52;--curriculum-bg-color-topic-standards:var(--csstools-light-dark-toggle--19,#ff296230);--csstools-light-dark-toggle--20:var(--csstools-color-scheme--light) #4d619d;--curriculum-bg-color-topic-styling:var(--csstools-light-dark-toggle--20,#008cf030);--csstools-light-dark-toggle--21:var(--csstools-color-scheme--light) #3c8050;--curriculum-bg-color-topic-tooling:var(--csstools-light-dark-toggle--21,#00994230);--csstools-light-dark-toggle--22:var(--csstools-color-scheme--light) #25170e;--curriculum-bg-color:var(--csstools-light-dark-toggle--22,#fcf2e8);--csstools-light-dark-toggle--23:var(--csstools-color-scheme--light) #333;--curriculum-bg-large-color:var(--csstools-light-dark-toggle--23,#fcf2e8);--csstools-light-dark-toggle--24:var(--csstools-color-scheme--light) #cccccca6;--curriculum-border-color-hover:var(--csstools-light-dark-toggle--24,#fff);--csstools-light-dark-toggle--25:var(--csstools-color-scheme--light) #4f4f4f;--curriculum-border-color:var(--csstools-light-dark-toggle--25,#f3f2f2);--csstools-light-dark-toggle--26:var(--csstools-color-scheme--light) #e2632c;--curriculum-category-color:var(--csstools-light-dark-toggle--26,#e2632c);--csstools-light-dark-toggle--27:var(--csstools-color-scheme--light) #b16235;--curriculum-color-landing-laptop:var(--csstools-light-dark-toggle--27,#e2632c);--csstools-light-dark-toggle--28:var(--csstools-color-scheme--light) #cb96ee;--curriculum-color-list-item-icon-topic-practices:var(--csstools-light-dark-toggle--28,#962eff);--csstools-light-dark-toggle--29:var(--csstools-color-scheme--light) #f3d78c;--curriculum-color-list-item-icon-topic-scripting:var(--csstools-light-dark-toggle--29,#756a00);--csstools-light-dark-toggle--30:var(--csstools-color-scheme--light) #f38c94;--curriculum-color-list-item-icon-topic-standards:var(--csstools-light-dark-toggle--30,#d10038);--csstools-light-dark-toggle--31:var(--csstools-color-scheme--light) #96acee;--curriculum-color-list-item-icon-topic-styling:var(--csstools-light-dark-toggle--31,#0061c2);--csstools-light-dark-toggle--32:var(--csstools-color-scheme--light) #8cf3b8;--curriculum-color-list-item-icon-topic-tooling:var(--csstools-light-dark-toggle--32,#007a35);--csstools-light-dark-toggle--33:var(--csstools-color-scheme--light) #cb96ee;--curriculum-color-topic-practices:var(--csstools-light-dark-toggle--33,#962eff);--csstools-light-dark-toggle--34:var(--csstools-color-scheme--light) #f3d78c;--curriculum-color-topic-scripting:var(--csstools-light-dark-toggle--34,#756a00);--csstools-light-dark-toggle--35:var(--csstools-color-scheme--light) #f38c94;--curriculum-color-topic-standards:var(--csstools-light-dark-toggle--35,#d10038);--csstools-light-dark-toggle--36:var(--csstools-color-scheme--light) #96acee;--curriculum-color-topic-styling:var(--csstools-light-dark-toggle--36,#0061c2);--csstools-light-dark-toggle--37:var(--csstools-color-scheme--light) #8cf3b8;--curriculum-color-topic-tooling:var(--csstools-light-dark-toggle--37,#007a35);--csstools-light-dark-toggle--38:var(--csstools-color-scheme--light) #e2632c;--curriculum-color:var(--csstools-light-dark-toggle--38,#d87e55);--csstools-light-dark-toggle--39:var(--csstools-color-scheme--light) #25170e;--curriculum-module-label-bg-color:var(--csstools-light-dark-toggle--39,#fefaf6);--csstools-light-dark-toggle--40:var(--csstools-color-scheme--light) #e2632c;--curriculum-module-label-color:var(--csstools-light-dark-toggle--40,#b74d1f);--csstools-light-dark-toggle--41:var(--csstools-color-scheme--light) #b1733526;--csstools-light-dark-toggle--42:var(--csstools-color-scheme--light) #b162350f;--curriculum-shadow-landing-about-ul:0 4px 10px 0 var(--csstools-light-dark-toggle--41,#e2632c0f),0 -2px 4px 0 var(--csstools-light-dark-toggle--42,#b162350f);--csstools-light-dark-toggle--43:var(--csstools-color-scheme--light) #24242426;--csstools-light-dark-toggle--44:var(--csstools-color-scheme--light) #57575726;--curriculum-shadow:4px 4px 8px 0 var(--csstools-light-dark-toggle--43,#e2632c0f),-4px 4px 8px 0 var(--csstools-light-dark-toggle--44,#b3b3b326)}}[data-theme=dark]:root .curriculum-content-container{--curriculum-landing-about-beginner:url(/static/client/curriculum-landing-about-beginner.c283306531a0a760.svg#dark);--curriculum-landing-about-pace:url(/static/client/curriculum-landing-about-pace.caf53bc7642d2d9e.svg#dark);--curriculum-landing-about-free:url(/static/client/curriculum-landing-about-free.860c02f993720011.svg#dark);--curriculum-landing-about-bullet:url(/static/client/curriculum-landing-about-bullet.329a46667f2b7b1c.svg#dark);--curriculum-landing-started-beginner:url(/static/client/curriculum-landing-started-beginner.684ee16fbad28594.svg#dark);--curriculum-landing-started-advanced:url(/static/client/curriculum-landing-started-advanced.6aa084114d4a009d.svg#dark);--curriculum-landing-started-employment:url(/static/client/curriculum-landing-started-employment.ad9634ce6c19f3ba.svg#dark);--curriculum-landing-started-educator:url(/static/client/curriculum-landing-started-educator.1fc04ca1f8ce8d38.svg#dark);--curriculum-module-mdn-resource:url(/static/client/curriculum-mdn-resource.f452724542f874b8.svg#dark);--curriculum-bullet:url(/static/client/curriculum-bullet.934e76f0055c7737.svg#dark);--curriculum-about-covered:url(/static/client/curriculum-about-covered.74e453cf7e1a86c2.svg#dark);--curriculum-about-detail:url(/static/client/curriculum-about-detail.515f645950e2300b.svg#dark);--curriculum-about-educators:url(/static/client/curriculum-about-educators.91685cbbd58c65fb.svg#dark);--curriculum-about-not:url(/static/client/curriculum-about-not.42caac16e07477b5.svg#dark);--curriculum-about-students:url(/static/client/curriculum-about-students.36ca88cba5f00272.svg#dark);--curriculum-bg-image-partner:url(/static/client/curriculum-partner-bg.247900de90ec7d1e.svg#dark);--curriculum-scrim-bg:url(/static/client/curriculum-scrim-bg.66afaab49246fbd9.svg#dark);--curriculum-landing-arrow:url(/static/client/curriculum-landing-arrow.37d9469e2da628fb.svg#dark)}@media (prefers-color-scheme:dark){.curriculum-content-container{--curriculum-landing-about-beginner:url(/static/client/curriculum-landing-about-beginner.c283306531a0a760.svg#dark);--curriculum-landing-about-pace:url(/static/client/curriculum-landing-about-pace.caf53bc7642d2d9e.svg#dark);--curriculum-landing-about-free:url(/static/client/curriculum-landing-about-free.860c02f993720011.svg#dark);--curriculum-landing-about-bullet:url(/static/client/curriculum-landing-about-bullet.329a46667f2b7b1c.svg#dark);--curriculum-landing-started-beginner:url(/static/client/curriculum-landing-started-beginner.684ee16fbad28594.svg#dark);--curriculum-landing-started-advanced:url(/static/client/curriculum-landing-started-advanced.6aa084114d4a009d.svg#dark);--curriculum-landing-started-employment:url(/static/client/curriculum-landing-started-employment.ad9634ce6c19f3ba.svg#dark);--curriculum-landing-started-educator:url(/static/client/curriculum-landing-started-educator.1fc04ca1f8ce8d38.svg#dark);--curriculum-module-mdn-resource:url(/static/client/curriculum-mdn-resource.f452724542f874b8.svg#dark);--curriculum-bullet:url(/static/client/curriculum-bullet.934e76f0055c7737.svg#dark);--curriculum-about-covered:url(/static/client/curriculum-about-covered.74e453cf7e1a86c2.svg#dark);--curriculum-about-detail:url(/static/client/curriculum-about-detail.515f645950e2300b.svg#dark);--curriculum-about-educators:url(/static/client/curriculum-about-educators.91685cbbd58c65fb.svg#dark);--curriculum-about-not:url(/static/client/curriculum-about-not.42caac16e07477b5.svg#dark);--curriculum-about-students:url(/static/client/curriculum-about-students.36ca88cba5f00272.svg#dark);--curriculum-bg-image-partner:url(/static/client/curriculum-partner-bg.247900de90ec7d1e.svg#dark);--curriculum-scrim-bg:url(/static/client/curriculum-scrim-bg.66afaab49246fbd9.svg#dark);--curriculum-landing-arrow:url(/static/client/curriculum-landing-arrow.37d9469e2da628fb.svg#dark)}}.curriculum-content-container{--background-toc-active:var(--curriculum-bg-color);--category-color:var(--curriculum-category-color);--curriculum-bg-color-topic:var(--curriculum-bg-color);--curriculum-color-topic:var(--curriculum-color)}.curriculum-content-container .topic-standards{--curriculum-bg-color-topic:var(--curriculum-bg-color-topic-standards);--curriculum-color-topic:var(--curriculum-color-topic-standards);--curriculum-bg-color-list-item-header:var(
2
- --curriculum-bg-color-list-item-topic-standards
3
- );--curriculum-color-list-item-icon:var(
4
- --curriculum-color-list-item-icon-topic-standards
5
- );--curriculum-bg-color-list-item-icon:var(
6
- --curriculum-bg-color-list-item-icon-topic-standards
7
- )}.curriculum-content-container .topic-styling{--curriculum-bg-color-topic:var(--curriculum-bg-color-topic-styling);--curriculum-color-topic:var(--curriculum-color-topic-styling);--curriculum-bg-color-list-item-header:var(
8
- --curriculum-bg-color-list-item-topic-styling
9
- );--curriculum-color-list-item-icon:var(
10
- --curriculum-color-list-item-icon-topic-styling
11
- );--curriculum-bg-color-list-item-icon:var(
12
- --curriculum-bg-color-list-item-icon-topic-styling
13
- )}.curriculum-content-container .topic-scripting{--curriculum-bg-color-topic:var(--curriculum-bg-color-topic-scripting);--curriculum-color-topic:var(--curriculum-color-topic-scripting);--curriculum-bg-color-list-item-header:var(
14
- --curriculum-bg-color-list-item-topic-scripting
15
- );--curriculum-color-list-item-icon:var(
16
- --curriculum-color-list-item-icon-topic-scripting
17
- );--curriculum-bg-color-list-item-icon:var(
18
- --curriculum-bg-color-list-item-icon-topic-scripting
19
- )}.curriculum-content-container .topic-tooling{--curriculum-bg-color-topic:var(--curriculum-bg-color-topic-tooling);--curriculum-color-topic:var(--curriculum-color-topic-tooling);--curriculum-bg-color-list-item-header:var(
20
- --curriculum-bg-color-list-item-topic-tooling
21
- );--curriculum-color-list-item-icon:var(
22
- --curriculum-color-list-item-icon-topic-tooling
23
- );--curriculum-bg-color-list-item-icon:var(
24
- --curriculum-bg-color-list-item-icon-topic-tooling
25
- )}.curriculum-content-container .topic-practices{--curriculum-bg-color-topic:var(--curriculum-bg-color-topic-practices);--curriculum-color-topic:var(--curriculum-color-topic-practices);--curriculum-bg-color-list-item-header:var(
26
- --curriculum-bg-color-list-item-topic-practices
27
- );--curriculum-color-list-item-icon:var(
28
- --curriculum-color-list-item-icon-topic-practices
29
- );--curriculum-bg-color-list-item-icon:var(
30
- --curriculum-bg-color-list-item-icon-topic-practices
31
- )}.curriculum-content-container .toc{max-height:calc(100vh - var(--sticky-header-height));overflow-y:auto;position:sticky;top:var(--sticky-header-height)}:is(.curriculum-content-container .toc) .document-toc{margin-bottom:2rem;padding:0}:is(:is(.curriculum-content-container .toc) .document-toc) .document-toc-heading{font-size:var(--font-size-normal);font-weight:400;letter-spacing:1.5px;line-height:var(--font-line-content);margin:0 0 1rem}:is(:is(.curriculum-content-container .toc) .document-toc) .document-toc-list{--toc-header-font-size:var(--font-size-small);font-size:var(--font-size-small);list-style:none;padding-left:0}:is(:is(:is(.curriculum-content-container .toc) .document-toc) .document-toc-list) li{margin:0}:is(:is(.curriculum-content-container .toc) .document-toc) .document-toc-link{border-left:2px solid var(--color-border-primary);color:var(--color-text-secondary);display:inline-block;padding:.5rem 1rem;-webkit-text-decoration:none;text-decoration:none}:is(:is(:is(.curriculum-content-container .toc) .document-toc) .document-toc-link):hover{color:var(--text-link)}[aria-current]:is(:is(:is(.curriculum-content-container .toc) .document-toc) .document-toc-link):not([aria-current=""],[aria-current=false]){background-color:var(--background-toc-active);border-bottom-right-radius:.25rem;border-left:2px solid var(--category-color);border-top-right-radius:.25rem;color:var(--text-primary);font-weight:600}:is(:is(.curriculum-content-container .toc) .document-toc) .document-toc-item-sub>.document-toc-link:not(.button){padding-left:2rem}:is(:is(.curriculum-content-container .toc) .document-toc) h2{font-size:var(--toc-header-font-size,var(--font-size-large));font-weight:400;margin:0;padding:0}:is(:is(.curriculum-content-container .toc) .document-toc) ul{display:grid;list-style:none;margin:0;padding:0}:is(:is(:is(.curriculum-content-container .toc) .document-toc) ul) ul{padding-left:1rem}:is(:is(.curriculum-content-container .toc) .document-toc) a{color:inherit;display:block;padding:.5rem;-webkit-text-decoration:none;text-decoration:none}:is(:is(:is(.curriculum-content-container .toc) .document-toc) a):hover:not([aria-current=true]){color:var(--color-link-normal)}[aria-current=true]:is(:is(:is(.curriculum-content-container .toc) .document-toc) a){background-color:var(--color-background-blue);box-shadow:-2px 0 0 var(--color-blue-50)}@media (max-width:769px){:is(.curriculum-content-container .toc) .document-toc{padding:0 1rem}}:is(:is(.curriculum-content-container .toc) .document-toc) .show-toc{display:block}.curriculum-content-container{line-height:var(--font-line-content)}.curriculum-content-container .curriculum-content,.curriculum-content-container .curriculum-sidebar,.curriculum-content-container .toc{padding-bottom:3rem;padding-top:3rem}:is(:is(.curriculum-content-container .curriculum-content) .modules) input[type=radio]:not(:checked)~ol{display:none}.curriculum-content-container .curriculum-content{max-width:100%}:is(.curriculum-content-container .curriculum-content) :target{scroll-margin-top:var(--sticky-header-height)}:is(.curriculum-content-container .curriculum-content) h1{font-size:var(--font-size-largest);font-weight:600;line-height:1.2;margin-bottom:2rem}:is(.curriculum-content-container .curriculum-content) h2{font-size:var(--font-size-larger);font-weight:500;margin:4rem 0 .5rem}:is(.curriculum-content-container .curriculum-content) h3{font-size:var(--font-size-large);font-weight:300;margin:2rem 0 .5rem}:is(:is(.curriculum-content-container .curriculum-content) h1,:is(.curriculum-content-container .curriculum-content) h2,:is(.curriculum-content-container .curriculum-content) h3,:is(.curriculum-content-container .curriculum-content) h4,:is(.curriculum-content-container .curriculum-content) h5,:is(.curriculum-content-container .curriculum-content) h6) a:link,:is(:is(.curriculum-content-container .curriculum-content) h1,:is(.curriculum-content-container .curriculum-content) h2,:is(.curriculum-content-container .curriculum-content) h3,:is(.curriculum-content-container .curriculum-content) h4,:is(.curriculum-content-container .curriculum-content) h5,:is(.curriculum-content-container .curriculum-content) h6) a:visited{color:var(--text-primary);-webkit-text-decoration:none;text-decoration:none}:is(:is(.curriculum-content-container .curriculum-content) h1,:is(.curriculum-content-container .curriculum-content) h2,:is(.curriculum-content-container .curriculum-content) h3,:is(.curriculum-content-container .curriculum-content) h4,:is(.curriculum-content-container .curriculum-content) h5,:is(.curriculum-content-container .curriculum-content) h6) a:focus,:is(:is(.curriculum-content-container .curriculum-content) h1,:is(.curriculum-content-container .curriculum-content) h2,:is(.curriculum-content-container .curriculum-content) h3,:is(.curriculum-content-container .curriculum-content) h4,:is(.curriculum-content-container .curriculum-content) h5,:is(.curriculum-content-container .curriculum-content) h6) a:hover{-webkit-text-decoration:underline;text-decoration:underline}:is(:is(.curriculum-content-container .curriculum-content) h1,:is(.curriculum-content-container .curriculum-content) h2,:is(.curriculum-content-container .curriculum-content) h3,:is(.curriculum-content-container .curriculum-content) h4,:is(.curriculum-content-container .curriculum-content) h5,:is(.curriculum-content-container .curriculum-content) h6) a:active{background-color:initial}:is(:is(.curriculum-content-container .curriculum-content) h1,:is(.curriculum-content-container .curriculum-content) h2,:is(.curriculum-content-container .curriculum-content) h3,:is(.curriculum-content-container .curriculum-content) h4,:is(.curriculum-content-container .curriculum-content) h5,:is(.curriculum-content-container .curriculum-content) h6) a[href^="#"]:not(.button){-webkit-text-decoration:none;text-decoration:none}:is(:is(:is(.curriculum-content-container .curriculum-content) h1,:is(.curriculum-content-container .curriculum-content) h2,:is(.curriculum-content-container .curriculum-content) h3,:is(.curriculum-content-container .curriculum-content) h4,:is(.curriculum-content-container .curriculum-content) h5,:is(.curriculum-content-container .curriculum-content) h6) a[href^="#"]:not(.button)):before{color:var(--color-text-secondary);content:"#";display:inline-block;font-size:.7em;line-height:1;margin-left:-.8em;-webkit-text-decoration:none;text-decoration:none;visibility:hidden;width:.8em}:is(:is(:is(.curriculum-content-container .curriculum-content) h1,:is(.curriculum-content-container .curriculum-content) h2,:is(.curriculum-content-container .curriculum-content) h3,:is(.curriculum-content-container .curriculum-content) h4,:is(.curriculum-content-container .curriculum-content) h5,:is(.curriculum-content-container .curriculum-content) h6) a[href^="#"]:not(.button)):hover{-webkit-text-decoration:underline;text-decoration:underline}:is(:is(:is(.curriculum-content-container .curriculum-content) h1,:is(.curriculum-content-container .curriculum-content) h2,:is(.curriculum-content-container .curriculum-content) h3,:is(.curriculum-content-container .curriculum-content) h4,:is(.curriculum-content-container .curriculum-content) h5,:is(.curriculum-content-container .curriculum-content) h6) a[href^="#"]:not(.button)):hover:before{visibility:visible}.curriculum-content-container ol,.curriculum-content-container ul{list-style:none;margin:0;padding:0}.curriculum-content-container,.curriculum-content-container .button{--button-padding:1rem}:is(.curriculum-content-container .curriculum-content) a:not(.button){color:var(--text-link)}:is(:is(.curriculum-content-container .curriculum-content) a:not(.button)):link,:is(:is(.curriculum-content-container .curriculum-content) a:not(.button)):visited{-webkit-text-decoration:underline;text-decoration:underline}.button:is(:is(:is(.curriculum-content-container .curriculum-content) a:not(.button)):link,:is(:is(.curriculum-content-container .curriculum-content) a:not(.button)):visited),:is(:is(.curriculum-content-container .curriculum-content) a:not(.button)):focus,:is(:is(.curriculum-content-container .curriculum-content) a:not(.button)):hover{-webkit-text-decoration:none;text-decoration:none}:is(:is(.curriculum-content-container .curriculum-content) a:not(.button)):visited:not([href^="#"]){color:var(--text-visited)}:is(.curriculum-content-container .curriculum-content) ol,:is(.curriculum-content-container .curriculum-content) ul{list-style:none;padding:0}:is(:is(.curriculum-content-container .curriculum-content) ol,:is(.curriculum-content-container .curriculum-content) ul) li>p{margin:0}:is(:is(.curriculum-content-container.curriculum-overview,.curriculum-content-container.curriculum-module) .curriculum-content)>header>h1{margin-bottom:2rem}:is(:is(:is(.curriculum-content-container.curriculum-overview,.curriculum-content-container.curriculum-module) .curriculum-content)>header>h1)>span{color:var(--curriculum-color)}:is(:is(:is(.curriculum-content-container.curriculum-overview,.curriculum-content-container.curriculum-module) .curriculum-content) .module-contents)>h2{margin-bottom:2rem;margin-top:4rem}:is(:is(.curriculum-content-container.curriculum-overview,.curriculum-content-container.curriculum-module) .curriculum-content) section h2:first-of-type{margin-top:2rem}:is(:is(.curriculum-content-container.curriculum-overview,.curriculum-content-container.curriculum-module) .curriculum-content) blockquote.curriculum-notes{background-color:var(--curriculum-bg-color-note);border:0;border-radius:var(--elem-radius);margin:1rem;padding:1rem}:is(:is(:is(.curriculum-content-container.curriculum-overview,.curriculum-content-container.curriculum-module) .curriculum-content) blockquote.curriculum-notes) ol,:is(:is(:is(.curriculum-content-container.curriculum-overview,.curriculum-content-container.curriculum-module) .curriculum-content) blockquote.curriculum-notes) ul{padding-left:1rem}:is(:is(:is(:is(.curriculum-content-container.curriculum-overview,.curriculum-content-container.curriculum-module) .curriculum-content) blockquote.curriculum-notes) ol,:is(:is(:is(.curriculum-content-container.curriculum-overview,.curriculum-content-container.curriculum-module) .curriculum-content) blockquote.curriculum-notes) ul) li:last-child{margin-bottom:0}:is(:is(:is(.curriculum-content-container.curriculum-overview,.curriculum-content-container.curriculum-module) .curriculum-content) blockquote.curriculum-notes) ol,:is(:is(:is(.curriculum-content-container.curriculum-overview,.curriculum-content-container.curriculum-module) .curriculum-content) blockquote.curriculum-notes) p,:is(:is(:is(.curriculum-content-container.curriculum-overview,.curriculum-content-container.curriculum-module) .curriculum-content) blockquote.curriculum-notes) ul{margin-top:.5rem}:is(:is(:is(.curriculum-content-container.curriculum-overview,.curriculum-content-container.curriculum-module) .curriculum-content) blockquote.curriculum-notes)>p:first-child{margin-top:0}:is(:is(:is(.curriculum-content-container.curriculum-overview,.curriculum-content-container.curriculum-module) .curriculum-content) blockquote.curriculum-notes)>:last-child{margin-bottom:0}:is(:is(.curriculum-content-container.curriculum-overview,.curriculum-content-container.curriculum-module) .curriculum-content) p.curriculum-outcomes{display:flex;font-weight:var(--font-body-strong-weight);margin-bottom:.5rem}:is(:is(:is(.curriculum-content-container.curriculum-overview,.curriculum-content-container.curriculum-module) .curriculum-content) p.curriculum-outcomes):before{content:url(/static/client/curriculum-resources.42e1db709b0eb7f8.svg);display:block;height:24px;margin-right:.5rem;width:24px}:is(:is(.curriculum-content-container.curriculum-overview,.curriculum-content-container.curriculum-module) .curriculum-content) ol,:is(:is(.curriculum-content-container.curriculum-overview,.curriculum-content-container.curriculum-module) .curriculum-content) ul{margin:1rem 0;padding-left:2rem}:is(:is(:is(.curriculum-content-container.curriculum-overview,.curriculum-content-container.curriculum-module) .curriculum-content) ol,:is(:is(.curriculum-content-container.curriculum-overview,.curriculum-content-container.curriculum-module) .curriculum-content) ul) ol,:is(:is(:is(.curriculum-content-container.curriculum-overview,.curriculum-content-container.curriculum-module) .curriculum-content) ol,:is(:is(.curriculum-content-container.curriculum-overview,.curriculum-content-container.curriculum-module) .curriculum-content) ul) ul{margin:0}:is(:is(.curriculum-content-container.curriculum-overview,.curriculum-content-container.curriculum-module) .curriculum-content) li{list-style-type:disc;margin:.5rem 0}:is(:is(.curriculum-content-container.curriculum-overview,.curriculum-content-container.curriculum-module) .curriculum-content) mdn-scrim-inline{aspect-ratio:1.5;display:block;margin:.5rem auto;max-width:36rem;width:100%}:is(:is(.curriculum-content-container.curriculum-overview,.curriculum-content-container.curriculum-module) .curriculum-content) p:has(>scrim-inline:only-child){margin:1rem 0}.curriculum-content-container .curriculum-prev-next{display:flex;flex-wrap:wrap;gap:0 1rem;justify-content:space-between;margin-top:2rem;width:100%}
32
- /*# sourceMappingURL=1197.25090f81ab4208bc.css.map*/