/* https://grabient.com/_gIVgDbgPdgOUgDFgLegEggCdgDZhJugoEg3ecPpw07vd?style=angularGradient&steps=13&angle=45 */
background: conic-gradient(from 45deg, #24004d 0.000deg, #410053 30.000deg, #5e005b 60.000deg, #7a0066 90.000deg, #950072 120.000deg, #ad0080 150.000deg, #c00090 180.000deg, #cf00a1 210.000deg, #d900b2 240.000deg, #dc00c4 270.000deg, #da00d5 300.000deg, #d200e7 330.000deg, #c400f7 360.000deg);
<svg width="800" height="400" viewBox="0 0 800 400" fill="none" xmlns="http://www.w3.org/2000/svg">
<!-- https://grabient.com/_gIVgDbgPdgOUgDFgLegEggCdgDZhJugoEg3ecPpw07vd?style=angularGradient&steps=13&angle=45 -->
<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(36, 0, 77, 1) 0.000000deg,rgba(65, 0, 83, 1) 30.000000deg,rgba(94, 0, 91, 1) 60.000000deg,rgba(122, 0, 102, 1) 90.000000deg,rgba(149, 0, 114, 1) 120.000000deg,rgba(173, 0, 128, 1) 150.000000deg,rgba(192, 0, 144, 1) 180.000000deg,rgba(207, 0, 161, 1) 210.000000deg,rgba(217, 0, 178, 1) 240.000000deg,rgba(220, 0, 196, 1) 270.000000deg,rgba(218, 0, 213, 1) 300.000000deg,rgba(210, 0, 231, 1) 330.000000deg,rgba(196, 0, 247, 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.1411764705882353,"g":0,"b":0.30196078431372547,"a":1},"position":0},{"color":{"r":0.2549019607843137,"g":0,"b":0.3254901960784314,"a":1},"position":0.08333333333333333},{"color":{"r":0.3686274509803922,"g":0,"b":0.3568627450980392,"a":1},"position":0.16666666666666666},{"color":{"r":0.47843137254901963,"g":0,"b":0.4,"a":1},"position":0.25},{"color":{"r":0.5843137254901961,"g":0,"b":0.4470588235294118,"a":1},"position":0.3333333333333333},{"color":{"r":0.6784313725490196,"g":0,"b":0.5019607843137255,"a":1},"position":0.4166666666666667},{"color":{"r":0.7529411764705882,"g":0,"b":0.5647058823529412,"a":1},"position":0.5},{"color":{"r":0.8117647058823529,"g":0,"b":0.6313725490196078,"a":1},"position":0.5833333333333334},{"color":{"r":0.8509803921568627,"g":0,"b":0.6980392156862745,"a":1},"position":0.6666666666666666},{"color":{"r":0.8627450980392157,"g":0,"b":0.7686274509803922,"a":1},"position":0.75},{"color":{"r":0.8549019607843137,"g":0,"b":0.8352941176470589,"a":1},"position":0.8333333333333334},{"color":{"r":0.8235294117647058,"g":0,"b":0.9058823529411765,"a":1},"position":0.9166666666666666},{"color":{"r":0.7686274509803922,"g":0,"b":0.9686274509803922,"a":1},"position":1}],"stopsVar":[{"color":{"r":0.1411764705882353,"g":0,"b":0.30196078431372547,"a":1},"position":0},{"color":{"r":0.2549019607843137,"g":0,"b":0.3254901960784314,"a":1},"position":0.08333333333333333},{"color":{"r":0.3686274509803922,"g":0,"b":0.3568627450980392,"a":1},"position":0.16666666666666666},{"color":{"r":0.47843137254901963,"g":0,"b":0.4,"a":1},"position":0.25},{"color":{"r":0.5843137254901961,"g":0,"b":0.4470588235294118,"a":1},"position":0.3333333333333333},{"color":{"r":0.6784313725490196,"g":0,"b":0.5019607843137255,"a":1},"position":0.4166666666666667},{"color":{"r":0.7529411764705882,"g":0,"b":0.5647058823529412,"a":1},"position":0.5},{"color":{"r":0.8117647058823529,"g":0,"b":0.6313725490196078,"a":1},"position":0.5833333333333334},{"color":{"r":0.8509803921568627,"g":0,"b":0.6980392156862745,"a":1},"position":0.6666666666666666},{"color":{"r":0.8627450980392157,"g":0,"b":0.7686274509803922,"a":1},"position":0.75},{"color":{"r":0.8549019607843137,"g":0,"b":0.8352941176470589,"a":1},"position":0.8333333333333334},{"color":{"r":0.8235294117647058,"g":0,"b":0.9058823529411765,"a":1},"position":0.9166666666666666},{"color":{"r":0.7686274509803922,"g":0,"b":0.9686274509803922,"a":1},"position":1}],"transform":{"m00":565.685425,"m01":565.685425,"m02":-165.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>
["#24004d", "#410053", "#5e005b", "#7a0066", "#950072", "#ad0080", "#c00090", "#cf00a1", "#d900b2", "#dc00c4", "#da00d5", "#d200e7", "#c400f7"]
// https://grabient.com/_gIVgDbgPdgOUgDFgLegEggCdgDZhJugoEg3ecPpw07vd?style=angularGradient&steps=13&angle=45
// cosine gradient palette — https://iquilezles.org/articles/palettes/
const float STEPS = 13.0;
const float ANGLE = 45.0;
vec3 palette(float t) {
vec3 a = vec3(0.292, -0.022, 0.748);
vec3 b = vec3(0.572, 0.123, 0.458);
vec3 c = vec3(0.386, 0.210, 0.291);
vec3 d = vec3(5.707, 3.553, 4.539);
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.292, -0.022, 0.748],
[0.572, 0.123, 0.458],
[0.386, 0.210, 0.291],
[5.707, 3.553, 4.539]
]