/* ─────────────────────────────────────────────────────────────
   Icon library — line icons, stroke=currentColor
   Theme reacts to [data-icon-style] on root
   ───────────────────────────────────────────────────────────── */

const I = {
  search: (p) => <svg className={`ico ${p?.cls||''}`} viewBox="0 0 24 24"><circle cx="11" cy="11" r="7"/><path d="M20 20l-3.5-3.5"/></svg>,
  home: (p) => <svg className={`ico ${p?.cls||''}`} viewBox="0 0 24 24"><path d="M3 11l9-7 9 7v9a1 1 0 01-1 1h-5v-7h-6v7H4a1 1 0 01-1-1z"/></svg>,
  ticket: (p) => <svg className={`ico ${p?.cls||''}`} viewBox="0 0 24 24"><path d="M3 8a2 2 0 002-2h14a2 2 0 002 2v3a2 2 0 000 4v3a2 2 0 00-2 2H5a2 2 0 00-2-2v-3a2 2 0 000-4z"/><path d="M14 6v12" strokeDasharray="2 2"/></svg>,
  user: (p) => <svg className={`ico ${p?.cls||''}`} viewBox="0 0 24 24"><circle cx="12" cy="8" r="4"/><path d="M4 21c0-4.4 3.6-8 8-8s8 3.6 8 8"/></svg>,
  calendar: (p) => <svg className={`ico ${p?.cls||''}`} viewBox="0 0 24 24"><rect x="3" y="5" width="18" height="16" rx="2"/><path d="M3 10h18M8 3v4M16 3v4"/></svg>,
  pin: (p) => <svg className={`ico ${p?.cls||''}`} viewBox="0 0 24 24"><path d="M12 22s7-7 7-12a7 7 0 10-14 0c0 5 7 12 7 12z"/><circle cx="12" cy="10" r="2.5"/></svg>,
  clock: (p) => <svg className={`ico ${p?.cls||''}`} viewBox="0 0 24 24"><circle cx="12" cy="12" r="9"/><path d="M12 7v5l3 2"/></svg>,
  heart: (p) => <svg className={`ico ${p?.cls||''}`} viewBox="0 0 24 24"><path d="M12 21s-7-4.5-9-9.5C1.5 7 5 4 8 5.5 10 6.5 11 8 12 9c1-1 2-2.5 4-3.5 3-1.5 6.5 1.5 5 6-2 5-9 9.5-9 9.5z"/></svg>,
  share: (p) => <svg className={`ico ${p?.cls||''}`} viewBox="0 0 24 24"><circle cx="6" cy="12" r="3"/><circle cx="18" cy="6" r="3"/><circle cx="18" cy="18" r="3"/><path d="M8.5 10.5l7-3M8.5 13.5l7 3"/></svg>,
  bell: (p) => <svg className={`ico ${p?.cls||''}`} viewBox="0 0 24 24"><path d="M6 16V11a6 6 0 1112 0v5l2 2H4z"/><path d="M10 21a2 2 0 004 0"/></svg>,
  sparkle: (p) => <svg className={`ico ${p?.cls||''}`} viewBox="0 0 24 24"><path d="M12 3l1.7 5.3L19 10l-5.3 1.7L12 17l-1.7-5.3L5 10l5.3-1.7zM19 3l.7 2.3L22 6l-2.3.7L19 9l-.7-2.3L16 6l2.3-.7zM5 16l.6 1.9L7.5 18.5l-1.9.6L5 21l-.6-1.9L2.5 18.5l1.9-.6z"/></svg>,
  filter: (p) => <svg className={`ico ${p?.cls||''}`} viewBox="0 0 24 24"><path d="M3 6h18M6 12h12M10 18h4"/></svg>,
  map: (p) => <svg className={`ico ${p?.cls||''}`} viewBox="0 0 24 24"><path d="M9 4l-6 2v14l6-2 6 2 6-2V4l-6 2z"/><path d="M9 4v14M15 6v14"/></svg>,
  grid: (p) => <svg className={`ico ${p?.cls||''}`} viewBox="0 0 24 24"><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"/><rect x="14" y="14" width="7" height="7" rx="1"/></svg>,
  list: (p) => <svg className={`ico ${p?.cls||''}`} viewBox="0 0 24 24"><path d="M4 6h16M4 12h16M4 18h16"/></svg>,
  qr: (p) => <svg className={`ico ${p?.cls||''}`} viewBox="0 0 24 24"><rect x="3" y="3" width="7" height="7"/><rect x="14" y="3" width="7" height="7"/><rect x="3" y="14" width="7" height="7"/><path d="M14 14h3v3h-3zM18 18h3v3h-3z"/></svg>,
  arrow: (p) => <svg className={`ico ${p?.cls||''}`} viewBox="0 0 24 24"><path d="M5 12h14M13 5l7 7-7 7"/></svg>,
  back: (p) => <svg className={`ico ${p?.cls||''}`} viewBox="0 0 24 24"><path d="M19 12H5M11 19l-7-7 7-7"/></svg>,
  close: (p) => <svg className={`ico ${p?.cls||''}`} viewBox="0 0 24 24"><path d="M6 6l12 12M18 6L6 18"/></svg>,
  plus: (p) => <svg className={`ico ${p?.cls||''}`} viewBox="0 0 24 24"><path d="M12 5v14M5 12h14"/></svg>,
  minus: (p) => <svg className={`ico ${p?.cls||''}`} viewBox="0 0 24 24"><path d="M5 12h14"/></svg>,
  check: (p) => <svg className={`ico ${p?.cls||''}`} viewBox="0 0 24 24"><path d="M5 13l5 5 9-12"/></svg>,
  star: (p) => <svg className={`ico ${p?.cls||''}`} viewBox="0 0 24 24"><path d="M12 3l2.8 6 6.2.9-4.5 4.4 1.1 6.2L12 17.7 6.4 20.5l1.1-6.2L3 9.9 9.2 9z"/></svg>,
  chat: (p) => <svg className={`ico ${p?.cls||''}`} viewBox="0 0 24 24"><path d="M4 5h16v11H10l-5 4V5z"/></svg>,
  group: (p) => <svg className={`ico ${p?.cls||''}`} viewBox="0 0 24 24"><circle cx="9" cy="8" r="3.5"/><circle cx="17" cy="9" r="2.5"/><path d="M2 20c0-3.3 3.1-6 7-6s7 2.7 7 6M16 14c3 0 6 2 6 5"/></svg>,
  bolt: (p) => <svg className={`ico ${p?.cls||''}`} viewBox="0 0 24 24"><path d="M13 2L4 14h7l-1 8 9-12h-7z"/></svg>,
  fire: (p) => <svg className={`ico ${p?.cls||''}`} viewBox="0 0 24 24"><path d="M12 2c0 4-3 4-3 8a3 3 0 006 0c0-1.5-1-2.5-1-4 4 2 5 6 5 9a7 7 0 11-14 0c0-5 5-7 7-13z"/></svg>,
  music: (p) => <svg className={`ico ${p?.cls||''}`} viewBox="0 0 24 24"><path d="M9 18V5l12-2v13"/><circle cx="6" cy="18" r="3"/><circle cx="18" cy="16" r="3"/></svg>,
  mic: (p) => <svg className={`ico ${p?.cls||''}`} viewBox="0 0 24 24"><rect x="9" y="3" width="6" height="11" rx="3"/><path d="M5 11a7 7 0 0014 0M12 18v3"/></svg>,
  trophy: (p) => <svg className={`ico ${p?.cls||''}`} viewBox="0 0 24 24"><path d="M7 4h10v6a5 5 0 01-10 0zM4 5h3v3a3 3 0 01-3-3zM20 5h-3v3a3 3 0 003-3zM10 15h4v3h2v3H8v-3h2z"/></svg>,
  mask: (p) => <svg className={`ico ${p?.cls||''}`} viewBox="0 0 24 24"><path d="M4 7c4-1 12-1 16 0v6c0 4-4 8-8 8s-8-4-8-8z"/><circle cx="9" cy="11" r="1"/><circle cx="15" cy="11" r="1"/></svg>,
  rocket: (p) => <svg className={`ico ${p?.cls||''}`} viewBox="0 0 24 24"><path d="M14 4c4 0 6 2 6 6-3 0-6 3-7 5l-4-4c2-1 5-4 5-7zM5 19c1-3 3-3 5-2-1 2-1 4-2 5z"/></svg>,
  info: (p) => <svg className={`ico ${p?.cls||''}`} viewBox="0 0 24 24"><circle cx="12" cy="12" r="9"/><path d="M12 11v6M12 7v.5"/></svg>,
  globe: (p) => <svg className={`ico ${p?.cls||''}`} viewBox="0 0 24 24"><circle cx="12" cy="12" r="9"/><path d="M3 12h18M12 3a14 14 0 010 18M12 3a14 14 0 000 18"/></svg>,
  download: (p) => <svg className={`ico ${p?.cls||''}`} viewBox="0 0 24 24"><path d="M12 4v12M6 12l6 6 6-6M4 20h16"/></svg>,
  apple: (p) => <svg className={`ico ${p?.cls||''}`} viewBox="0 0 24 24"><path d="M16 13c0-3 2-4 2-4-1-2-3-2-4-2-2 0-3 1-4 1s-2-1-4-1c-2 0-5 1-5 6 0 4 3 9 5 9 1 0 2-1 4-1s3 1 4 1c2 0 4-3 4-3-2-1-2-3-2-6zM14 4c0-2-2-2-2-2s0 2 0 4 2 0 2-2z"/></svg>,
  google: (p) => <svg className={`ico ${p?.cls||''}`} viewBox="0 0 24 24"><path d="M21 12c0 5-4 9-9 9s-9-4-9-9 4-9 9-9c2 0 4 1 6 2l-2 2c-1-1-2-1-4-1-3 0-6 3-6 6s3 6 6 6c3 0 5-2 5-4h-5v-3h9z"/></svg>,
  burger: (p) => <svg className={`ico ${p?.cls||''}`} viewBox="0 0 24 24"><path d="M4 7h16M4 17h16"/></svg>,
  pause: (p) => <svg className={`ico ${p?.cls||''}`} viewBox="0 0 24 24"><path d="M7 5v14M17 5v14"/></svg>,
  play: (p) => <svg className={`ico ${p?.cls||''}`} viewBox="0 0 24 24"><path d="M6 4l14 8-14 8z"/></svg>,
  refresh: (p) => <svg className={`ico ${p?.cls||''}`} viewBox="0 0 24 24"><path d="M3 12a9 9 0 0115-7l3 3M3 12v-5M21 12a9 9 0 01-15 7l-3-3M21 12v5"/></svg>,
  trend: (p) => <svg className={`ico ${p?.cls||''}`} viewBox="0 0 24 24"><path d="M3 17l6-6 4 4 8-8M14 7h7v7"/></svg>,
  settings: (p) => <svg className={`ico ${p?.cls||''}`} viewBox="0 0 24 24"><circle cx="12" cy="12" r="3"/><path d="M19.4 15a1.7 1.7 0 00.3 1.8l.1.1a2 2 0 11-2.8 2.8l-.1-.1a1.7 1.7 0 00-1.8-.3 1.7 1.7 0 00-1 1.5V21a2 2 0 11-4 0v-.1a1.7 1.7 0 00-1-1.5 1.7 1.7 0 00-1.8.3l-.1.1a2 2 0 11-2.8-2.8l.1-.1a1.7 1.7 0 00.3-1.8 1.7 1.7 0 00-1.5-1H3a2 2 0 110-4h.1a1.7 1.7 0 001.5-1 1.7 1.7 0 00-.3-1.8l-.1-.1a2 2 0 112.8-2.8l.1.1a1.7 1.7 0 001.8.3h.1a1.7 1.7 0 001-1.5V3a2 2 0 114 0v.1a1.7 1.7 0 001 1.5 1.7 1.7 0 001.8-.3l.1-.1a2 2 0 112.8 2.8l-.1.1a1.7 1.7 0 00-.3 1.8v.1a1.7 1.7 0 001.5 1H21a2 2 0 110 4h-.1a1.7 1.7 0 00-1.5 1z"/></svg>,
  logout: (p) => <svg className={`ico ${p?.cls||''}`} viewBox="0 0 24 24"><path d="M9 4H5a2 2 0 00-2 2v12a2 2 0 002 2h4M16 17l5-5-5-5M21 12H9"/></svg>,
  layers: (p) => <svg className={`ico ${p?.cls||''}`} viewBox="0 0 24 24"><path d="M12 3l9 5-9 5-9-5zM3 13l9 5 9-5M3 17l9 5 9-5"/></svg>,
  users: (p) => <svg className={`ico ${p?.cls||''}`} viewBox="0 0 24 24"><circle cx="9" cy="8" r="3.5"/><circle cx="17" cy="9" r="2.5"/><path d="M2 20c0-3.3 3.1-6 7-6s7 2.7 7 6M16 14c3 0 6 2 6 5"/></svg>,
  image: (p) => <svg className={`ico ${p?.cls||''}`} viewBox="0 0 24 24"><rect x="3" y="4" width="18" height="16" rx="2"/><circle cx="9" cy="10" r="2"/><path d="M21 17l-6-6-9 9"/></svg>,
  edit: (p) => <svg className={`ico ${p?.cls||''}`} viewBox="0 0 24 24"><path d="M12 20h9M16.5 3.5a2.1 2.1 0 113 3L7 19l-4 1 1-4z"/></svg>,
  copy: (p) => <svg className={`ico ${p?.cls||''}`} viewBox="0 0 24 24"><rect x="8" y="8" width="13" height="13" rx="2"/><path d="M16 8V5a2 2 0 00-2-2H5a2 2 0 00-2 2v9a2 2 0 002 2h3"/></svg>,
  link: (p) => <svg className={`ico ${p?.cls||''}`} viewBox="0 0 24 24"><path d="M10 13a5 5 0 007 0l3-3a5 5 0 00-7-7l-1 1M14 11a5 5 0 00-7 0l-3 3a5 5 0 007 7l1-1"/></svg>,
  whatsapp: (p) => <svg className={`ico ${p?.cls||''}`} viewBox="0 0 24 24"><path d="M3 21l1.6-5A9 9 0 1112 21z"/><path d="M9 9c0 4 2 6 6 6"/></svg>,
  brain: (p) => <svg className={`ico ${p?.cls||''}`} viewBox="0 0 24 24"><path d="M9 6a3 3 0 116 0 3 3 0 013 3v2a3 3 0 01-1 5 3 3 0 01-5 1 3 3 0 01-5-1 3 3 0 01-1-5V9a3 3 0 013-3z"/></svg>,
};

window.I = I;
