/* Lucide icons (real path data from lucide.dev) as tiny React components.
   Stroke 1.75, rounded — matches the brand's lucide-react usage. */
const _svg = (children, vb = 24) => (props) =>
  React.createElement('svg', {
    xmlns: 'http://www.w3.org/2000/svg', viewBox: `0 0 ${vb} ${vb}`,
    fill: 'none', stroke: 'currentColor', strokeWidth: 1.75,
    strokeLinecap: 'round', strokeLinejoin: 'round', ...props,
    dangerouslySetInnerHTML: { __html: children },
  });

const Icon = {
  sun: _svg('<circle cx="12" cy="12" r="4"/><path d="M12 2v2M12 20v2M4.93 4.93l1.41 1.41M17.66 17.66l1.41 1.41M2 12h2M20 12h2M6.34 17.66l-1.41 1.41M19.07 4.93l-1.41 1.41"/>'),
  moon: _svg('<path d="M12 3a6 6 0 0 0 9 9 9 9 0 1 1-9-9Z"/>'),
  mapPin: _svg('<path d="M20 10c0 4.993-5.539 10.193-7.399 11.799a1 1 0 0 1-1.202 0C9.539 20.193 4 14.993 4 10a8 8 0 0 1 16 0Z"/><circle cx="12" cy="10" r="3"/>'),
  arrowUpRight: _svg('<path d="M7 7h10v10M7 17 17 7"/>'),
  play: _svg('<polygon points="6 3 20 12 6 21 6 3"/>'),
  pause: _svg('<rect x="14" y="4" width="4" height="16" rx="1"/><rect x="6" y="4" width="4" height="16" rx="1"/>'),
  copy: _svg('<rect width="14" height="14" x="8" y="8" rx="2" ry="2"/><path d="M4 16c-1.1 0-2-.9-2-2V4c0-1.1.9-2 2-2h10c1.1 0 2 .9 2 2"/>'),
  check: _svg('<path d="M20 6 9 17l-5-5"/>'),
  music: _svg('<path d="M9 18V5l12-2v13"/><circle cx="6" cy="18" r="3"/><circle cx="18" cy="16" r="3"/>'),
  send: _svg('<path d="M14.536 21.686a.5.5 0 0 0 .937-.024l6.5-19a.496.496 0 0 0-.635-.635l-19 6.5a.5.5 0 0 0-.024.937l7.93 3.18a2 2 0 0 1 1.112 1.11z"/><path d="m21.854 2.147-10.94 10.939"/>'),
  users: _svg('<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"/>'),
  rss: _svg('<path d="M4 11a9 9 0 0 1 9 9M4 4a16 16 0 0 1 16 16"/><circle cx="5" cy="19" r="1"/>'),
  hash: _svg('<path d="M4 9h16M4 15h16M10 3 8 21M16 3l-2 18"/>'),
  cloudSun: _svg('<path d="M12 2v2M5.22 5.22l1.42 1.42M2 12h2M20 12h2M15.34 15.34a4 4 0 1 0-6.68-2.68"/><path d="M13 22H7a4 4 0 0 1 0-8 5 5 0 0 1 9.7-1.6A3.5 3.5 0 1 1 18 22h-1"/>'),
  github: _svg('<path d="M15 22v-4a4.8 4.8 0 0 0-1-3.5c3 0 6-2 6-5.5.08-1.25-.27-2.48-1-3.5.28-1.15.28-2.35 0-3.5 0 0-1 0-3 1.5-2.64-.5-5.36-.5-8 0C6 4 5 4 5 4c-.3 1.15-.3 2.35 0 3.5A5.4 5.4 0 0 0 4 11c0 3.5 3 5.5 6 5.5-.39.49-.68 1.05-.85 1.65-.17.6-.22 1.23-.15 1.85v4"/><path d="M9 18c-4.51 2-5-2-7-2"/>'),
  star: _svg('<path d="M11.5 2.6 9.3 7.1l-5 .7a1 1 0 0 0-.5 1.7l3.6 3.5-.9 5a1 1 0 0 0 1.4 1l4.4-2.3 4.5 2.3a1 1 0 0 0 1.4-1l-.9-5 3.6-3.5a1 1 0 0 0-.5-1.7l-5-.7-2.2-4.5a1 1 0 0 0-1.8 0z"/>'),
  flame: _svg('<path d="M8.5 14.5A2.5 2.5 0 0 0 11 12c0-1.38-.5-2-1-3-1.072-2.143-.224-4.054 2-6 .5 2.5 2 4.9 4 6.5 2 1.6 3 3.5 3 5.5a7 7 0 1 1-14 0c0-1.153.433-2.294 1-3a2.5 2.5 0 0 0 2.5 2.5z"/>'),
  coffee: _svg('<path d="M10 2v2M14 2v2M16 8a1 1 0 0 1 1 1v8a4 4 0 0 1-4 4H7a4 4 0 0 1-4-4V9a1 1 0 0 1 1-1h14a4 4 0 1 1 0 8h-1"/>'),
  clock: _svg('<circle cx="12" cy="12" r="10"/><path d="M12 6v6l4 2"/>'),
  gamepad: _svg('<line x1="6" y1="11" x2="10" y2="11"/><line x1="8" y1="9" x2="8" y2="13"/><line x1="15" y1="12" x2="15.01" y2="12"/><line x1="18" y1="10" x2="18.01" y2="10"/><rect x="2" y="6" width="20" height="12" rx="2"/>'),
  spotify: (p = {}) => React.createElement('svg', { viewBox: '0 0 24 24', fill: 'currentColor', width: 18, height: 18, ...p }, React.createElement('path', { d: 'M12 0C5.4 0 0 5.4 0 12s5.4 12 12 12 12-5.4 12-12S18.66 0 12 0zm5.521 17.34c-.24.359-.66.48-1.021.24-2.82-1.74-6.36-2.101-10.561-1.141-.418.122-.779-.179-.899-.539-.12-.421.18-.78.54-.9 4.56-1.021 8.52-.6 11.64 1.32.42.18.479.659.301 1.02zm1.44-3.3c-.301.42-.841.6-1.262.3-3.239-1.98-8.159-2.58-11.939-1.38-.479.12-1.02-.12-1.14-.6-.12-.48.12-1.021.6-1.141C9.6 9.9 15 10.561 18.72 12.84c.361.181.54.78.241 1.2zm.12-3.36C15.24 8.4 8.82 8.16 5.16 9.301c-.6.179-1.2-.181-1.38-.721-.18-.601.18-1.2.72-1.381 4.26-1.26 11.28-1.02 15.721 1.621.539.3.719 1.02.419 1.56-.299.421-1.02.599-1.559.3z' })),
  sparkles: _svg('<path d="M9.94 14.66A1 1 0 0 1 9 14a1 1 0 0 1-.94-.66L7.13 9.96A1 1 0 0 0 6 9a1 1 0 0 0 .94-1.34L9.94 5.1A1 1 0 0 1 12 4.4a1 1 0 0 1 .94.66l.93 3.38A1 1 0 0 0 18 9a1 1 0 0 0-.94.66l-.93 3.38A1 1 0 0 1 14 14a1 1 0 0 1 .94.66"/><path d="M19 4v3M5 17v3M21 5h-2M7 18H5"/>'),
  mail: _svg('<rect width="20" height="16" x="2" y="4" rx="2"/><path d="m22 7-8.97 5.7a1.94 1.94 0 0 1-2.06 0L2 7"/>'),
  volume2: _svg('<path d="M11 4.7 6.5 8.4H3v7.2h3.5l4.5 3.7zM18.5 8a5 5 0 0 1 0 8M15.5 10.5a2 2 0 0 1 0 3"/>'),
};
Object.assign(window, { Icon });
