// TLB thin-line icons — 1.5px stroke, never filled (per brief) // Usage: const TLB_ICON_PATHS = { // Tab bar explore: 'M3 12l9-9 9 9M5 10v10h14V10', search: 'M11 19a8 8 0 100-16 8 8 0 000 16zm6-2l4 4', bookmark: 'M6 4h12v17l-6-4-6 4V4z', trips: 'M4 7h16M4 12h16M4 17h10', profile: 'M12 12a4 4 0 100-8 4 4 0 000 8zm-8 9a8 8 0 0116 0', // Actions close: 'M5 5l14 14M19 5L5 19', back: 'M15 5l-7 7 7 7', forward: 'M9 5l7 7-7 7', plus: 'M12 5v14M5 12h14', minus: 'M5 12h14', share: 'M16 8l-4-4-4 4M12 4v12M4 14v6h16v-6', heart: 'M12 20s-7-4.5-7-10a4 4 0 017-2.6A4 4 0 0119 10c0 5.5-7 10-7 10z', star: 'M12 3l2.5 6L21 10l-5 4.5 1.5 6.5L12 17.5 6.5 21 8 14.5 3 10l6.5-1z', check: 'M4 12l5 5L20 6', calendar: 'M4 7h16v13H4zM4 7V4M20 7V4M8 4v3M16 4v3M4 11h16', map: 'M3 6l6-2 6 2 6-2v14l-6 2-6-2-6 2V6zM9 4v14M15 6v14', pin: 'M12 2a7 7 0 017 7c0 5-7 13-7 13S5 14 5 9a7 7 0 017-7zM12 11a2 2 0 100-4 2 2 0 000 4z', filter: 'M4 5h16M7 12h10M10 19h4', sliders: 'M4 6h10M18 6h2M4 12h4M12 12h8M4 18h12M18 18h2M14 4v4M10 10v4M18 16v4', chevronDown:'M6 9l6 6 6-6', chevronUp: 'M6 15l6-6 6 6', bed: 'M3 18V8M21 18v-4a4 4 0 00-4-4H7a4 4 0 00-4 4M3 18h18M7 10V7a1 1 0 011-1h8a1 1 0 011 1v3', bath: 'M5 12V6a2 2 0 012-2h2v4M3 12h18v3a4 4 0 01-4 4H7a4 4 0 01-4-4v-3zM6 19l-1 2M18 19l1 2', pool: 'M3 18c2-1 3-1 5 0s3 1 5 0 3-1 5 0M3 14c2-1 3-1 5 0s3 1 5 0 3-1 5 0M8 10V4a2 2 0 014 0v10M16 10V4a2 2 0 012-2', wifi: 'M2 9c5-5 15-5 20 0M5 12c4-4 10-4 14 0M8 15c2-2 6-2 8 0M12 19l.01 0', car: 'M4 16v-5l2-5h12l2 5v5M4 16h16M4 16v3h3v-3M17 16v3h3v-3M8 11h8', users: 'M9 12a4 4 0 100-8 4 4 0 000 8zm8 0a3 3 0 100-6 3 3 0 000 6zM2 20a7 7 0 0114 0M16 20a5 5 0 015-5', moon: 'M20 13A8 8 0 1111 4a6 6 0 009 9z', coffee: 'M4 10h12v6a4 4 0 01-4 4H8a4 4 0 01-4-4v-6zM16 10h2a2 2 0 010 4h-2M8 3v2M12 3v2', sparkle: 'M12 3v6m0 6v6M3 12h6m6 0h6M6 6l3 3M15 15l3 3M18 6l-3 3M9 15l-3 3', message: 'M21 12a8 8 0 01-11.5 7.2L4 21l1.5-5A8 8 0 1121 12z', phone: 'M5 4h4l2 5-3 2a12 12 0 006 6l2-3 5 2v4a2 2 0 01-2 2A16 16 0 013 6a2 2 0 012-2z', camera: 'M4 8h3l2-2h6l2 2h3v11H4V8zM12 10a4 4 0 100 8 4 4 0 000-8z', mic: 'M12 4a3 3 0 013 3v5a3 3 0 01-6 0V7a3 3 0 013-3zM5 11a7 7 0 0014 0M12 18v3', send: 'M3 3l18 9-18 9 4-9-4-9z', edit: 'M4 20h4L20 8l-4-4L4 16v4zM14 6l4 4', trash: 'M4 7h16M9 7V4h6v3M6 7l1 13h10l1-13', more: 'M5 12h.01M12 12h.01M19 12h.01', settings: 'M12 9a3 3 0 100 6 3 3 0 000-6zM19 12l2 1-1 2-2-1M5 12l-2 1 1 2 2-1M12 5l1-2 2 1-1 2M12 19l1 2 2-1-1-2', lock: 'M6 11V8a6 6 0 0112 0v3M5 11h14v10H5z', globe: 'M12 3a9 9 0 100 18 9 9 0 000-18zM3 12h18M12 3a15 15 0 010 18M12 3a15 15 0 000 18', grid: 'M4 4h7v7H4zM13 4h7v7h-7zM4 13h7v7H4zM13 13h7v7h-7z', list: 'M4 6h16M4 12h16M4 18h16', layers: 'M12 3l9 5-9 5-9-5 9-5zM3 13l9 5 9-5M3 18l9 5 9-5', trending: 'M3 17l6-6 4 4 8-8M15 7h6v6', wallet: 'M4 7h16v12H4zM4 7V5a1 1 0 011-1h14v3M16 13h2', clock: 'M12 3a9 9 0 100 18 9 9 0 000-18zM12 7v5l3 2', info: 'M12 3a9 9 0 100 18 9 9 0 000-18zM12 10v6M12 7v.01', eye: 'M2 12s3.5-7 10-7 10 7 10 7-3.5 7-10 7S2 12 2 12zM12 9a3 3 0 100 6 3 3 0 000-6z', eyeOff: 'M3 3l18 18M10 5.5A10 10 0 0112 5c6.5 0 10 7 10 7a16 16 0 01-3 4M6 7s-3 3-4 5c0 0 3.5 7 10 7 2 0 3.7-.6 5-1.5M10 10a3 3 0 004 4', home: 'M3 11l9-8 9 8v10h-6v-6h-6v6H3z', flag: 'M5 3v18M5 4h12l-2 4 2 4H5', qr: 'M3 3h7v7H3zM14 3h7v7h-7zM3 14h7v7H3zM14 14h2M18 14h2M14 18h2M18 18h2M16 16h2', wand: 'M4 20l10-10M14 6l4 4M16 4l2 2M20 6l2 2M18 10l2 2', dot: 'M12 12h.01', }; function Icon({ name, size = 20, color = 'currentColor', stroke = 1.5, style = {} }) { const d = TLB_ICON_PATHS[name]; if (!d) return null; return ( ); } window.Icon = Icon; window.TLB_ICON_PATHS = TLB_ICON_PATHS;