/* Thin-line custom icons — Phosphor-flavored, drawn inline */
const Icon = ({ d, children, size = 20, stroke = 1.5, className = "" }) => (
  <svg
    xmlns="http://www.w3.org/2000/svg"
    width={size}
    height={size}
    viewBox="0 0 24 24"
    fill="none"
    stroke="currentColor"
    strokeWidth={stroke}
    strokeLinecap="round"
    strokeLinejoin="round"
    className={className}
  >
    {d ? <path d={d} /> : children}
  </svg>
);

const IArrow = (p) => (
  <Icon {...p}>
    <path d="M5 12h14" />
    <path d="M13 6l6 6-6 6" />
  </Icon>
);
const IArrowDown = (p) => (
  <Icon {...p}>
    <path d="M12 5v14" />
    <path d="M6 13l6 6 6-6" />
  </Icon>
);
const ICheck = (p) => (
  <Icon {...p}>
    <path d="M5 12.5l4.5 4.5L19 7" />
  </Icon>
);
const IClose = (p) => (
  <Icon {...p}>
    <path d="M6 6l12 12" />
    <path d="M18 6L6 18" />
  </Icon>
);
const IShield = (p) => (
  <Icon {...p}>
    <path d="M12 3l8 3v6c0 5-3.5 8-8 9-4.5-1-8-4-8-9V6l8-3z" />
    <path d="M9 12l2 2 4-4" />
  </Icon>
);
const IScale = (p) => (
  <Icon {...p}>
    <path d="M12 3v18" />
    <path d="M6 7h12" />
    <path d="M3 13l3-6 3 6a3 3 0 11-6 0z" />
    <path d="M15 13l3-6 3 6a3 3 0 11-6 0z" />
  </Icon>
);
const ILeaf = (p) => (
  <Icon {...p}>
    <path d="M5 19c0-9 7-14 16-14 0 9-5 16-14 16-1 0-2-.5-2-2z" />
    <path d="M5 19l8-8" />
  </Icon>
);
const ICalc = (p) => (
  <Icon {...p}>
    <rect x="5" y="3" width="14" height="18" rx="2" />
    <path d="M8 7h8" />
    <path d="M8 12h.01M12 12h.01M16 12h.01M8 16h.01M12 16h.01M16 16h.01" />
  </Icon>
);
const IRoute = (p) => (
  <Icon {...p}>
    <circle cx="6" cy="6" r="2.5" />
    <circle cx="18" cy="18" r="2.5" />
    <path d="M8.5 6H15a3 3 0 010 6H9a3 3 0 000 6h6.5" />
  </Icon>
);
const IPin = (p) => (
  <Icon {...p}>
    <path d="M12 21s7-7.5 7-12a7 7 0 10-14 0c0 4.5 7 12 7 12z" />
    <circle cx="12" cy="9" r="2.5" />
  </Icon>
);
const IPlane = (p) => (
  <Icon {...p}>
    <path d="M3 13l8-2 4-7 2 1-2 7 6 4-1 2-7-2-3 7-2-1 1-7-7-2 1-1z" />
  </Icon>
);
const IKey = (p) => (
  <Icon {...p}>
    <circle cx="8" cy="14" r="4" />
    <path d="M11 11l9-9" />
    <path d="M17 5l3 3" />
  </Icon>
);
const IChat = (p) => (
  <Icon {...p}>
    <path d="M4 6h16v10H8l-4 4V6z" />
    <path d="M8 11h8M8 8h6" />
  </Icon>
);
const IHeart = (p) => (
  <Icon {...p}>
    <path d="M12 20s-7-4.5-7-10a4 4 0 017-2.6A4 4 0 0119 10c0 5.5-7 10-7 10z" />
  </Icon>
);
const IDoc = (p) => (
  <Icon {...p}>
    <path d="M7 3h7l5 5v13H7z" />
    <path d="M14 3v5h5" />
    <path d="M10 13h6M10 17h6" />
  </Icon>
);
const IClock = (p) => (
  <Icon {...p}>
    <circle cx="12" cy="12" r="9" />
    <path d="M12 7v5l3 2" />
  </Icon>
);
const IMail = (p) => (
  <Icon {...p}>
    <rect x="3" y="5" width="18" height="14" rx="2" />
    <path d="M3 7l9 7 9-7" />
  </Icon>
);
const IUser = (p) => (
  <Icon {...p}>
    <circle cx="12" cy="8" r="4" />
    <path d="M4 21c0-4 4-7 8-7s8 3 8 7" />
  </Icon>
);
const IStar = (p) => (
  <Icon {...p}>
    <path d="M12 3l2.5 6 6.5.5-5 4.5 1.5 6.5L12 17l-5.5 3.5L8 14 3 9.5 9.5 9z" />
  </Icon>
);
const IDot = (p) => (
  <Icon {...p}>
    <circle cx="12" cy="12" r="3" fill="currentColor" stroke="none" />
  </Icon>
);
const ISpark = (p) => (
  <Icon {...p}>
    <path d="M12 3v4M12 17v4M3 12h4M17 12h4" />
    <path d="M6 6l2.5 2.5M15.5 15.5L18 18M6 18l2.5-2.5M15.5 8.5L18 6" />
  </Icon>
);
const IMenu = (p) => (
  <Icon {...p}>
    <path d="M4 7h16M4 12h16M4 17h16" />
  </Icon>
);
const IGlobe = (p) => (
  <Icon {...p}>
    <circle cx="12" cy="12" r="9" />
    <path d="M3 12h18" />
    <path d="M12 3c3 4 3 14 0 18M12 3c-3 4-3 14 0 18" />
  </Icon>
);

Object.assign(window, {
  Icon, IArrow, IArrowDown, ICheck, IClose, IShield, IScale, ILeaf,
  ICalc, IRoute, IPin, IPlane, IKey, IChat, IHeart, IDoc, IClock,
  IMail, IUser, IStar, IDot, ISpark, IMenu, IGlobe,
});
