// Minimal stroke-line icons sized 1em, inherited color.
const Icon = ({ d, size = 18, sw = 1.6, children }) => (
  <svg width={size} height={size} viewBox="0 0 24 24" fill="none" stroke="currentColor"
    strokeWidth={sw} strokeLinecap="round" strokeLinejoin="round">
    {d ? <path d={d} /> : children}
  </svg>
);

const IFunding = (p) => <Icon {...p}><circle cx="12" cy="12" r="9"/><path d="M12 6v12M9 9h4.5a2 2 0 010 4H10a2 2 0 000 4h5"/></Icon>;
const INewRole = (p) => <Icon {...p}><rect x="3" y="7" width="18" height="13" rx="2"/><path d="M8 7V5a2 2 0 012-2h4a2 2 0 012 2v2M3 13h18"/></Icon>;
const ITechStack = (p) => <Icon {...p}><path d="M12 3l9 5-9 5-9-5 9-5z"/><path d="M3 13l9 5 9-5M3 18l9 5 9-5"/></Icon>;
const IHiring = (p) => <Icon {...p}><path d="M16 19v-2a4 4 0 00-4-4H6a4 4 0 00-4 4v2"/><circle cx="9" cy="7" r="4"/><path d="M19 8v6M22 11h-6"/></Icon>;
const IEngagement = (p) => <Icon {...p}><path d="M14 9l-2 2-4-4-5 5v8h8l5-5-4-4 2-2zM18 5l3 3"/></Icon>;
const IViewer = (p) => <Icon {...p}><path d="M1 12s4-7 11-7 11 7 11 7-4 7-11 7-11-7-11-7z"/><circle cx="12" cy="12" r="3"/></Icon>;
const ICompetitor = (p) => <Icon {...p}><circle cx="6" cy="12" r="3"/><circle cx="18" cy="12" r="3"/><path d="M9 12h6M3 6l3 3M21 6l-3 3M3 18l3-3M21 18l-3-3"/></Icon>;

const IShield = (p) => <Icon {...p}><path d="M12 2l8 4v6c0 5-3.5 9-8 10-4.5-1-8-5-8-10V6l8-4z"/><path d="M9 12l2 2 4-4"/></Icon>;
const IInbox = (p) => <Icon {...p}><path d="M22 12h-6l-2 3h-4l-2-3H2"/><path d="M5.45 5.11L2 12v6a2 2 0 002 2h16a2 2 0 002-2v-6l-3.45-6.89A2 2 0 0016.76 4H7.24a2 2 0 00-1.79 1.11z"/></Icon>;
const IRoute = (p) => <Icon {...p}><circle cx="6" cy="19" r="3"/><circle cx="18" cy="5" r="3"/><path d="M6 16V8a4 4 0 014-4h4M18 8v8a4 4 0 01-4 4h-4"/></Icon>;
const IClock = (p) => <Icon {...p}><circle cx="12" cy="12" r="9"/><path d="M12 7v5l3 2"/></Icon>;
const ISparkle = (p) => <Icon {...p}><path d="M12 3l1.5 5.5L19 10l-5.5 1.5L12 17l-1.5-5.5L5 10l5.5-1.5L12 3zM19 17l.7 2.3L22 20l-2.3.7L19 23l-.7-2.3L16 20l2.3-.7L19 17z"/></Icon>;
const IGraph = (p) => <Icon {...p}><path d="M3 3v18h18"/><path d="M7 16l4-4 4 3 5-7"/></Icon>;
const IBolt = (p) => <Icon {...p}><path d="M13 2L3 14h7l-1 8 10-12h-7l1-8z"/></Icon>;
const ICheck = (p) => <Icon {...p}><path d="M5 12l4 4L19 6"/></Icon>;
const IArrow = (p) => <Icon {...p}><path d="M5 12h14M13 6l6 6-6 6"/></Icon>;
const IChev = (p) => <Icon {...p}><path d="M6 9l6 6 6-6"/></Icon>;
const IMail = (p) => <Icon {...p}><rect x="2" y="4" width="20" height="16" rx="2"/><path d="M2 7l10 7 10-7"/></Icon>;
const IUser = (p) => <Icon {...p}><circle cx="12" cy="8" r="4"/><path d="M4 21v-1a6 6 0 016-6h4a6 6 0 016 6v1"/></Icon>;
const IGlobe = (p) => <Icon {...p}><circle cx="12" cy="12" r="9"/><path d="M3 12h18M12 3a14 14 0 010 18M12 3a14 14 0 000 18"/></Icon>;
const ICal = (p) => <Icon {...p}><rect x="3" y="5" width="18" height="16" rx="2"/><path d="M16 3v4M8 3v4M3 11h18"/></Icon>;
const IPhone = (p) => <Icon {...p}><path d="M5 3h4l2 5-2.5 1.5a11 11 0 005 5L15 12l5 2v4a2 2 0 01-2 2A16 16 0 013 5a2 2 0 012-2z"/></Icon>;
const IShuffle = (p) => <Icon {...p}><path d="M16 3h5v5M21 3l-7 7M4 20l16-16M4 4l5 5M16 21h5v-5M14 14l7 7"/></Icon>;
const ILoop = (p) => <Icon {...p}><path d="M17 2l4 4-4 4M3 12V9a3 3 0 013-3h15M7 22l-4-4 4-4M21 12v3a3 3 0 01-3 3H3"/></Icon>;
const IBuilding = (p) => <Icon {...p}><rect x="4" y="3" width="16" height="18" rx="1"/><path d="M9 8h2M9 12h2M9 16h2M13 8h2M13 12h2M13 16h2"/></Icon>;

Object.assign(window, {
  Icon, IFunding, INewRole, ITechStack, IHiring, IEngagement, IViewer, ICompetitor,
  IShield, IInbox, IRoute, IClock, ISparkle, IGraph, IBolt, ICheck, IArrow, IChev,
  IMail, IUser, IGlobe, ICal, IPhone, IShuffle, ILoop, IBuilding,
});
