// Inline SVG icons (Lucide-style). Stroke 1.5 to match premium feel.
const I = (path, opts = {}) => function Icon({ size = 18, className = '', stroke = 'currentColor', fill = 'none' }) {
  return (
    <svg xmlns="http://www.w3.org/2000/svg" width={size} height={size} viewBox="0 0 24 24"
         fill={fill} stroke={stroke} strokeWidth="1.6" strokeLinecap="round" strokeLinejoin="round"
         className={className} {...opts}>
      {path}
    </svg>
  );
};

const IconPlay     = I(<><polygon points="6 4 20 12 6 20 6 4" fill="currentColor" stroke="none"/></>);
const IconChevR    = I(<polyline points="9 6 15 12 9 18" />);
const IconChevD    = I(<polyline points="6 9 12 15 18 9" />);
const IconChevL    = I(<polyline points="15 6 9 12 15 18" />);
const IconClock    = I(<><circle cx="12" cy="12" r="9"/><polyline points="12 7 12 12 15 14"/></>);
const IconEye      = I(<><path d="M2 12s3.5-7 10-7 10 7 10 7-3.5 7-10 7S2 12 2 12z"/><circle cx="12" cy="12" r="3"/></>);
const IconVote     = I(<><path d="M9 12l2 2 4-4"/><rect x="3" y="5" width="18" height="14" rx="2"/></>);
const IconUsers    = I(<><circle cx="9" cy="8" r="3.5"/><path d="M2.5 20a6.5 6.5 0 0 1 13 0"/><circle cx="17" cy="9" r="2.5"/><path d="M15 20a5 5 0 0 1 7 0"/></>);
const IconMap      = I(<><polygon points="3 6 9 4 15 6 21 4 21 18 15 20 9 18 3 20 3 6"/><line x1="9" y1="4" x2="9" y2="18"/><line x1="15" y1="6" x2="15" y2="20"/></>);
const IconDiscord  = I(<><path d="M8 9c2-1 6-1 8 0"/><path d="M7 19c-1 0-3-1-4-4 0-5 2-9 5-10l1 2c2-1 5-1 6 0l1-2c3 1 5 5 5 10-1 3-3 4-4 4l-1-2"/><circle cx="9.5" cy="13" r="1" fill="currentColor"/><circle cx="14.5" cy="13" r="1" fill="currentColor"/></>);
const IconBolt     = I(<><polygon points="13 2 4 14 11 14 10 22 20 10 13 10 13 2" fill="currentColor" stroke="none"/></>);
const IconShield   = I(<><path d="M12 3l8 3v6c0 5-3.5 8-8 9-4.5-1-8-4-8-9V6l8-3z"/></>);
const IconSkull    = I(<><path d="M6 14a6 6 0 1 1 12 0v3a2 2 0 0 1-2 2h-1v2h-2v-2h-2v2h-2v-2H8a2 2 0 0 1-2-2v-3z"/><circle cx="9.5" cy="12" r="1.2" fill="currentColor"/><circle cx="14.5" cy="12" r="1.2" fill="currentColor"/></>);
const IconFlame    = I(<><path d="M12 3s4 4 4 8a4 4 0 1 1-8 0c0-1 .5-2 1-3-.5 3-3 4-3 7a6 6 0 0 0 12 0c0-5-6-9-6-12z"/></>);
const IconWifi     = I(<><path d="M2 9a16 16 0 0 1 20 0"/><path d="M5 13a11 11 0 0 1 14 0"/><path d="M8.5 16.5a6 6 0 0 1 7 0"/><circle cx="12" cy="20" r="1" fill="currentColor"/></>);
const IconArrowUR  = I(<><line x1="7" y1="17" x2="17" y2="7"/><polyline points="9 7 17 7 17 15"/></>);
const IconLink     = I(<><path d="M10 14a4 4 0 0 0 5.7 0l3-3a4 4 0 0 0-5.7-5.7l-1.4 1.4"/><path d="M14 10a4 4 0 0 0-5.7 0l-3 3a4 4 0 0 0 5.7 5.7l1.4-1.4"/></>);
const IconSearch   = I(<><circle cx="11" cy="11" r="7"/><line x1="21" y1="21" x2="16.5" y2="16.5"/></>);
const IconArrowR   = I(<><line x1="5" y1="12" x2="19" y2="12"/><polyline points="13 6 19 12 13 18"/></>);
const IconCube     = I(<><polygon points="12 3 21 7.5 21 16.5 12 21 3 16.5 3 7.5 12 3"/><polyline points="3 7.5 12 12 21 7.5"/><line x1="12" y1="12" x2="12" y2="21"/></>);
const IconRadio    = I(<><circle cx="12" cy="12" r="2" fill="currentColor"/><path d="M16.2 7.8a6 6 0 0 1 0 8.4"/><path d="M7.8 16.2a6 6 0 0 1 0-8.4"/><path d="M19 5a10 10 0 0 1 0 14"/><path d="M5 19A10 10 0 0 1 5 5"/></>);
const IconPause    = I(<><rect x="6" y="5" width="4" height="14" rx="1" fill="currentColor" stroke="none"/><rect x="14" y="5" width="4" height="14" rx="1" fill="currentColor" stroke="none"/></>);
const IconSound    = I(<><polygon points="4 9 4 15 8 15 13 19 13 5 8 9 4 9" fill="currentColor" stroke="none"/><path d="M16 8.5a5 5 0 0 1 0 7"/><path d="M18.5 6a9 9 0 0 1 0 12"/></>);
const IconMute     = I(<><polygon points="4 9 4 15 8 15 13 19 13 5 8 9 4 9" fill="currentColor" stroke="none"/><line x1="22" y1="9.5" x2="16.5" y2="15"/><line x1="16.5" y1="9.5" x2="22" y2="15"/></>);
const IconExpand   = I(<><polyline points="9 3 3 3 3 9"/><polyline points="15 3 21 3 21 9"/><polyline points="21 15 21 21 15 21"/><polyline points="3 15 3 21 9 21"/></>);

Object.assign(window, {
  IconPlay, IconChevR, IconChevD, IconChevL, IconClock, IconEye, IconVote, IconUsers,
  IconMap, IconDiscord, IconBolt, IconShield, IconSkull, IconFlame, IconWifi,
  IconArrowUR, IconLink, IconSearch, IconArrowR, IconCube, IconRadio,
  IconPause, IconSound, IconMute, IconExpand
});
