// Icon primitives — stroke-based, 24x24 viewBox, currentColor
const Icon = ({ children, size = 22 }) => (
  <svg viewBox="0 0 24 24" width={size} height={size} fill="none"
       stroke="currentColor" strokeWidth="1.75" strokeLinecap="round" strokeLinejoin="round"
       aria-hidden="true">{children}</svg>
);

const IconHome = (p) => (
  <Icon {...p}>
    <path d="M4 10.5 12 4l8 6.5V20a1 1 0 0 1-1 1h-4v-6h-6v6H5a1 1 0 0 1-1-1z"/>
  </Icon>
);

const IconReflect = (p) => (
  <Icon {...p}>
    <path d="M4 6h16M4 12h10M4 18h16"/>
    <circle cx="18" cy="12" r="1.6" fill="currentColor" stroke="none"/>
  </Icon>
);

const IconJourney = (p) => (
  <Icon {...p}>
    <path d="M4 19V5M4 19h16M8 15l3-4 3 2 4-6"/>
  </Icon>
);

const IconPlay = ({ size = 28 }) => (
  <svg viewBox="0 0 24 24" width={size} height={size} fill="currentColor" aria-hidden="true">
    <path d="M7 5.5v13a1 1 0 0 0 1.5.86l11-6.5a1 1 0 0 0 0-1.72l-11-6.5A1 1 0 0 0 7 5.5z"/>
  </svg>
);
const IconPause = ({ size = 28 }) => (
  <svg viewBox="0 0 24 24" width={size} height={size} fill="currentColor" aria-hidden="true">
    <rect x="6" y="5" width="4" height="14" rx="1"/>
    <rect x="14" y="5" width="4" height="14" rx="1"/>
  </svg>
);

const IconStar = ({ filled, size = 32 }) => (
  <svg viewBox="0 0 24 24" width={size} height={size}
       fill={filled ? "currentColor" : "none"}
       stroke="currentColor" strokeWidth="1.5" strokeLinejoin="round" aria-hidden="true">
    <path d="M12 3.5 14.7 9l6 .9-4.35 4.24 1.03 5.96L12 17.3l-5.38 2.8L7.65 14.14 3.3 9.9l6-.9z"/>
  </svg>
);

const IconCheck = ({ size = 36 }) => (
  <svg viewBox="0 0 24 24" width={size} height={size} fill="none"
       stroke="currentColor" strokeWidth="2.25" strokeLinecap="round" strokeLinejoin="round" aria-hidden="true">
    <path d="M4 12.5 10 18 20 6"/>
  </svg>
);

const IconArrow = ({ size = 14 }) => (
  <svg viewBox="0 0 24 24" width={size} height={size} fill="none"
       stroke="currentColor" strokeWidth="2" strokeLinecap="round" strokeLinejoin="round" aria-hidden="true">
    <path d="M5 12h14M13 6l6 6-6 6"/>
  </svg>
);

Object.assign(window, {
  IconHome, IconReflect, IconJourney, IconPlay, IconPause, IconStar, IconCheck, IconArrow
});
