// Inline icon set — strokes match Geist style (1.5px stroke, round caps)
const Icon = ({ d, size = 20, fill = "none", stroke = "currentColor", strokeWidth = 1.5, children, ...props }) => (
  <svg
    width={size} height={size} viewBox="0 0 24 24" fill={fill} stroke={stroke}
    strokeWidth={strokeWidth} strokeLinecap="round" strokeLinejoin="round" {...props}
  >
    {d ? <path d={d} /> : children}
  </svg>
);

const IMail = (p) => <Icon {...p}><rect x="3" y="5" width="18" height="14" rx="2"/><path d="M3 7l9 6 9-6"/></Icon>;
const ICal = (p) => <Icon {...p}><rect x="3" y="5" width="18" height="16" rx="2"/><path d="M3 9h18M8 3v4M16 3v4"/></Icon>;
const IChat = (p) => <Icon {...p}><path d="M21 12a8 8 0 0 1-12 7l-5 1 1.5-4A8 8 0 1 1 21 12z"/></Icon>;
const ISpark = (p) => <Icon {...p}><path d="M12 3v4M12 17v4M3 12h4M17 12h4M5.6 5.6l2.8 2.8M15.6 15.6l2.8 2.8M5.6 18.4l2.8-2.8M15.6 8.4l2.8-2.8"/></Icon>;
const ICheck = (p) => <Icon {...p}><path d="M4 12l5 5L20 6"/></Icon>;
const IArrow = (p) => <Icon {...p}><path d="M5 12h14M13 6l6 6-6 6"/></Icon>;
const IPlay = (p) => <Icon {...p} fill="currentColor" stroke="none"><path d="M8 5v14l11-7z"/></Icon>;
const IShield = (p) => <Icon {...p}><path d="M12 3l8 3v6c0 5-3.5 8-8 9-4.5-1-8-4-8-9V6l8-3z"/></Icon>;
const IZap = (p) => <Icon {...p}><path d="M13 3L4 14h7l-1 7 9-11h-7l1-7z"/></Icon>;
const IUsers = (p) => <Icon {...p}><circle cx="9" cy="8" r="3"/><path d="M3 20c0-3 2.5-5 6-5s6 2 6 5"/><circle cx="17" cy="9" r="2.5"/><path d="M15 20c0-2.5 2-4 4-4s2 1 2 4"/></Icon>;
const IInbox = (p) => <Icon {...p}><path d="M3 13h4l1.5 3h7L17 13h4M3 13l3-8h12l3 8M3 13v6a2 2 0 0 0 2 2h14a2 2 0 0 0 2-2v-6"/></Icon>;
const ISun = (p) => <Icon {...p}><circle cx="12" cy="12" r="4"/><path d="M12 3v2M12 19v2M3 12h2M19 12h2M5.6 5.6l1.4 1.4M17 17l1.4 1.4M5.6 18.4L7 17M17 7l1.4-1.4"/></Icon>;
const IMoon = (p) => <Icon {...p}><path d="M21 13A9 9 0 0 1 11 3a7 7 0 1 0 10 10z"/></Icon>;
const IClose = (p) => <Icon {...p}><path d="M6 6l12 12M18 6L6 18"/></Icon>;
const IPlus = (p) => <Icon {...p}><path d="M12 5v14M5 12h14"/></Icon>;
const IClock = (p) => <Icon {...p}><circle cx="12" cy="12" r="9"/><path d="M12 7v5l3 2"/></Icon>;
const IPin = (p) => <Icon {...p}><path d="M12 22s7-7 7-13a7 7 0 1 0-14 0c0 6 7 13 7 13z"/><circle cx="12" cy="9" r="2.5"/></Icon>;

Object.assign(window, {
  Icon, IMail, ICal, IChat, ISpark, ICheck, IArrow, IPlay, IShield, IZap,
  IUsers, IInbox, ISun, IMoon, IClose, IPlus, IClock, IPin
});
