// Lightweight stroke icons (16x16 default)
const Icon = ({ d, size = 16, fill = "none", stroke = "currentColor", sw = 1.4, children, ...rest }) => (
  <svg viewBox="0 0 16 16" width={size} height={size} fill={fill} stroke={stroke}
       strokeWidth={sw} strokeLinecap="round" strokeLinejoin="round" {...rest}>
    {d ? <path d={d} /> : children}
  </svg>
);

const IconHome     = (p) => <Icon {...p}><path d="M2.5 7.5 8 3l5.5 4.5V13a1 1 0 0 1-1 1H3.5a1 1 0 0 1-1-1V7.5Z"/><path d="M6.5 14V9.5h3V14"/></Icon>;
const IconLibrary  = (p) => <Icon {...p}><rect x="2.5" y="2.5" width="4" height="11"/><rect x="7" y="2.5" width="3" height="11"/><path d="m11 3.2 2.6.7-2 9.6-2.6-.7 2-9.6Z"/></Icon>;
const IconSpark    = (p) => <Icon {...p}><path d="M8 2v4M8 10v4M2 8h4M10 8h4M3.5 3.5 6 6M10 10l2.5 2.5M3.5 12.5 6 10M10 6l2.5-2.5"/></Icon>;
const IconCalendar = (p) => <Icon {...p}><rect x="2.5" y="3.5" width="11" height="10"/><path d="M2.5 6.5h11M5.5 2v2M10.5 2v2"/></Icon>;
const IconChart    = (p) => <Icon {...p}><path d="M2.5 13.5h11"/><path d="M4 11V7M7 11V4M10 11V8M13 11V5"/></Icon>;
const IconGear     = (p) => <Icon {...p}><circle cx="8" cy="8" r="2"/><path d="M8 1.5v2M8 12.5v2M1.5 8h2M12.5 8h2M3.3 3.3l1.4 1.4M11.3 11.3l1.4 1.4M3.3 12.7l1.4-1.4M11.3 4.7l1.4-1.4"/></Icon>;
const IconSearch   = (p) => <Icon {...p}><circle cx="7" cy="7" r="4.5"/><path d="m10.5 10.5 3 3"/></Icon>;
const IconPlus     = (p) => <Icon {...p}><path d="M8 2.5v11M2.5 8h11"/></Icon>;
const IconArrowR   = (p) => <Icon {...p}><path d="M3 8h10M9.5 4.5 13 8l-3.5 3.5"/></Icon>;
const IconArrowL   = (p) => <Icon {...p}><path d="M13 8H3M6.5 4.5 3 8l3.5 3.5"/></Icon>;
const IconDownload = (p) => <Icon {...p}><path d="M8 2.5v8M4.5 7 8 10.5 11.5 7M3 13.5h10"/></Icon>;
const IconCopy     = (p) => <Icon {...p}><rect x="2.5" y="2.5" width="8" height="8"/><rect x="5.5" y="5.5" width="8" height="8"/></Icon>;
const IconBookmark = (p) => <Icon {...p}><path d="M4 2.5h8v11l-4-2.5L4 13.5v-11Z"/></Icon>;
const IconLayers   = (p) => <Icon {...p}><path d="M8 2 2 5l6 3 6-3-6-3Z"/><path d="m2 8 6 3 6-3M2 11l6 3 6-3"/></Icon>;
const IconType     = (p) => <Icon {...p}><path d="M3 3.5h10M8 3.5v10M6 13.5h4"/></Icon>;
const IconImage    = (p) => <Icon {...p}><rect x="2.5" y="2.5" width="11" height="11"/><circle cx="6" cy="6" r="1"/><path d="m13 11-3-3-7 5"/></Icon>;
const IconMic      = (p) => <Icon {...p}><rect x="6" y="2" width="4" height="8" rx="2"/><path d="M3.5 8a4.5 4.5 0 0 0 9 0M8 12.5v1.5"/></Icon>;
const IconPalette  = (p) => <Icon {...p}><circle cx="8" cy="8" r="5.5"/><circle cx="5" cy="6" r="0.7" fill="currentColor"/><circle cx="9" cy="4.5" r="0.7" fill="currentColor"/><circle cx="11.5" cy="8" r="0.7" fill="currentColor"/></Icon>;
const IconCheck    = (p) => <Icon {...p}><path d="m3 8 3.5 3.5L13 5"/></Icon>;
const IconDot      = (p) => <Icon {...p}><circle cx="8" cy="8" r="1.4" fill="currentColor"/></Icon>;
const IconUsers    = (p) => <Icon {...p}><circle cx="6" cy="6" r="2.4"/><path d="M2 13.5c0-2.2 1.8-4 4-4s4 1.8 4 4"/><circle cx="11" cy="5.5" r="2"/><path d="M10 9.5c1.5 0 4 .9 4 4"/></Icon>;
const IconShield   = (p) => <Icon {...p}><path d="M8 2 3 4v4c0 3 2.2 5.4 5 6 2.8-.6 5-3 5-6V4l-5-2Z"/></Icon>;
const IconFlow     = (p) => <Icon {...p}><circle cx="3" cy="4" r="1.5"/><circle cx="3" cy="12" r="1.5"/><circle cx="13" cy="8" r="1.5"/><path d="M4.5 4h2.5a2 2 0 0 1 2 2v0a2 2 0 0 0 2 2M4.5 12h2.5a2 2 0 0 0 2-2"/></Icon>;

Object.assign(window, {
  IconHome, IconLibrary, IconSpark, IconCalendar, IconChart, IconGear,
  IconSearch, IconPlus, IconArrowR, IconArrowL, IconDownload, IconCopy,
  IconBookmark, IconLayers, IconType, IconImage, IconMic, IconPalette, IconCheck, IconDot,
  IconUsers, IconShield, IconFlow,
});
