// Icons.jsx — line data + icon set (Lucide-ish, original) const ICONS = { home: 'M3 11l9-8 9 8M5 10v10h14V10', map: 'M9 4l-6 3v13l6-3 6 3 6-3V4l-6 3-6-3zM9 4v13M15 7v13', warning: 'M12 3l10 17H2z M12 10v5 M12 18v.01', news: 'M4 4h14a2 2 0 012 2v12a2 2 0 01-2 2H4zM4 4v14M8 9h10M8 13h10M8 17h6', chat: 'M21 12a8 8 0 01-11 7.4L3 21l1.6-7A8 8 0 1121 12z', user: 'M20 20v-2a6 6 0 00-12 0v2 M14 10a4 4 0 11-8 0 4 4 0 018 0', settings: 'M12 15a3 3 0 100-6 3 3 0 000 6z M19.4 13a7.97 7.97 0 000-2l2-1.6-2-3.4-2.4 1a8 8 0 00-1.6-1l-.4-2.6h-4l-.4 2.6a8 8 0 00-1.6 1l-2.4-1-2 3.4 2 1.6a7.97 7.97 0 000 2l-2 1.6 2 3.4 2.4-1a8 8 0 001.6 1l.4 2.6h4l.4-2.6a8 8 0 001.6-1l2.4 1 2-3.4-2-1.6z', info: 'M12 22a10 10 0 100-20 10 10 0 000 20z M12 16v-4 M12 8v.01', bell: 'M6 8a6 6 0 0112 0c0 7 3 9 3 9H3s3-2 3-9 M14 21a2 2 0 01-4 0', search: 'M11 19a8 8 0 100-16 8 8 0 000 16z M21 21l-4.3-4.3', arrowRight: 'M5 12h14 M12 5l7 7-7 7', arrowLeft: 'M19 12H5 M12 19l-7-7 7-7', arrowUp: 'M12 19V5 M5 12l7-7 7 7', arrowDown: 'M12 5v14 M19 12l-7 7-7-7', x: 'M18 6L6 18 M6 6l12 12', check: 'M4 12l5 5L20 6', clock: 'M12 22a10 10 0 100-20 10 10 0 000 20z M12 6v6l4 2', mapPin: 'M20 10c0 6-8 12-8 12s-8-6-8-12a8 8 0 1116 0z M12 12a2 2 0 100-4 2 2 0 000 4z', train: 'M7 5h10v14H7zM5 21l2-2M19 21l-2-2 M9 5V2h6v3 M10 11h4', accessibility: 'M12 5a2 2 0 100-4 2 2 0 000 4z M12 7v5l-3 3 M12 12h4l3 7 M12 12l-3 7', heart: 'M12 21s-8-5-8-12a5 5 0 019-3 5 5 0 019 3c0 7-8 12-8 12h-2z', send: 'M22 2L11 13 M22 2l-7 20-4-9-9-4 20-7z', camera: 'M23 19a2 2 0 01-2 2H3a2 2 0 01-2-2V8a2 2 0 012-2h4l2-3h6l2 3h4a2 2 0 012 2v11z M12 17a4 4 0 100-8 4 4 0 000 8z', mail: 'M3 5h18v14H3z M3 5l9 7 9-7', lock: 'M5 10h14v11H5zM8 10V7a4 4 0 118 0v3', google: 'M21 11a9 9 0 11-2.6-6.3 M21 11H12', globe: 'M12 22a10 10 0 100-20 10 10 0 000 20z M2 12h20 M12 2a15 15 0 010 20 M12 2a15 15 0 000 20', moon: 'M21 13a9 9 0 11-10-10 7 7 0 0010 10z', sun: 'M12 17a5 5 0 100-10 5 5 0 000 10z M12 1v2 M12 21v2 M4.2 4.2l1.4 1.4 M18.4 18.4l1.4 1.4 M1 12h2 M21 12h2 M4.2 19.8l1.4-1.4 M18.4 5.6l1.4-1.4', star: 'M12 2l3 7 7 1-5 5 1 7-6-3-6 3 1-7-5-5 7-1z', zap: 'M13 2L3 14h7l-1 8 10-12h-7l1-8z', eye: 'M1 12s4-8 11-8 11 8 11 8-4 8-11 8-11-8-11-8z M12 15a3 3 0 100-6 3 3 0 000 6z', chevronRight: 'M9 18l6-6-6-6', chevronDown: 'M6 9l6 6 6-6', list: 'M3 6h18 M3 12h18 M3 18h18', shuffle: 'M16 3h5v5 M4 20l17-17 M21 16v5h-5 M15 15l6 6 M4 4l5 5', filter: 'M22 3H2l8 10v6l4 2v-8z', plus: 'M12 5v14 M5 12h14', bike: 'M5 20a4 4 0 100-8 4 4 0 000 8z M19 20a4 4 0 100-8 4 4 0 000 8z M8 8h3l4 8 M14 6h3', wifi: 'M1.5 9a15 15 0 0121 0 M5 13a10 10 0 0114 0 M8.5 17a5 5 0 017 0 M12 21h.01', battery: 'M3 7h15v10H3zM18 10h2v4h-2', signal: 'M2 17h2v5H2zM7 13h2v9H7zM12 9h2v13h-2zM17 5h2v17h-2', target: 'M12 22a10 10 0 100-20 10 10 0 000 20z M12 18a6 6 0 100-12 6 6 0 000 12z M12 14a2 2 0 100-4 2 2 0 000 4z', flame: 'M12 3s4 4 4 9a4 4 0 01-8 0c0-3 1.5-4.5 1.5-4.5S10 9 12 3z', maximize: 'M15 3h6v6M9 21H3v-6M21 3l-7 7M3 21l7-7', minimize: 'M4 14h6v6M20 10h-6V4M14 10l7-7M3 21l7-7', smartphone: 'M17 2H7a2 2 0 00-2 2v16a2 2 0 002 2h10a2 2 0 002-2V4a2 2 0 00-2-2z M12 18h.01', phone: 'M22 16.9v3a2 2 0 01-2.2 2 19.8 19.8 0 01-8.6-3.1 19.5 19.5 0 01-6-6 19.8 19.8 0 01-3.1-8.7A2 2 0 014.1 2h3a2 2 0 012 1.7 12.8 12.8 0 00.7 2.8 2 2 0 01-.4 2.1L8.1 9.9a16 16 0 006 6l1.3-1.3a2 2 0 012.1-.4c.9.36 1.84.6 2.8.7A2 2 0 0122 16.9z', }; function I({ name, size = 22, className = '', style = {} }) { const d = ICONS[name] || ICONS.info; return ( {d.split(' M').map((p, i) => )} ); } Object.assign(window, { I, ICONS });