/* https://grabient.com/_gNjgJKgI_gG4gIJgITgDLgF4gFVgH3gILgIxa1r43iiV?style=linearSwatches&steps=21&angle=135 */
background: linear-gradient(135deg, #571125 0.000%, #571125 4.762%, #5e2235 calc(4.762% + 1px), #5e2235 9.524%, #663446 calc(9.524% + 1px), #663446 14.286%, #6d4556 calc(14.286% + 1px), #6d4556 19.048%, #755766 calc(19.048% + 1px), #755766 23.810%, #7d6874 calc(23.810% + 1px), #7d6874 28.571%, #857882 calc(28.571% + 1px), #857882 33.333%, #8e868d calc(33.333% + 1px), #8e868d 38.095%, #969297 calc(38.095% + 1px), #969297 42.857%, #9e9c9e calc(42.857% + 1px), #9e9c9e 47.619%, #a5a2a3 calc(47.619% + 1px), #a5a2a3 52.381%, #ada5a5 calc(52.381% + 1px), #ada5a5 57.143%, #b4a6a4 calc(57.143% + 1px), #b4a6a4 61.905%, #bba3a1 calc(61.905% + 1px), #bba3a1 66.667%, #c19d9b calc(66.667% + 1px), #c19d9b 71.429%, #c79493 calc(71.429% + 1px), #c79493 76.190%, #cd8889 calc(76.190% + 1px), #cd8889 80.952%, #d17b7d calc(80.952% + 1px), #d17b7d 85.714%, #d56b6f calc(85.714% + 1px), #d56b6f 90.476%, #d85a5f calc(90.476% + 1px), #d85a5f 95.238%, #db484f 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/_gNjgJKgI_gG4gIJgITgDLgF4gFVgH3gILgIxa1r43iiV?style=linearSwatches&steps=21&angle=135 -->
<defs>
<clipPath id="bounds">
<rect x="0" y="0" width="800" height="400" />
</clipPath>
</defs>
<g clip-path="url(#bounds)"><path d="M -216.228,216.228 L 416.228,-416.228 L 444.799,-387.656 L -187.656,244.799 Z" fill="#571125" fill-opacity="1.000" /><path d="M -187.656,244.799 L 444.799,-387.656 L 473.371,-359.085 L -159.085,273.371 Z" fill="#5e2235" fill-opacity="1.000" /><path d="M -159.085,273.371 L 473.371,-359.085 L 501.942,-330.513 L -130.513,301.942 Z" fill="#663446" fill-opacity="1.000" /><path d="M -130.513,301.942 L 501.942,-330.513 L 530.513,-301.942 L -101.942,330.513 Z" fill="#6d4556" fill-opacity="1.000" /><path d="M -101.942,330.513 L 530.513,-301.942 L 559.085,-273.371 L -73.371,359.085 Z" fill="#755766" fill-opacity="1.000" /><path d="M -73.371,359.085 L 559.085,-273.371 L 587.656,-244.799 L -44.799,387.656 Z" fill="#7d6874" fill-opacity="1.000" /><path d="M -44.799,387.656 L 587.656,-244.799 L 616.228,-216.228 L -16.228,416.228 Z" fill="#857882" fill-opacity="1.000" /><path d="M -16.228,416.228 L 616.228,-216.228 L 644.799,-187.656 L 12.344,444.799 Z" fill="#8e868d" fill-opacity="1.000" /><path d="M 12.344,444.799 L 644.799,-187.656 L 673.371,-159.085 L 40.915,473.371 Z" fill="#969297" fill-opacity="1.000" /><path d="M 40.915,473.371 L 673.371,-159.085 L 701.942,-130.513 L 69.487,501.942 Z" fill="#9e9c9e" fill-opacity="1.000" /><path d="M 69.487,501.942 L 701.942,-130.513 L 730.513,-101.942 L 98.058,530.513 Z" fill="#a5a2a3" fill-opacity="1.000" /><path d="M 98.058,530.513 L 730.513,-101.942 L 759.085,-73.371 L 126.629,559.085 Z" fill="#ada5a5" fill-opacity="1.000" /><path d="M 126.629,559.085 L 759.085,-73.371 L 787.656,-44.799 L 155.201,587.656 Z" fill="#b4a6a4" fill-opacity="1.000" /><path d="M 155.201,587.656 L 787.656,-44.799 L 816.228,-16.228 L 183.772,616.228 Z" fill="#bba3a1" fill-opacity="1.000" /><path d="M 183.772,616.228 L 816.228,-16.228 L 844.799,12.344 L 212.344,644.799 Z" fill="#c19d9b" fill-opacity="1.000" /><path d="M 212.344,644.799 L 844.799,12.344 L 873.371,40.915 L 240.915,673.371 Z" fill="#c79493" fill-opacity="1.000" /><path d="M 240.915,673.371 L 873.371,40.915 L 901.942,69.487 L 269.487,701.942 Z" fill="#cd8889" fill-opacity="1.000" /><path d="M 269.487,701.942 L 901.942,69.487 L 930.513,98.058 L 298.058,730.513 Z" fill="#d17b7d" fill-opacity="1.000" /><path d="M 298.058,730.513 L 930.513,98.058 L 959.085,126.629 L 326.629,759.085 Z" fill="#d56b6f" fill-opacity="1.000" /><path d="M 326.629,759.085 L 959.085,126.629 L 987.656,155.201 L 355.201,787.656 Z" fill="#d85a5f" fill-opacity="1.000" /><path d="M 355.201,787.656 L 987.656,155.201 L 1016.228,183.772 L 383.772,816.228 Z" fill="#db484f" fill-opacity="1.000" /></g>
</svg>
["#571125", "#5e2235", "#663446", "#6d4556", "#755766", "#7d6874", "#857882", "#8e868d", "#969297", "#9e9c9e", "#a5a2a3", "#ada5a5", "#b4a6a4", "#bba3a1", "#c19d9b", "#c79493", "#cd8889", "#d17b7d", "#d56b6f", "#d85a5f", "#db484f"]
// https://grabient.com/_gNjgJKgI_gG4gIJgITgDLgF4gFVgH3gILgIxa1r43iiV?style=linearSwatches&steps=21&angle=135
// cosine gradient palette — https://iquilezles.org/articles/palettes/
const float STEPS = 21.0;
const float ANGLE = 135.0;
vec3 palette(float t) {
vec3 a = vec3(0.536, 0.255, 0.244);
vec3 b = vec3(0.334, 0.396, 0.404);
vec3 c = vec3(0.306, 0.566, 0.514);
vec3 d = vec3(0.652, 0.672, 0.710);
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.536, 0.255, 0.244],
[0.334, 0.396, 0.404],
[0.306, 0.566, 0.514],
[0.652, 0.672, 0.710]
]