/* https://grabient.com/_gHugICgH6gI2gErgFEgLYgOAgRagFtgG6gJe?style=angularGradient&steps=8&angle=225 */
background: conic-gradient(from 225deg, #1f3c40 0.000deg, #003e89 51.429deg, #006bca 102.857deg, #3ea6c9 154.286deg, #9acc85 205.714deg, #eac53e 257.143deg, #ff9634 308.571deg, #f65b72 360.000deg);
<svg width="800" height="400" viewBox="0 0 800 400" fill="none" xmlns="http://www.w3.org/2000/svg">
<!-- https://grabient.com/_gHugICgH6gI2gErgFEgLYgOAgRagFtgG6gJe?style=angularGradient&steps=8&angle=225 -->
<g clip-path="url(#paint0_angular_clip_path)" data-figma-skip-parse="true"><g transform="matrix(-0.139677 0.139677 -0.139677 -0.139677 400.000000 200.000000)"><foreignObject x="-2264" y="-2264" width="4528" height="4528"><div xmlns="http://www.w3.org/1999/xhtml" style="background:conic-gradient(from 90deg,rgba(31, 60, 64, 1) 0.000000deg,rgba(0, 62, 137, 1) 51.428571deg,rgba(0, 107, 202, 1) 102.857143deg,rgba(62, 166, 201, 1) 154.285714deg,rgba(154, 204, 133, 1) 205.714286deg,rgba(234, 197, 62, 1) 257.142857deg,rgba(255, 150, 52, 1) 308.571429deg,rgba(246, 91, 114, 1) 360.000000deg);height:100%;width:100%;opacity:1"></div></foreignObject></g></g><rect width="800" height="400" data-figma-gradient-fill="{"type":"GRADIENT_ANGULAR","stops":[{"color":{"r":0.12156862745098039,"g":0.23529411764705882,"b":0.25098039215686274,"a":1},"position":0},{"color":{"r":0,"g":0.24313725490196078,"b":0.5372549019607843,"a":1},"position":0.14285714285714285},{"color":{"r":0,"g":0.4196078431372549,"b":0.792156862745098,"a":1},"position":0.2857142857142857},{"color":{"r":0.24313725490196078,"g":0.6509803921568628,"b":0.788235294117647,"a":1},"position":0.42857142857142855},{"color":{"r":0.6039215686274509,"g":0.8,"b":0.5215686274509804,"a":1},"position":0.5714285714285714},{"color":{"r":0.9176470588235294,"g":0.7725490196078432,"b":0.24313725490196078,"a":1},"position":0.7142857142857143},{"color":{"r":1,"g":0.5882352941176471,"b":0.20392156862745098,"a":1},"position":0.8571428571428571},{"color":{"r":0.9647058823529412,"g":0.3568627450980392,"b":0.4470588235294118,"a":1},"position":1}],"stopsVar":[{"color":{"r":0.12156862745098039,"g":0.23529411764705882,"b":0.25098039215686274,"a":1},"position":0},{"color":{"r":0,"g":0.24313725490196078,"b":0.5372549019607843,"a":1},"position":0.14285714285714285},{"color":{"r":0,"g":0.4196078431372549,"b":0.792156862745098,"a":1},"position":0.2857142857142857},{"color":{"r":0.24313725490196078,"g":0.6509803921568628,"b":0.788235294117647,"a":1},"position":0.42857142857142855},{"color":{"r":0.6039215686274509,"g":0.8,"b":0.5215686274509804,"a":1},"position":0.5714285714285714},{"color":{"r":0.9176470588235294,"g":0.7725490196078432,"b":0.24313725490196078,"a":1},"position":0.7142857142857143},{"color":{"r":1,"g":0.5882352941176471,"b":0.20392156862745098,"a":1},"position":0.8571428571428571},{"color":{"r":0.9647058823529412,"g":0.3568627450980392,"b":0.4470588235294118,"a":1},"position":1}],"transform":{"m00":-565.685425,"m01":-565.685425,"m02":965.685425,"m10":565.685425,"m11":-565.685425,"m12":200.000000},"opacity":1.0,"blendMode":"NORMAL","visible":true}"/>
<defs>
<clipPath id="paint0_angular_clip_path"><rect width="800" height="400"/></clipPath>
</defs>
</svg>
["#1f3c40", "#003e89", "#006bca", "#3ea6c9", "#9acc85", "#eac53e", "#ff9634", "#f65b72"]
// https://grabient.com/_gHugICgH6gI2gErgFEgLYgOAgRagFtgG6gJe?style=angularGradient&steps=8&angle=225
// cosine gradient palette — https://iquilezles.org/articles/palettes/
const float STEPS = 8.0;
const float ANGLE = 225.0;
vec3 palette(float t) {
vec3 a = vec3(0.494, 0.514, 0.506);
vec3 b = vec3(0.566, 0.299, 0.324);
vec3 c = vec3(0.728, 0.896, 1.114);
vec3 d = vec3(0.365, 0.442, 0.606);
return a + b * cos(6.283185 * (c * t + d));
}
// N stops sampled from the palette, blended like the CSS gradient
vec3 stops(float t) {
float n = STEPS - 1.0;
float x = clamp(t, 0.0, 1.0) * n;
return mix(palette(floor(x) / n), palette(min(floor(x) + 1.0, n) / n), fract(x));
}
void mainImage(out vec4 fragColor, in vec2 fragCoord) {
vec2 p = fragCoord - 0.5 * iResolution.xy;
// conic from ANGLE, clockwise from top (CSS convention)
float t = fract((atan(p.x, p.y) - radians(ANGLE)) / 6.283185);
fragColor = vec4(stops(t), 1.0);
}
[
[0.494, 0.514, 0.506],
[0.566, 0.299, 0.324],
[0.728, 0.896, 1.114],
[0.365, 0.442, 0.606]
]