/* https://grabient.com/_gHHgE4gAzf9pf9zgDtf09f4ygEugUuf2wfwV?style=linearSwatches&steps=13&angle=210 */
background: linear-gradient(210deg, #866e49 0.000%, #866e49 7.692%, #786849 calc(7.692% + 1px), #786849 15.385%, #6a6147 calc(15.385% + 1px), #6a6147 23.077%, #5d5943 calc(23.077% + 1px), #5d5943 30.769%, #54503e calc(30.769% + 1px), #54503e 38.462%, #4e4838 calc(38.462% + 1px), #4e4838 46.154%, #4e4031 calc(46.154% + 1px), #4e4031 53.846%, #533829 calc(53.846% + 1px), #533829 61.538%, #5c3220 calc(61.538% + 1px), #5c3220 69.231%, #692e17 calc(69.231% + 1px), #692e17 76.923%, #772c0e calc(76.923% + 1px), #772c0e 84.615%, #852c04 calc(84.615% + 1px), #852c04 92.308%, #902e00 calc(92.308% + 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/_gHHgE4gAzf9pf9zgDtf09f4ygEugUuf2wfwV?style=linearSwatches&steps=13&angle=210 -->
<defs>
<clipPath id="bounds">
<rect x="0" y="0" width="800" height="400" />
</clipPath>
</defs>
<g clip-path="url(#bounds)"><path d="M 199.304,-346.812 L 973.901,100.402 L 945.193,150.126 L 170.596,-297.088 Z" fill="#866e49" fill-opacity="1.000" /><path d="M 170.596,-297.088 L 945.193,150.126 L 916.485,199.849 L 141.888,-247.364 Z" fill="#786849" fill-opacity="1.000" /><path d="M 141.888,-247.364 L 916.485,199.849 L 887.777,249.573 L 113.180,-197.640 Z" fill="#6a6147" fill-opacity="1.000" /><path d="M 113.180,-197.640 L 887.777,249.573 L 859.069,299.297 L 84.472,-147.916 Z" fill="#5d5943" fill-opacity="1.000" /><path d="M 84.472,-147.916 L 859.069,299.297 L 830.360,349.021 L 55.764,-98.193 Z" fill="#54503e" fill-opacity="1.000" /><path d="M 55.764,-98.193 L 830.360,349.021 L 801.652,398.745 L 27.056,-48.469 Z" fill="#4e4838" fill-opacity="1.000" /><path d="M 27.056,-48.469 L 801.652,398.745 L 772.944,448.469 L -1.652,1.255 Z" fill="#4e4031" fill-opacity="1.000" /><path d="M -1.652,1.255 L 772.944,448.469 L 744.236,498.193 L -30.360,50.979 Z" fill="#533829" fill-opacity="1.000" /><path d="M -30.360,50.979 L 744.236,498.193 L 715.528,547.916 L -59.069,100.703 Z" fill="#5c3220" fill-opacity="1.000" /><path d="M -59.069,100.703 L 715.528,547.916 L 686.820,597.640 L -87.777,150.427 Z" fill="#692e17" fill-opacity="1.000" /><path d="M -87.777,150.427 L 686.820,597.640 L 658.112,647.364 L -116.485,200.151 Z" fill="#772c0e" fill-opacity="1.000" /><path d="M -116.485,200.151 L 658.112,647.364 L 629.404,697.088 L -145.193,249.874 Z" fill="#852c04" fill-opacity="1.000" /><path d="M -145.193,249.874 L 629.404,697.088 L 600.696,746.812 L -173.901,299.598 Z" fill="#902e00" fill-opacity="1.000" /></g>
</svg>
["#866e49", "#786849", "#6a6147", "#5d5943", "#54503e", "#4e4838", "#4e4031", "#533829", "#5c3220", "#692e17", "#772c0e", "#852c04", "#902e00"]
// https://grabient.com/_gHHgE4gAzf9pf9zgDtf09f4ygEugUuf2wfwV?style=linearSwatches&steps=13&angle=210
// cosine gradient palette — https://iquilezles.org/articles/palettes/
const float STEPS = 13.0;
const float ANGLE = 210.0;
vec3 palette(float t) {
vec3 a = vec3(0.455, 0.312, 0.051);
vec3 b = vec3(-0.151, -0.141, 0.237);
vec3 c = vec3(-0.707, -0.462, 0.302);
vec3 d = vec3(1.326, -0.592, -1.003);
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.455, 0.312, 0.051],
[-0.151, -0.141, 0.237],
[-0.707, -0.462, 0.302],
[1.326, -0.592, -1.003]
]