// Lightweight inline SVG icon set, stroke-based, Lucide-ish.

const Icon = ({ d, size = 20, stroke = 1.6, fill = "none", style }) => (
  <svg width={size} height={size} viewBox="0 0 24 24" fill={fill} stroke="currentColor" strokeWidth={stroke} strokeLinecap="round" strokeLinejoin="round" style={style}>
    {d}
  </svg>
);

const Icons = {
  Sparkle: (p) => <Icon {...p} d={<>
    <path d="M12 3l1.6 4.4a4 4 0 0 0 2.5 2.5L20.5 11.5l-4.4 1.6a4 4 0 0 0-2.5 2.5L12 20l-1.6-4.4a4 4 0 0 0-2.5-2.5L3.5 11.5l4.4-1.6a4 4 0 0 0 2.5-2.5z"/>
    <path d="M19 3v4M21 5h-4"/>
  </>} />,
  Mail: (p) => <Icon {...p} d={<>
    <rect x="2.5" y="5" width="19" height="14" rx="2.5"/>
    <path d="M3 7l9 6 9-6"/>
  </>} />,
  Lock: (p) => <Icon {...p} d={<>
    <rect x="4" y="11" width="16" height="10" rx="2.5"/>
    <path d="M8 11V8a4 4 0 0 1 8 0v3"/>
  </>} />,
  Cpu: (p) => <Icon {...p} d={<>
    <rect x="6" y="6" width="12" height="12" rx="2"/>
    <rect x="9" y="9" width="6" height="6" rx="1"/>
    <path d="M9 2v3M15 2v3M9 19v3M15 19v3M2 9h3M2 15h3M19 9h3M19 15h3"/>
  </>} />,
  Bolt: (p) => <Icon {...p} d={<path d="M13 2L4 14h7l-1 8 9-12h-7l1-8z"/>} />,
  Globe: (p) => <Icon {...p} d={<>
    <circle cx="12" cy="12" r="9"/>
    <path d="M3 12h18M12 3a14 14 0 0 1 0 18M12 3a14 14 0 0 0 0 18"/>
  </>} />,
  Shield: (p) => <Icon {...p} d={<path d="M12 3l8 3v6c0 5-3.5 8.5-8 9-4.5-.5-8-4-8-9V6z"/>} />,
  Apple: (p) => <Icon {...p} d={<>
    <path d="M16.5 2.5c0 1.7-.7 3.2-2 4.2-1.4 1-3 1.5-3.4 1.4-.1-1.7.7-3.3 2-4.3 1.3-1 3-1.4 3.4-1.3z"/>
    <path d="M20.5 17.5c-1 2-2 3.5-3.7 3.5-1.5 0-2-1-3.7-1s-2.4 1-3.8 1c-1.7 0-3-1.7-4-3.7C3 14 4 9 7.5 9c1.4 0 2.7 1 3.5 1s2.2-1 4-1c1 0 3 .3 4.3 2.5-3 1.7-2.5 6 1.2 6z"/>
  </>} />,
  Reply: (p) => <Icon {...p} d={<path d="M9 17l-5-5 5-5M4 12h11a5 5 0 0 1 5 5v3"/>} />,
  Wand: (p) => <Icon {...p} d={<>
    <path d="M3 21l9-9"/>
    <path d="M14 7l3 3M16 3l1 2 2 1-2 1-1 2-1-2-2-1 2-1zM21 13l.7 1.3 1.3.7-1.3.7-.7 1.3-.7-1.3-1.3-.7 1.3-.7z"/>
  </>} />,
  List: (p) => <Icon {...p} d={<>
    <path d="M8 6h13M8 12h13M8 18h13"/>
    <circle cx="4" cy="6" r="1"/><circle cx="4" cy="12" r="1"/><circle cx="4" cy="18" r="1"/>
  </>} />,
  Bell: (p) => <Icon {...p} d={<>
    <path d="M6 9a6 6 0 1 1 12 0c0 6 2 7 2 7H4s2-1 2-7zM10 20a2 2 0 0 0 4 0"/>
  </>} />,
  GitCompare: (p) => <Icon {...p} d={<>
    <circle cx="6" cy="18" r="2.5"/>
    <circle cx="18" cy="6" r="2.5"/>
    <path d="M6 15.5V10a4 4 0 0 1 4-4h5"/>
    <path d="M13 4l2 2-2 2"/>
    <path d="M18 8.5V14a4 4 0 0 1-4 4H9"/>
    <path d="M11 20l-2-2 2-2"/>
  </>} />,
  Translate: (p) => <Icon {...p} d={<>
    <path d="M3 5h10M8 3v2c0 5-2.5 9-5 11M5 9c0 3 4 6 8 7M14 21l5-12 5 12M16 17h6"/>
  </>} />,
  Receipt: (p) => <Icon {...p} d={<>
    <path d="M5 3h14v18l-2-1.5-2 1.5-2-1.5-2 1.5-2-1.5-2 1.5-2-1.5L5 21z"/>
    <path d="M9 8h6M9 12h6M9 16h4"/>
  </>} />,
  Power: (p) => <Icon {...p} d={<>
    <path d="M12 3v9"/>
    <path d="M5.5 7a8 8 0 1 0 13 0"/>
  </>} />,
  Check: (p) => <Icon {...p} d={<path d="M5 12.5l4.5 4.5L19 7.5"/>} />,
  X: (p) => <Icon {...p} d={<path d="M6 6l12 12M18 6L6 18"/>} />,
  ArrowRight: (p) => <Icon {...p} d={<path d="M5 12h14M13 6l6 6-6 6"/>} />,
  ArrowUpRight: (p) => <Icon {...p} d={<path d="M7 17L17 7M9 7h8v8"/>} />,
  Plus: (p) => <Icon {...p} d={<path d="M12 5v14M5 12h14"/>} />,
  Minus: (p) => <Icon {...p} d={<path d="M5 12h14"/>} />,
  Download: (p) => <Icon {...p} d={<>
    <path d="M12 3v13M6 11l6 6 6-6M5 21h14"/>
  </>} />,
  Star: (p) => <Icon {...p} d={<path d="M12 3l2.6 5.4 6 .9-4.3 4.2 1 6L12 16.8 6.7 19.5l1-6L3.4 9.3l6-.9z"/>} />,
};

window.Icons = Icons;
