@@ -32,6 +32,23 @@ $mobile-menu-width: 300px;
3232$content-top-margin : 30px ;
3333$border-radius : 10px ;
3434
35+ // Colors
36+ // If you're reading this in late 2025 (or later), check PR #1953 because these
37+ // changes probably can be reverted.
38+ //
39+ // These colors are *temporarily* defined as SASS variables. They should be
40+ // replaced with CSS variables once CSS Relative Colors support is *widely
41+ // available*. We define these as SASS variables so that they can be used with
42+ // the `sass:color` package to derive new colors. If a color is not going to be
43+ // used to derive a new color, then CSS vars should be used instead.
44+ //
45+ // See PR: https://github.com/bevyengine/bevy-website/pull/1953
46+ // See Relative Colors support: https://caniuse.com/css-relative-colors
47+ $color-neutral-17 : #2c2c2d ;
48+ $color-neutral-93 : #ececec ;
49+ $color-black : #000 ;
50+ $color-white : #fff ;
51+
3552// CSS Vars
3653:root {
3754 // Typography
@@ -42,7 +59,7 @@ $border-radius: 10px;
4259 --color-neutral-11 : #1b1b1b ;
4360 --color-neutral-13 : #1e1e22 ;
4461 --color-neutral-14 : #232326 ;
45- --color-neutral-17 : #2c2c2d ;
62+ --color-neutral-17 : #{ $color-neutral-17 } ;
4663 --color-neutral-18 : #2b2c2f ;
4764 --color-neutral-19 : #2f3033 ;
4865 --color-neutral-22 : #383838 ;
@@ -69,12 +86,12 @@ $border-radius: 10px;
6986 --color-neutral-78 : #c8c8c8 ;
7087 --color-neutral-82 : #d2d2d2 ;
7188 --color-neutral-88 : #e1e1e1 ;
72- --color-neutral-93 : #ececec ;
89+ --color-neutral-93 : #{ $color-neutral-93 } ;
7390 --color-neutral-96 : #f0effb ;
7491 --color-neutral-97 : #f7f7f7 ;
7592
76- --color-black : #000 ;
77- --color-white : #fff ;
93+ --color-black : #{ $color-black } ;
94+ --color-white : #{ $color-white } ;
7895
7996 // Blues by lightness
8097 --color-blue-21 : #2f2745 ;
@@ -113,7 +130,7 @@ $border-radius: 10px;
113130 --asset-card-img-bg-color : var (--color-neutral-11 );
114131 --asset-card-tag-icon-color : var (--color-neutral-60 );
115132 --asset-card-text-color : var (--color-neutral-93 );
116- --asset-card-title-bg-color : #{unquote ( ' rgb(from var(-- color-black) r g b / 0.5) ' )} ;
133+ --asset-card-title-bg-color : #{rgba ( $ color-black, 0.5 )} ;
117134 --asset-card-title-color : var (--color-neutral-93 );
118135 --asset-card-tag-bg-color : var (--color-neutral-36 );
119136 --asset-card-tag-text-color : var (--color-neutral-93 );
@@ -148,7 +165,7 @@ $border-radius: 10px;
148165 --button-pink-bg-hover-color : #954c72 ;
149166 --button-pink-border-color : #ba789b ;
150167 --button-pink-text-color : var (--color-neutral-93 );
151- --button-square-bg-color : var ( -- color-neutral-93) ;
168+ --button-square-bg-color : #{ rgba ( $ color-neutral-93, 0.05 )} ;
152169
153170 --callout-caution-accent-color : #e82f5a ;
154171 --callout-caution-bg-color : #591626 ;
@@ -204,7 +221,7 @@ $border-radius: 10px;
204221 --code-yyy : #d19a66 ;
205222 --code-zzz : #d1af8f ;
206223
207- --details-bg-color : var ( -- color-neutral-93) ;
224+ --details-bg-color : #{ rgba ( $ color-neutral-93, 0.1 )} ;
208225 --details-text-shadow-color : var (--color-neutral-93 );
209226
210227 --docs-whats-a-bevy-filter : none ;
@@ -215,7 +232,7 @@ $border-radius: 10px;
215232 --docs-footer-dir-hover-color : var (--color-neutral-60b );
216233 --docs-footer-edit-color : var (--color-neutral-55 );
217234 --docs-footer-edit-hover-color : var (--color-neutral-75 );
218- --docs-footer-hover-bg-color : #{unquote ( ' rgb(from var(-- color-neutral-93) r g b / 0.01) ' )} ;
235+ --docs-footer-hover-bg-color : #{rgba ( $ color-neutral-93, 0.01 )} ;
219236 --docs-footer-hover-color : var (--color-neutral-93 );
220237
221238 --donate-text-color : var (--color-neutral-82 );
@@ -271,11 +288,11 @@ $border-radius: 10px;
271288 --link-card-text-color : var (--color-neutral-93 );
272289
273290 --main-menu-active-color : var (--color-blue-85 );
274- --main-menu-backdrop-color : #{unquote ( ' rgb(from var(-- color-black) r g b / 0.2) ' )} ;
275- --main-menu-link-hover-color : #{unquote ( ' rgb(from var(-- color-white) r g b / 0.05) ' )} ;
291+ --main-menu-backdrop-color : #{rgba ( $ color-black, 0.2 )} ;
292+ --main-menu-link-hover-color : #{rgba ( $ color-white, 0.05 )} ;
276293 --main-menu-link-outline : var (--focus-outline );
277294 --main-menu-mobile-bg-color : var (--color-neutral-13 );
278- --main-menu-mobile-box-shadow-color : #{unquote ( ' rgb(from var(-- color-black) r g b / 0.3) ' )} ;
295+ --main-menu-mobile-box-shadow-color : #{rgba ( $ color-black, 0.3 )} ;
279296 --main-menu-text-color : var (--color-neutral-93 );
280297
281298 --media-content-blockquote-bg-color : var (--color-neutral-18 );
@@ -288,13 +305,13 @@ $border-radius: 10px;
288305 --media-content-link-color : var (--color-blue-link );
289306 --media-content-text-color : var (--color-neutral-82 );
290307
291- --menu-switch-bg-color : #{unquote ( ' rgb(from var(-- color-white) r g b / 0.05) ' )} ;
308+ --menu-switch-bg-color : #{rgba ( $ color-white, 0.05 )} ;
292309 --menu-switch-option-active-bg-color : var (--color-neutral-13 );
293310 --menu-switch-option-active-text-color : var (--color-white );
294311 --menu-switch-option-text-color : var (--color-neutral-61 );
295312
296313 --migration-guide-hr-color-legacy : var (--color-neutral-33b );
297- --migration-guide-hr-color : var ( -- color-white) ;
314+ --migration-guide-hr-color : #{ rgba ( $ color-white, 0.05 )} ;
298315 --migration-guide-legacy-area-tags-color : var (--color-neutral-50 );
299316 --migration-guide-title-color : var (--color-neutral-93 );
300317
@@ -312,7 +329,7 @@ $border-radius: 10px;
312329 --people-role-maintainer-color : rgb (242 , 103 , 255 );
313330 --people-role-sme-color : rgb (80 , 200 , 50 );
314331
315- --scrollbar-thumb-color : #{unquote ( ' rgb(from var(-- color-white) r g b / 0.2) ' )} ;
332+ --scrollbar-thumb-color : #{rgba ( $ color-white, 0.2 )} ;
316333
317334 --sponsors-name-color : var (--color-neutral-59 );
318335 --sponsors-link-color : var (--color-blue-link );
@@ -325,17 +342,19 @@ $border-radius: 10px;
325342 --table-header-color : var (--color-neutral-82 );
326343
327344 --tabs-bg-color : var (--color-white );
345+ --tabs-bg-hover-color : #{rgba ($color-white , 0.05 )} ;
346+ --tabs-bg-active-color : #{rgba ($color-white , 0.1 )} ;
328347 --tabs-highlight-color : var (--color-blue-link );
329348
330349 --todo-bg-color : rgba (191 , 170 , 64 , 0.3 );
331350 --todo-border-color : rgba (223 , 191 , 32 , 0.5 );
332351
333352 --tree-menu-chevron-filter : brightness (70% );
334- --tree-menu-label-active-bg-color : #{unquote ( ' rgb(from var(-- color-neutral-93) r g b / 0.1) ' )} ;
353+ --tree-menu-label-active-bg-color : #{rgba ( $ color-neutral-93, 0.1 )} ;
335354 --tree-menu-label-active-color : var (--color-neutral-93 );
336355 --tree-menu-label-color : var (--color-neutral-61 );
337- --tree-menu-toc-bg-color : #{unquote ( ' rgb(from var(-- color-black) r g b / 0.25) ' )} ;
338- --tree-menu-toggle-hover-color : #{unquote ( ' rgb(from var(-- color-neutral-93) r g b / 0.1) ' )} ;
356+ --tree-menu-toc-bg-color : #{rgba ( $ color-black, 0.25 )} ;
357+ --tree-menu-toggle-hover-color : #{rgba ( $ color-neutral-93, 0.1 )} ;
339358
340359 --warning-color : #c8c864 ;
341360
@@ -391,7 +410,7 @@ $border-radius: 10px;
391410 --code-yyy : #cd5d12 ;
392411 --code-zzz : #ce8c4e ;
393412
394- --details-bg-color : var ( -- color-neutral-17) ;
413+ --details-bg-color : #{ rgba ( $ color-neutral-17, 0.1 )} ;
395414 --details-text-shadow-color : var (--color-neutral-17 );
396415
397416 --docs-whats-a-bevy-filter : invert (85% );
@@ -402,7 +421,7 @@ $border-radius: 10px;
402421 --docs-footer-dir-hover-color : var (--color-neutral-33 );
403422 --docs-footer-edit-color : var (--color-neutral-50 );
404423 --docs-footer-edit-hover-color : var (--color-neutral-33 );
405- --docs-footer-hover-bg-color : #{unquote ( ' rgb(from var(-- color-black) r g b / 0.01) ' )} ;
424+ --docs-footer-hover-bg-color : #{rgba ( $ color-black, 0.01 )} ;
406425 --docs-footer-hover-color : var (--color-black );
407426
408427 --focus-outline : solid var (--color-blue-57 ) 3px ;
@@ -420,7 +439,7 @@ $border-radius: 10px;
420439
421440 @media #{$bp-tablet-landscape-down } {
422441 --main-menu-active-color : var (--color-blue-57 );
423- --main-menu-link-hover-color : #{unquote ( ' rgb(from var(-- color-black) r g b / 0.03) ' )} ;
442+ --main-menu-link-hover-color : #{rgba ( $ color-black, 0.03 )} ;
424443 --main-menu-text-color : var (--color-neutral-33 );
425444 }
426445
@@ -440,15 +459,15 @@ $border-radius: 10px;
440459 --menu-switch-option-text-color : var (--color-neutral-33 );
441460
442461 --migration-guide-hr-color-legacy : var (--color-neutral-50 );
443- --migration-guide-hr-color : var ( -- color-black) ;
462+ --migration-guide-hr-color : #{ rgba ( $ color-black, 0.05 )} ;
444463 --migration-guide-legacy-area-tags-color : var (--color-neutral-50 );
445464 --migration-guide-title-color : var (--color-neutral-13 );
446465
447466 --on-this-page-color : var (--color-neutral-45 );
448467 --on-this-page-hover-color : var (--color-black );
449468 --on-this-page-active-color : var (--color-black );
450469
451- --scrollbar-thumb-color : #{unquote ( ' rgb(from var(-- color-black) r g b / 0.2) ' )} ;
470+ --scrollbar-thumb-color : #{rgba ( $ color-black, 0.2 )} ;
452471
453472 --table-border-color : var (--color-neutral-75 );
454473 --table-header-bg-color : var (--color-neutral-82 );
0 commit comments