// icons.jsx — minimal stroke icons for UI affordances
const Ic = (p) => {
  const { d, size = 22, sw = 1.6, fill = 'none', children, ...rest } = p;
  return (
    <svg width={size} height={size} viewBox="0 0 24 24" fill={fill}
      stroke="currentColor" strokeWidth={sw} strokeLinecap="round" strokeLinejoin="round" {...rest}>
      {d ? <path d={d} /> : children}
    </svg>
  );
};
const IcCheck   = (p) => <Ic {...p} d="M20 6L9 17l-5-5" />;
const IcArrow   = (p) => <Ic {...p} d="M5 12h14M13 6l6 6-6 6" />;
const IcArrowL  = (p) => <Ic {...p} d="M19 12H5M11 6l-6 6 6 6" />;
const IcShield  = (p) => <Ic {...p} d="M12 3l7 3v5c0 4.5-3 7.5-7 9-4-1.5-7-4.5-7-9V6l7-3z" />;
const IcSun     = (p) => <Ic {...p}><circle cx="12" cy="12" r="4" /><path d="M12 2v2M12 20v2M4 12H2M22 12h-2M5 5l1.5 1.5M17.5 17.5L19 19M19 5l-1.5 1.5M6.5 17.5L5 19" /></Ic>;
const IcWall    = (p) => <Ic {...p}><rect x="3.5" y="4" width="17" height="16" rx="1.5" /><path d="M3.5 12h17M12 4v16" /></Ic>;
const IcSparkle = (p) => <Ic {...p} d="M12 3l1.8 5.7L19.5 10l-5.7 1.3L12 17l-1.8-5.7L4.5 10l5.7-1.3L12 3z" />;
const IcRing    = (p) => <Ic {...p}><circle cx="12" cy="13" r="6" /><path d="M9 6.5L12 3l3 3.5" /></Ic>;
const IcX       = (p) => <Ic {...p} d="M6 6l12 12M18 6L6 18" />;
const IcRetake  = (p) => <Ic {...p}><path d="M3 12a9 9 0 1 0 3-6.7" /><path d="M3 4v4h4" /></Ic>;
const IcCamera  = (p) => <Ic {...p}><path d="M3 8.5A2 2 0 0 1 5 6.5h2l1.3-2h7.4L17 6.5h2a2 2 0 0 1 2 2v9a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2z" /><circle cx="12" cy="13" r="3.6" /></Ic>;
const IcChat    = (p) => <Ic {...p} d="M21 11.5a8 8 0 0 1-11.5 7.2L4 20l1.3-4.5A8 8 0 1 1 21 11.5z" />;
const IcPhone   = (p) => <Ic {...p} d="M5 4h3l2 5-2.5 1.5a11 11 0 0 0 5 5L16 13l5 2v3a2 2 0 0 1-2 2A16 16 0 0 1 3 6a2 2 0 0 1 2-2z" />;
const IcRotate  = (p) => <Ic {...p}><ellipse cx="12" cy="12" rx="9" ry="4" /><path d="M3 12c0 2.2 4 4 9 4s9-1.8 9-4" /></Ic>;
const IcEye     = (p) => <Ic {...p}><path d="M2 12s3.5-7 10-7 10 7 10 7-3.5 7-10 7-10-7-10-7z" /><circle cx="12" cy="12" r="2.6" /></Ic>;
const IcLeaf    = (p) => <Ic {...p} d="M5 19c0-8 6-13 14-13 0 8-6 13-14 13zM5 19c2-4 5-6 9-7" />;
const IcDrop    = (p) => <Ic {...p} d="M12 3s6 6.5 6 11a6 6 0 0 1-12 0c0-4.5 6-11 6-11z" />;
const IcPlus    = (p) => <Ic {...p} d="M12 5v14M5 12h14" />;
const IcInfo    = (p) => <Ic {...p}><circle cx="12" cy="12" r="9" /><path d="M12 11v5M12 7.6h.01" /></Ic>;
const IcGem     = (p) => <Ic {...p} d="M6 3h12l3 5-9 13L3 8l3-5zM3 8h18M9 3l-2 5 5 13 5-13-2-5" />;
const IcWear    = (p) => <Ic {...p}><path d="M12 5a1.6 1.6 0 0 0-1.1 2.7" /><path d="M12 7l-8 6.5h16L12 7z" /></Ic>;

Object.assign(window, {
  IcCheck, IcArrow, IcArrowL, IcShield, IcSun, IcWall, IcSparkle, IcRing,
  IcX, IcRetake, IcCamera, IcChat, IcPhone, IcRotate, IcEye, IcLeaf, IcDrop,
  IcPlus, IcInfo, IcGem, IcWear,
});
