<div class="light">
<div class="box">Light</div>
<pre class="language-css">
<code>
.light {
--primary-hue: 250;
--primary-saturation: 100%;
--primary-lightness: 90%;
--primary-light: hsl(
var(--primary-hue) var(--primary-saturation) var(--primary-lightness)
);
--on-primary-light: hsl(var(--primary-hue) var(--primary-saturation) 10%);
--surface1-light: hsl(var(--primary-hue) 40% 90%);
--surface2-light: hsl(var(--primary-hue) 30% 99%);
--surface3-light: hsl(var(--primary-hue) 30% 92%);
--surface4-light: hsl(var(--primary-hue) 30% 85%);
--surface-shadow-light: var(--primary-hue) 40% 10%;
--shadow-strength-light: 0.25;
}
</code>
</pre>
</div>
<div class="dark">
<div class="box">dark</div>
<pre class="language-css">
<code>
.dark {
--primary-hue: 256;
--primary-saturation: 34%;
--primary-lightness: 48%;
--primary-dark: hsl(
var(--primary-hue) var(--primary-saturation) var(--primary-lightness)
);
--on-primary-dark: hsl(var(--primary-hue) var(--primary-saturation) 90%);
--surface1-dark: hsl(var(--primary-hue) 40% 50%);
--surface2-dark: hsl(var(--primary-hue) 38% 46%);
--surface3-dark: hsl(var(--primary-hue) 36% 41%);
--surface4-dark: hsl(var(--primary-hue) 34% 30%);
--surface-shadow-dark: var(--primary-hue) 40% 20%;
--shadow-strength-dark: 0.25;
}
</code>
</pre>
</div>
@import url("https://fonts.googleapis.com/css2?family=Exo:wght@600&display=swap");
* {
margin: 0;
padding: 0;
box-sizing: border-box;
}
body {
width: 100vw;
min-height: 100vh;
font-family: "Exo", Arial, sans-serif;
background-color: #557;
display: grid;
grid-template-columns: repeat(2, 1fr);
gap: 10px;
}
body > div {
padding: 20px;
display: flex;
flex-direction: column;
gap: 20px;
min-width: 0;
}
.light {
--primary-hue: 250;
--primary-saturation: 100%;
--primary-lightness: 90%;
--primary-light: hsl(
var(--primary-hue) var(--primary-saturation) var(--primary-lightness)
);
--on-primary-light: hsl(var(--primary-hue) var(--primary-saturation) 10%);
--surface1-light: hsl(var(--primary-hue) 40% 90%);
--surface2-light: hsl(var(--primary-hue) 30% 99%);
--surface3-light: hsl(var(--primary-hue) 30% 92%);
--surface4-light: hsl(var(--primary-hue) 30% 85%);
--surface-shadow-light: var(--primary-hue) 40% 10%;
--shadow-strength-light: 0.25;
}
.dark {
--primary-hue: 256;
--primary-saturation: 34%;
--primary-lightness: 48%;
--primary-dark: hsl(
var(--primary-hue) var(--primary-saturation) var(--primary-lightness)
);
--on-primary-dark: hsl(var(--primary-hue) var(--primary-saturation) 90%);
--surface1-dark: hsl(var(--primary-hue) 40% 50%);
--surface2-dark: hsl(var(--primary-hue) 38% 46%);
--surface3-dark: hsl(var(--primary-hue) 36% 41%);
--surface4-dark: hsl(var(--primary-hue) 34% 30%);
--surface-shadow-dark: var(--primary-hue) 40% 20%;
--shadow-strength-dark: 0.25;
}
.box {
width: 40vmin;
aspect-ratio: 1 / 1;
border-radius: 20px;
margin: 0 auto;
display: flex;
justify-content: center;
align-items: center;
}
.light .box {
background-color: var(--primary-light);
color: var(--on-primary-light);
box-shadow: 0 0 2px 4px
hsl(var(--surface-shadow-light) / var(--shadow-strength-light));
}
.dark .box {
background-color: var(--primary-dark);
color: var(--on-primary-dark);
box-shadow: 0 0 2px 4px
hsl(var(--surface-shadow-dark) / var(--shadow-strength-dark));
}
pre {
flex: 1;
width: 100%;
}