// Small line icons — stroked, editorial weight
const Icon = {
  Pin: (p) => (
    <svg viewBox="0 0 24 24" width={p.size||16} height={p.size||16} fill="none" stroke="currentColor" strokeWidth="1.4" strokeLinecap="round" strokeLinejoin="round">
      <path d="M12 21s7-6.2 7-12a7 7 0 1 0-14 0c0 5.8 7 12 7 12Z"/>
      <circle cx="12" cy="9" r="2.4"/>
    </svg>
  ),
  Arrow: (p) => (
    <svg viewBox="0 0 24 24" width={p.size||14} height={p.size||14} fill="none" stroke="currentColor" strokeWidth="1.6" strokeLinecap="round" strokeLinejoin="round">
      <path d="M5 12h14M13 6l6 6-6 6"/>
    </svg>
  ),
  Check: (p) => (
    <svg viewBox="0 0 24 24" width={p.size||14} height={p.size||14} fill="none" stroke="currentColor" strokeWidth="1.8" strokeLinecap="round" strokeLinejoin="round">
      <path d="M4 12.5 10 18l10-12"/>
    </svg>
  ),
  X: (p) => (
    <svg viewBox="0 0 24 24" width={p.size||14} height={p.size||14} fill="none" stroke="currentColor" strokeWidth="1.6" strokeLinecap="round" strokeLinejoin="round">
      <path d="M6 6l12 12M18 6 6 18"/>
    </svg>
  ),
  Plus: (p) => (
    <svg viewBox="0 0 24 24" width={p.size||14} height={p.size||14} fill="none" stroke="currentColor" strokeWidth="1.6" strokeLinecap="round" strokeLinejoin="round">
      <path d="M12 5v14M5 12h14"/>
    </svg>
  ),
  Plan: (p) => (
    <svg viewBox="0 0 32 32" width={p.size||28} height={p.size||28} fill="none" stroke="currentColor" strokeWidth="1.2" strokeLinecap="round" strokeLinejoin="round">
      <rect x="4" y="6" width="24" height="20"/>
      <path d="M4 16h12M16 6v20"/>
      <circle cx="21" cy="20" r="1.2" fill="currentColor"/>
    </svg>
  ),
  Source: (p) => (
    <svg viewBox="0 0 32 32" width={p.size||28} height={p.size||28} fill="none" stroke="currentColor" strokeWidth="1.2" strokeLinecap="round" strokeLinejoin="round">
      <path d="M5 9h22l-2 16H7L5 9Z"/>
      <path d="M11 9V6a5 5 0 0 1 10 0v3"/>
    </svg>
  ),
  Design: (p) => (
    <svg viewBox="0 0 32 32" width={p.size||28} height={p.size||28} fill="none" stroke="currentColor" strokeWidth="1.2" strokeLinecap="round" strokeLinejoin="round">
      <rect x="4" y="5" width="24" height="18"/>
      <circle cx="12" cy="14" r="3"/>
      <path d="M28 19 22 13l-9 10"/>
    </svg>
  ),
  Share: (p) => (
    <svg viewBox="0 0 32 32" width={p.size||28} height={p.size||28} fill="none" stroke="currentColor" strokeWidth="1.2" strokeLinecap="round" strokeLinejoin="round">
      <circle cx="8" cy="16" r="3"/>
      <circle cx="23" cy="8" r="3"/>
      <circle cx="23" cy="24" r="3"/>
      <path d="m11 14 9-5M11 18l9 5"/>
    </svg>
  ),
  Earn: (p) => (
    <svg viewBox="0 0 32 32" width={p.size||28} height={p.size||28} fill="none" stroke="currentColor" strokeWidth="1.2" strokeLinecap="round" strokeLinejoin="round">
      <circle cx="16" cy="16" r="11"/>
      <path d="M19 11h-4a2 2 0 0 0 0 4h2a2 2 0 0 1 0 4h-4M16 9v2M16 21v2"/>
    </svg>
  ),
  Clipper: (p) => (
    <svg viewBox="0 0 32 32" width={p.size||28} height={p.size||28} fill="none" stroke="currentColor" strokeWidth="1.2" strokeLinecap="round" strokeLinejoin="round">
      <rect x="6" y="3" width="20" height="26" rx="3"/>
      <path d="M12 3v6h8V3M10 16h12M10 21h12M10 26h7"/>
    </svg>
  ),
  Lock: (p) => (
    <svg viewBox="0 0 24 24" width={p.size||14} height={p.size||14} fill="none" stroke="currentColor" strokeWidth="1.4" strokeLinecap="round" strokeLinejoin="round">
      <rect x="5" y="11" width="14" height="10" rx="1.4"/>
      <path d="M8 11V8a4 4 0 0 1 8 0v3"/>
    </svg>
  ),
};
window.Icon = Icon;
