// Lightweight icon set — thin stroke, square caps, rounded joins. 1.5px stroke.
const Ic = ({ size = 16, children, style }) => (
  <svg width={size} height={size} viewBox="0 0 24 24" fill="none"
       stroke="currentColor" strokeWidth="1.5" strokeLinecap="square" strokeLinejoin="round"
       style={style}>
    {children}
  </svg>
);

const Icons = {
  Home:       (p) => <Ic {...p}><path d="M3 11l9-8 9 8v10H3z"/><path d="M9 21v-7h6v7"/></Ic>,
  Plug:       (p) => <Ic {...p}><path d="M9 2v5M15 2v5"/><rect x="7" y="7" width="10" height="6"/><path d="M12 13v4a3 3 0 003 3"/></Ic>,
  Graph:      (p) => <Ic {...p}><circle cx="5" cy="19" r="2"/><circle cx="19" cy="5" r="2"/><circle cx="12" cy="12" r="2"/><path d="M7 17l4-4M14 10l4-4"/></Ic>,
  Code:       (p) => <Ic {...p}><path d="M8 7l-5 5 5 5M16 7l5 5-5 5M14 4l-4 16"/></Ic>,
  Activity:   (p) => <Ic {...p}><path d="M3 12h4l3-8 4 16 3-8h4"/></Ic>,
  Settings:   (p) => <Ic {...p}><circle cx="12" cy="12" r="3"/><path d="M12 2v3M12 19v3M4.2 4.2l2.1 2.1M17.7 17.7l2.1 2.1M2 12h3M19 12h3M4.2 19.8l2.1-2.1M17.7 6.3l2.1-2.1"/></Ic>,
  Search:     (p) => <Ic {...p}><circle cx="11" cy="11" r="7"/><path d="M20 20l-3.5-3.5"/></Ic>,
  Plus:       (p) => <Ic {...p}><path d="M12 5v14M5 12h14"/></Ic>,
  Check:      (p) => <Ic {...p}><path d="M4 12l5 5 11-12"/></Ic>,
  Cloud:      (p) => <Ic {...p}><path d="M7 18h10a4 4 0 000-8 5.5 5.5 0 00-10.6-1.5A3.75 3.75 0 007 18z"/></Ic>,
  X:          (p) => <Ic {...p}><path d="M5 5l14 14M19 5L5 19"/></Ic>,
  ChevronR:   (p) => <Ic {...p}><path d="M9 5l7 7-7 7"/></Ic>,
  ChevronD:   (p) => <Ic {...p}><path d="M5 9l7 7 7-7"/></Ic>,
  ChevronL:   (p) => <Ic {...p}><path d="M15 5l-7 7 7 7"/></Ic>,
  ArrowR:     (p) => <Ic {...p}><path d="M5 12h14M13 6l6 6-6 6"/></Ic>,
  External:   (p) => <Ic {...p}><path d="M14 4h6v6M20 4L10 14M10 6H4v14h14v-6"/></Ic>,
  Copy:       (p) => <Ic {...p}><rect x="9" y="9" width="12" height="12" rx="1"/><path d="M5 15H3V3h12v2"/></Ic>,
  Play:       (p) => <Ic {...p}><path d="M6 4l14 8-14 8z"/></Ic>,
  Pause:      (p) => <Ic {...p}><rect x="6" y="4" width="4" height="16"/><rect x="14" y="4" width="4" height="16"/></Ic>,
  Refresh:    (p) => <Ic {...p}><path d="M3 12a9 9 0 019-9 9 9 0 016.7 3M21 12a9 9 0 01-9 9 9 9 0 01-6.7-3"/><path d="M21 3v6h-6M3 21v-6h6"/></Ic>,
  Bell:       (p) => <Ic {...p}><path d="M6 8a6 6 0 0112 0c0 7 3 9 3 9H3s3-2 3-9"/><path d="M10 21a2 2 0 004 0"/></Ic>,
  Command:    (p) => <Ic {...p}><path d="M18 3a3 3 0 00-3 3v12a3 3 0 003 3 3 3 0 003-3 3 3 0 00-3-3H6a3 3 0 00-3 3 3 3 0 003 3 3 3 0 003-3V6a3 3 0 00-3-3 3 3 0 00-3 3 3 3 0 003 3h12a3 3 0 003-3 3 3 0 00-3-3z"/></Ic>,
  Filter:     (p) => <Ic {...p}><path d="M3 5h18l-7 9v6l-4-2v-4z"/></Ic>,
  Sparkle:    (p) => <Ic {...p}><path d="M12 3l2 6 6 2-6 2-2 6-2-6-6-2 6-2z"/></Ic>,
  Thumbs:     (p) => <Ic {...p}><path d="M7 11v9H3v-9zM7 11l5-8a2 2 0 012 2v4h5a2 2 0 012 2l-2 7a2 2 0 01-2 1H7"/></Ic>,
  ThumbsDown: (p) => <Ic {...p}><path d="M7 13V4H3v9zM7 13l5 8a2 2 0 002-2v-4h5a2 2 0 002-2l-2-7a2 2 0 00-2-1H7"/></Ic>,
  Dot:        (p) => <Ic {...p}><circle cx="12" cy="12" r="4" fill="currentColor" stroke="none"/></Ic>,
  AlertTri:   (p) => <Ic {...p}><path d="M12 3l10 18H2z"/><path d="M12 10v5M12 18v.5"/></Ic>,
  Box:        (p) => <Ic {...p}><path d="M3 7l9-4 9 4v10l-9 4-9-4z"/><path d="M3 7l9 4 9-4M12 11v10"/></Ic>,
  Key:        (p) => <Ic {...p}><circle cx="8" cy="15" r="4"/><path d="M11 12l10-10M17 6l3 3M14 9l3 3"/></Ic>,
  Doc:        (p) => <Ic {...p}><path d="M6 3h9l5 5v13H6z"/><path d="M15 3v5h5"/></Ic>,
  Menu:       (p) => <Ic {...p}><path d="M4 6h16M4 12h16M4 18h16"/></Ic>,
  More:       (p) => <Ic {...p}><circle cx="5" cy="12" r="1" fill="currentColor"/><circle cx="12" cy="12" r="1" fill="currentColor"/><circle cx="19" cy="12" r="1" fill="currentColor"/></Ic>,
  Sun:        (p) => <Ic {...p}><circle cx="12" cy="12" r="4"/><path d="M12 2v2M12 20v2M4.2 4.2l1.4 1.4M18.4 18.4l1.4 1.4M2 12h2M20 12h2M4.2 19.8l1.4-1.4M18.4 5.6l1.4-1.4"/></Ic>,
  Moon:       (p) => <Ic {...p}><path d="M21 13a9 9 0 11-10-10 7 7 0 0010 10z"/></Ic>,
  Sliders:    (p) => <Ic {...p}><path d="M4 6h10M18 6h2M4 12h4M12 12h8M4 18h14M18 18h2"/><circle cx="16" cy="6" r="2"/><circle cx="10" cy="12" r="2"/><circle cx="16" cy="18" r="2"/></Ic>,
  Eye:        (p) => <Ic {...p}><path d="M2 12s3.5-7 10-7 10 7 10 7-3.5 7-10 7S2 12 2 12z"/><circle cx="12" cy="12" r="3"/></Ic>,
  Link:       (p) => <Ic {...p}><path d="M10 14a4 4 0 005.66 0l3-3a4 4 0 00-5.66-5.66l-1 1M14 10a4 4 0 00-5.66 0l-3 3a4 4 0 005.66 5.66l1-1"/></Ic>,
  Chat:       (p) => <Ic {...p}><path d="M4 5h16v12H9l-5 4z"/><path d="M8 10h8M8 13h5"/></Ic>,
  Table:      (p) => <Ic {...p}><rect x="3" y="4" width="18" height="16"/><path d="M3 9h18M3 14h18M9 4v16M15 4v16"/></Ic>,
  Metric:     (p) => <Ic {...p}><rect x="3" y="4" width="18" height="16" rx="2"/><path d="M7 14l3-3 3 2 4-5"/></Ic>,
  Spinner:    (p) => <Ic {...p}><path d="M12 3a9 9 0 019 9"/></Ic>,
  StopCircle: (p) => <Ic {...p}><circle cx="12" cy="12" r="9"/><rect x="9" y="9" width="6" height="6"/></Ic>,
  Pencil:     (p) => <Ic {...p}><path d="M15 4l5 5L9 20H4v-5z"/><path d="M13 6l5 5"/></Ic>,
  Trash:      (p) => <Ic {...p}><path d="M4 7h16M9 7V4h6v3M6 7l1 13h10l1-13"/><path d="M10 11v5M14 11v5"/></Ic>,
  LogOut:     (p) => <Ic {...p}><path d="M15 4h4v16h-4"/><path d="M10 8l-4 4 4 4M6 12h10"/></Ic>,
  Users:      (p) => <Ic {...p}><circle cx="9" cy="8" r="3"/><path d="M3 20a6 6 0 0112 0"/><path d="M16 5.5a3 3 0 010 5.5M21 20a6 6 0 00-5-5.9"/></Ic>,
};

window.Icons = Icons;
