/* iBD Coliseum — inline SVG icons (stroke-based, currentColor) */
function Icon({ name, className, style }) {
  const p = { fill: "none", stroke: "currentColor", strokeWidth: 2, strokeLinecap: "round", strokeLinejoin: "round" };
  const paths = {
    grid:    <><rect x="3" y="3" width="7" height="7" rx="1.5" {...p}/><rect x="14" y="3" width="7" height="7" rx="1.5" {...p}/><rect x="3" y="14" width="7" height="7" rx="1.5" {...p}/><rect x="14" y="14" width="7" height="7" rx="1.5" {...p}/></>,
    chart:   <><path d="M3 3v18h18" {...p}/><rect x="7" y="11" width="3" height="6" {...p}/><rect x="13" y="7" width="3" height="10" {...p}/></>,
    bolt:    <path d="M13 2 4 14h6l-1 8 9-12h-6l1-8Z" {...p}/>,
    up:      <path d="M12 19V5M5 12l7-7 7 7" {...p}/>,
    chevron: <path d="m9 18 6-6-6-6" {...p}/>,
    plus:    <path d="M12 5v14M5 12h14" {...p}/>,
    x:       <path d="M18 6 6 18M6 6l12 12" {...p}/>,
    check:   <path d="M20 6 9 17l-5-5" {...p}/>,
    shield:  <><path d="M12 3 4 6v6c0 5 3.5 8 8 9 4.5-1 8-4 8-9V6l-8-3Z" {...p}/><path d="m9 12 2 2 4-4" {...p}/></>,
    link:    <><path d="M10 13a5 5 0 0 0 7 0l2-2a5 5 0 0 0-7-7l-1 1" {...p}/><path d="M14 11a5 5 0 0 0-7 0l-2 2a5 5 0 0 0 7 7l1-1" {...p}/></>,
    steps:   <><path d="M9 6h11M9 12h11M9 18h11" {...p}/><circle cx="4" cy="6" r="1.4" {...p}/><circle cx="4" cy="12" r="1.4" {...p}/><circle cx="4" cy="18" r="1.4" {...p}/></>,
    fire:    <path d="M12 3c1 3-2 4-2 7a4 4 0 0 0 8 0c0-1-.3-2-1-3 .3 4-2 5-2 5 1-3-1-4-1-6 0-2-1-3-2-3Z" {...p}/>,
    heart:   <path d="M12 21c-6-4-9-7.5-9-11a4.5 4.5 0 0 1 9-1 4.5 4.5 0 0 1 9 1c0 3.5-3 7-9 11Z" {...p}/>,
    sparkle: <path d="M12 3v4M12 17v4M3 12h4M17 12h4M6.3 6.3l2.4 2.4M15.3 15.3l2.4 2.4M17.7 6.3l-2.4 2.4M8.7 15.3l-2.4 2.4" {...p}/>,
    cal:     <><rect x="3" y="4" width="18" height="17" rx="2" {...p}/><path d="M3 9h18M8 2v4M16 2v4" {...p}/></>,
    users:   <><circle cx="9" cy="8" r="3" {...p}/><path d="M3 20a6 6 0 0 1 12 0M16 6a3 3 0 0 1 0 6M21 20a6 6 0 0 0-4-5.6" {...p}/></>,
    person:  <><circle cx="12" cy="8" r="4" {...p}/><path d="M4 21a8 8 0 0 1 16 0" {...p}/></>,
    archive: <><rect x="3" y="4" width="18" height="4" rx="1" {...p}/><path d="M5 8v11a1 1 0 0 0 1 1h12a1 1 0 0 0 1-1V8M10 12h4" {...p}/></>,
    trophy:  <><path d="M7 4h10v5a5 5 0 0 1-10 0V4Z" {...p}/><path d="M7 6H4v1a3 3 0 0 0 3 3M17 6h3v1a3 3 0 0 1-3 3M9 19h6M10 14v5M14 14v5" {...p}/></>,
    eye:     <><path d="M2 12s4-7 10-7 10 7 10 7-4 7-10 7-10-7-10-7Z" {...p}/><circle cx="12" cy="12" r="3" {...p}/></>,
    repeat:  <><path d="M17 2l4 4-4 4" {...p}/><path d="M3 11V9a4 4 0 0 1 4-4h14M7 22l-4-4 4-4" {...p}/><path d="M21 13v2a4 4 0 0 1-4 4H3" {...p}/></>,
    arrow:   <path d="M5 12h14M13 6l6 6-6 6" {...p}/>,
    chat:    <path d="M21 12a8 8 0 0 1-11.3 7.3L4 21l1.7-5.7A8 8 0 1 1 21 12Z" {...p}/>,
    send:    <path d="M22 2 11 13M22 2l-7 20-4-9-9-4 20-7Z" {...p}/>,
    gem:     <><path d="M5 9 12 3l7 6-7 12L5 9Z" {...p}/><path d="M5 9h14M9.5 5.5 8 9l4 12M14.5 5.5 16 9l-4 12" {...p}/></>,
    copy:    <><rect x="9" y="9" width="11" height="11" rx="2" {...p}/><path d="M5 15V5a2 2 0 0 1 2-2h10" {...p}/></>,
    download:<><path d="M12 3v12m0 0 4-4m-4 4-4-4" {...p}/><path d="M5 21h14" {...p}/></>,
    external:<><path d="M14 4h6v6M20 4l-9 9" {...p}/><path d="M18 14v5a1 1 0 0 1-1 1H5a1 1 0 0 1-1-1V7a1 1 0 0 1 1-1h5" {...p}/></>,
    camera:  <><path d="M3 8a2 2 0 0 1 2-2h2l1.5-2h7L19 6h2a2 2 0 0 1 2 2v9a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2V8Z" {...p}/><circle cx="12" cy="13" r="3.2" {...p}/></>,
    target:  <><circle cx="12" cy="12" r="9" {...p}/><circle cx="12" cy="12" r="5" {...p}/><circle cx="12" cy="12" r="1.4" {...p}/></>,
    flag:    <><path d="M5 21V4M5 4h12l-2 4 2 4H5" {...p}/></>,
    clock:   <><circle cx="12" cy="12" r="9" {...p}/><path d="M12 7v5l3 2" {...p}/></>,
    pin:     <><path d="M9 4h6l-1 5 3 3v2H7v-2l3-3-1-5Z" {...p}/><path d="M12 14v6" {...p}/></>,
    lock:    <><rect x="4" y="11" width="16" height="9" rx="2" {...p}/><path d="M8 11V8a4 4 0 0 1 8 0v3" {...p}/></>,
    gift:    <><rect x="3" y="8" width="18" height="4" rx="1" {...p}/><path d="M5 12v9h14v-9M12 8v13" {...p}/><path d="M12 8S10 3 7.5 4.5 9 8 12 8Zm0 0s2-5 4.5-3.5S15 8 12 8Z" {...p}/></>,
    clip:    <path d="M21 11l-8.5 8.5a4 4 0 0 1-5.7-5.7L15 5.6a2.6 2.6 0 0 1 3.7 3.7l-8.5 8.5a1.2 1.2 0 0 1-1.7-1.7l7.8-7.8" {...p}/>,
    pencil:  <><path d="M16.5 3.5a2.1 2.1 0 0 1 3 3L7 19l-4 1 1-4 12.5-12.5Z" {...p}/></>,
    trash:   <><path d="M4 7h16M9 7V5a1 1 0 0 1 1-1h4a1 1 0 0 1 1 1v2M6 7l1 13a1 1 0 0 0 1 1h8a1 1 0 0 0 1-1l1-13M10 11v6M14 11v6" {...p}/></>,
  };
  return (
    <svg viewBox="0 0 24 24" className={className} style={style} aria-hidden="true">
      {paths[name] || null}
    </svg>
  );
}
window.Icon = Icon;
