/* global React */
function WojakHead({ fill = "url(#wj-skin)", stroke = "#1a0a0a", strokeWidth = 9 }) {
  return <path d="M 0 -260 C 200 -260, 290 -110, 280 60 C 270 220, 160 320, 0 332 C -160 320, -270 220, -280 60 C -290 -110, -200 -260, 0 -260 Z" fill={fill} stroke={stroke} strokeWidth={strokeWidth}/>;
}

function DoomerWojak() { return <svg viewBox="0 0 1024 1024" xmlns="http://www.w3.org/2000/svg" width="100%" height="100%"><defs><radialGradient id="dm-bg" cx="50%" cy="40%" r="80%"><stop offset="0%" stopColor="#3a1014"/><stop offset="60%" stopColor="#0e0508"/><stop offset="100%" stopColor="#050103"/></radialGradient><linearGradient id="wj-skin" x1="0" y1="0" x2="0" y2="1"><stop offset="0%" stopColor="#fbe9e9"/><stop offset="100%" stopColor="#e3b6b6"/></linearGradient><linearGradient id="dm-hood" x1="0" y1="0" x2="0" y2="1"><stop offset="0%" stopColor="#2a2a2e"/><stop offset="100%" stopColor="#0e0e10"/></linearGradient></defs><rect width="1024" height="1024" fill="url(#dm-bg)"/><circle cx="780" cy="220" r="100" fill="rgba(255, 235, 220, 0.10)"/><circle cx="780" cy="220" r="68" fill="rgba(255, 235, 220, 0.16)"/><g transform="translate(512 600)"><path d="M -360 240 Q -360 -40 -260 -160 Q -160 -270 0 -290 Q 160 -270 260 -160 Q 360 -40 360 240 Z" fill="url(#dm-hood)" stroke="#0a0a0c" strokeWidth="8"/></g><g transform="translate(512 540)"><WojakHead/></g><g transform="translate(512 600)" fill="url(#dm-hood)" stroke="#0a0a0c" strokeWidth="8"><path d="M -360 240 Q -340 60 -240 -100 L -230 -90 Q -170 30 -160 200 Z"/><path d="M 360 240 Q 340 60 240 -100 L 230 -90 Q 170 30 160 200 Z"/><path d="M -270 -110 Q 0 -200 270 -110" fill="none" stroke="#0a0a0c" strokeWidth="14"/><line x1="-50" y1="180" x2="-30" y2="320" stroke="#cccccc" strokeWidth="6" strokeLinecap="round"/><line x1="50" y1="180" x2="40" y2="330" stroke="#cccccc" strokeWidth="6" strokeLinecap="round"/><circle cx="-30" cy="332" r="8" fill="#cccccc"/><circle cx="40" cy="338" r="8" fill="#cccccc"/></g><g transform="translate(512 540)"><path d="M -100 -110 Q -40 -130 30 -110" fill="none" stroke="#1a0a0a" strokeWidth="5" strokeLinecap="round"/><path d="M -180 -40 Q -110 -64 -40 -20" fill="none" stroke="#1a0a0a" strokeWidth="12" strokeLinecap="round"/><path d="M 40 -20 Q 110 -64 180 -40" fill="none" stroke="#1a0a0a" strokeWidth="12" strokeLinecap="round"/><circle cx="-100" cy="20" r="11" fill="#1a0a0a"/><circle cx="100" cy="20" r="11" fill="#1a0a0a"/><path d="M -140 42 Q -100 60 -60 42" fill="none" stroke="#1a0a0a" strokeWidth="4"/><path d="M 60 42 Q 100 60 140 42" fill="none" stroke="#1a0a0a" strokeWidth="4"/><path d="M -8 56 Q -22 130 -10 168 Q 8 178 22 168 Q 34 130 22 60" fill="none" stroke="#1a0a0a" strokeWidth="5"/><path d="M -80 230 Q -20 210 30 220 Q 80 230 100 218" fill="none" stroke="#1a0a0a" strokeWidth="6" strokeLinecap="round"/><rect x="60" y="218" width="76" height="10" rx="3" fill="#fdeeee" stroke="#1a0a0a" strokeWidth="3"/><rect x="60" y="218" width="20" height="10" fill="#f6c46c"/><circle cx="146" cy="223" r="6" fill="#ff5e62"/><path d="M 158 218 Q 178 200 168 178 Q 158 156 178 134 Q 198 112 188 90" fill="none" stroke="rgba(255,255,255,0.4)" strokeWidth="4" strokeLinecap="round"/><path d="M -100 50 Q -116 100 -108 132 Q -92 100 -100 50 Z" fill="#54a4ff" stroke="#1a0a0a" strokeWidth="3"/></g><text x="512" y="970" textAnchor="middle" fontFamily="Archivo Black, sans-serif" fontSize="42" fill="#fff5f5" letterSpacing="8">STILL <tspan fill="#ff5e62">COPING</tspan></text></svg>; }

function BrainletWojak() { return <svg viewBox="0 0 1024 1024" xmlns="http://www.w3.org/2000/svg" width="100%" height="100%"><defs><radialGradient id="bl-bg" cx="50%" cy="40%" r="65%"><stop offset="0%" stopColor="#ff7a7c"/><stop offset="55%" stopColor="#7a1014"/><stop offset="100%" stopColor="#1a0508"/></radialGradient><linearGradient id="wj-skin2" x1="0" y1="0" x2="0" y2="1"><stop offset="0%" stopColor="#fbe9e9"/><stop offset="100%" stopColor="#e3b6b6"/></linearGradient></defs><rect width="1024" height="1024" fill="url(#bl-bg)"/><text x="512" y="92" textAnchor="middle" fontFamily="Archivo Black, sans-serif" fontSize="48" fill="#fff5f5" letterSpacing="12">RUGPIAH</text><g transform="translate(512 740)" fill="url(#wj-skin2)" stroke="#1a0a0a" strokeWidth="9"><ellipse cx="0" cy="0" rx="280" ry="190"/><path d="M -280 -20 Q -380 -40 -380 60 L -360 90 Q -300 60 -260 40 Z"/><path d="M 280 -20 Q 380 -40 380 60 L 360 90 Q 300 60 260 40 Z"/></g><g transform="translate(512 360)"><path d="M 0 -90 C 80 -90, 116 -38, 110 30 C 104 90, 60 130, 0 134 C -60 130, -104 90, -110 30 C -116 -38, -80 -90, 0 -90 Z" fill="url(#wj-skin2)" stroke="#1a0a0a" strokeWidth="8"/><path d="M -30 110 Q -34 160 -20 180 Q -10 160 -22 110 Z" fill="#bce4ff" stroke="#1a0a0a" strokeWidth="3"/><circle cx="-22" cy="190" r="10" fill="#bce4ff" stroke="#1a0a0a" strokeWidth="3"/><circle cx="-40" cy="10" r="22" fill="#fff" stroke="#1a0a0a" strokeWidth="4"/><circle cx="40" cy="10" r="22" fill="#fff" stroke="#1a0a0a" strokeWidth="4"/><text x="-40" y="22" textAnchor="middle" fontFamily="Archivo Black, sans-serif" fontSize="32" fill="#1aa055">$</text><text x="40" y="22" textAnchor="middle" fontFamily="Archivo Black, sans-serif" fontSize="32" fill="#1aa055">$</text><path d="M -68 -22 Q -42 -32 -16 -22" fill="none" stroke="#1a0a0a" strokeWidth="5" strokeLinecap="round"/><path d="M 16 -22 Q 42 -32 68 -22" fill="none" stroke="#1a0a0a" strokeWidth="5" strokeLinecap="round"/><ellipse cx="0" cy="76" rx="40" ry="22" fill="#1a0a0a"/><ellipse cx="0" cy="68" rx="38" ry="12" fill="#fbe9e9"/></g><g transform="translate(820 720) rotate(8)"><line x1="0" y1="-90" x2="0" y2="-30" stroke="#ff5e62" strokeWidth="6"/><line x1="0" y1="110" x2="0" y2="170" stroke="#ff5e62" strokeWidth="6"/><rect x="-32" y="-30" width="64" height="140" rx="6" fill="#ff3a3d" stroke="#fff5f5" strokeWidth="4"/><text x="0" y="62" textAnchor="middle" fontFamily="Archivo Black, sans-serif" fontSize="22" fill="#fff5f5">-99%</text></g><g transform="translate(190 380) rotate(-10)"><rect x="-118" y="-32" width="236" height="64" rx="12" fill="#fff5f5" stroke="#1a0a0a" strokeWidth="4"/><path d="M 80 32 L 110 60 L 70 36 Z" fill="#fff5f5" stroke="#1a0a0a" strokeWidth="4"/><text x="0" y="10" textAnchor="middle" fontFamily="Archivo Black, sans-serif" fontSize="34" fill="#1a0a0a">BUY HIGH</text></g><rect x="356" y="934" width="312" height="58" rx="29" fill="#0a0306" stroke="#ff5e62" strokeWidth="3"/><text x="512" y="974" textAnchor="middle" fontFamily="IBM Plex Mono, monospace" fontSize="30" fill="#fff5f5" fontWeight="700"><tspan fill="#ff5e62">$</tspan>RUGPIAH</text></svg>; }

function ChadWojak() { return <svg viewBox="0 0 1024 1024" xmlns="http://www.w3.org/2000/svg" width="100%" height="100%"><defs><radialGradient id="ch-bg" cx="50%" cy="40%" r="70%"><stop offset="0%" stopColor="#ff5e62"/><stop offset="55%" stopColor="#7a1014"/><stop offset="100%" stopColor="#1a0508"/></radialGradient><linearGradient id="wj-skin3" x1="0" y1="0" x2="0" y2="1"><stop offset="0%" stopColor="#fbe9e9"/><stop offset="100%" stopColor="#e3b6b6"/></linearGradient></defs><rect width="1024" height="1024" fill="url(#ch-bg)"/><g transform="translate(512 470)"><path d="M -260 -220 C -200 -300, -60 -310, 60 -300 C 220 -290, 340 -220, 340 -80 C 340 60, 320 140, 280 240 C 260 290, 220 320, 160 340 L 160 360 L 110 380 L 110 420 C 110 460, 60 460, 0 458 L -120 458 C -200 458, -260 410, -260 360 C -260 280, -280 180, -260 60 C -270 -40, -290 -120, -260 -220 Z" fill="url(#wj-skin3)" stroke="#1a0a0a" strokeWidth="10"/><path d="M -260 -220 Q -180 -310, -40 -310 Q 100 -310, 240 -260 Q 280 -230, 290 -190 Q 200 -240 60 -245 Q -100 -250 -260 -210 Z" fill="#1a0a0a"/><path d="M -200 -130 Q -120 -160 -40 -120" fill="none" stroke="#1a0a0a" strokeWidth="16" strokeLinecap="round"/><path d="M 60 -120 Q 140 -160 230 -130" fill="none" stroke="#1a0a0a" strokeWidth="16" strokeLinecap="round"/><ellipse cx="-110" cy="-60" rx="22" ry="10" fill="#1a0a0a"/><ellipse cx="140" cy="-60" rx="22" ry="10" fill="#1a0a0a"/><path d="M -20 -90 L -50 60 L -10 80 Q 30 80 60 60 L 50 -80" fill="none" stroke="#1a0a0a" strokeWidth="6"/><path d="M -80 200 Q 30 220 160 195" fill="none" stroke="#1a0a0a" strokeWidth="9" strokeLinecap="round"/><path d="M 130 188 Q 150 184 160 192" fill="none" stroke="#1a0a0a" strokeWidth="6"/><path d="M -260 100 Q -190 200 -120 280" fill="none" stroke="#1a0a0a" strokeWidth="3" opacity="0.4"/><path d="M 280 60 Q 240 180 160 300" fill="none" stroke="#1a0a0a" strokeWidth="3" opacity="0.4"/><path d="M -110 -40 Q -126 30 -116 70 Q -100 30 -110 -40 Z" fill="#54a4ff" stroke="#1a0a0a" strokeWidth="3"/></g><g transform="translate(820 360) rotate(-10)"><rect x="-110" y="-50" width="220" height="100" rx="14" fill="#1a0a0a" stroke="#fff5f5" strokeWidth="5"/><text x="0" y="22" textAnchor="middle" fontFamily="Archivo Black, sans-serif" fontSize="68" fill="#fff5f5">YES.</text></g><text x="512" y="970" textAnchor="middle" fontFamily="Archivo Black, sans-serif" fontSize="42" fill="#fff5f5" letterSpacing="6">STILL <tspan fill="#ff5e62">HOLDING</tspan> FIAT</text></svg>; }

function NpcWojak() { return <svg viewBox="0 0 1024 1024" xmlns="http://www.w3.org/2000/svg" width="100%" height="100%"><defs><radialGradient id="np-bg" cx="50%" cy="40%" r="70%"><stop offset="0%" stopColor="#3a1014"/><stop offset="60%" stopColor="#0e0508"/><stop offset="100%" stopColor="#050103"/></radialGradient><linearGradient id="np-skin" x1="0" y1="0" x2="0" y2="1"><stop offset="0%" stopColor="#b8b8b8"/><stop offset="100%" stopColor="#7a7a7a"/></linearGradient></defs><rect width="1024" height="1024" fill="url(#np-bg)"/><text x="512" y="92" textAnchor="middle" fontFamily="Archivo Black, sans-serif" fontSize="44" fill="#fff5f5" letterSpacing="12">RUGPIAH</text><g transform="translate(512 560)"><path d="M -260 -220 L 260 -220 L 290 -180 L 290 180 L 260 220 L -260 220 L -290 180 L -290 -180 Z" fill="url(#np-skin)" stroke="#1a1a1a" strokeWidth="9"/><path d="M -290 -180 L -260 -220 L -260 220 L -290 180 Z" fill="rgba(0,0,0,0.18)"/><path d="M 260 220 L 290 180 L 260 -220 L 290 -180 Z" fill="rgba(255,255,255,0.06)"/><rect x="-160" y="-50" width="100" height="44" rx="6" fill="#1a1a1a"/><rect x="60" y="-50" width="100" height="44" rx="6" fill="#1a1a1a"/><rect x="-150" y="-46" width="40" height="20" rx="3" fill="#fbfbfb" opacity="0.7"/><rect x="74" y="-46" width="40" height="20" rx="3" fill="#fbfbfb" opacity="0.7"/><line x1="-180" y1="-100" x2="-40" y2="-100" stroke="#1a1a1a" strokeWidth="9" strokeLinecap="round"/><line x1="40" y1="-100" x2="180" y2="-100" stroke="#1a1a1a" strokeWidth="9" strokeLinecap="round"/><ellipse cx="0" cy="120" rx="48" ry="28" fill="#1a1a1a"/><ellipse cx="0" cy="120" rx="40" ry="22" fill="#3a1014"/></g><g transform="translate(820 320)"><rect x="-180" y="-60" width="360" height="120" rx="20" fill="#fff5f5" stroke="#1a0a0a" strokeWidth="5"/><path d="M -120 60 L -160 110 L -90 70 Z" fill="#fff5f5" stroke="#1a0a0a" strokeWidth="5"/><text x="0" y="-12" textAnchor="middle" fontFamily="Archivo Black, sans-serif" fontSize="28" fill="#1a0a0a">INFLATION</text><text x="0" y="22" textAnchor="middle" fontFamily="Archivo Black, sans-serif" fontSize="28" fill="#1a0a0a">IS</text><text x="0" y="50" textAnchor="middle" fontFamily="Archivo Black, sans-serif" fontSize="28" fill="#ff3a3d">TRANSITORY</text></g><text x="512" y="970" textAnchor="middle" fontFamily="Archivo Black, sans-serif" fontSize="42" fill="#fff5f5" letterSpacing="6">NPC <tspan fill="#ff5e62">MODE</tspan></text></svg>; }

Object.assign(window, { DoomerWojak, BrainletWojak, ChadWojak, NpcWojak });
