/* https://grabient.com/_gtggFxgFNgomgBggB9gBhgU1gTBgH1gHzgGO?style=linearSwatches&steps=21&angle=135 */
background: linear-gradient(135deg, #50463b 0.000%, #50463b 4.762%, #514836 calc(4.762% + 1px), #514836 9.524%, #524e35 calc(9.524% + 1px), #524e35 14.286%, #535639 calc(14.286% + 1px), #535639 19.048%, #566041 calc(19.048% + 1px), #566041 23.810%, #586a4b calc(23.810% + 1px), #586a4b 28.571%, #5c7258 calc(28.571% + 1px), #5c7258 33.333%, #607663 calc(33.333% + 1px), #607663 38.095%, #65766d calc(38.095% + 1px), #65766d 42.857%, #6a7273 calc(42.857% + 1px), #6a7273 47.619%, #706a75 calc(47.619% + 1px), #706a75 52.381%, #766172 calc(52.381% + 1px), #766172 57.143%, #7d576b calc(57.143% + 1px), #7d576b 61.905%, #854e61 calc(61.905% + 1px), #854e61 66.667%, #8d4855 calc(66.667% + 1px), #8d4855 71.429%, #964649 calc(71.429% + 1px), #964649 76.190%, #9f483f calc(76.190% + 1px), #9f483f 80.952%, #a94e38 calc(80.952% + 1px), #a94e38 85.714%, #b35635 calc(85.714% + 1px), #b35635 90.476%, #be6037 calc(90.476% + 1px), #be6037 95.238%, #ca6a3d 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/_gtggFxgFNgomgBggB9gBhgU1gTBgH1gHzgGO?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="#50463b" 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="#514836" 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="#524e35" 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="#535639" 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="#566041" 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="#586a4b" 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="#5c7258" 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="#607663" 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="#65766d" 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="#6a7273" 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="#706a75" 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="#766172" 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="#7d576b" 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="#854e61" 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="#8d4855" 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="#964649" 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="#9f483f" 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="#a94e38" 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="#b35635" 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="#be6037" 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="#ca6a3d" fill-opacity="1.000" /></g>
</svg>
["#50463b", "#514836", "#524e35", "#535639", "#566041", "#586a4b", "#5c7258", "#607663", "#65766d", "#6a7273", "#706a75", "#766172", "#7d576b", "#854e61", "#8d4855", "#964649", "#9f483f", "#a94e38", "#b35635", "#be6037", "#ca6a3d"]
// https://grabient.com/_gtggFxgFNgomgBggB9gBhgU1gTBgH1gHzgGO?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(2.912, 0.369, 0.333);
vec3 b = vec3(2.598, 0.096, 0.125);
vec3 c = vec3(0.097, 1.333, 1.217);
vec3 d = vec3(0.501, 0.499, 0.398);
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);
}
[
[2.912, 0.369, 0.333],
[2.598, 0.096, 0.125],
[0.097, 1.333, 1.217],
[0.501, 0.499, 0.398]
]