// Simple stroked icon set - 20x20 viewBox, currentColor stroke
const Icon = ({ d, size = 18, stroke = 1.6, fill = "none", children, ...rest }) => (
  <svg width={size} height={size} viewBox="0 0 20 20" fill={fill} stroke="currentColor" strokeWidth={stroke} strokeLinecap="round" strokeLinejoin="round" {...rest}>
    {d ? <path d={d} /> : children}
  </svg>
);

const IconPlus      = (p) => <Icon {...p} d="M10 4v12 M4 10h12" />;
const IconMinus     = (p) => <Icon {...p} d="M4 10h12" />;
const IconClose     = (p) => <Icon {...p} d="M5 5l10 10 M15 5L5 15" />;
const IconChevron   = (p) => <Icon {...p} d="M7 5l5 5-5 5" />;
const IconChevronDown = (p) => <Icon {...p} d="M5 7l5 5 5-5" />;
const IconCheck     = (p) => <Icon {...p} d="M4 10l4 4 8-9" />;
const IconBolt      = (p) => <Icon {...p}><path d="M11 3 4 12h5l-1 5 7-9h-5l1-5Z"/></Icon>;
const IconSun       = (p) => <Icon {...p}><circle cx="10" cy="10" r="3.2"/><path d="M10 2v2 M10 16v2 M2 10h2 M16 10h2 M4.4 4.4l1.5 1.5 M14.1 14.1l1.5 1.5 M15.6 4.4l-1.5 1.5 M5.9 14.1l-1.5 1.5"/></Icon>;
const IconClock     = (p) => <Icon {...p}><circle cx="10" cy="10" r="7"/><path d="M10 6v4l3 2"/></Icon>;
const IconTrash     = (p) => <Icon {...p} d="M4 6h12 M8 6V4h4v2 M6 6l1 10h6l1-10 M9 9v5 M11 9v5" />;
const IconSearch    = (p) => <Icon {...p}><circle cx="9" cy="9" r="5"/><path d="M13 13l4 4"/></Icon>;
const IconShare     = (p) => <Icon {...p}><circle cx="5" cy="10" r="2"/><circle cx="15" cy="5" r="2"/><circle cx="15" cy="15" r="2"/><path d="M6.7 9 13.3 6 M6.7 11l6.6 3"/></Icon>;
const IconEdit      = (p) => <Icon {...p} d="M4 14V16h2l8-8-2-2-8 8 Z M11 5l2 2" />;
const IconHome      = (p) => <Icon {...p} d="M3 9l7-6 7 6v8a1 1 0 0 1-1 1h-3v-5H7v5H4a1 1 0 0 1-1-1V9Z" />;
const IconCalculator = (p) => <Icon {...p}><rect x="4" y="2" width="12" height="16" rx="2"/><path d="M7 6h6 M7 10h.01 M10 10h.01 M13 10h.01 M7 13h.01 M10 13h.01 M13 13v3"/></Icon>;
const IconInfo      = (p) => <Icon {...p}><circle cx="10" cy="10" r="7"/><path d="M10 9v4 M10 6.5v.5"/></Icon>;
const IconArrowDown = (p) => <Icon {...p} d="M10 4v12 M5 11l5 5 5-5" />;
const IconList      = (p) => <Icon {...p} d="M6 5h11 M6 10h11 M6 15h11 M3 5h.01 M3 10h.01 M3 15h.01" />;
const IconFlame     = (p) => <Icon {...p}><path d="M12 2c0 0-4 4-4 8a4 4 0 0 0 8 0c0-1.5-.5-3-1.5-4C14 8 12 10 10.5 10 10.5 6 12 2 12 2Z"/></Icon>;
const IconDot       = ({ size = 6, color = "currentColor" }) => (
  <span style={{ display: "inline-block", width: size, height: size, borderRadius: 999, background: color }} />
);

Object.assign(window, {
  Icon, IconPlus, IconMinus, IconClose, IconChevron, IconChevronDown,
  IconCheck, IconBolt, IconSun, IconClock, IconTrash, IconSearch,
  IconShare, IconEdit, IconHome, IconCalculator, IconInfo, IconArrowDown,
  IconList, IconDot, IconFlame,
});
