// SVG icon set — Apple-style outlined, 1.75px stroke
const Ic = (() => {
  const mk = (path, vb = 24, sw = 1.75) => ({ size = 22, color = "currentColor", fill = "none" }) => (
    <svg width={size} height={size} viewBox={`0 0 ${vb} ${vb}`} fill={fill} stroke={color}
      strokeWidth={sw} strokeLinecap="round" strokeLinejoin="round">
      {path}
    </svg>
  );
  return {
    Calendar: mk(<><rect x="3" y="5" width="18" height="16" rx="3" /><path d="M3 10h18M8 3v4M16 3v4" /></>),
    Run: mk(<><circle cx="17" cy="4.5" r="1.6" fill="currentColor" stroke="none" /><path d="M7 21l3.5-6 3 2L17 11M5 13l3-2 2.5 3 3.5-1.5 2.5 4-3 1.5" /></>),
    Stats: mk(<><path d="M4 19V5M4 19h16" /><path d="M8 15v-3M12 15V8M16 15v-5" /></>),
    Chat: mk(<><path d="M4 6a3 3 0 013-3h10a3 3 0 013 3v7a3 3 0 01-3 3h-6l-4 4v-4H7a3 3 0 01-3-3V6z" /></>),
    Play: mk(<><path d="M6 4l14 8-14 8V4z" fill="currentColor" stroke="none" /></>),
    Pause: mk(<><rect x="6" y="5" width="4" height="14" rx="1.5" fill="currentColor" stroke="none" /><rect x="14" y="5" width="4" height="14" rx="1.5" fill="currentColor" stroke="none" /></>),
    Stop: mk(<><rect x="6" y="6" width="12" height="12" rx="2" fill="currentColor" stroke="none" /></>),
    Heart: mk(<><path d="M12 20s-7-4.5-7-10a4 4 0 017-2.6A4 4 0 0119 10c0 5.5-7 10-7 10z" /></>),
    Bolt: mk(<><path d="M13 3L5 14h6l-1 7 8-11h-6l1-7z" /></>),
    Map: mk(<><path d="M9 3L3 5v16l6-2 6 2 6-2V3l-6 2-6-2z M9 3v16M15 5v16" /></>),
    Mic: mk(<><rect x="9" y="3" width="6" height="11" rx="3" /><path d="M5 11a7 7 0 0014 0M12 18v3" /></>),
    Plus: mk(<><path d="M12 5v14M5 12h14" /></>),
    Check: mk(<><path d="M4 12l5 5L20 6" /></>),
    Chevron: mk(<><path d="M9 6l6 6-6 6" /></>),
    ChevronDown: mk(<><path d="M6 9l6 6 6-6" /></>),
    ChevronUp: mk(<><path d="M6 15l6-6 6 6" /></>),
    ChevronLeft: mk(<><path d="M15 6l-6 6 6 6" /></>),
    Back: mk(<><path d="M15 6l-6 6 6 6" /></>),
    Search: mk(<><circle cx="11" cy="11" r="6.5" /><path d="M20 20l-4.5-4.5" /></>),
    Bell: mk(<><path d="M6 9a6 6 0 1112 0v4l2 3H4l2-3V9z M10 19a2 2 0 004 0" /></>),
    User: mk(<><circle cx="12" cy="8" r="4" /><path d="M4 21a8 8 0 0116 0" /></>),
    Users: mk(<><circle cx="9" cy="8" r="3.5" /><path d="M2 21a7 7 0 0114 0" /><circle cx="17" cy="9" r="3" /><path d="M22 19a5.5 5.5 0 00-6-5" /></>),
    Settings: mk(<><circle cx="12" cy="12" r="3" /><path d="M19 12.4v-.8l1.7-1.3-1.7-3-2 .7a7 7 0 00-1.4-.8L15.2 5h-3.4l-.4 2.2a7 7 0 00-1.4.8l-2-.7-1.7 3L8 11.6v.8l-1.7 1.3 1.7 3 2-.7a7 7 0 001.4.8l.4 2.2h3.4l.4-2.2a7 7 0 001.4-.8l2 .7 1.7-3L19 12.4z" /></>),
    Trend: mk(<><path d="M3 17l6-6 4 4 8-9M14 6h7v7" /></>),
    Flag: mk(<><path d="M5 21V4M5 4h11l-2 4 2 4H5" /></>),
    Sparkle: mk(<><path d="M12 3l1.8 4.7L18.5 9l-4.7 1.3L12 15l-1.8-4.7L5.5 9l4.7-1.3L12 3z M19 16l.8 2 2 .5-2 .8L19 22l-.8-2-2-.8 2-.5.8-2z" /></>),
    Clock: mk(<><circle cx="12" cy="12" r="9" /><path d="M12 7v5l3 2" /></>),
    Pin: mk(<><path d="M12 21s-6-6.5-6-11a6 6 0 0112 0c0 4.5-6 11-6 11z" /><circle cx="12" cy="10" r="2" /></>),
    Library: mk(<><rect x="3" y="4" width="6" height="16" rx="2" /><rect x="11" y="4" width="6" height="16" rx="2" /><path d="M19 4h2v16h-2" /></>),
    Wave: mk(<><path d="M3 12c2-4 4-4 6 0s4 4 6 0 4-4 6 0" /></>),
    Filter: mk(<><path d="M4 5h16l-6 8v6l-4-2v-4L4 5z" /></>),
    More: mk(<><circle cx="6" cy="12" r="1.6" fill="currentColor" stroke="none" /><circle cx="12" cy="12" r="1.6" fill="currentColor" stroke="none" /><circle cx="18" cy="12" r="1.6" fill="currentColor" stroke="none" /></>),
    Mountain: mk(<><path d="M3 19l6-10 4 6 3-4 5 8H3z" /></>),
    Target: mk(<><circle cx="12" cy="12" r="9" /><circle cx="12" cy="12" r="5" /><circle cx="12" cy="12" r="1.5" fill="currentColor" stroke="none" /></>),
    Send: mk(<><path d="M22 2L11 13M22 2l-7 20-4-9-9-4 20-7z" /></>),
    Lock: mk(<><rect x="5" y="11" width="14" height="10" rx="2" /><path d="M8 11V7a4 4 0 018 0v4" /></>),
    Wifi: mk(<><path d="M2 9a15 15 0 0120 0M5 13a10 10 0 0114 0M8 17a5 5 0 018 0" /><circle cx="12" cy="20" r="1" fill="currentColor" stroke="none" /></>),
  };
})();

window.Ic = Ic;
