// icons.jsx — Phosphor-flavored stroke icons. Single weight (1.6).
// All icons render currentColor and accept size + props.

const Ic = (paths, vb = 24) => ({ size = 24, color, style, ...rest }) => (
  <svg width={size} height={size} viewBox={`0 0 ${vb} ${vb}`} fill="none"
       stroke={color || 'currentColor'} strokeWidth="1.6"
       strokeLinecap="round" strokeLinejoin="round"
       style={{ flexShrink: 0, ...style }} {...rest}>
    {paths}
  </svg>
);

const IcHome     = Ic(<><path d="M3 11l9-7 9 7v9a1 1 0 01-1 1h-5v-7h-6v7H4a1 1 0 01-1-1z"/></>);
const IcChart    = Ic(<><path d="M4 20V8M10 20V4M16 20v-8M22 20H2"/></>);
const IcMission  = Ic(<><circle cx="12" cy="12" r="9"/><path d="M8 12l3 3 5-6"/></>);
const IcUsers    = Ic(<><path d="M16 19v-2a4 4 0 00-4-4H6a4 4 0 00-4 4v2"/><circle cx="9" cy="7" r="4"/><path d="M22 19v-2a4 4 0 00-3-3.87M16 3.13a4 4 0 010 7.75"/></>);
const IcGift     = Ic(<><path d="M3 10v11h18V10M2 7h20v3H2zM12 22V7M12 7s-1.5-5-4.5-5S5 5 5 5s1 2 3.5 2H12zM12 7s1.5-5 4.5-5S19 5 19 5s-1 2-3.5 2H12z"/></>);
const IcAC       = Ic(<><rect x="2" y="6" width="20" height="9" rx="2"/><path d="M6 11h12M8 18l-2 3M16 18l2 3M12 18v3"/></>);
const IcWater    = Ic(<><path d="M12 3s-7 8-7 13a7 7 0 0014 0c0-5-7-13-7-13z"/></>);
const IcFridge   = Ic(<><rect x="5" y="2" width="14" height="20" rx="2"/><path d="M5 10h14M9 6v2M9 14v3"/></>);
const IcBolt     = Ic(<><path d="M13 2L4 14h7l-1 8 9-12h-7l1-8z"/></>);
const IcLeaf     = Ic(<><path d="M11 20A7 7 0 014 13c0-7 7-11 17-11 0 10-4 17-10 17z"/><path d="M2 22c2-7 6-12 13-15"/></>);
const IcSun      = Ic(<><circle cx="12" cy="12" r="4"/><path d="M12 2v2M12 20v2M4.93 4.93l1.41 1.41M17.66 17.66l1.41 1.41M2 12h2M20 12h2M6.34 17.66l-1.41 1.41M19.07 4.93l-1.41 1.41"/></>);
const IcCheck    = Ic(<><path d="M5 12l5 5L20 6"/></>);
const IcCheckCirc= Ic(<><circle cx="12" cy="12" r="9"/><path d="M8 12l3 3 5-6"/></>);
const IcArrowR   = Ic(<><path d="M5 12h14M13 5l7 7-7 7"/></>);
const IcArrowL   = Ic(<><path d="M19 12H5M11 5l-7 7 7 7"/></>);
const IcArrowU   = Ic(<><path d="M5 11l7-7 7 7M12 4v16"/></>);
const IcArrowD   = Ic(<><path d="M19 13l-7 7-7-7M12 4v16"/></>);
const IcChevR    = Ic(<><path d="M9 6l6 6-6 6"/></>);
const IcChevD    = Ic(<><path d="M6 9l6 6 6-6"/></>);
const IcChevU    = Ic(<><path d="M6 15l6-6 6 6"/></>);
const IcSettings = Ic(<><circle cx="12" cy="12" r="3"/><path d="M19.4 15a1.7 1.7 0 00.4 1.9l.1.1a2 2 0 11-2.9 2.9l-.1-.1a1.7 1.7 0 00-1.9-.4 1.7 1.7 0 00-1 1.5V21a2 2 0 11-4 0v-.1a1.7 1.7 0 00-1.1-1.5 1.7 1.7 0 00-1.9.4l-.1.1a2 2 0 11-2.9-2.9l.1-.1a1.7 1.7 0 00.4-1.9 1.7 1.7 0 00-1.5-1H3a2 2 0 110-4h.1a1.7 1.7 0 001.5-1.1 1.7 1.7 0 00-.4-1.9l-.1-.1a2 2 0 112.9-2.9l.1.1a1.7 1.7 0 001.9.4H9a1.7 1.7 0 001-1.5V3a2 2 0 114 0v.1a1.7 1.7 0 001 1.5 1.7 1.7 0 001.9-.4l.1-.1a2 2 0 112.9 2.9l-.1.1a1.7 1.7 0 00-.4 1.9V9a1.7 1.7 0 001.5 1H21a2 2 0 110 4h-.1a1.7 1.7 0 00-1.5 1z"/></>);
const IcBell     = Ic(<><path d="M6 8a6 6 0 0112 0c0 7 3 9 3 9H3s3-2 3-9M14 21a2 2 0 01-4 0"/></>);
const IcLock     = Ic(<><rect x="3" y="11" width="18" height="11" rx="2"/><path d="M7 11V7a5 5 0 0110 0v4"/></>);
const IcInfo     = Ic(<><circle cx="12" cy="12" r="9"/><path d="M12 8v.01M11 12h1v4h1"/></>);
const IcWarn     = Ic(<><path d="M10.3 3.86L1.82 18a2 2 0 001.71 3h16.94a2 2 0 001.71-3L13.71 3.86a2 2 0 00-3.42 0zM12 9v4M12 17h.01"/></>);
const IcX        = Ic(<><path d="M18 6L6 18M6 6l12 12"/></>);
const IcMore     = Ic(<><circle cx="12" cy="12" r="1.2"/><circle cx="19" cy="12" r="1.2"/><circle cx="5" cy="12" r="1.2"/></>);
const IcPlus     = Ic(<><path d="M12 5v14M5 12h14"/></>);
const IcSparkle  = Ic(<><path d="M12 3v3M12 18v3M3 12h3M18 12h3M5.6 5.6l2.1 2.1M16.3 16.3l2.1 2.1M5.6 18.4l2.1-2.1M16.3 7.7l2.1-2.1"/></>);
const IcWind     = Ic(<><path d="M9.6 4.6A2 2 0 1111 8H2M12.6 19.4A2 2 0 1014 16H2M17.5 8a2.5 2.5 0 113.5 3.5L20 12H2"/></>);
const IcCloud    = Ic(<><path d="M17.5 19a4.5 4.5 0 100-9 5.5 5.5 0 00-10.7 2A4 4 0 008 19h9.5z"/></>);
const IcRain     = Ic(<><path d="M16 13a5 5 0 10-9-3 4 4 0 00-1 7.9M8 19l-1 2M12 19l-1 2M16 19l-1 2"/></>);
const IcCalendar = Ic(<><rect x="3" y="5" width="18" height="16" rx="2"/><path d="M16 3v4M8 3v4M3 11h18"/></>);
const IcClock    = Ic(<><circle cx="12" cy="12" r="9"/><path d="M12 7v5l3 2"/></>);
const IcTrend    = Ic(<><path d="M22 7l-9 9-4-4L2 19M16 7h6v6"/></>);
const IcMedal    = Ic(<><circle cx="12" cy="14" r="6"/><path d="M9 9L6 3h12l-3 6M12 11v6M9.5 14.5l2.5-1 2.5 1"/></>);
const IcCoins    = Ic(<><circle cx="12" cy="12" r="9"/><path d="M9 9h4a2 2 0 010 4h-4M13 13h-4M11 17v-2M11 9V7"/></>);
const IcPin      = Ic(<><path d="M12 22s7-7 7-12a7 7 0 10-14 0c0 5 7 12 7 12z"/><circle cx="12" cy="10" r="2.5"/></>);
const IcShield   = Ic(<><path d="M12 22s8-4 8-10V5l-8-3-8 3v7c0 6 8 10 8 10z"/></>);
const IcGlobe    = Ic(<><circle cx="12" cy="12" r="9"/><path d="M3 12h18M12 3a14 14 0 010 18M12 3a14 14 0 000 18"/></>);
const IcBuilding = Ic(<><rect x="4" y="3" width="16" height="18" rx="1"/><path d="M9 7h2M13 7h2M9 11h2M13 11h2M9 15h2M13 15h2M10 21v-3h4v3"/></>);
const IcRefresh  = Ic(<><path d="M3 12a9 9 0 0115-6.7L21 8M21 3v5h-5M21 12a9 9 0 01-15 6.7L3 16M3 21v-5h5"/></>);
const IcQuestion = Ic(<><circle cx="12" cy="12" r="9"/><path d="M9.5 9a2.5 2.5 0 015 0c0 1.5-2.5 2-2.5 4M12 17.5h.01"/></>);
const IcSpinner = ({ size = 24, color }) => (
  <svg width={size} height={size} viewBox="0 0 24 24" fill="none"
       stroke={color || 'currentColor'} strokeWidth="1.8" strokeLinecap="round"
       style={{ animation: 'sh-spin 0.9s linear infinite' }}>
    <path d="M21 12a9 9 0 11-9-9" />
  </svg>
);

Object.assign(window, {
  IcHome, IcChart, IcMission, IcUsers, IcGift,
  IcAC, IcWater, IcFridge, IcBolt, IcLeaf, IcSun, IcCloud, IcRain, IcWind,
  IcCheck, IcCheckCirc, IcArrowR, IcArrowL, IcArrowU, IcArrowD,
  IcChevR, IcChevD, IcChevU, IcSettings, IcBell, IcLock, IcInfo, IcWarn,
  IcX, IcMore, IcPlus, IcSparkle, IcCalendar, IcClock, IcTrend,
  IcMedal, IcCoins, IcPin, IcShield, IcGlobe, IcBuilding, IcRefresh,
  IcQuestion, IcSpinner,
});
