// Minimal stroke icons - all use currentColor
const Icon = ({ d, size = 22, sw = 1.6, viewBox = "0 0 24 24" }) => (
  <svg width={size} height={size} viewBox={viewBox} fill="none"
    stroke="currentColor" strokeWidth={sw} strokeLinecap="round" strokeLinejoin="round"
    style={{ flexShrink: 0 }}>
    {d}
  </svg>
);

const Icons = {
  Pin: (p) => <Icon {...p} d={<><path d="M12 22s7-7.5 7-13a7 7 0 1 0-14 0c0 5.5 7 13 7 13Z"/><circle cx="12" cy="9" r="2.5"/></>} />,
  Upload: (p) => <Icon {...p} d={<><path d="M4 16v2a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2v-2"/><path d="M12 4v12"/><path d="m7 9 5-5 5 5"/></>} />,
  Table: (p) => <Icon {...p} d={<><circle cx="12" cy="12" r="8"/><circle cx="12" cy="12" r="2.5"/><path d="M12 4v3M12 17v3M4 12h3M17 12h3M6.3 6.3l2.1 2.1M15.6 15.6l2.1 2.1M17.7 6.3l-2.1 2.1M8.4 15.6l-2.1 2.1"/></>} />,
  Camera: (p) => <Icon {...p} d={<><path d="M3 8.5A2 2 0 0 1 5 6.5h2.5l1.3-2h6.4l1.3 2H19a2 2 0 0 1 2 2V18a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2Z"/><circle cx="12" cy="13" r="3.5"/></>} />,
  Heart: (p) => <Icon {...p} d={<path d="M12 20s-7-4.5-7-10a4.5 4.5 0 0 1 7-3.7A4.5 4.5 0 0 1 19 10c0 5.5-7 10-7 10Z"/>} />,
  Gallery: (p) => <Icon {...p} d={<><rect x="3" y="5" width="18" height="14" rx="2"/><circle cx="8.5" cy="10" r="1.5"/><path d="m4 18 5-5 4 4 3-2 4 4"/></>} />,
  Game: (p) => <Icon {...p} d={<><rect x="2.5" y="7" width="19" height="11" rx="3.5"/><path d="M8 12h3M9.5 10.5v3"/><circle cx="15.5" cy="11.5" r="1"/><circle cx="17.5" cy="13.5" r="1"/></>} />,
  Quiz: (p) => <Icon {...p} d={<><circle cx="12" cy="12" r="9"/><path d="M9.5 9.5a2.5 2.5 0 1 1 3.5 2.3c-.7.3-1 .9-1 1.7v.5"/><circle cx="12" cy="17" r="0.6" fill="currentColor"/></>} />,
  Music: (p) => <Icon {...p} d={<><path d="M9 18V6l11-2v12"/><circle cx="6.5" cy="18" r="2.5"/><circle cx="17.5" cy="16" r="2.5"/></>} />,
  Arrow: (p) => <Icon {...p} d={<><path d="M5 12h14"/><path d="m13 6 6 6-6 6"/></>} />,
  ArrowLeft: (p) => <Icon {...p} d={<><path d="M19 12H5"/><path d="m11 18-6-6 6-6"/></>} />,
  Close: (p) => <Icon {...p} d={<><path d="M6 6 18 18"/><path d="M18 6 6 18"/></>} />,
  Cal: (p) => <Icon {...p} d={<><rect x="3.5" y="5" width="17" height="15" rx="2.5"/><path d="M3.5 10h17M8 3v4M16 3v4"/></>} />,
  Clock: (p) => <Icon {...p} d={<><circle cx="12" cy="12" r="8.5"/><path d="M12 7.5v5l3 2"/></>} />,
  Sparkle: (p) => <Icon {...p} d={<><path d="M12 4v4M12 16v4M4 12h4M16 12h4M6.3 6.3l2.8 2.8M14.9 14.9l2.8 2.8M17.7 6.3l-2.8 2.8M9.1 14.9l-2.8 2.8"/></>} />,
  Lock: (p) => <Icon {...p} d={<><rect x="5" y="11" width="14" height="9" rx="2"/><path d="M8 11V8a4 4 0 0 1 8 0v3"/></>} />,
  Check: (p) => <Icon {...p} d={<path d="m5 12 5 5 9-11"/>} />,
  Play: (p) => <Icon {...p} d={<path d="M8 5v14l11-7Z"/>} />,
  Plus: (p) => <Icon {...p} d={<><path d="M12 5v14M5 12h14"/></>} />,
  Spotify: (p) => <Icon {...p} sw={1.4} d={<><circle cx="12" cy="12" r="9.5"/><path d="M7 9.5c3-1 6.5-.7 9.5 1M7.5 13c2.5-.7 5.2-.4 7.5 1M8 16c2-.5 3.8-.3 5.5.7"/></>} />,
};

window.Icons = Icons;
