/* Clade & class sigils — simple geometric heraldic glyphs (not figurative). */

const Sigil = ({ id, size = 30 }) => {
  const s = size;
  const stroke = "currentColor";
  const sw = 1.4;
  const common = { width: s, height: s, viewBox: "0 0 32 32", fill: "none", stroke, strokeWidth: sw, strokeLinecap: "round", strokeLinejoin: "round" };
  switch (id) {
    case "canidae": // pack triangle (three points)
      return <svg {...common}><path d="M16 5 L27 26 L5 26 Z" /><circle cx="16" cy="18" r="2.2" /><path d="M11 21 L8 26 M21 21 L24 26" /></svg>;
    case "felidae": // crescent + claw
      return <svg {...common}><path d="M22 6 a10 10 0 1 0 4 14 a8 8 0 1 1 -4 -14 Z" /><path d="M9 22 L13 18 M13 22 L16 19" /></svg>;
    case "mustelidae": // sinuous "S"
      return <svg {...common}><path d="M8 7 q6 0 6 6 t6 6 q6 0 6 6" /><circle cx="6" cy="7" r="1.2" fill={stroke} /><circle cx="26" cy="25" r="1.2" fill={stroke} /></svg>;
    case "ursidae": // heavy paw
      return <svg {...common}><circle cx="16" cy="20" r="6" /><circle cx="9" cy="13" r="2.2" /><circle cx="16" cy="9" r="2.2" /><circle cx="23" cy="13" r="2.2" /></svg>;
    case "cervidae": // antler crown
      return <svg {...common}><path d="M16 28 V16" /><path d="M16 16 L9 9 M9 9 L6 11 M9 9 L9 5" /><path d="M16 16 L23 9 M23 9 L26 11 M23 9 L23 5" /><path d="M16 16 L13 12 M16 16 L19 12" /></svg>;
    case "bovidae": // horns
      return <svg {...common}><path d="M16 22 V14" /><path d="M16 14 q-8 -2 -10 -8 q4 0 7 4 q1 2 3 4" /><path d="M16 14 q8 -2 10 -8 q-4 0 -7 4 q-1 2 -3 4" /><circle cx="16" cy="24" r="3" /></svg>;
    case "leporidae": // long ears
      return <svg {...common}><ellipse cx="12" cy="10" rx="2" ry="6" /><ellipse cx="20" cy="10" rx="2" ry="6" /><circle cx="16" cy="22" r="5" /><circle cx="14" cy="21" r="0.6" fill={stroke} /><circle cx="18" cy="21" r="0.6" fill={stroke} /></svg>;
    default:
      return <svg {...common}><circle cx="16" cy="16" r="9" /></svg>;
  }
};

window.Sigil = Sigil;
