/* https://grabient.com/_giRf0EgOjgirgaJgA0gBngBngeQgFXgARgNacDwIvoft?style=radialSwatches&steps=34&angle=315 */
background: radial-gradient(circle, #e9b5b4 0.000%, #e9b5b4 2.941%, #dfb5b8 calc(2.941% + 1px), #dfb5b8 5.882%, #d5b5ba calc(5.882% + 1px), #d5b5ba 8.824%, #cbb4bb calc(8.824% + 1px), #cbb4bb 11.765%, #c1b4b9 calc(11.765% + 1px), #c1b4b9 14.706%, #b7b3b6 calc(14.706% + 1px), #b7b3b6 17.647%, #adb3b2 calc(17.647% + 1px), #adb3b2 20.588%, #a4b2ad calc(20.588% + 1px), #a4b2ad 23.529%, #9bb0a8 calc(23.529% + 1px), #9bb0a8 26.471%, #91afa4 calc(26.471% + 1px), #91afa4 29.412%, #88aea1 calc(29.412% + 1px), #88aea1 32.353%, #7fac9f calc(32.353% + 1px), #7fac9f 35.294%, #76aaa0 calc(35.294% + 1px), #76aaa0 38.235%, #6ea8a2 calc(38.235% + 1px), #6ea8a2 41.176%, #65a6a6 calc(41.176% + 1px), #65a6a6 44.118%, #5da4aa calc(44.118% + 1px), #5da4aa 47.059%, #55a1af calc(47.059% + 1px), #55a1af 50.000%, #4c9eb4 calc(50.000% + 1px), #4c9eb4 52.941%, #459cb8 calc(52.941% + 1px), #459cb8 55.882%, #3d99ba calc(55.882% + 1px), #3d99ba 58.824%, #3596bb calc(58.824% + 1px), #3596bb 61.765%, #2e92b9 calc(61.765% + 1px), #2e92b9 64.706%, #278fb6 calc(64.706% + 1px), #278fb6 67.647%, #208bb2 calc(67.647% + 1px), #208bb2 70.588%, #1988ad calc(70.588% + 1px), #1988ad 73.529%, #1284a8 calc(73.529% + 1px), #1284a8 76.471%, #0b80a4 calc(76.471% + 1px), #0b80a4 79.412%, #057ba1 calc(79.412% + 1px), #057ba1 82.353%, #00779f calc(82.353% + 1px), #00779f 85.294%, #0073a0 calc(85.294% + 1px), #0073a0 88.235%, #006ea2 calc(88.235% + 1px), #006ea2 91.176%, #0069a5 calc(91.176% + 1px), #0069a5 94.118%, #0064aa calc(94.118% + 1px), #0064aa 97.059%, #005faf 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/_giRf0EgOjgirgaJgA0gBngBngeQgFXgARgNacDwIvoft?style=radialSwatches&steps=34&angle=315 -->
<defs>
<clipPath id="ringBounds">
<rect x="0" y="0" width="800" height="400" />
</clipPath>
</defs>
<g clip-path="url(#ringBounds)"><path d="M 386.847,200.000 A 13.153,13.153 0 1 1 413.153,200.000 A 13.153,13.153 0 1 1 386.847,200.000 Z" fill="#e9b5b4" fill-opacity="1.000" /><path d="M 373.693,200.000 A 26.307,26.307 0 1 1 426.307,200.000 A 26.307,26.307 0 1 1 373.693,200.000 Z M 386.847,200.000 A 13.153,13.153 0 1 0 413.153,200.000 A 13.153,13.153 0 1 0 386.847,200.000 Z" fill="#dfb5b8" fill-opacity="1.000" /><path d="M 360.540,200.000 A 39.460,39.460 0 1 1 439.460,200.000 A 39.460,39.460 0 1 1 360.540,200.000 Z M 373.693,200.000 A 26.307,26.307 0 1 0 426.307,200.000 A 26.307,26.307 0 1 0 373.693,200.000 Z" fill="#d5b5ba" fill-opacity="1.000" /><path d="M 347.387,200.000 A 52.613,52.613 0 1 1 452.613,200.000 A 52.613,52.613 0 1 1 347.387,200.000 Z M 360.540,200.000 A 39.460,39.460 0 1 0 439.460,200.000 A 39.460,39.460 0 1 0 360.540,200.000 Z" fill="#cbb4bb" fill-opacity="1.000" /><path d="M 334.233,200.000 A 65.767,65.767 0 1 1 465.767,200.000 A 65.767,65.767 0 1 1 334.233,200.000 Z M 347.387,200.000 A 52.613,52.613 0 1 0 452.613,200.000 A 52.613,52.613 0 1 0 347.387,200.000 Z" fill="#c1b4b9" fill-opacity="1.000" /><path d="M 321.080,200.000 A 78.920,78.920 0 1 1 478.920,200.000 A 78.920,78.920 0 1 1 321.080,200.000 Z M 334.233,200.000 A 65.767,65.767 0 1 0 465.767,200.000 A 65.767,65.767 0 1 0 334.233,200.000 Z" fill="#b7b3b6" fill-opacity="1.000" /><path d="M 307.927,200.000 A 92.073,92.073 0 1 1 492.073,200.000 A 92.073,92.073 0 1 1 307.927,200.000 Z M 321.080,200.000 A 78.920,78.920 0 1 0 478.920,200.000 A 78.920,78.920 0 1 0 321.080,200.000 Z" fill="#adb3b2" fill-opacity="1.000" /><path d="M 294.773,200.000 A 105.227,105.227 0 1 1 505.227,200.000 A 105.227,105.227 0 1 1 294.773,200.000 Z M 307.927,200.000 A 92.073,92.073 0 1 0 492.073,200.000 A 92.073,92.073 0 1 0 307.927,200.000 Z" fill="#a4b2ad" fill-opacity="1.000" /><path d="M 281.620,200.000 A 118.380,118.380 0 1 1 518.380,200.000 A 118.380,118.380 0 1 1 281.620,200.000 Z M 294.773,200.000 A 105.227,105.227 0 1 0 505.227,200.000 A 105.227,105.227 0 1 0 294.773,200.000 Z" fill="#9bb0a8" fill-opacity="1.000" /><path d="M 268.467,200.000 A 131.533,131.533 0 1 1 531.533,200.000 A 131.533,131.533 0 1 1 268.467,200.000 Z M 281.620,200.000 A 118.380,118.380 0 1 0 518.380,200.000 A 118.380,118.380 0 1 0 281.620,200.000 Z" fill="#91afa4" fill-opacity="1.000" /><path d="M 255.313,200.000 A 144.687,144.687 0 1 1 544.687,200.000 A 144.687,144.687 0 1 1 255.313,200.000 Z M 268.467,200.000 A 131.533,131.533 0 1 0 531.533,200.000 A 131.533,131.533 0 1 0 268.467,200.000 Z" fill="#88aea1" fill-opacity="1.000" /><path d="M 242.160,200.000 A 157.840,157.840 0 1 1 557.840,200.000 A 157.840,157.840 0 1 1 242.160,200.000 Z M 255.313,200.000 A 144.687,144.687 0 1 0 544.687,200.000 A 144.687,144.687 0 1 0 255.313,200.000 Z" fill="#7fac9f" fill-opacity="1.000" /><path d="M 229.007,200.000 A 170.993,170.993 0 1 1 570.993,200.000 A 170.993,170.993 0 1 1 229.007,200.000 Z M 242.160,200.000 A 157.840,157.840 0 1 0 557.840,200.000 A 157.840,157.840 0 1 0 242.160,200.000 Z" fill="#76aaa0" fill-opacity="1.000" /><path d="M 215.853,200.000 A 184.147,184.147 0 1 1 584.147,200.000 A 184.147,184.147 0 1 1 215.853,200.000 Z M 229.007,200.000 A 170.993,170.993 0 1 0 570.993,200.000 A 170.993,170.993 0 1 0 229.007,200.000 Z" fill="#6ea8a2" fill-opacity="1.000" /><path d="M 202.700,200.000 A 197.300,197.300 0 1 1 597.300,200.000 A 197.300,197.300 0 1 1 202.700,200.000 Z M 215.853,200.000 A 184.147,184.147 0 1 0 584.147,200.000 A 184.147,184.147 0 1 0 215.853,200.000 Z" fill="#65a6a6" fill-opacity="1.000" /><path d="M 189.547,200.000 A 210.453,210.453 0 1 1 610.453,200.000 A 210.453,210.453 0 1 1 189.547,200.000 Z M 202.700,200.000 A 197.300,197.300 0 1 0 597.300,200.000 A 197.300,197.300 0 1 0 202.700,200.000 Z" fill="#5da4aa" fill-opacity="1.000" /><path d="M 176.393,200.000 A 223.607,223.607 0 1 1 623.607,200.000 A 223.607,223.607 0 1 1 176.393,200.000 Z M 189.547,200.000 A 210.453,210.453 0 1 0 610.453,200.000 A 210.453,210.453 0 1 0 189.547,200.000 Z" fill="#55a1af" fill-opacity="1.000" /><path d="M 163.240,200.000 A 236.760,236.760 0 1 1 636.760,200.000 A 236.760,236.760 0 1 1 163.240,200.000 Z M 176.393,200.000 A 223.607,223.607 0 1 0 623.607,200.000 A 223.607,223.607 0 1 0 176.393,200.000 Z" fill="#4c9eb4" fill-opacity="1.000" /><path d="M 150.087,200.000 A 249.913,249.913 0 1 1 649.913,200.000 A 249.913,249.913 0 1 1 150.087,200.000 Z M 163.240,200.000 A 236.760,236.760 0 1 0 636.760,200.000 A 236.760,236.760 0 1 0 163.240,200.000 Z" fill="#459cb8" fill-opacity="1.000" /><path d="M 136.933,200.000 A 263.067,263.067 0 1 1 663.067,200.000 A 263.067,263.067 0 1 1 136.933,200.000 Z M 150.087,200.000 A 249.913,249.913 0 1 0 649.913,200.000 A 249.913,249.913 0 1 0 150.087,200.000 Z" fill="#3d99ba" fill-opacity="1.000" /><path d="M 123.780,200.000 A 276.220,276.220 0 1 1 676.220,200.000 A 276.220,276.220 0 1 1 123.780,200.000 Z M 136.933,200.000 A 263.067,263.067 0 1 0 663.067,200.000 A 263.067,263.067 0 1 0 136.933,200.000 Z" fill="#3596bb" fill-opacity="1.000" /><path d="M 110.626,200.000 A 289.374,289.374 0 1 1 689.374,200.000 A 289.374,289.374 0 1 1 110.626,200.000 Z M 123.780,200.000 A 276.220,276.220 0 1 0 676.220,200.000 A 276.220,276.220 0 1 0 123.780,200.000 Z" fill="#2e92b9" fill-opacity="1.000" /><path d="M 97.473,200.000 A 302.527,302.527 0 1 1 702.527,200.000 A 302.527,302.527 0 1 1 97.473,200.000 Z M 110.626,200.000 A 289.374,289.374 0 1 0 689.374,200.000 A 289.374,289.374 0 1 0 110.626,200.000 Z" fill="#278fb6" fill-opacity="1.000" /><path d="M 84.320,200.000 A 315.680,315.680 0 1 1 715.680,200.000 A 315.680,315.680 0 1 1 84.320,200.000 Z M 97.473,200.000 A 302.527,302.527 0 1 0 702.527,200.000 A 302.527,302.527 0 1 0 97.473,200.000 Z" fill="#208bb2" fill-opacity="1.000" /><path d="M 71.166,200.000 A 328.834,328.834 0 1 1 728.834,200.000 A 328.834,328.834 0 1 1 71.166,200.000 Z M 84.320,200.000 A 315.680,315.680 0 1 0 715.680,200.000 A 315.680,315.680 0 1 0 84.320,200.000 Z" fill="#1988ad" fill-opacity="1.000" /><path d="M 58.013,200.000 A 341.987,341.987 0 1 1 741.987,200.000 A 341.987,341.987 0 1 1 58.013,200.000 Z M 71.166,200.000 A 328.834,328.834 0 1 0 728.834,200.000 A 328.834,328.834 0 1 0 71.166,200.000 Z" fill="#1284a8" fill-opacity="1.000" /><path d="M 44.860,200.000 A 355.140,355.140 0 1 1 755.140,200.000 A 355.140,355.140 0 1 1 44.860,200.000 Z M 58.013,200.000 A 341.987,341.987 0 1 0 741.987,200.000 A 341.987,341.987 0 1 0 58.013,200.000 Z" fill="#0b80a4" fill-opacity="1.000" /><path d="M 31.706,200.000 A 368.294,368.294 0 1 1 768.294,200.000 A 368.294,368.294 0 1 1 31.706,200.000 Z M 44.860,200.000 A 355.140,355.140 0 1 0 755.140,200.000 A 355.140,355.140 0 1 0 44.860,200.000 Z" fill="#057ba1" fill-opacity="1.000" /><path d="M 18.553,200.000 A 381.447,381.447 0 1 1 781.447,200.000 A 381.447,381.447 0 1 1 18.553,200.000 Z M 31.706,200.000 A 368.294,368.294 0 1 0 768.294,200.000 A 368.294,368.294 0 1 0 31.706,200.000 Z" fill="#00779f" fill-opacity="1.000" /><path d="M 5.400,200.000 A 394.600,394.600 0 1 1 794.600,200.000 A 394.600,394.600 0 1 1 5.400,200.000 Z M 18.553,200.000 A 381.447,381.447 0 1 0 781.447,200.000 A 381.447,381.447 0 1 0 18.553,200.000 Z" fill="#0073a0" fill-opacity="1.000" /><path d="M -7.754,200.000 A 407.754,407.754 0 1 1 807.754,200.000 A 407.754,407.754 0 1 1 -7.754,200.000 Z M 5.400,200.000 A 394.600,394.600 0 1 0 794.600,200.000 A 394.600,394.600 0 1 0 5.400,200.000 Z" fill="#006ea2" fill-opacity="1.000" /><path d="M -20.907,200.000 A 420.907,420.907 0 1 1 820.907,200.000 A 420.907,420.907 0 1 1 -20.907,200.000 Z M -7.754,200.000 A 407.754,407.754 0 1 0 807.754,200.000 A 407.754,407.754 0 1 0 -7.754,200.000 Z" fill="#0069a5" fill-opacity="1.000" /><path d="M -34.060,200.000 A 434.060,434.060 0 1 1 834.060,200.000 A 434.060,434.060 0 1 1 -34.060,200.000 Z M -20.907,200.000 A 420.907,420.907 0 1 0 820.907,200.000 A 420.907,420.907 0 1 0 -20.907,200.000 Z" fill="#0064aa" fill-opacity="1.000" /><path d="M -47.214,200.000 A 447.214,447.214 0 1 1 847.214,200.000 A 447.214,447.214 0 1 1 -47.214,200.000 Z M -34.060,200.000 A 434.060,434.060 0 1 0 834.060,200.000 A 434.060,434.060 0 1 0 -34.060,200.000 Z" fill="#005faf" fill-opacity="1.000" /></g>
</svg>
["#e9b5b4", "#dfb5b8", "#d5b5ba", "#cbb4bb", "#c1b4b9", "#b7b3b6", "#adb3b2", "#a4b2ad", "#9bb0a8", "#91afa4", "#88aea1", "#7fac9f", "#76aaa0", "#6ea8a2", "#65a6a6", "#5da4aa", "#55a1af", "#4c9eb4", "#459cb8", "#3d99ba", "#3596bb", "#2e92b9", "#278fb6", "#208bb2", "#1988ad", "#1284a8", "#0b80a4", "#057ba1", "#00779f", "#0073a0", "#006ea2", "#0069a5", "#0064aa", "#005faf"]
// https://grabient.com/_giRf0EgOjgirgaJgA0gBngBngeQgFXgARgNacDwIvoft?style=radialSwatches&steps=34&angle=315
// cosine gradient palette — https://iquilezles.org/articles/palettes/
const float STEPS = 34.0;
vec3 palette(float t) {
vec3 a = vec3(1.940, -1.017, 0.678);
vec3 b = vec3(2.290, 1.727, 0.054);
vec3 c = vec3(0.103, 0.103, 1.936);
vec3 d = vec3(0.324, -0.002, 0.839);
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;
// circle to the farthest corner (CSS default)
float t = length(p) / length(0.5 * iResolution.xy);
fragColor = vec4(stops(t), 1.0);
}
[
[1.940, -1.017, 0.678],
[2.290, 1.727, 0.054],
[0.103, 0.103, 1.936],
[0.324, -0.002, 0.839]
]