/* # CSS VARIABLE NAMING CONVENTIONS Primary variables are fully-formed CSS properties. Form: --{primary-name} Examples: --brand-color --accent-color --primary-text-color Meta-variables are combined to make primary variables. Form: --{primary-name}_{property} Examples: --brand-color_h (int, hue) --brand-color_s (percent, saturation) --brand-color_l (percent, lightness) --brand-color_hsl (csv of the 3 variables above) Modifiers are variations of primary variables made by modifying their meta-values. Form: --{primary-name}--{modifier} Examples: --brand-color--faint --brand-color--hicontrast --primary-text-color--faint */ body, .site-preview { // Primary variables --brand-color: hsl(var(--brand-color_hsl)); --accent-color: hsl(var(--accent-color_hsl)); --primary-text-color: hsl(var(--primary-text-color_hsl)); --background-color: hsl(var(--background-color_hsl)); --warning-color: hsla(var(--warning-color_hsl)); // Meta-variables --brand-color_hsl: var(--brand-color_h), var(--brand-color_s), var(--brand-color_l); --accent-color_hsl: var(--accent-color_h), var(--accent-color_s), var(--accent-color_l); --primary-text-color_hsl: var(--primary-text-color_h), var(--primary-text-color_s), var(--primary-text-color_l); --background-color_hsl: var(--background-color_h), var(--background-color_s), var(--background-color_l); --warning-color_hsl: var(--warning-color_h), var(--warning-color_s), var(--warning-color_l); --accent-color_h: calc(var(--brand-color_h) - 15); --accent-color_s: 86%; --accent-color_l: 44%; // Modifiers --brand-color--faint: hsla(var(--brand-color_hsl), 0.1); --brand-color--med: hsla(var(--brand-color_hsl), 0.2); --accent-color--faint: hsla(var(--accent-color_hsl), 0.15); --accent-color--med: hsla(var(--accent-color_hsl), 0.25); --accent-color--bright: hsl( var(--accent-color_h), var(--accent-color_s), calc(var(--accent-color_l) + 3%) ); --primary-text-color--faint: hsla(var(--primary-text-color_hsl), 0.6); --warning-color--faint: hsla(var(--warning-color_hsl), 0.5); } .theme-mode-light { // Primary variables --foreground-color: #fff; --highlight-text-color: hsl( var(--brand-color_h), var(--brand-color_s), calc(var(--brand-color_l) - 8%) ); --vignette-color: transparent; // Meta-variables --primary-text-color_h: 0; --primary-text-color_s: 0%; --primary-text-color_l: 0%; --background-color_h: 0; --background-color_s: 0%; --background-color_l: 94.9%; --warning-color_h: 0; --warning-color_s: 100%; --warning-color_l: 66%; // Modifiers --brand-color--hicontrast: hsl( var(--brand-color_h), var(--brand-color_s), calc(var(--brand-color_l) - 12%) ); } .theme-mode-dark { // Primary variables --foreground-color: #222; --highlight-text-color: hsl( var(--brand-color_h), var(--brand-color_s), calc(var(--brand-color_l) + 8%) ); --vignette-color: #000; // Meta-variables --primary-text-color_h: 0; --primary-text-color_s: 0%; --primary-text-color_l: 100%; --background-color_h: 0; --background-color_s: 0%; --background-color_l: 20%; --warning-color_h: 0; --warning-color_s: 100%; --warning-color_l: 66%; // Modifiers --brand-color--hicontrast: hsl( var(--brand-color_h), var(--brand-color_s), calc(var(--brand-color_l) + 12%) ); }