/* https://grabient.com/_gAAgAAf8-gPngPngAAgPngPngxGgAAgB6gAAn0nutmgA?style=linearSwatches&steps=21&angle=90 */
background: linear-gradient(90deg, #fdda4e 0.000%, #fdda4e 4.762%, #f9bf4e calc(4.762% + 1px), #f9bf4e 9.524%, #eba04e calc(9.524% + 1px), #eba04e 14.286%, #d57e4e calc(14.286% + 1px), #d57e4e 19.048%, #b95c4e calc(19.048% + 1px), #b95c4e 23.810%, #993d4e calc(23.810% + 1px), #993d4e 28.571%, #77224e calc(28.571% + 1px), #77224e 33.333%, #550f4e calc(33.333% + 1px), #550f4e 38.095%, #37044e calc(38.095% + 1px), #37044e 42.857%, #1e024e calc(42.857% + 1px), #1e024e 47.619%, #0c0a4e calc(47.619% + 1px), #0c0a4e 52.381%, #031a4e calc(52.381% + 1px), #031a4e 57.143%, #03314e calc(57.143% + 1px), #03314e 61.905%, #0c4f4e calc(61.905% + 1px), #0c4f4e 66.667%, #1e704e calc(66.667% + 1px), #1e704e 71.429%, #37924e calc(71.429% + 1px), #37924e 76.190%, #55b34e calc(76.190% + 1px), #55b34e 80.952%, #77d04e calc(80.952% + 1px), #77d04e 85.714%, #99e74e calc(85.714% + 1px), #99e74e 90.476%, #b9f74e calc(90.476% + 1px), #b9f74e 95.238%, #d5fd4e 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/_gAAgAAf8-gPngPngAAgPngPngxGgAAgB6gAAn0nutmgA?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="#fdda4e" 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="#f9bf4e" 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="#eba04e" 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="#d57e4e" 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="#b95c4e" 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="#993d4e" 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="#77224e" 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="#550f4e" 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="#37044e" 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="#1e024e" 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="#0c0a4e" 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="#031a4e" 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="#03314e" 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="#0c4f4e" 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="#1e704e" 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="#37924e" 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="#55b34e" 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="#77d04e" 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="#99e74e" 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="#b9f74e" 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="#d5fd4e" fill-opacity="1.000" /></g>
</svg>
["#fdda4e", "#f9bf4e", "#eba04e", "#d57e4e", "#b95c4e", "#993d4e", "#77224e", "#550f4e", "#37044e", "#1e024e", "#0c0a4e", "#031a4e", "#03314e", "#0c4f4e", "#1e704e", "#37924e", "#55b34e", "#77d04e", "#99e74e", "#b9f74e", "#d5fd4e"]
// https://grabient.com/_gAAgAAf8-gPngPngAAgPngPngxGgAAgB6gAAn0nutmgA?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.500, 0.500, 0.306);
vec3 b = vec3(0.494, 0.494, 0.000);
vec3 c = vec3(0.869, 0.869, 2.734);
vec3 d = vec3(0.000, 0.122, 0.000);
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.500, 0.500, 0.306],
[0.494, 0.494, 0.000],
[0.869, 0.869, 2.734],
[0.000, 0.122, 0.000]
]