// Lucide-style icon set (inline, no external dependency)
const LucideSvg = ({ size = 24, color = 'currentColor', strokeWidth = 2, fill = 'none', style, children }) => (
  <svg
    xmlns="http://www.w3.org/2000/svg"
    width={size}
    height={size}
    viewBox="0 0 24 24"
    fill={fill}
    stroke={color}
    strokeWidth={strokeWidth}
    strokeLinecap="round"
    strokeLinejoin="round"
    style={style}
  >
    {children}
  </svg>
);

const ArrowRight = (p) => (
  <LucideSvg {...p}><path d="M5 12h14"></path><path d="m12 5 7 7-7 7"></path></LucideSvg>
);

const Book = (p) => (
  <LucideSvg {...p}><path d="M4 19.5v-15A2.5 2.5 0 0 1 6.5 2H20v20H6.5a2.5 2.5 0 0 1 0-5H20"></path></LucideSvg>
);

const Code = (p) => (
  <LucideSvg {...p}><polyline points="16 18 22 12 16 6"></polyline><polyline points="8 6 2 12 8 18"></polyline></LucideSvg>
);

const FileText = (p) => (
  <LucideSvg {...p}>
    <path d="M15 2H6a2 2 0 0 0-2 2v16a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V7Z"></path>
    <path d="M14 2v4a2 2 0 0 0 2 2h4"></path>
    <line x1="16" x2="8" y1="13" y2="13"></line>
    <line x1="16" x2="8" y1="17" y2="17"></line>
    <line x1="10" x2="8" y1="9" y2="9"></line>
  </LucideSvg>
);

const FlaskConical = (p) => (
  <LucideSvg {...p}>
    <path d="M10 2v7.527a2 2 0 0 1-.211.896L4.72 20.55a1 1 0 0 0 .9 1.45h12.76a1 1 0 0 0 .9-1.45l-5.069-10.127A2 2 0 0 1 14 9.527V2"></path>
    <path d="M8.5 2h7"></path>
    <path d="M7 16h10"></path>
  </LucideSvg>
);

const Plus = (p) => (
  <LucideSvg {...p}><path d="M5 12h14"></path><path d="M12 5v14"></path></LucideSvg>
);

const Terminal = (p) => (
  <LucideSvg {...p}><polyline points="4 17 10 11 4 5"></polyline><line x1="12" x2="20" y1="19" y2="19"></line></LucideSvg>
);

const AlertTriangle = (p) => (
  <LucideSvg {...p}>
    <path d="m21.73 18-8-14a2 2 0 0 0-3.48 0l-8 14A2 2 0 0 0 4 21h16a2 2 0 0 0 1.73-3Z"></path>
    <path d="M12 9v4"></path>
    <path d="M12 17h.01"></path>
  </LucideSvg>
);

const GitCommit = (p) => (
  <LucideSvg {...p}>
    <circle cx="12" cy="12" r="3"></circle>
    <line x1="3" x2="9" y1="12" y2="12"></line>
    <line x1="15" x2="21" y1="12" y2="12"></line>
  </LucideSvg>
);

const Database = (p) => (
  <LucideSvg {...p}>
    <ellipse cx="12" cy="5" rx="9" ry="3"></ellipse>
    <path d="M3 5V19A9 3 0 0 0 21 19V5"></path>
    <path d="M3 12A9 3 0 0 0 21 12"></path>
  </LucideSvg>
);

const Linkedin = (p) => (
  <LucideSvg {...p}>
    <path d="M16 8a6 6 0 0 1 6 6v7h-4v-7a2 2 0 0 0-2-2 2 2 0 0 0-2 2v7h-4v-7a6 6 0 0 1 6-6z"></path>
    <rect width="4" height="12" x="2" y="9"></rect>
    <circle cx="4" cy="4" r="2"></circle>
  </LucideSvg>
);

Object.assign(window, {
  ArrowRight, Book, Code, FileText, FlaskConical, Plus,
  Terminal, AlertTriangle, GitCommit, Database, Linkedin
});
