<svg version="1.1" width="512" height="512" xmlns="http://www.w3.org/2000/svg"> <defs> <linearGradient id="outsides"> <stop offset="0%" stop-color="#F0F0F0" /> <stop offset="20%" stop-color="#C0C0C0" /> <stop offset="80%" stop-color="#F0F0F0" /> <stop offset="100%" stop-color="lightgray" /> </linearGradient> <!-- TODO: could be improved by using SVG filters instead of a gradient? --> <radialGradient id="insides" cy="1"> <stop offset="0%" stop-color="#404040" /> <stop offset="60%" stop-color="gray" /> <stop offset="100%" stop-color="#D2D2D2" /> </radialGradient> </defs> <g stroke="#202020" stroke-width="16"> <!-- The outer border of the bowl: two Bezier curves joined by an arc on the bottom --> <path d="M 58 232 Q 34 277 16 328 A 240 84 0 0 0 496 328 Q 478 277 454 232 Z " fill="url(#outsides)" /> <!-- top rim of the bowl and its insides --> <ellipse cx="256" cy="232" rx="198" ry="60" fill="url(#insides)" /> </g> </svg>