/* Lucide-style inline icons. Stroke-based, currentColor. */
const Icon = ({ d, size = 20, strokeWidth = 1.6, children, ...props }) => (
  <svg
    xmlns="http://www.w3.org/2000/svg"
    width={size}
    height={size}
    viewBox="0 0 24 24"
    fill="none"
    stroke="currentColor"
    strokeWidth={strokeWidth}
    strokeLinecap="round"
    strokeLinejoin="round"
    {...props}
  >
    {d ? <path d={d} /> : children}
  </svg>
);

const I = {
  // brand-y
  Sparkles: (p) => <Icon {...p}><path d="M12 3v4M12 17v4M3 12h4M17 12h4M5.6 5.6l2.8 2.8M15.6 15.6l2.8 2.8M5.6 18.4l2.8-2.8M15.6 8.4l2.8-2.8"/></Icon>,
  Bot: (p) => <Icon {...p}><rect x="4" y="7" width="16" height="12" rx="3"/><path d="M12 7V3M8 12h.01M16 12h.01M9 16h6"/></Icon>,
  Workflow: (p) => <Icon {...p}><rect x="3" y="3" width="6" height="6" rx="1.5"/><rect x="15" y="15" width="6" height="6" rx="1.5"/><rect x="15" y="3" width="6" height="6" rx="1.5"/><path d="M9 6h6M18 9v3a3 3 0 0 1-3 3h-3"/></Icon>,
  Brain: (p) => <Icon {...p}><path d="M9 4.5a2.5 2.5 0 0 0-2.5 2.5 2.5 2.5 0 0 0-2 4 2.5 2.5 0 0 0 .5 4.5A2.5 2.5 0 0 0 9 19V4.5ZM15 4.5A2.5 2.5 0 0 1 17.5 7a2.5 2.5 0 0 1 2 4 2.5 2.5 0 0 1-.5 4.5A2.5 2.5 0 0 1 15 19V4.5Z"/></Icon>,
  Spider: (p) => <Icon {...p}><circle cx="12" cy="12" r="3"/><path d="M12 9V4M12 15v5M9 12H4M15 12h5M7.5 7.5L5 5M16.5 16.5L19 19M7.5 16.5L5 19M16.5 7.5L19 5"/></Icon>,
  // dev
  Code: (p) => <Icon {...p}><path d="m8 6-6 6 6 6M16 6l6 6-6 6M14 4l-4 16"/></Icon>,
  Smartphone: (p) => <Icon {...p}><rect x="6" y="2" width="12" height="20" rx="2"/><path d="M11 18h2"/></Icon>,
  Atom: (p) => <Icon {...p}><circle cx="12" cy="12" r="1"/><ellipse cx="12" cy="12" rx="10" ry="4"/><ellipse cx="12" cy="12" rx="10" ry="4" transform="rotate(60 12 12)"/><ellipse cx="12" cy="12" rx="10" ry="4" transform="rotate(120 12 12)"/></Icon>,
  Server: (p) => <Icon {...p}><rect x="3" y="4" width="18" height="7" rx="1.5"/><rect x="3" y="13" width="18" height="7" rx="1.5"/><path d="M7 7.5h.01M7 16.5h.01"/></Icon>,
  // infra
  Cloud: (p) => <Icon {...p}><path d="M17.5 19a4.5 4.5 0 0 0 0-9 6 6 0 0 0-11.6 1.4A3.5 3.5 0 0 0 6.5 19h11Z"/></Icon>,
  Triangle: (p) => <Icon {...p}><path d="M12 4 22 20H2L12 4Z"/></Icon>,
  Droplet: (p) => <Icon {...p}><path d="M12 3s7 7.5 7 12a7 7 0 0 1-14 0c0-4.5 7-12 7-12Z"/></Icon>,
  Database: (p) => <Icon {...p}><ellipse cx="12" cy="5" rx="8" ry="3"/><path d="M4 5v6c0 1.7 3.6 3 8 3s8-1.3 8-3V5M4 11v6c0 1.7 3.6 3 8 3s8-1.3 8-3v-6"/></Icon>,
  Layers: (p) => <Icon {...p}><path d="m12 3 9 5-9 5-9-5 9-5ZM3 13l9 5 9-5M3 18l9 5 9-5"/></Icon>,
  // ui
  ArrowUpRight: (p) => <Icon {...p}><path d="M7 17 17 7M9 7h8v8"/></Icon>,
  ArrowRight: (p) => <Icon {...p}><path d="M5 12h14M13 6l6 6-6 6"/></Icon>,
  ArrowDown: (p) => <Icon {...p}><path d="M12 5v14M6 13l6 6 6-6"/></Icon>,
  Mail: (p) => <Icon {...p}><rect x="3" y="5" width="18" height="14" rx="2"/><path d="m3 7 9 6 9-6"/></Icon>,
  Github: (p) => <Icon {...p}><path d="M9 19c-4 1.5-4-2-6-2.5M15 22v-4a3 3 0 0 0-.9-2.3c3-.3 6-1.5 6-6.6a5 5 0 0 0-1.4-3.5c.1-.4.6-1.9-.1-3.9 0 0-1.2-.4-3.9 1.5a13.4 13.4 0 0 0-7 0C4.9 1.3 3.7 1.7 3.7 1.7c-.7 2-.2 3.5-.1 3.9A5 5 0 0 0 2.2 9.1c0 5.1 3 6.3 6 6.6a3 3 0 0 0-.9 2.3v4"/></Icon>,
  Linkedin: (p) => <Icon {...p}><path d="M16 8a6 6 0 0 1 6 6v7h-4v-7a2 2 0 0 0-4 0v7h-4v-7a6 6 0 0 1 6-6ZM2 9h4v12H2zM4 6a2 2 0 1 0 0-4 2 2 0 0 0 0 4Z"/></Icon>,
  X: (p) => <Icon {...p}><path d="M4 4 20 20M20 4 4 20"/></Icon>,
  Check: (p) => <Icon {...p}><path d="M5 12l5 5L20 7"/></Icon>,
  Dot: (p) => <Icon {...p}><circle cx="12" cy="12" r="3" fill="currentColor"/></Icon>,
  Menu: (p) => <Icon {...p}><path d="M4 7h16M4 12h16M4 17h16"/></Icon>,
  Close: (p) => <Icon {...p}><path d="M6 6 18 18M18 6 6 18"/></Icon>,
  Plus: (p) => <Icon {...p}><path d="M12 5v14M5 12h14"/></Icon>,
  Globe: (p) => <Icon {...p}><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"/></Icon>,
  Quote: (p) => <Icon {...p}><path d="M7 7h4v4c0 3-1.5 4-4 4M14 7h4v4c0 3-1.5 4-4 4"/></Icon>,
  Boxes: (p) => <Icon {...p}><path d="M3 7l4.5-2.5L12 7v5l-4.5 2.5L3 12V7ZM12 7l4.5-2.5L21 7v5l-4.5 2.5L12 12V7Z"/></Icon>,
  Cpu: (p) => <Icon {...p}><rect x="6" y="6" width="12" height="12" rx="1.5"/><path d="M9 2v3M15 2v3M9 19v3M15 19v3M2 9h3M2 15h3M19 9h3M19 15h3"/><rect x="9" y="9" width="6" height="6" rx="1"/></Icon>,
  Sun: (p) => <Icon {...p}><circle cx="12" cy="12" r="4"/><path d="M12 2v2M12 20v2M4.93 4.93l1.41 1.41M17.66 17.66l1.41 1.41M2 12h2M20 12h2M4.93 19.07l1.41-1.41M17.66 6.34l1.41-1.41"/></Icon>,
  Moon: (p) => <Icon {...p}><path d="M21 12.79A9 9 0 1 1 11.21 3a7 7 0 0 0 9.79 9.79Z"/></Icon>,
};

window.I = I;
window.Icon = Icon;
