/* Simple inline SVG icons - line style, stroke 1.6, currentColor */
const I = ({ children, size = 20, className = '' }) => (
  <svg xmlns="http://www.w3.org/2000/svg" width={size} height={size} viewBox="0 0 24 24"
       fill="none" stroke="currentColor" strokeWidth="1.6" strokeLinecap="round" strokeLinejoin="round"
       className={className} aria-hidden="true">
    {children}
  </svg>
);

const Icon = {
  Line: ({ size = 22, className = '' }) => (
    // LINE-like speech bubble - abstract (not official logo)
    <svg xmlns="http://www.w3.org/2000/svg" width={size} height={size} viewBox="0 0 24 24"
      fill="currentColor" className={className} aria-hidden="true">
      <path d="M12 3.5c-5.25 0-9.5 3.36-9.5 7.5 0 3.72 3.4 6.83 8 7.4.31.04.74.13.84.3.09.15.06.4.03.55l-.14.84c-.04.25-.2.98.86.54 1.06-.44 5.72-3.37 7.8-5.77C21.43 13.32 22 11.96 22 11c0-4.14-4.25-7.5-10-7.5Z"/>
    </svg>
  ),
  ArrowRight: (p) => <I {...p}><path d="M5 12h14"/><path d="m13 6 6 6-6 6"/></I>,
  ArrowDown:  (p) => <I {...p}><path d="M12 5v14"/><path d="m6 13 6 6 6-6"/></I>,
  Check:      (p) => <I {...p}><path d="M20 6 9 17l-5-5"/></I>,
  X:          (p) => <I {...p}><path d="M18 6 6 18"/><path d="m6 6 12 12"/></I>,
  Shield:     (p) => <I {...p}><path d="M12 3 4 6v6c0 5 3.5 8.5 8 9 4.5-.5 8-4 8-9V6l-8-3Z"/></I>,
  Clock:      (p) => <I {...p}><circle cx="12" cy="12" r="9"/><path d="M12 7v5l3 2"/></I>,
  Door:       (p) => <I {...p}><path d="M14 4h4v16h-4"/><path d="M14 4 6 6v12l8 2"/><circle cx="11" cy="12" r=".8" fill="currentColor"/></I>,
  Sparkle:    (p) => <I {...p}><path d="M12 3v4M12 17v4M3 12h4M17 12h4M6 6l2.5 2.5M15.5 15.5 18 18M6 18l2.5-2.5M15.5 8.5 18 6"/></I>,
  Terminal:   (p) => <I {...p}><rect x="3" y="4" width="18" height="16" rx="2"/><path d="m7 9 3 3-3 3"/><path d="M13 15h5"/></I>,
  Book:       (p) => <I {...p}><path d="M4 4h10a4 4 0 0 1 4 4v12H8a4 4 0 0 1-4-4V4Z"/><path d="M4 16a4 4 0 0 1 4-4h10"/></I>,
  Flame:      (p) => <I {...p}><path d="M12 3s4 4 4 8a4 4 0 0 1-4 4 4 4 0 0 1-4-4c0-2 1.5-3.5 1.5-5.5C9.5 4 12 3 12 3Z"/><path d="M9 21h6"/></I>,
  Tag:        (p) => <I {...p}><path d="M20 12 12 4H4v8l8 8 8-8Z"/><circle cx="8" cy="8" r="1.2" fill="currentColor"/></I>,
  Bolt:       (p) => <I {...p}><path d="M13 3 5 13h6l-1 8 8-10h-6l1-8Z"/></I>,
  Eye:        (p) => <I {...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"/></I>,
  ChevronDown:(p) => <I {...p}><path d="m6 9 6 6 6-6"/></I>,
  Dot:        (p) => <I {...p}><circle cx="12" cy="12" r="3" fill="currentColor"/></I>,
  Circle:     (p) => <I {...p}><circle cx="12" cy="12" r="9"/></I>,
  Square:     (p) => <I {...p}><rect x="4" y="4" width="16" height="16" rx="1"/></I>,
  Triangle:   (p) => <I {...p}><path d="M12 4 3 20h18L12 4Z"/></I>,
  Hash:       (p) => <I {...p}><path d="M4 9h16M4 15h16M10 3 8 21M16 3l-2 18"/></I>,
  Quote:      (p) => <I {...p}><path d="M7 7h4v6H5V10a3 3 0 0 1 2-3Z"/><path d="M15 7h4v6h-6V10a3 3 0 0 1 2-3Z"/></I>,
  Warn:       (p) => <I {...p}><path d="M12 3 2 20h20L12 3Z"/><path d="M12 10v4"/><circle cx="12" cy="17" r=".8" fill="currentColor"/></I>,
  Copy:       (p) => <I {...p}><rect x="8" y="8" width="12" height="12" rx="2"/><path d="M16 8V6a2 2 0 0 0-2-2H6a2 2 0 0 0-2 2v8a2 2 0 0 0 2 2h2"/></I>,
  Paperclip:  (p) => <I {...p}><path d="M21 11 12 20a5 5 0 0 1-7-7l9-9a3.5 3.5 0 0 1 5 5l-9 9a2 2 0 1 1-3-3l8-8"/></I>,
};

Object.assign(window, { Icon });
