/* https://grabient.com/_gM4gNQgLAgC5gC7gDZgIxgNSgL3gO0gGmgDz?style=linearSwatches&steps=34&angle=90 */
background: linear-gradient(90deg, #ffaeb6 0.000%, #ffaeb6 2.941%, #ffabae calc(2.941% + 1px), #ffabae 5.882%, #ffa9a6 calc(5.882% + 1px), #ffa9a6 8.824%, #ffa99f calc(8.824% + 1px), #ffa99f 11.765%, #ffa997 calc(11.765% + 1px), #ffa997 14.706%, #ffab91 calc(14.706% + 1px), #ffab91 17.647%, #ffae8b calc(17.647% + 1px), #ffae8b 20.588%, #fdb286 calc(20.588% + 1px), #fdb286 23.529%, #fbb782 calc(23.529% + 1px), #fbb782 26.471%, #f8bd7f calc(26.471% + 1px), #f8bd7f 29.412%, #f5c47d calc(29.412% + 1px), #f5c47d 32.353%, #f1cb7c calc(32.353% + 1px), #f1cb7c 35.294%, #edd37d calc(35.294% + 1px), #edd37d 38.235%, #e9da7e calc(38.235% + 1px), #e9da7e 41.176%, #e5e281 calc(41.176% + 1px), #e5e281 44.118%, #e0e984 calc(44.118% + 1px), #e0e984 47.059%, #dbf089 calc(47.059% + 1px), #dbf089 50.000%, #d6f78f calc(50.000% + 1px), #d6f78f 52.941%, #d1fc95 calc(52.941% + 1px), #d1fc95 55.882%, #ccff9c calc(55.882% + 1px), #ccff9c 58.824%, #c7ffa3 calc(58.824% + 1px), #c7ffa3 61.765%, #c2ffab calc(61.765% + 1px), #c2ffab 64.706%, #bdffb3 calc(64.706% + 1px), #bdffb3 67.647%, #b9ffbb calc(67.647% + 1px), #b9ffbb 70.588%, #b5ffc3 calc(70.588% + 1px), #b5ffc3 73.529%, #b1ffca calc(73.529% + 1px), #b1ffca 76.471%, #aeffd1 calc(76.471% + 1px), #aeffd1 79.412%, #abfcd8 calc(79.412% + 1px), #abfcd8 82.353%, #a8f6dd calc(82.353% + 1px), #a8f6dd 85.294%, #a6efe2 calc(85.294% + 1px), #a6efe2 88.235%, #a5e8e6 calc(88.235% + 1px), #a5e8e6 91.176%, #a4e1e9 calc(91.176% + 1px), #a4e1e9 94.118%, #a3d9ea calc(94.118% + 1px), #a3d9ea 97.059%, #a3d2eb calc(97.059% + 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/_gM4gNQgLAgC5gC7gDZgIxgNSgL3gO0gGmgDz?style=linearSwatches&steps=34&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 23.529,-247.214 L 23.529,647.214 Z" fill="#ffaeb6" fill-opacity="1.000" /><path d="M 23.529,647.214 L 23.529,-247.214 L 47.059,-247.214 L 47.059,647.214 Z" fill="#ffabae" fill-opacity="1.000" /><path d="M 47.059,647.214 L 47.059,-247.214 L 70.588,-247.214 L 70.588,647.214 Z" fill="#ffa9a6" fill-opacity="1.000" /><path d="M 70.588,647.214 L 70.588,-247.214 L 94.118,-247.214 L 94.118,647.214 Z" fill="#ffa99f" fill-opacity="1.000" /><path d="M 94.118,647.214 L 94.118,-247.214 L 117.647,-247.214 L 117.647,647.214 Z" fill="#ffa997" fill-opacity="1.000" /><path d="M 117.647,647.214 L 117.647,-247.214 L 141.176,-247.214 L 141.176,647.214 Z" fill="#ffab91" fill-opacity="1.000" /><path d="M 141.176,647.214 L 141.176,-247.214 L 164.706,-247.214 L 164.706,647.214 Z" fill="#ffae8b" fill-opacity="1.000" /><path d="M 164.706,647.214 L 164.706,-247.214 L 188.235,-247.214 L 188.235,647.214 Z" fill="#fdb286" fill-opacity="1.000" /><path d="M 188.235,647.214 L 188.235,-247.214 L 211.765,-247.214 L 211.765,647.214 Z" fill="#fbb782" fill-opacity="1.000" /><path d="M 211.765,647.214 L 211.765,-247.214 L 235.294,-247.214 L 235.294,647.214 Z" fill="#f8bd7f" fill-opacity="1.000" /><path d="M 235.294,647.214 L 235.294,-247.214 L 258.824,-247.214 L 258.824,647.214 Z" fill="#f5c47d" fill-opacity="1.000" /><path d="M 258.824,647.214 L 258.824,-247.214 L 282.353,-247.214 L 282.353,647.214 Z" fill="#f1cb7c" fill-opacity="1.000" /><path d="M 282.353,647.214 L 282.353,-247.214 L 305.882,-247.214 L 305.882,647.214 Z" fill="#edd37d" fill-opacity="1.000" /><path d="M 305.882,647.214 L 305.882,-247.214 L 329.412,-247.214 L 329.412,647.214 Z" fill="#e9da7e" fill-opacity="1.000" /><path d="M 329.412,647.214 L 329.412,-247.214 L 352.941,-247.214 L 352.941,647.214 Z" fill="#e5e281" fill-opacity="1.000" /><path d="M 352.941,647.214 L 352.941,-247.214 L 376.471,-247.214 L 376.471,647.214 Z" fill="#e0e984" fill-opacity="1.000" /><path d="M 376.471,647.214 L 376.471,-247.214 L 400.000,-247.214 L 400.000,647.214 Z" fill="#dbf089" fill-opacity="1.000" /><path d="M 400.000,647.214 L 400.000,-247.214 L 423.529,-247.214 L 423.529,647.214 Z" fill="#d6f78f" fill-opacity="1.000" /><path d="M 423.529,647.214 L 423.529,-247.214 L 447.059,-247.214 L 447.059,647.214 Z" fill="#d1fc95" fill-opacity="1.000" /><path d="M 447.059,647.214 L 447.059,-247.214 L 470.588,-247.214 L 470.588,647.214 Z" fill="#ccff9c" fill-opacity="1.000" /><path d="M 470.588,647.214 L 470.588,-247.214 L 494.118,-247.214 L 494.118,647.214 Z" fill="#c7ffa3" fill-opacity="1.000" /><path d="M 494.118,647.214 L 494.118,-247.214 L 517.647,-247.214 L 517.647,647.214 Z" fill="#c2ffab" fill-opacity="1.000" /><path d="M 517.647,647.214 L 517.647,-247.214 L 541.176,-247.214 L 541.176,647.214 Z" fill="#bdffb3" fill-opacity="1.000" /><path d="M 541.176,647.214 L 541.176,-247.214 L 564.706,-247.214 L 564.706,647.214 Z" fill="#b9ffbb" fill-opacity="1.000" /><path d="M 564.706,647.214 L 564.706,-247.214 L 588.235,-247.214 L 588.235,647.214 Z" fill="#b5ffc3" fill-opacity="1.000" /><path d="M 588.235,647.214 L 588.235,-247.214 L 611.765,-247.214 L 611.765,647.214 Z" fill="#b1ffca" fill-opacity="1.000" /><path d="M 611.765,647.214 L 611.765,-247.214 L 635.294,-247.214 L 635.294,647.214 Z" fill="#aeffd1" fill-opacity="1.000" /><path d="M 635.294,647.214 L 635.294,-247.214 L 658.824,-247.214 L 658.824,647.214 Z" fill="#abfcd8" fill-opacity="1.000" /><path d="M 658.824,647.214 L 658.824,-247.214 L 682.353,-247.214 L 682.353,647.214 Z" fill="#a8f6dd" fill-opacity="1.000" /><path d="M 682.353,647.214 L 682.353,-247.214 L 705.882,-247.214 L 705.882,647.214 Z" fill="#a6efe2" fill-opacity="1.000" /><path d="M 705.882,647.214 L 705.882,-247.214 L 729.412,-247.214 L 729.412,647.214 Z" fill="#a5e8e6" fill-opacity="1.000" /><path d="M 729.412,647.214 L 729.412,-247.214 L 752.941,-247.214 L 752.941,647.214 Z" fill="#a4e1e9" fill-opacity="1.000" /><path d="M 752.941,647.214 L 752.941,-247.214 L 776.471,-247.214 L 776.471,647.214 Z" fill="#a3d9ea" fill-opacity="1.000" /><path d="M 776.471,647.214 L 776.471,-247.214 L 800.000,-247.214 L 800.000,647.214 Z" fill="#a3d2eb" fill-opacity="1.000" /></g>
</svg>
["#ffaeb6", "#ffabae", "#ffa9a6", "#ffa99f", "#ffa997", "#ffab91", "#ffae8b", "#fdb286", "#fbb782", "#f8bd7f", "#f5c47d", "#f1cb7c", "#edd37d", "#e9da7e", "#e5e281", "#e0e984", "#dbf089", "#d6f78f", "#d1fc95", "#ccff9c", "#c7ffa3", "#c2ffab", "#bdffb3", "#b9ffbb", "#b5ffc3", "#b1ffca", "#aeffd1", "#abfcd8", "#a8f6dd", "#a6efe2", "#a5e8e6", "#a4e1e9", "#a3d9ea", "#a3d2eb"]
// https://grabient.com/_gM4gNQgLAgC5gC7gDZgIxgNSgL3gO0gGmgDz?style=linearSwatches&steps=34&angle=90
// cosine gradient palette — https://iquilezles.org/articles/palettes/
const float STEPS = 34.0;
const float ANGLE = 90.0;
vec3 palette(float t) {
vec3 a = vec3(0.824, 0.848, 0.704);
vec3 b = vec3(0.185, 0.187, 0.217);
vec3 c = vec3(0.561, 0.850, 0.759);
vec3 d = vec3(0.948, 0.422, 0.243);
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.824, 0.848, 0.704],
[0.185, 0.187, 0.217],
[0.561, 0.850, 0.759],
[0.948, 0.422, 0.243]
]