// Lightweight lucide-style icons (24x24, stroke-based)
const IconBase = ({ children, size = 24, color = 'currentColor', strokeWidth = 2, style }) => (
  <svg
    xmlns="http://www.w3.org/2000/svg"
    width={size}
    height={size}
    viewBox="0 0 24 24"
    fill="none"
    stroke={color}
    strokeWidth={strokeWidth}
    strokeLinecap="round"
    strokeLinejoin="round"
    style={style}
  >
    {children}
  </svg>
);

const IconHome = (p) => <IconBase {...p}><path d="M3 10.5 12 3l9 7.5"/><path d="M5 9.5V21h14V9.5"/><path d="M10 21v-6h4v6"/></IconBase>;
const IconMap = (p) => <IconBase {...p}><path d="M9 4 3 6v14l6-2 6 2 6-2V4l-6 2-6-2Z"/><path d="M9 4v14"/><path d="M15 6v14"/></IconBase>;
const IconBookOpen = (p) => <IconBase {...p}><path d="M2 4h6a4 4 0 0 1 4 4v12a3 3 0 0 0-3-3H2Z"/><path d="M22 4h-6a4 4 0 0 0-4 4v12a3 3 0 0 1 3-3h7Z"/></IconBase>;
const IconTrophy = (p) => <IconBase {...p}><path d="M6 4h12v4a6 6 0 0 1-12 0Z"/><path d="M6 4H3v2a3 3 0 0 0 3 3"/><path d="M18 4h3v2a3 3 0 0 1-3 3"/><path d="M10 14h4l-1 4h-2Z"/><path d="M8 22h8"/><path d="M12 18v4"/></IconBase>;
const IconQrCode = (p) => <IconBase {...p}><rect x="3" y="3" width="7" height="7" rx="1"/><rect x="14" y="3" width="7" height="7" rx="1"/><rect x="3" y="14" width="7" height="7" rx="1"/><path d="M14 14h3v3h-3z"/><path d="M20 14v3"/><path d="M14 20h3"/><path d="M20 20v1"/></IconBase>;
const IconArrowLeft = (p) => <IconBase {...p}><path d="M19 12H5"/><path d="m12 19-7-7 7-7"/></IconBase>;
const IconUser = (p) => <IconBase {...p}><circle cx="12" cy="8" r="4"/><path d="M4 21a8 8 0 0 1 16 0"/></IconBase>;
const IconLock = (p) => <IconBase {...p}><rect x="4" y="10" width="16" height="11" rx="2"/><path d="M8 10V7a4 4 0 1 1 8 0v3"/></IconBase>;
const IconCheck = (p) => <IconBase {...p}><path d="M20 6 9 17l-5-5"/></IconBase>;
const IconCheckCircle = (p) => <IconBase {...p}><circle cx="12" cy="12" r="10"/><path d="m8 12 3 3 5-6"/></IconBase>;
const IconGift = (p) => <IconBase {...p}><rect x="3" y="8" width="18" height="4" rx="1"/><path d="M12 8v13"/><path d="M5 12v9h14v-9"/><path d="M8 8a2.5 2.5 0 0 1 0-5C10 3 12 5 12 8c0-3 2-5 4-5a2.5 2.5 0 0 1 0 5"/></IconBase>;
const IconChevronRight = (p) => <IconBase {...p}><path d="m9 6 6 6-6 6"/></IconBase>;
const IconStar = (p) => <IconBase {...p} ><path d="M12 3 14.5 9 21 9.5l-5 4.5 1.5 6.5L12 17l-5.5 3.5L8 14.5 3 10 9.5 9Z"/></IconBase>;
const IconX = (p) => <IconBase {...p}><path d="M18 6 6 18"/><path d="m6 6 12 12"/></IconBase>;
const IconLogOut = (p) => <IconBase {...p}><path d="M9 21H5a2 2 0 0 1-2-2V5a2 2 0 0 1 2-2h4"/><path d="m16 17 5-5-5-5"/><path d="M21 12H9"/></IconBase>;
const IconSparkle = (p) => <IconBase {...p}><path d="M12 3v3M12 18v3M3 12h3M18 12h3M5.6 5.6l2.1 2.1M16.3 16.3l2.1 2.1M5.6 18.4l2.1-2.1M16.3 7.7l2.1-2.1"/></IconBase>;
const IconFlame = (p) => <IconBase {...p}><path d="M12 2c1 4 5 5 5 10a5 5 0 0 1-10 0c0-2 1-3 2-4 0 2 1 3 2 3-1-3 1-6 1-9Z"/></IconBase>;
const IconBarChart = (p) => <IconBase {...p}><line x1="18" y1="20" x2="18" y2="10"/><line x1="12" y1="20" x2="12" y2="4"/><line x1="6" y1="20" x2="6" y2="14"/><line x1="2" y1="20" x2="22" y2="20"/></IconBase>;
const IconPencil = (p) => <IconBase {...p}><path d="M17 3a2.828 2.828 0 1 1 4 4L7.5 20.5 2 22l1.5-5.5L17 3z"/></IconBase>;
const IconCompass = (p) => <IconBase {...p}><circle cx="12" cy="12" r="10"/><path d="m16.24 7.76-2.12 6.36-6.36 2.12 2.12-6.36 6.36-2.12z"/></IconBase>;

Object.assign(window, {
  IconHome, IconMap, IconBookOpen, IconTrophy, IconQrCode, IconArrowLeft,
  IconUser, IconLock, IconCheck, IconCheckCircle, IconGift, IconChevronRight,
  IconStar, IconX, IconLogOut, IconSparkle, IconFlame, IconBarChart, IconPencil, IconCompass
});
