// Monochrome geometric icon set — single stroke style, currentColor.
const Ico = ({ children, size = 22, stroke = 1.6, fill = "none" }) => (
  <svg width={size} height={size} viewBox="0 0 24 24" fill={fill}
       stroke="currentColor" strokeWidth={stroke}
       strokeLinecap="round" strokeLinejoin="round" aria-hidden="true">{children}</svg>
);

const IcoAll      = (p) => <Ico {...p}><rect x="3" y="4" width="18" height="4" rx="1"/><rect x="3" y="11" width="18" height="4" rx="1"/><rect x="3" y="18" width="18" height="3" rx="1"/></Ico>;
const IcoInbox    = (p) => <Ico {...p}><path d="M4 13l2.5-8h11L20 13"/><path d="M4 13v5a1 1 0 0 0 1 1h14a1 1 0 0 0 1-1v-5"/><path d="M4 13h4l1.5 2.5h5L16 13h4"/></Ico>;
const IcoBolt     = (p) => <Ico {...p}><path d="M13 3L5 14h6l-1 7 8-11h-6z"/></Ico>;
const IcoStar     = (p) => <Ico {...p}><path d="M12 3.5l2.6 5.5 6 .8-4.4 4.2 1.1 6L12 17.7 6.7 20l1.1-6L3.4 9.8l6-.8z"/></Ico>;
const IcoCheck    = (p) => <Ico {...p}><path d="M4 12.5l5 5L20 6.5"/></Ico>;
const IcoVault    = (p) => <Ico {...p}><rect x="3.5" y="4" width="17" height="16" rx="2.5"/><circle cx="12" cy="12" r="4"/><path d="M12 9v1.5M12 13.5V15M9 12h1.5M13.5 12H15"/></Ico>;
const IcoInsights = (p) => <Ico {...p}><path d="M4 20V4"/><path d="M4 20h16"/><path d="M8 16l3.5-4 3 2.5L20 8"/></Ico>;
const IcoStarred  = IcoStar;

const IcoBrain    = (p) => <Ico {...p}><path d="M12 4a3 3 0 0 0-3 3v.5A2.5 2.5 0 0 0 6.5 10 2.5 2.5 0 0 0 5 12.3 3 3 0 0 0 7 18v2h5z"/><path d="M12 4a3 3 0 0 1 3 3v.5A2.5 2.5 0 0 1 17.5 10 2.5 2.5 0 0 1 19 12.3 3 3 0 0 1 17 18v2h-5"/></Ico>;
const IcoSearch   = (p) => <Ico {...p}><circle cx="11" cy="11" r="7"/><path d="M20 20l-3.5-3.5"/></Ico>;
const IcoSort     = (p) => <Ico {...p}><path d="M7 4v16M7 20l-3-3M7 4l3 3"/><path d="M17 20V4M17 4l3 3M17 20l-3-3"/></Ico>;
const IcoSparkle  = (p) => <Ico {...p} fill="currentColor" stroke="none"><path d="M12 2l1.6 5.6L19 9l-5.4 1.4L12 16l-1.6-5.6L5 9l5.4-1.4z"/><path d="M19 14l.7 2.3L22 17l-2.3.7L19 20l-.7-2.3L16 17l2.3-.7z"/></Ico>;
const IcoCommand  = (p) => <Ico {...p}><path d="M9 6a3 3 0 1 0-3 3h12a3 3 0 1 0-3-3v12a3 3 0 1 0 3-3H6a3 3 0 1 0 3 3z"/></Ico>;
const IcoShield   = (p) => <Ico {...p}><path d="M12 3l7 3v5c0 4.5-3 8-7 10-4-2-7-5.5-7-10V6z"/><path d="M9 12l2 2 4-4"/></Ico>;
const IcoLock     = (p) => <Ico {...p}><rect x="5" y="11" width="14" height="9" rx="2"/><path d="M8 11V8a4 4 0 0 1 8 0v3"/></Ico>;
const IcoNote     = (p) => <Ico {...p}><path d="M5 4h14v16l-4-3H5z"/><path d="M9 9h6M9 12h4"/></Ico>;
const IcoMac      = (p) => <Ico {...p}><rect x="3" y="4" width="18" height="12" rx="1.5"/><path d="M2 20h20M9 16l-1 4M15 16l1 4"/></Ico>;
const IcoPhone    = (p) => <Ico {...p}><rect x="7" y="3" width="10" height="18" rx="2"/><path d="M10 18h4"/></Ico>;
const IcoGlobe    = (p) => <Ico {...p}><circle cx="12" cy="12" r="8.5"/><path d="M3.5 12h17M12 3.5c2.5 2.3 2.5 14.7 0 17M12 3.5c-2.5 2.3-2.5 14.7 0 17"/></Ico>;
const IcoLayers   = (p) => <Ico {...p}><path d="M12 3l9 5-9 5-9-5z"/><path d="M3 13l9 5 9-5"/></Ico>;
const IcoSun      = (p) => <Ico {...p}><circle cx="12" cy="12" r="4.5"/><path d="M12 2v2M12 20v2M4.2 4.2l1.4 1.4M18.4 18.4l1.4 1.4M2 12h2M20 12h2M4.2 19.8l1.4-1.4M18.4 5.6l1.4-1.4"/></Ico>;
const IcoMoon     = (p) => <Ico {...p}><path d="M21 13A9 9 0 1 1 11 3a7 7 0 0 0 10 10z"/></Ico>;
const IcoArrowDown= ({size=16, stroke=2}) => <svg width={size} height={size} viewBox="0 0 24 24" fill="none" stroke="currentColor" strokeWidth={stroke} strokeLinecap="round" strokeLinejoin="round" aria-hidden="true"><path d="M12 5v14"/><path d="M6 13l6 6 6-6"/></svg>;
const IcoArrow    = ({size=16, stroke=2}) => <svg width={size} height={size} viewBox="0 0 24 24" fill="none" stroke="currentColor" strokeWidth={stroke} strokeLinecap="round" strokeLinejoin="round" aria-hidden="true"><path d="M5 12h14"/><path d="M13 6l6 6-6 6"/></svg>;
const IcoArrowRt  = IcoArrow;

const IcoX = ({ size = 16 }) => (
  <svg width={size} height={size} viewBox="0 0 24 24" fill="currentColor" aria-hidden="true">
    <path d="M18.244 2.25h3.308l-7.227 8.26 8.502 11.24H16.17l-5.214-6.817L4.99 21.75H1.68l7.73-8.835L1.254 2.25H8.08l4.713 6.231zm-1.161 17.52h1.833L7.084 4.126H5.117z"/>
  </svg>
);

const IcoPlay = ({ size = 14 }) => (
  <svg width={size} height={size} viewBox="0 0 24 24" fill="currentColor" aria-hidden="true"><path d="M8 5.5v13a1 1 0 0 0 1.5.87l11-6.5a1 1 0 0 0 0-1.74l-11-6.5A1 1 0 0 0 8 5.5z"/></svg>
);

Object.assign(window, {
  IcoAll, IcoInbox, IcoBolt, IcoStar, IcoStarred, IcoCheck, IcoVault, IcoInsights,
  IcoBrain, IcoSearch, IcoSort, IcoSparkle, IcoCommand, IcoShield, IcoLock, IcoNote,
  IcoMac, IcoPhone, IcoGlobe, IcoLayers, IcoSun, IcoMoon, IcoArrow, IcoArrowRt, IcoArrowDown, IcoX, IcoPlay,
});
