/* Poise UI kit - icon set.
   Lucide-style stroke icons (24×24, 2px, rounded caps) - the documented
   web stand-in for SF Symbols. Monochrome, currentColor. */

const S = ({ children, size = 24, sw = 2, style }) => (
  <svg width={size} height={size} viewBox="0 0 24 24" fill="none" stroke="currentColor"
    strokeWidth={sw} strokeLinecap="round" strokeLinejoin="round" style={style} aria-hidden="true">
    {children}
  </svg>
);

const IconActivity = (p) => <S {...p}><path d="M3 12h4l3 8 4-16 3 8h4"></path></S>;
const IconTrend = (p) => <S {...p}><polyline points="3 17 9 11 13 15 21 7"></polyline><polyline points="15 7 21 7 21 13"></polyline></S>;
const IconPlay = (p) => <S {...p}><circle cx="12" cy="12" r="9"></circle><polygon points="10 8.5 16 12 10 15.5 10 8.5" fill="currentColor" stroke="none"></polygon></S>;
const IconSettings = (p) => <S {...p}><circle cx="12" cy="12" r="3"></circle><path d="M19.4 15a1.65 1.65 0 0 0 .33 1.82l.06.06a2 2 0 1 1-2.83 2.83l-.06-.06a1.65 1.65 0 0 0-1.82-.33 1.65 1.65 0 0 0-1 1.51V21a2 2 0 0 1-4 0v-.09A1.65 1.65 0 0 0 9 19.4a1.65 1.65 0 0 0-1.82.33l-.06.06a2 2 0 1 1-2.83-2.83l.06-.06a1.65 1.65 0 0 0 .33-1.82 1.65 1.65 0 0 0-1.51-1H3a2 2 0 0 1 0-4h.09A1.65 1.65 0 0 0 4.6 9a1.65 1.65 0 0 0-.33-1.82l-.06-.06a2 2 0 1 1 2.83-2.83l.06.06a1.65 1.65 0 0 0 1.82.33H9a1.65 1.65 0 0 0 1-1.51V3a2 2 0 0 1 4 0v.09a1.65 1.65 0 0 0 1 1.51 1.65 1.65 0 0 0 1.82-.33l.06-.06a2 2 0 1 1 2.83 2.83l-.06.06a1.65 1.65 0 0 0-.33 1.82V9a1.65 1.65 0 0 0 1.51 1H21a2 2 0 0 1 0 4h-.09a1.65 1.65 0 0 0-1.51 1z"></path></S>;
const IconBell = (p) => <S {...p}><path d="M6 8a6 6 0 0 1 12 0c0 7 3 9 3 9H3s3-2 3-9"></path><path d="M10.3 21a1.94 1.94 0 0 0 3.4 0"></path></S>;
const IconChevron = (p) => <S {...p}><polyline points="9 18 15 12 9 6"></polyline></S>;
const IconChevronDown = (p) => <S {...p}><polyline points="6 9 12 15 18 9"></polyline></S>;
const IconPause = (p) => <S {...p}><line x1="9" y1="5" x2="9" y2="19"></line><line x1="15" y1="5" x2="15" y2="19"></line></S>;
const IconStop = (p) => <S {...p}><rect x="6" y="6" width="12" height="12" rx="2"></rect></S>;
const IconCheck = (p) => <S {...p}><polyline points="20 6 9 17 4 12"></polyline></S>;
const IconClose = (p) => <S {...p}><line x1="6" y1="6" x2="18" y2="18"></line><line x1="18" y1="6" x2="6" y2="18"></line></S>;
const IconUser = (p) => <S {...p}><circle cx="12" cy="8" r="4"></circle><path d="M4 21c0-4 4-6 8-6s8 2 8 6"></path></S>;
const IconBluetooth = (p) => <S {...p}><path d="M6.5 6.5 17.5 17.5 12 23 12 1 17.5 6.5 6.5 17.5"></path></S>;
const IconHaptic = (p) => <S {...p}><rect x="7" y="3" width="10" height="18" rx="2"></rect><line x1="12" y1="17" x2="12" y2="17.01"></line></S>;
const IconSpeaker = (p) => <S {...p}><polygon points="11 5 6 9 2 9 2 15 6 15 11 19 11 5"></polygon><path d="M15.5 8.5a5 5 0 0 1 0 7"></path><path d="M18.5 5.5a9 9 0 0 1 0 13"></path></S>;
const IconNeck = (p) => <S {...p}><path d="M12 3a3 3 0 0 1 3 3c0 2-2 3-2 5"></path><path d="M13 14H8a4 4 0 0 0-4 4v3h16v-3a4 4 0 0 0-3-3.87"></path></S>;
const IconClock = (p) => <S {...p}><circle cx="12" cy="12" r="9"></circle><polyline points="12 7 12 12 15 14"></polyline></S>;
const IconFlame = (p) => <S {...p}><path d="M12 3c1 3 4 4 4 8a4 4 0 0 1-8 0c0-1 .5-2 1-2.5C9 10 10 8 12 3z"></path><path d="M8 14a4 4 0 0 0 8 0"></path></S>;
const IconMoon = (p) => <S {...p}><path d="M21 12.8A9 9 0 1 1 11.2 3a7 7 0 0 0 9.8 9.8z"></path></S>;
const IconShield = (p) => <S {...p}><path d="M12 3l7 3v5c0 4.5-3 7.5-7 9-4-1.5-7-4.5-7-9V6z"></path></S>;
const IconAirpods = (p) => <S {...p}><path d="M8 4v9a2 2 0 0 1-2 2 2 2 0 0 1-2-2V9a4 4 0 0 1 4-4z"></path><path d="M16 4v9a2 2 0 0 0 2 2 2 2 0 0 0 2-2V9a4 4 0 0 0-4-4z"></path></S>;

Object.assign(window, {
  IconActivity, IconTrend, IconPlay, IconSettings, IconBell, IconChevron, IconChevronDown,
  IconPause, IconStop, IconCheck, IconClose, IconUser, IconBluetooth, IconHaptic, IconSpeaker,
  IconNeck, IconClock, IconFlame, IconMoon, IconShield, IconAirpods,
});
