/* https://grabient.com/_gH1gEegGtgDkf9Bf70gKtgMzgLAgVhgBIf4hk-svwvZN?style=linearSwatches&steps=21&angle=90 */
background: linear-gradient(90deg, #fdb48f 0.000%, #fdb48f 4.762%, #ffab97 calc(4.762% + 1px), #ffab97 9.524%, #ffa0a1 calc(9.524% + 1px), #ffa0a1 14.286%, #fe95ad calc(14.286% + 1px), #fe95ad 19.048%, #f98bba calc(19.048% + 1px), #f98bba 23.810%, #f281c7 calc(23.810% + 1px), #f281c7 28.571%, #ea7ad4 calc(28.571% + 1px), #ea7ad4 33.333%, #e075df calc(33.333% + 1px), #e075df 38.095%, #d572e9 calc(38.095% + 1px), #d572e9 42.857%, #ca73f0 calc(42.857% + 1px), #ca73f0 47.619%, #c077f5 calc(47.619% + 1px), #c077f5 52.381%, #b67df6 calc(52.381% + 1px), #b67df6 57.143%, #ae85f5 calc(57.143% + 1px), #ae85f5 61.905%, #a78ff0 calc(61.905% + 1px), #a78ff0 66.667%, #a39ae9 calc(66.667% + 1px), #a39ae9 71.429%, #a2a5df calc(71.429% + 1px), #a2a5df 76.190%, #a2afd3 calc(76.190% + 1px), #a2afd3 80.952%, #a5b7c7 calc(80.952% + 1px), #a5b7c7 85.714%, #abbeb9 calc(85.714% + 1px), #abbeb9 90.476%, #b2c1ad calc(90.476% + 1px), #b2c1ad 95.238%, #bcc2a1 calc(95.238% + 1px) 100.000%);
<svg xmlns="http://www.w3.org/2000/svg" width="800" height="400" viewBox="0 0 800 400" preserveAspectRatio="none">
<!-- https://grabient.com/_gH1gEegGtgDkf9Bf70gKtgMzgLAgVhgBIf4hk-svwvZN?style=linearSwatches&steps=21&angle=90 -->
<defs>
<clipPath id="bounds">
<rect x="0" y="0" width="800" height="400" />
</clipPath>
</defs>
<g clip-path="url(#bounds)"><path d="M 0.000,647.214 L 0.000,-247.214 L 38.095,-247.214 L 38.095,647.214 Z" fill="#fdb48f" fill-opacity="1.000" /><path d="M 38.095,647.214 L 38.095,-247.214 L 76.190,-247.214 L 76.190,647.214 Z" fill="#ffab97" fill-opacity="1.000" /><path d="M 76.190,647.214 L 76.190,-247.214 L 114.286,-247.214 L 114.286,647.214 Z" fill="#ffa0a1" fill-opacity="1.000" /><path d="M 114.286,647.214 L 114.286,-247.214 L 152.381,-247.214 L 152.381,647.214 Z" fill="#fe95ad" fill-opacity="1.000" /><path d="M 152.381,647.214 L 152.381,-247.214 L 190.476,-247.214 L 190.476,647.214 Z" fill="#f98bba" fill-opacity="1.000" /><path d="M 190.476,647.214 L 190.476,-247.214 L 228.571,-247.214 L 228.571,647.214 Z" fill="#f281c7" fill-opacity="1.000" /><path d="M 228.571,647.214 L 228.571,-247.214 L 266.667,-247.214 L 266.667,647.214 Z" fill="#ea7ad4" fill-opacity="1.000" /><path d="M 266.667,647.214 L 266.667,-247.214 L 304.762,-247.214 L 304.762,647.214 Z" fill="#e075df" fill-opacity="1.000" /><path d="M 304.762,647.214 L 304.762,-247.214 L 342.857,-247.214 L 342.857,647.214 Z" fill="#d572e9" fill-opacity="1.000" /><path d="M 342.857,647.214 L 342.857,-247.214 L 380.952,-247.214 L 380.952,647.214 Z" fill="#ca73f0" fill-opacity="1.000" /><path d="M 380.952,647.214 L 380.952,-247.214 L 419.048,-247.214 L 419.048,647.214 Z" fill="#c077f5" fill-opacity="1.000" /><path d="M 419.048,647.214 L 419.048,-247.214 L 457.143,-247.214 L 457.143,647.214 Z" fill="#b67df6" fill-opacity="1.000" /><path d="M 457.143,647.214 L 457.143,-247.214 L 495.238,-247.214 L 495.238,647.214 Z" fill="#ae85f5" fill-opacity="1.000" /><path d="M 495.238,647.214 L 495.238,-247.214 L 533.333,-247.214 L 533.333,647.214 Z" fill="#a78ff0" fill-opacity="1.000" /><path d="M 533.333,647.214 L 533.333,-247.214 L 571.429,-247.214 L 571.429,647.214 Z" fill="#a39ae9" fill-opacity="1.000" /><path d="M 571.429,647.214 L 571.429,-247.214 L 609.524,-247.214 L 609.524,647.214 Z" fill="#a2a5df" fill-opacity="1.000" /><path d="M 609.524,647.214 L 609.524,-247.214 L 647.619,-247.214 L 647.619,647.214 Z" fill="#a2afd3" fill-opacity="1.000" /><path d="M 647.619,647.214 L 647.619,-247.214 L 685.714,-247.214 L 685.714,647.214 Z" fill="#a5b7c7" fill-opacity="1.000" /><path d="M 685.714,647.214 L 685.714,-247.214 L 723.810,-247.214 L 723.810,647.214 Z" fill="#abbeb9" fill-opacity="1.000" /><path d="M 723.810,647.214 L 723.810,-247.214 L 761.905,-247.214 L 761.905,647.214 Z" fill="#b2c1ad" fill-opacity="1.000" /><path d="M 761.905,647.214 L 761.905,-247.214 L 800.000,-247.214 L 800.000,647.214 Z" fill="#bcc2a1" fill-opacity="1.000" /></g>
</svg>
["#fdb48f", "#ffab97", "#ffa0a1", "#fe95ad", "#f98bba", "#f281c7", "#ea7ad4", "#e075df", "#d572e9", "#ca73f0", "#c077f5", "#b67df6", "#ae85f5", "#a78ff0", "#a39ae9", "#a2a5df", "#a2afd3", "#a5b7c7", "#abbeb9", "#b2c1ad", "#bcc2a1"]
// https://grabient.com/_gH1gEegGtgDkf9Bf70gKtgMzgLAgVhgBIf4hk-svwvZN?style=linearSwatches&steps=21&angle=90
// cosine gradient palette — https://iquilezles.org/articles/palettes/
const float STEPS = 21.0;
const float ANGLE = 90.0;
vec3 palette(float t) {
vec3 a = vec3(0.819, 0.604, 0.747);
vec3 b = vec3(0.186, -0.156, -0.218);
vec3 c = vec3(0.734, 0.877, 0.754);
vec3 d = vec3(0.942, -0.363, -0.914);
return a + b * cos(6.283185 * (c * t + d));
}
// N hard swatches sampled from the palette
vec3 stops(float t) {
float i = min(floor(clamp(t, 0.0, 1.0) * STEPS), STEPS - 1.0);
return palette(i / (STEPS - 1.0));
}
void mainImage(out vec4 fragColor, in vec2 fragCoord) {
vec2 p = fragCoord - 0.5 * iResolution.xy;
// CSS angle: 0 = up, clockwise; span = CSS gradient-line length
vec2 dir = vec2(sin(radians(ANGLE)), cos(radians(ANGLE)));
float len = abs(iResolution.x * dir.x) + abs(iResolution.y * dir.y);
float t = dot(p, dir) / len + 0.5;
fragColor = vec4(stops(t), 1.0);
}
[
[0.819, 0.604, 0.747],
[0.186, -0.156, -0.218],
[0.734, 0.877, 0.754],
[0.942, -0.363, -0.914]
]