/* https://grabient.com/_gLvgEggIlf9UgENf9gfy5gFOf4CgO6f6SgAtYsvovogA?style=angularSwatches&steps=21&angle=315 */
background: conic-gradient(from 315deg, #1e0000 0.000deg, #1e0000 17.143deg, #230000 calc(17.143deg + 0.1deg), #230000 34.286deg, #2a0000 calc(34.286deg + 0.1deg), #2a0000 51.429deg, #330000 calc(51.429deg + 0.1deg), #330000 68.571deg, #3e0000 calc(68.571deg + 0.1deg), #3e0000 85.714deg, #4a0000 calc(85.714deg + 0.1deg), #4a0000 102.857deg, #550000 calc(102.857deg + 0.1deg), #550000 120.000deg, #600000 calc(120.000deg + 0.1deg), #600000 137.143deg, #680000 calc(137.143deg + 0.1deg), #680000 154.286deg, #6f0004 calc(154.286deg + 0.1deg), #6f0004 171.429deg, #73000b calc(171.429deg + 0.1deg), #73000b 188.571deg, #740011 calc(188.571deg + 0.1deg), #740011 205.714deg, #720017 calc(205.714deg + 0.1deg), #720017 222.857deg, #6d001e calc(222.857deg + 0.1deg), #6d001e 240.000deg, #660024 calc(240.000deg + 0.1deg), #660024 257.143deg, #5c052a calc(257.143deg + 0.1deg), #5c052a 274.286deg, #510a2f calc(274.286deg + 0.1deg), #510a2f 291.429deg, #460e34 calc(291.429deg + 0.1deg), #460e34 308.571deg, #3a1138 calc(308.571deg + 0.1deg), #3a1138 325.714deg, #30143b calc(325.714deg + 0.1deg), #30143b 342.857deg, #27153c calc(342.857deg + 0.1deg) 360.000deg);
<svg xmlns="http://www.w3.org/2000/svg" width="800" height="400" viewBox="0 0 800 400" preserveAspectRatio="none">
<!-- https://grabient.com/_gLvgEggIlf9UgENf9gfy5gFOf4CgO6f6SgAtYsvovogA?style=angularSwatches&steps=21&angle=315 -->
<defs>
<clipPath id="squareClip">
<rect x="0" y="0" width="800" height="400" />
</clipPath>
<filter id="antiGap">
<feGaussianBlur in="SourceGraphic" stdDeviation="0.3" />
</filter>
</defs>
<g clip-path="url(#squareClip)" filter="url(#antiGap)" shape-rendering="crispEdges">
<path d="
M 400.000,200.000
L 83.772,-116.228
A 447.214,447.214 0 0 1 191.032,-195.389
Z
" fill="#1e0000" fill-opacity="1.000" /><path d="
M 400.000,200.000
L 191.032,-195.389
A 447.214,447.214 0 0 1 316.860,-239.418
Z
" fill="#230000" fill-opacity="1.000" /><path d="
M 400.000,200.000
L 316.860,-239.418
A 447.214,447.214 0 0 1 450.075,-244.402
Z
" fill="#2a0000" fill-opacity="1.000" /><path d="
M 400.000,200.000
L 450.075,-244.402
A 447.214,447.214 0 0 1 578.834,-209.901
Z
" fill="#330000" fill-opacity="1.000" /><path d="
M 400.000,200.000
L 578.834,-209.901
A 447.214,447.214 0 0 1 691.710,-138.977
Z
" fill="#3e0000" fill-opacity="1.000" /><path d="
M 400.000,200.000
L 691.710,-138.977
A 447.214,447.214 0 0 1 778.666,-37.933
Z
" fill="#4a0000" fill-opacity="1.000" /><path d="
M 400.000,200.000
L 778.666,-37.933
A 447.214,447.214 0 0 1 831.976,84.252
Z
" fill="#550000" fill-opacity="1.000" /><path d="
M 400.000,200.000
L 831.976,84.252
A 447.214,447.214 0 0 1 846.901,216.723
Z
" fill="#600000" fill-opacity="1.000" /><path d="
M 400.000,200.000
L 846.901,216.723
A 447.214,447.214 0 0 1 822.117,347.708
Z
" fill="#680000" fill-opacity="1.000" /><path d="
M 400.000,200.000
L 822.117,347.708
A 447.214,447.214 0 0 1 759.825,465.567
Z
" fill="#6f0004" fill-opacity="1.000" /><path d="
M 400.000,200.000
L 759.825,465.567
A 447.214,447.214 0 0 1 665.567,559.825
Z
" fill="#73000b" fill-opacity="1.000" /><path d="
M 400.000,200.000
L 665.567,559.825
A 447.214,447.214 0 0 1 547.708,622.117
Z
" fill="#740011" fill-opacity="1.000" /><path d="
M 400.000,200.000
L 547.708,622.117
A 447.214,447.214 0 0 1 416.723,646.901
Z
" fill="#720017" fill-opacity="1.000" /><path d="
M 400.000,200.000
L 416.723,646.901
A 447.214,447.214 0 0 1 284.252,631.976
Z
" fill="#6d001e" fill-opacity="1.000" /><path d="
M 400.000,200.000
L 284.252,631.976
A 447.214,447.214 0 0 1 162.067,578.666
Z
" fill="#660024" fill-opacity="1.000" /><path d="
M 400.000,200.000
L 162.067,578.666
A 447.214,447.214 0 0 1 61.023,491.710
Z
" fill="#5c052a" fill-opacity="1.000" /><path d="
M 400.000,200.000
L 61.023,491.710
A 447.214,447.214 0 0 1 -9.901,378.834
Z
" fill="#510a2f" fill-opacity="1.000" /><path d="
M 400.000,200.000
L -9.901,378.834
A 447.214,447.214 0 0 1 -44.402,250.075
Z
" fill="#460e34" fill-opacity="1.000" /><path d="
M 400.000,200.000
L -44.402,250.075
A 447.214,447.214 0 0 1 -39.418,116.860
Z
" fill="#3a1138" fill-opacity="1.000" /><path d="
M 400.000,200.000
L -39.418,116.860
A 447.214,447.214 0 0 1 4.611,-8.968
Z
" fill="#30143b" fill-opacity="1.000" /><path d="
M 400.000,200.000
L 4.611,-8.968
A 447.214,447.214 0 0 1 83.772,-116.228
Z
" fill="#27153c" fill-opacity="1.000" /></g>
</svg>
["#1e0000", "#230000", "#2a0000", "#330000", "#3e0000", "#4a0000", "#550000", "#600000", "#680000", "#6f0004", "#73000b", "#740011", "#720017", "#6d001e", "#660024", "#5c052a", "#510a2f", "#460e34", "#3a1138", "#30143b", "#27153c"]
// https://grabient.com/_gLvgEggIlf9UgENf9gfy5gFOf4CgO6f6SgAtYsvovogA?style=angularSwatches&steps=21&angle=315
// cosine gradient palette — https://iquilezles.org/articles/palettes/
const float STEPS = 21.0;
const float ANGLE = 315.0;
vec3 palette(float t) {
vec3 a = vec3(0.283, -0.180, 0.081);
vec3 b = vec3(-0.172, 0.269, -0.160);
vec3 c = vec3(-0.839, 0.334, -0.510);
vec3 d = vec3(0.954, -0.366, 0.045);
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;
// 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.283, -0.180, 0.081],
[-0.172, 0.269, -0.160],
[-0.839, 0.334, -0.510],
[0.954, -0.366, 0.045]
]