// Ciphryn - SVG icon set (no external deps)
// All icons use currentColor and accept size + strokeWidth.

const Icon = ({ children, size = 22, sw = 1.6, ...rest }) => (
  <svg width={size} height={size} viewBox="0 0 24 24" fill="none"
       stroke="currentColor" strokeWidth={sw} strokeLinecap="round" strokeLinejoin="round" {...rest}>
    {children}
  </svg>
);

const IconShield = (p) => (
  <Icon {...p}>
    <path d="M12 3 4 6v6c0 4.5 3.4 8.4 8 9 4.6-.6 8-4.5 8-9V6l-8-3Z" />
    <path d="m9 12 2 2 4-4" />
  </Icon>
);
const IconRadar = (p) => (
  <Icon {...p}>
    <circle cx="12" cy="12" r="9" />
    <circle cx="12" cy="12" r="5" />
    <circle cx="12" cy="12" r="1.5" fill="currentColor" />
    <path d="M12 3v9l6 3" />
  </Icon>
);
const IconBrain = (p) => (
  <Icon {...p}>
    <path d="M9 4a3 3 0 0 0-3 3v0a3 3 0 0 0-2 5v0a3 3 0 0 0 2 5v0a3 3 0 0 0 3 3h.5V4H9Z" />
    <path d="M15 4a3 3 0 0 1 3 3v0a3 3 0 0 1 2 5v0a3 3 0 0 1-2 5v0a3 3 0 0 1-3 3h-.5V4H15Z" />
    <path d="M9 9h2M9 13h2M13 9h2M13 13h2" />
  </Icon>
);
const IconBug = (p) => (
  <Icon {...p}>
    <path d="M8 6a4 4 0 0 1 8 0" />
    <path d="M5 12h14" />
    <path d="M6 9c0-.5.5-1 1-1h10c.5 0 1 .5 1 1v6a6 6 0 0 1-12 0V9Z" />
    <path d="M3 10l3 1M21 10l-3 1M3 16l3-1M21 16l-3-1M12 8v12" />
  </Icon>
);
const IconCloud = (p) => (
  <Icon {...p}>
    <path d="M7 18a5 5 0 0 1 .9-9.9 6 6 0 0 1 11.6 1.4A4 4 0 0 1 18 18H7Z" />
  </Icon>
);
const IconCode = (p) => (
  <Icon {...p}>
    <path d="m9 8-5 4 5 4" />
    <path d="m15 8 5 4-5 4" />
    <path d="m13 5-2 14" />
  </Icon>
);
const IconUsers = (p) => (
  <Icon {...p}>
    <circle cx="9" cy="8" r="3.5" />
    <path d="M3 20c0-3 2.7-5 6-5s6 2 6 5" />
    <circle cx="17" cy="9" r="2.5" />
    <path d="M15 14c2 0 5 1.2 5 4" />
  </Icon>
);
const IconNetwork = (p) => (
  <Icon {...p}>
    <rect x="3" y="3" width="6" height="6" rx="1" />
    <rect x="15" y="3" width="6" height="6" rx="1" />
    <rect x="3" y="15" width="6" height="6" rx="1" />
    <rect x="15" y="15" width="6" height="6" rx="1" />
    <path d="M9 6h6M6 9v6M18 9v6M9 18h6" />
  </Icon>
);
const IconMobile = (p) => (
  <Icon {...p}>
    <rect x="7" y="2" width="10" height="20" rx="2" />
    <path d="M11 18h2" />
  </Icon>
);
const IconApi = (p) => (
  <Icon {...p}>
    <rect x="3" y="6" width="18" height="12" rx="2" />
    <path d="M7 10v4M11 9v6M15 10v4M19 11v2" />
  </Icon>
);
const IconChip = (p) => (
  <Icon {...p}>
    <rect x="5" y="5" width="14" height="14" rx="2" />
    <rect x="9" y="9" width="6" height="6" rx="1" />
    <path d="M9 2v3M15 2v3M9 19v3M15 19v3M2 9h3M2 15h3M19 9h3M19 15h3" />
  </Icon>
);
const IconKey = (p) => (
  <Icon {...p}>
    <circle cx="8" cy="15" r="4" />
    <path d="m11 12 9-9M16 7l3 3M14 9l3 3" />
  </Icon>
);
const IconWaves = (p) => (
  <Icon {...p}>
    <path d="M3 8c2 0 3-2 6-2s4 2 6 2 3-2 6-2" />
    <path d="M3 13c2 0 3-2 6-2s4 2 6 2 3-2 6-2" />
    <path d="M3 18c2 0 3-2 6-2s4 2 6 2 3-2 6-2" />
  </Icon>
);
const IconTarget = (p) => (
  <Icon {...p}>
    <circle cx="12" cy="12" r="9" />
    <circle cx="12" cy="12" r="5" />
    <circle cx="12" cy="12" r="1.5" fill="currentColor" />
    <path d="M12 1v3M12 20v3M1 12h3M20 12h3" />
  </Icon>
);
const IconReport = (p) => (
  <Icon {...p}>
    <path d="M6 3h9l4 4v14H6V3Z" />
    <path d="M14 3v5h5" />
    <path d="M9 13h6M9 17h6M9 9h2" />
  </Icon>
);
const IconCycle = (p) => (
  <Icon {...p}>
    <path d="M21 12a9 9 0 0 1-15.3 6.4" />
    <path d="M3 12A9 9 0 0 1 18.3 5.6" />
    <path d="m18 3 .3 3-3 .3M6 21l-.3-3 3-.3" />
  </Icon>
);
const IconLock = (p) => (
  <Icon {...p}>
    <rect x="4" y="11" width="16" height="10" rx="2" />
    <path d="M8 11V8a4 4 0 0 1 8 0v3" />
  </Icon>
);
const IconArrow = (p) => (
  <Icon {...p}>
    <path d="M5 12h14M13 6l6 6-6 6" />
  </Icon>
);
const IconCheck = (p) => (
  <Icon {...p} sw={2}>
    <path d="m5 12 5 5 9-10" />
  </Icon>
);
const IconBranch = (p) => (
  <Icon {...p}>
    <circle cx="6" cy="5" r="2" />
    <circle cx="6" cy="19" r="2" />
    <circle cx="18" cy="12" r="2" />
    <path d="M6 7v10M8 12h8M14 12c0-3-4-3-4-7" />
  </Icon>
);
const IconSpark = (p) => (
  <Icon {...p}>
    <path d="M12 3v6M12 15v6M3 12h6M15 12h6M6 6l4 4M14 14l4 4M18 6l-4 4M10 14l-4 4" />
  </Icon>
);

Object.assign(window, {
  IconShield, IconRadar, IconBrain, IconBug, IconCloud, IconCode, IconUsers,
  IconNetwork, IconMobile, IconApi, IconChip, IconKey, IconWaves, IconTarget,
  IconReport, IconCycle, IconLock, IconArrow, IconCheck, IconBranch, IconSpark,
});
