/* PiErre · landing — line icons (stroke, currentColor). Exported to window. */
const Ic = {};
const mk = (paths, vb = 24) => ({ size = 24, color = 'currentColor', sw = 1.6, style }) => (
  <svg viewBox={`0 0 ${vb} ${vb}`} width={size} height={size} fill="none"
    stroke={color} strokeWidth={sw} strokeLinecap="round" strokeLinejoin="round" style={style}>
    {paths}
  </svg>
);

// brand gradient stroke variant
Ic.Compass = mk(<>
  <circle cx="12" cy="12" r="9" />
  <path d="M15.5 8.5 13 13l-4.5 2.5L11 11l4.5-2.5Z" />
</>);

Ic.Pano = mk(<>
  <path d="M3 6.5c3 1.2 5.8 1.8 9 1.8s6-.6 9-1.8v11c-3-1.2-5.8-1.8-9-1.8s-6 .6-9 1.8v-11Z" />
  <path d="M9 9.2v6.1M15 9.2v6.1" opacity="0.6" />
</>);

Ic.Split = mk(<>
  <path d="M12 3v6" />
  <path d="M12 9 6 15M12 9l6 6" />
  <circle cx="12" cy="3.4" r="1.6" />
  <circle cx="5.4" cy="16" r="2.2" />
  <circle cx="18.6" cy="16" r="2.2" />
</>);

Ic.Pin = mk(<>
  <path d="M12 21s7-5.7 7-11a7 7 0 1 0-14 0c0 5.3 7 11 7 11Z" />
  <circle cx="12" cy="10" r="2.6" />
</>);

Ic.Qr = mk(<>
  <rect x="3.5" y="3.5" width="6" height="6" rx="1" />
  <rect x="14.5" y="3.5" width="6" height="6" rx="1" />
  <rect x="3.5" y="14.5" width="6" height="6" rx="1" />
  <path d="M14.5 14.5h3v3M20.5 14.5v6M14.5 20.5h3" opacity="0.85" />
</>);

Ic.Tag = mk(<>
  <path d="M12.6 3.5 20.5 11.4a2 2 0 0 1 0 2.8l-6.3 6.3a2 2 0 0 1-2.8 0L3.5 12.6V5a1.5 1.5 0 0 1 1.5-1.5h7.6Z" />
  <circle cx="8" cy="8" r="1.4" />
</>);

Ic.Bolt = mk(<path d="M13 2 4 13h6l-1 9 9-11h-6l1-9Z" />);

Ic.Calendar = mk(<>
  <rect x="3.5" y="5" width="17" height="15.5" rx="2.5" />
  <path d="M3.5 9.5h17M8 3v4M16 3v4" />
  <circle cx="8.5" cy="14" r="1" fill="currentColor" stroke="none" />
  <circle cx="12" cy="14" r="1" fill="currentColor" stroke="none" />
</>);

Ic.Eye = mk(<>
  <path d="M2.5 12S6 5.5 12 5.5 21.5 12 21.5 12 18 18.5 12 18.5 2.5 12 2.5 12Z" />
  <circle cx="12" cy="12" r="3" />
</>);

Ic.Wallet = mk(<>
  <rect x="3" y="5.5" width="18" height="13" rx="3" />
  <path d="M3 9.5h18" />
  <circle cx="16.5" cy="13.5" r="1.4" fill="currentColor" stroke="none" />
</>);

Ic.NoChat = mk(<>
  <path d="M20.5 11.5c0 3.6-3.8 6.5-8.5 6.5-1 0-2-.1-2.9-.4L4 19l1.2-3.2C4.2 14.6 3.5 13.1 3.5 11.5 3.5 7.9 7.3 5 12 5" />
  <path d="M16 4.5 19.5 8M19.5 4.5 16 8" />
</>);

Ic.Sparkle = mk(<path d="M12 3c.6 3.7 1.8 4.9 5.5 5.5C13.8 9.1 12.6 10.3 12 14c-.6-3.7-1.8-4.9-5.5-5.5C10.2 7.9 11.4 6.7 12 3Z" />);

Ic.ArrowRight = mk(<path d="M5 12h14M13 6l6 6-6 6" />);

Ic.Menu = mk(<path d="M4 7h16M4 12h16M4 17h16" />);

Ic.Gauge = mk(<>
  <path d="M3.5 14a8.5 8.5 0 0 1 17 0" />
  <path d="M12 14l4-3.5" />
  <circle cx="12" cy="14" r="1.4" fill="currentColor" stroke="none" />
</>);

Ic.Shield = mk(<>
  <path d="M12 3 19 6v5c0 4.6-3 7.8-7 9-4-1.2-7-4.4-7-9V6l7-3Z" />
  <path d="M9 11.8 11.2 14l4-4.2" />
</>);

Ic.Plus = mk(<path d="M12 5v14M5 12h14" />);

Ic.Check = mk(<path d="M5 12.5 10 17.5l9-11" />);

Ic.Mail = mk(<>
  <rect x="3" y="5.5" width="18" height="13" rx="2.5" />
  <path d="m3.5 7 8.5 6.5L20.5 7" />
</>);

// Apple & Google glyphs for badges
Ic.Apple = ({ size = 22 }) => (
  <svg viewBox="0 0 24 24" width={size} height={size} fill="currentColor">
    <path d="M17.05 12.9c-.03-2.6 2.12-3.85 2.22-3.91-1.21-1.77-3.09-2.01-3.76-2.04-1.6-.16-3.12.94-3.93.94-.81 0-2.06-.92-3.39-.89-1.74.03-3.35 1.01-4.25 2.57-1.81 3.14-.46 7.79 1.3 10.34.86 1.25 1.88 2.65 3.22 2.6 1.29-.05 1.78-.83 3.34-.83 1.56 0 2 .83 3.37.81 1.39-.03 2.27-1.27 3.12-2.53.98-1.45 1.39-2.85 1.41-2.93-.03-.01-2.71-1.04-2.74-4.13M14.6 5.31c.71-.86 1.19-2.06 1.06-3.25-1.02.04-2.26.68-2.99 1.54-.66.76-1.23 1.98-1.08 3.15 1.14.09 2.3-.58 3.01-1.44" />
  </svg>
);
Ic.Play = ({ size = 22 }) => (
  <svg viewBox="0 0 24 24" width={size} height={size}>
    <path d="M3.6 2.3 13.4 12 3.6 21.7c-.3-.2-.5-.6-.5-1.1V3.4c0-.5.2-.9.5-1.1Z" fill="#34D8A8" />
    <path d="M3.6 2.3 16.9 9.6l-3.5 2.4L3.6 2.3Z" fill="#E45BC8" />
    <path d="M13.4 12l3.5 2.4-13.3 7.3L13.4 12Z" fill="#A65CFF" />
    <path d="M16.9 9.6 20.6 11.7c.6.3.6 1.3 0 1.6l-3.7 2.1L13.4 12l3.5-2.4Z" fill="#FBC8F0" />
  </svg>
);

window.PRIcons = Ic;
