// 威威知識分享 — inline SVG icons (social + UI). Exported to window.WWIcons.
(function () {
  const s = (paths, vb = '0 0 24 24') => ({ vb, paths });
  const ICONS = {
    instagram: s(['M12 2.2c3.2 0 3.6 0 4.85.07 1.17.05 1.8.25 2.23.41.56.22.96.48 1.38.9.42.42.68.82.9 1.38.16.42.36 1.06.41 2.23.06 1.27.07 1.65.07 4.85s0 3.6-.07 4.85c-.05 1.17-.25 1.8-.41 2.23-.22.56-.48.96-.9 1.38-.42.42-.82.68-1.38.9-.42.16-1.06.36-2.23.41-1.27.06-1.65.07-4.85.07s-3.6 0-4.85-.07c-1.17-.05-1.8-.25-2.23-.41a3.7 3.7 0 01-1.38-.9 3.7 3.7 0 01-.9-1.38c-.16-.42-.36-1.06-.41-2.23C2.21 15.6 2.2 15.2 2.2 12s0-3.6.07-4.85c.05-1.17.25-1.8.41-2.23.22-.56.48-.96.9-1.38.42-.42.82-.68 1.38-.9.42-.16 1.06-.36 2.23-.41C8.4 2.21 8.8 2.2 12 2.2z M12 5.85A6.15 6.15 0 1018.15 12 6.15 6.15 0 0012 5.85zm0 10.15A4 4 0 1116 12a4 4 0 01-4 4zm6.4-10.4a1.44 1.44 0 11-1.44-1.44 1.44 1.44 0 011.44 1.44z']),
    facebook: s(['M22 12a10 10 0 10-11.56 9.88v-6.99H7.9V12h2.54V9.8c0-2.5 1.49-3.89 3.78-3.89 1.09 0 2.24.2 2.24.2v2.46h-1.26c-1.24 0-1.63.77-1.63 1.56V12h2.78l-.44 2.89h-2.34v6.99A10 10 0 0022 12z']),
    threads: s(['M16.5 11.2c-.08-.04-.17-.08-.26-.11-.15-2.79-1.68-4.39-4.24-4.4h-.04c-1.53 0-2.81.65-3.59 1.85l1.41.97c.59-.89 1.51-1.08 2.18-1.08h.03c.84 0 1.47.25 1.88.72.3.35.5.83.6 1.44a10.6 10.6 0 00-2.39-.12c-2.4.14-3.95 1.54-3.84 3.49.05.99.55 1.84 1.39 2.4.71.46 1.63.69 2.58.64 1.26-.07 2.24-.55 2.93-1.42.52-.66.85-1.52 1-2.6.61.37 1.06.85 1.31 1.43.43.98.45 2.59-.86 3.9-1.15 1.14-2.53 1.64-4.61 1.65-2.31-.02-4.05-.76-5.18-2.2C7.16 16.3 6.62 14.37 6.6 12c.02-2.37.56-4.3 1.6-5.74 1.13-1.44 2.87-2.18 5.18-2.2 2.32.02 4.1.76 5.26 2.21.57.71.99 1.6 1.27 2.64l1.65-.44c-.34-1.28-.88-2.39-1.61-3.3C18.75 3.46 16.5 2.5 13.6 2.48h-.01c-2.89.02-5.11.98-6.58 2.86C5.7 6.96 5.04 9.2 5.02 11.99v.02c.02 2.79.68 5.03 1.99 6.65 1.47 1.88 3.69 2.84 6.58 2.86h.01c2.57-.02 4.38-.69 5.87-2.18 1.95-1.94 1.89-4.38 1.25-5.88-.46-1.07-1.34-1.94-2.55-2.52-.06-.55-.16-1.05-.31-1.49l-1.36.13z']),
    youtube: s(['M23 12s0-3.2-.4-4.74a2.52 2.52 0 00-1.77-1.78C19.27 5 12 5 12 5s-7.27 0-9.03.48A2.52 2.52 0 001.2 7.26C.8 8.8.8 12 .8 12s0 3.2.4 4.74a2.52 2.52 0 001.77 1.78C4.73 19 12 19 12 19s7.27 0 9.03-.48a2.52 2.52 0 001.77-1.78C23 15.2 23 12 23 12zM9.75 15.02V8.98L15 12z']),
    tiktok: s(['M16.6 5.82A4.28 4.28 0 0115.54 3h-3.1v12.4a2.6 2.6 0 11-2.6-2.6c.27 0 .53.04.78.12V9.74a5.7 5.7 0 00-.78-.05A5.71 5.71 0 1015.54 15V8.9a7.34 7.34 0 004.3 1.38V7.17a4.28 4.28 0 01-3.24-1.35z']),
    line: s(['M12 3C6.9 3 2.75 6.34 2.75 10.46c0 3.69 3.29 6.78 7.73 7.37.3.06.71.2.81.46.09.24.06.6.03.85l-.13.79c-.04.24-.19.92.8.5s5.35-3.15 7.3-5.4c1.35-1.48 1.96-2.98 1.96-4.97C21.25 6.34 17.1 3 12 3zM8.2 12.86h-1.8c-.26 0-.47-.21-.47-.47V9.18c0-.26.21-.47.47-.47.26 0 .47.21.47.47v2.74h1.33c.26 0 .47.21.47.47s-.21.47-.47.47zm1.86-.47c0 .26-.21.47-.47.47a.47.47 0 01-.47-.47V9.18c0-.26.21-.47.47-.47.26 0 .47.21.47.47v3.21zm3.99 0c0 .2-.13.38-.32.44a.46.46 0 01-.52-.16l-1.85-2.52v2.24c0 .26-.21.47-.47.47a.47.47 0 01-.47-.47V9.18c0-.2.13-.38.32-.44a.46.46 0 01.52.16l1.85 2.52V9.18c0-.26.21-.47.47-.47.26 0 .47.21.47.47v3.21zm2.94-2.08c.26 0 .47.21.47.47s-.21.47-.47.47h-1.33v.86h1.33c.26 0 .47.21.47.47s-.21.47-.47.47h-1.8a.47.47 0 01-.47-.47V9.18c0-.26.21-.47.47-.47h1.8c.26 0 .47.21.47.47s-.21.47-.47.47h-1.33v.86h1.33z']),
    pinterest: s(['M12 2a10 10 0 00-3.65 19.31c-.09-.82-.17-2.08.03-2.98.18-.81 1.18-5.15 1.18-5.15s-.3-.6-.3-1.49c0-1.4.81-2.44 1.82-2.44.86 0 1.27.64 1.27 1.42 0 .86-.55 2.15-.83 3.35-.24 1 .5 1.82 1.49 1.82 1.79 0 3.17-1.89 3.17-4.61 0-2.41-1.73-4.1-4.21-4.1-2.87 0-4.55 2.15-4.55 4.37 0 .87.33 1.8.75 2.3.08.1.09.19.07.29l-.28 1.13c-.04.18-.15.22-.34.13-1.25-.58-2.03-2.4-2.03-3.87 0-3.15 2.29-6.04 6.6-6.04 3.46 0 6.16 2.47 6.16 5.77 0 3.44-2.17 6.21-5.18 6.21-1.01 0-1.97-.53-2.29-1.15l-.62 2.38c-.23.86-.83 1.94-1.24 2.6A10 10 0 1012 2z']),
    linkedin: s(['M20.45 20.45h-3.56v-5.57c0-1.33-.02-3.04-1.85-3.04-1.85 0-2.14 1.45-2.14 2.94v5.67H9.35V9h3.41v1.56h.05c.48-.9 1.63-1.85 3.36-1.85 3.6 0 4.27 2.37 4.27 5.45v6.29zM5.34 7.43a2.06 2.06 0 110-4.13 2.06 2.06 0 010 4.13zM7.12 20.45H3.56V9h3.56v11.45zM22.22 0H1.77C.79 0 0 .77 0 1.73v20.54C0 23.23.79 24 1.77 24h20.45c.98 0 1.78-.77 1.78-1.73V1.73C24 .77 23.2 0 22.22 0z']),
    x: s(['M18.24 2.25h3.31l-7.23 8.26 8.5 11.24h-6.66l-5.22-6.82-5.97 6.82H1.66l7.73-8.84L1.24 2.25h6.83l4.71 6.23zm-1.16 17.52h1.83L7.01 4.13H5.05z']),
    reddit: s(['M22 12.06a2.06 2.06 0 00-3.49-1.48 10.1 10.1 0 00-5.5-1.74l.94-4.41 3.07.65a1.47 1.47 0 102.94-.09 1.47 1.47 0 00-2.6-.94l-3.43-.73a.37.37 0 00-.44.28l-1.04 4.91A10.13 10.13 0 005.5 10.58 2.06 2.06 0 102.4 13.4a4.07 4.07 0 000 .62c0 3.16 3.68 5.72 8.22 5.72s8.22-2.56 8.22-5.72a4 4 0 00-.02-.6A2.06 2.06 0 0022 12.06zM7 13.5a1.47 1.47 0 111.47 1.47A1.47 1.47 0 017 13.5zm8.2 3.88a4.94 4.94 0 01-3.2.99 4.94 4.94 0 01-3.2-.99.37.37 0 01.5-.55 4.2 4.2 0 002.7.78 4.2 4.2 0 002.7-.78.37.37 0 11.5.55zm-.27-2.41a1.47 1.47 0 111.47-1.47 1.47 1.47 0 01-1.47 1.47z']),
    // UI
    arrow: s(['M5 12h14M13 6l6 6-6 6']),
    arrowDown: s(['M12 5v14M6 13l6 6 6-6']),
    check: s(['M20 6L9 17l-5-5']),
    search: s(['M11 19a8 8 0 100-16 8 8 0 000 16zM21 21l-4.3-4.3']),
    mail: s(['M4 4h16v16H4zM4 6l8 6 8-6']),
    book: s(['M4 19V5a2 2 0 012-2h9l5 5v11a2 2 0 01-2 2H6a2 2 0 01-2-2z', 'M14 3v5h5', 'M8 13h6M8 16h4']),
    globe: s(['M12 22a10 10 0 100-20 10 10 0 000 20z', 'M2 12h20', 'M12 2a15 15 0 010 20 15 15 0 010-20z']),
    coins: s(['M9 8a6 3 0 1012 0 6 3 0 10-12 0z', 'M21 8v5c0 1.66-2.7 3-6 3', 'M3 11a6 3 0 1012 0 6 3 0 10-12 0z', 'M3 11v8c0 1.66 2.7 3 6 3s6-1.34 6-3v-3']),
    spark: s(['M12 2l2.4 6.4L21 11l-6.6 2.6L12 20l-2.4-6.4L3 11l6.6-2.6z']),
  };
  function Icon({ name, size = 22, stroke = 2, fill = false, style }) {
    const def = ICONS[name];
    if (!def) return null;
    const filled = ['instagram', 'facebook', 'threads', 'youtube', 'tiktok', 'line', 'pinterest', 'linkedin', 'x', 'reddit'].includes(name);
    return (
      <svg width={size} height={size} viewBox={def.vb} fill={filled || fill ? 'currentColor' : 'none'}
        stroke={filled || fill ? 'none' : 'currentColor'} strokeWidth={stroke} strokeLinecap="round" strokeLinejoin="round" style={style} aria-hidden="true">
        {def.paths.map((p, i) => <path key={i} d={p} />)}
      </svg>
    );
  }
  window.WWIcons = { Icon, ICONS };
})();
