// Lucide-style icons, inline SVG
const Svg = ({ children, size = 20, stroke = 2, style = {} }) => (
  <svg xmlns="http://www.w3.org/2000/svg" width={size} height={size} viewBox="0 0 24 24"
       fill="none" stroke="currentColor" strokeWidth={stroke} strokeLinecap="round" strokeLinejoin="round"
       style={style}>
    {children}
  </svg>
);

const ArrowRight = (p) => <Svg {...p}><path d="M5 12h14M13 5l7 7-7 7"/></Svg>;
const ArrowUpRight = (p) => <Svg {...p}><path d="M7 17 17 7M7 7h10v10"/></Svg>;
const ChevronDown = (p) => <Svg {...p}><path d="m6 9 6 6 6-6"/></Svg>;
const Menu = (p) => <Svg {...p}><path d="M3 6h18M3 12h18M3 18h18"/></Svg>;
const XIcon = (p) => <Svg {...p}><path d="M18 6 6 18M6 6l12 12"/></Svg>;
const Sparkles = (p) => <Svg {...p}><path d="M12 3 13.5 8.5 19 10l-5.5 1.5L12 17l-1.5-5.5L5 10l5.5-1.5z"/><path d="M19 3v4M21 5h-4M5 18v3M6.5 19.5h-3"/></Svg>;
const Brain = (p) => <Svg {...p}><path d="M12 5a3 3 0 0 0-5.997.125 4 4 0 0 0-2.526 5.77 4 4 0 0 0 .556 6.588A4 4 0 0 0 12 21.83a4 4 0 0 0 7.967-3.347 4 4 0 0 0 .556-6.588 4 4 0 0 0-2.526-5.77A3 3 0 0 0 12 5z"/><path d="M12 5v16"/></Svg>;
const Layers = (p) => <Svg {...p}><path d="m12 3 9 5-9 5-9-5 9-5z"/><path d="m3 13 9 5 9-5M3 18l9 5 9-5"/></Svg>;
const MessageCircle = (p) => <Svg {...p}><path d="M21 11.5a8.38 8.38 0 0 1-.9 3.8 8.5 8.5 0 0 1-7.6 4.7 8.38 8.38 0 0 1-3.8-.9L3 21l1.9-5.7a8.38 8.38 0 0 1-.9-3.8 8.5 8.5 0 0 1 4.7-7.6 8.38 8.38 0 0 1 3.8-.9h.5a8.48 8.48 0 0 1 8 8v.5z"/></Svg>;
const GraduationCap = (p) => <Svg {...p}><path d="M22 10v6M2 10l10-5 10 5-10 5z"/><path d="M6 12v5c3 3 9 3 12 0v-5"/></Svg>;
const Building2 = (p) => <Svg {...p}><path d="M6 22V4a2 2 0 0 1 2-2h8a2 2 0 0 1 2 2v18zM2 22h20M6 12H4a2 2 0 0 0-2 2v8M18 9h2a2 2 0 0 1 2 2v11"/></Svg>;
const Check = (p) => <Svg {...p}><path d="M20 6 9 17l-5-5"/></Svg>;
const CheckCircle = (p) => <Svg {...p}><circle cx="12" cy="12" r="10"/><path d="m9 12 2 2 4-4"/></Svg>;
const Compass = (p) => <Svg {...p}><circle cx="12" cy="12" r="10"/><polygon points="16.24 7.76 14.12 14.12 7.76 16.24 9.88 9.88"/></Svg>;
const FileSearch = (p) => <Svg {...p}><path d="M14 2H6a2 2 0 0 0-2 2v16a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V8z"/><path d="M14 2v6h6"/><circle cx="11.5" cy="14.5" r="2.5"/><path d="M13.25 16.25 15 18"/></Svg>;
const Send = (p) => <Svg {...p}><path d="m22 2-7 20-4-9-9-4z"/><path d="M22 2 11 13"/></Svg>;
const BarChart = (p) => <Svg {...p}><path d="M3 3v18h18"/><path d="M7 16V10M12 16V6M17 16v-4"/></Svg>;
const Users = (p) => <Svg {...p}><path d="M16 21v-2a4 4 0 0 0-4-4H6a4 4 0 0 0-4 4v2"/><circle cx="9" cy="7" r="4"/><path d="M22 21v-2a4 4 0 0 0-3-3.87M16 3.13a4 4 0 0 1 0 7.75"/></Svg>;
const Shield = (p) => <Svg {...p}><path d="M12 22s8-4 8-10V5l-8-3-8 3v7c0 6 8 10 8 10z"/></Svg>;
const Network = (p) => <Svg {...p}><circle cx="12" cy="4" r="2"/><circle cx="4" cy="20" r="2"/><circle cx="20" cy="20" r="2"/><path d="M12 6v4M6 20l4-6M18 20l-4-6M8 14h8"/></Svg>;
const Zap = (p) => <Svg {...p}><polygon points="13 2 3 14 12 14 11 22 21 10 12 10 13 2"/></Svg>;
const Clock = (p) => <Svg {...p}><circle cx="12" cy="12" r="10"/><path d="M12 6v6l4 2"/></Svg>;
const Target = (p) => <Svg {...p}><circle cx="12" cy="12" r="10"/><circle cx="12" cy="12" r="6"/><circle cx="12" cy="12" r="2"/></Svg>;
const Dot = (p) => <Svg {...p}><circle cx="12" cy="12" r="3" fill="currentColor"/></Svg>;
const Plus = (p) => <Svg {...p}><path d="M12 5v14M5 12h14"/></Svg>;
const Minus = (p) => <Svg {...p}><path d="M5 12h14"/></Svg>;
const Globe = (p) => <Svg {...p}><circle cx="12" cy="12" r="10"/><path d="M2 12h20M12 2a15 15 0 0 1 0 20M12 2a15 15 0 0 0 0 20"/></Svg>;

Object.assign(window, {
  Svg, ArrowRight, ArrowUpRight, ChevronDown, Menu, XIcon, Sparkles, Brain, Layers,
  MessageCircle, GraduationCap, Building2, Check, CheckCircle, Compass, FileSearch,
  Send, BarChart, Users, Shield, Network, Zap, Clock, Target, Dot, Plus, Minus, Globe
});
