// Lucide-style inline icons (1.75px stroke, rounded caps to match brand)
// Exported to window so other Babel script files can use them.

const I = ({ d, size = 20, sw = 1.75, fill = 'none', children, viewBox = '0 0 24 24', style }) => (
  <svg width={size} height={size} viewBox={viewBox} fill={fill} stroke="currentColor"
       strokeWidth={sw} strokeLinecap="round" strokeLinejoin="round" style={style}>
    {d ? <path d={d} /> : children}
  </svg>
);

const Icons = {
  Check:   (p) => <I {...p}><path d="M20 6L9 17l-5-5"/></I>,
  Plus:    (p) => <I {...p}><path d="M12 5v14M5 12h14"/></I>,
  X:       (p) => <I {...p}><path d="M18 6L6 18M6 6l12 12"/></I>,
  ArrowR:  (p) => <I {...p}><path d="M5 12h14M13 5l7 7-7 7"/></I>,
  ArrowL:  (p) => <I {...p}><path d="M19 12H5M11 19l-7-7 7-7"/></I>,
  Play:    (p) => <I {...p} fill="currentColor" sw={0}><path d="M8 5v14l11-7z"/></I>,
  Pause:   (p) => <I {...p}><path d="M6 4h4v16H6zM14 4h4v16h-4z"/></I>,
  Zap:     (p) => <I {...p}><path d="M13 2L3 14h9l-1 8 10-12h-9l1-8z"/></I>,
  Calendar:(p) => <I {...p}><rect x="3" y="4" width="18" height="18" rx="2"/><path d="M16 2v4M8 2v4M3 10h18"/></I>,
  Clock:   (p) => <I {...p}><circle cx="12" cy="12" r="9"/><path d="M12 7v5l3 2"/></I>,
  Lightbulb: (p) => <I {...p}><path d="M9 18h6M10 22h4M12 2a7 7 0 0 0-4 12.7c.7.6 1 1.4 1 2.3v1h6v-1c0-.9.3-1.7 1-2.3A7 7 0 0 0 12 2z"/></I>,
  Brain:   (p) => <I {...p}><path d="M9.5 2A2.5 2.5 0 0 1 12 4.5v15a2.5 2.5 0 0 1-4.96.44 2.5 2.5 0 0 1-2.96-3.08 3 3 0 0 1-.34-5.58 2.5 2.5 0 0 1 1.32-4.24 2.5 2.5 0 0 1 1.98-3A2.5 2.5 0 0 1 9.5 2zM14.5 2A2.5 2.5 0 0 0 12 4.5v15a2.5 2.5 0 0 0 4.96.44 2.5 2.5 0 0 0 2.96-3.08 3 3 0 0 0 .34-5.58 2.5 2.5 0 0 0-1.32-4.24 2.5 2.5 0 0 0-1.98-3A2.5 2.5 0 0 0 14.5 2z"/></I>,
  Sparkle: (p) => <I {...p}><path d="M12 3l1.5 5L19 9.5 13.5 11 12 16l-1.5-5L5 9.5 10.5 8z"/></I>,
  Trophy:  (p) => <I {...p}><path d="M6 9H4a2 2 0 0 1-2-2V5h4M18 9h2a2 2 0 0 0 2-2V5h-4M6 5h12v6a6 6 0 0 1-12 0V5zM12 17v3M9 22h6"/></I>,
  Trend:   (p) => <I {...p}><path d="M3 17l6-6 4 4 8-8M14 7h7v7"/></I>,
  Banknote:(p) => <I {...p}><rect x="2" y="6" width="20" height="12" rx="2"/><circle cx="12" cy="12" r="2.5"/><path d="M6 12h.01M18 12h.01"/></I>,
  Receipt: (p) => <I {...p}><path d="M4 2v20l3-2 3 2 3-2 3 2 3-2V2l-3 2-3-2-3 2-3-2-3 2zM8 8h8M8 12h6M8 16h4"/></I>,
  FilePen: (p) => <I {...p}><path d="M14 2H6a2 2 0 0 0-2 2v16a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2v-8.5"/><path d="M14 2v6h6M16.5 19.5l3-3-2-2-3 3v2z"/></I>,
  Mail:    (p) => <I {...p}><rect x="2" y="4" width="20" height="16" rx="2"/><path d="M2 7l10 7 10-7"/></I>,
  Repeat:  (p) => <I {...p}><path d="M17 1l4 4-4 4M3 11V9a4 4 0 0 1 4-4h14M7 23l-4-4 4-4M21 13v2a4 4 0 0 1-4 4H3"/></I>,
  GripVert:(p) => <I {...p} sw={2}><circle cx="9" cy="6" r=".5" fill="currentColor"/><circle cx="9" cy="12" r=".5" fill="currentColor"/><circle cx="9" cy="18" r=".5" fill="currentColor"/><circle cx="15" cy="6" r=".5" fill="currentColor"/><circle cx="15" cy="12" r=".5" fill="currentColor"/><circle cx="15" cy="18" r=".5" fill="currentColor"/></I>,
  More:    (p) => <I {...p} sw={2.4}><circle cx="6" cy="12" r=".5" fill="currentColor"/><circle cx="12" cy="12" r=".5" fill="currentColor"/><circle cx="18" cy="12" r=".5" fill="currentColor"/></I>,
  Trash:   (p) => <I {...p}><path d="M3 6h18M8 6V4a2 2 0 0 1 2-2h4a2 2 0 0 1 2 2v2M19 6l-1 14a2 2 0 0 1-2 2H8a2 2 0 0 1-2-2L5 6"/></I>,
  Refresh: (p) => <I {...p}><path d="M3 12a9 9 0 0 1 15-6.7L21 8M21 3v5h-5M21 12a9 9 0 0 1-15 6.7L3 16M3 21v-5h5"/></I>,
  Home:    (p) => <I {...p}><path d="M3 11l9-8 9 8M5 9v12h14V9"/></I>,
  Target:  (p) => <I {...p}><circle cx="12" cy="12" r="9"/><circle cx="12" cy="12" r="5"/><circle cx="12" cy="12" r="1.5" fill="currentColor"/></I>,
  Pipe:    (p) => <I {...p}><rect x="3" y="3" width="6" height="18" rx="1"/><rect x="9" y="6" width="6" height="12" rx="1"/><rect x="15" y="9" width="6" height="6" rx="1"/></I>,
  Settings:(p) => <I {...p}><circle cx="12" cy="12" r="3"/><path d="M19.4 15a1.7 1.7 0 0 0 .3 1.8l.1.1a2 2 0 1 1-2.8 2.8l-.1-.1a1.7 1.7 0 0 0-1.8-.3 1.7 1.7 0 0 0-1 1.5V21a2 2 0 1 1-4 0v-.1a1.7 1.7 0 0 0-1-1.5 1.7 1.7 0 0 0-1.8.3l-.1.1a2 2 0 1 1-2.8-2.8l.1-.1a1.7 1.7 0 0 0 .3-1.8 1.7 1.7 0 0 0-1.5-1H3a2 2 0 1 1 0-4h.1a1.7 1.7 0 0 0 1.5-1 1.7 1.7 0 0 0-.3-1.8l-.1-.1a2 2 0 1 1 2.8-2.8l.1.1a1.7 1.7 0 0 0 1.8.3h0a1.7 1.7 0 0 0 1-1.5V3a2 2 0 1 1 4 0v.1a1.7 1.7 0 0 0 1 1.5 1.7 1.7 0 0 0 1.8-.3l.1-.1a2 2 0 1 1 2.8 2.8l-.1.1a1.7 1.7 0 0 0-.3 1.8v0a1.7 1.7 0 0 0 1.5 1H21a2 2 0 1 1 0 4h-.1a1.7 1.7 0 0 0-1.5 1z"/></I>,
  Flame:   (p) => <I {...p}><path d="M8.5 14c0-3 4-5 3-9 5 2 8 6 8 10a7 7 0 1 1-14 0c0-2 1-3 2-4 .5 1 1 2 1 3z"/></I>,
  Bang:    (p) => <I {...p}><circle cx="12" cy="12" r="9"/><path d="M12 7v6M12 17v.01"/></I>,
  Flag:    (p) => <I {...p}><path d="M4 22V4M4 4h13l-2 4 2 4H4"/></I>,
};

Object.assign(window, { Icons });
