/* ================================================================
   Icons — OEM landing
   ================================================================ */
const Ico = {
  /* ---------- UI ---------- */
  Check: (p) => (
    <svg {...p} viewBox="0 0 24 24" fill="none" stroke="currentColor" strokeWidth="2.4" strokeLinecap="round" strokeLinejoin="round">
      <polyline points="20 6 9 17 4 12" />
    </svg>
  ),
  ArrowRight: (p) => (
    <svg {...p} viewBox="0 0 24 24" fill="none" stroke="currentColor" strokeWidth="2.4" strokeLinecap="round" strokeLinejoin="round">
      <line x1="5" y1="12" x2="19" y2="12" />
      <polyline points="12 5 19 12 12 19" />
    </svg>
  ),
  ArrowLeft: (p) => (
    <svg {...p} viewBox="0 0 24 24" fill="none" stroke="currentColor" strokeWidth="2.4" strokeLinecap="round" strokeLinejoin="round">
      <line x1="19" y1="12" x2="5" y2="12" />
      <polyline points="12 19 5 12 12 5" />
    </svg>
  ),
  ChevDown: (p) => (
    <svg {...p} viewBox="0 0 24 24" fill="none" stroke="currentColor" strokeWidth="2.4" strokeLinecap="round" strokeLinejoin="round">
      <polyline points="6 9 12 15 18 9" />
    </svg>
  ),
  Menu: (p) => (
    <svg {...p} viewBox="0 0 24 24" fill="none" stroke="currentColor" strokeWidth="2" strokeLinecap="round">
      <line x1="3" y1="7" x2="21" y2="7" />
      <line x1="3" y1="12" x2="21" y2="12" />
      <line x1="3" y1="17" x2="21" y2="17" />
    </svg>
  ),
  X: (p) => (
    <svg {...p} viewBox="0 0 24 24" fill="none" stroke="currentColor" strokeWidth="2.4" strokeLinecap="round">
      <line x1="18" y1="6" x2="6" y2="18" />
      <line x1="6" y1="6" x2="18" y2="18" />
    </svg>
  ),
  Phone: (p) => (
    <svg {...p} viewBox="0 0 24 24" fill="none" stroke="currentColor" strokeWidth="2" strokeLinecap="round" strokeLinejoin="round">
      <path d="M22 16.92v3a2 2 0 0 1-2.18 2 19.79 19.79 0 0 1-8.63-3.07 19.5 19.5 0 0 1-6-6 19.79 19.79 0 0 1-3.07-8.67A2 2 0 0 1 4.11 2h3a2 2 0 0 1 2 1.72c.13.96.36 1.9.7 2.81a2 2 0 0 1-.45 2.11L8.09 9.91a16 16 0 0 0 6 6l1.27-1.27a2 2 0 0 1 2.11-.45c.91.34 1.85.57 2.81.7A2 2 0 0 1 22 16.92z" />
    </svg>
  ),
  WA: (p) => (
    <svg {...p} viewBox="0 0 24 24" fill="currentColor">
      <path d="M.057 24l1.687-6.163a11.867 11.867 0 0 1-1.587-5.946C.157 5.335 5.492 0 12.05 0a11.817 11.817 0 0 1 8.413 3.488 11.824 11.824 0 0 1 3.48 8.414c-.003 6.557-5.338 11.892-11.893 11.892a11.9 11.9 0 0 1-5.688-1.448L.057 24zm6.597-3.807c1.676.995 3.276 1.591 5.392 1.592 5.448 0 9.886-4.434 9.889-9.885.002-5.462-4.415-9.89-9.881-9.892-5.452 0-9.887 4.434-9.889 9.884-.001 2.225.651 3.891 1.746 5.634l-.999 3.648 3.742-.981zm11.387-5.464c-.074-.124-.272-.198-.57-.347-.297-.149-1.758-.868-2.031-.967-.272-.099-.47-.149-.669.149-.198.297-.768.967-.941 1.165-.173.198-.347.223-.644.074-.297-.149-1.255-.462-2.39-1.475-.883-.788-1.48-1.761-1.653-2.059-.173-.297-.018-.458.13-.606.134-.133.297-.347.446-.521.151-.172.2-.296.3-.495.099-.198.05-.372-.025-.521-.075-.148-.669-1.611-.916-2.206-.242-.579-.487-.501-.669-.51l-.57-.01c-.198 0-.52.074-.792.372s-1.04 1.016-1.04 2.479 1.065 2.876 1.213 3.074c.149.198 2.095 3.2 5.076 4.487.71.307 1.263.49 1.694.628.712.226 1.36.194 1.872.118.571-.085 1.758-.719 2.006-1.413.248-.694.248-1.29.173-1.414z" />
    </svg>
  ),
  TG: (p) => (
    <svg {...p} viewBox="0 0 24 24" fill="currentColor">
      <path d="M11.944 0A12 12 0 0 0 0 12a12 12 0 0 0 12 12 12 12 0 0 0 12-12A12 12 0 0 0 12 0a12 12 0 0 0-.056 0zm4.962 7.224c.1-.002.321.023.465.14a.506.506 0 0 1 .171.325c.016.093.036.306.02.472-.18 1.898-.962 6.502-1.36 8.627-.168.9-.499 1.201-.82 1.23-.696.065-1.225-.46-1.9-.902-1.056-.693-1.653-1.124-2.678-1.8-1.185-.78-.417-1.21.258-1.91.177-.184 3.247-2.977 3.307-3.23.007-.032.014-.15-.056-.212s-.174-.041-.249-.024c-.106.024-1.793 1.14-5.061 3.345-.48.33-.913.49-1.302.48-.428-.008-1.252-.241-1.865-.44-.752-.245-1.349-.374-1.297-.789.027-.216.325-.437.893-.663 3.498-1.524 5.83-2.529 6.998-3.014 3.332-1.386 4.025-1.627 4.476-1.635z" />
    </svg>
  ),
  IG: (p) => (
    <svg {...p} viewBox="0 0 24 24" fill="none" stroke="currentColor" strokeWidth="2">
      <rect x="2" y="2" width="20" height="20" rx="5" />
      <path d="M16 11.37A4 4 0 1 1 12.63 8 4 4 0 0 1 16 11.37z" />
      <line x1="17.5" y1="6.5" x2="17.51" y2="6.5" />
    </svg>
  ),

  /* ---------- Logo mark — needle + thread (sewing) ---------- */
  LogoMark: (p) => (
    <svg {...p} viewBox="0 0 24 24" fill="none" stroke="currentColor" strokeWidth="2" strokeLinecap="round" strokeLinejoin="round">
      <path d="M4 20L18 6" />
      <circle cx="19" cy="5" r="1.4" fill="currentColor" />
      <path d="M16 8c2.2 1 4 3 4 5" />
      <path d="M8 16c-2.2-1-4-3-4-5" />
      <path d="M5 19l-1.5 1.5" />
    </svg>
  ),

  /* ---------- Hero badges ---------- */
  Factory: (p) => (
    <svg {...p} viewBox="0 0 24 24" fill="none" stroke="currentColor" strokeWidth="1.8" strokeLinecap="round" strokeLinejoin="round">
      <path d="M3 21V10l6 4V10l6 4V7l6-3v17z" />
      <line x1="3" y1="21" x2="21" y2="21" />
      <rect x="7" y="16" width="2" height="3" />
      <rect x="13" y="16" width="2" height="3" />
    </svg>
  ),
  Stack: (p) => (
    <svg {...p} viewBox="0 0 24 24" fill="none" stroke="currentColor" strokeWidth="1.8" strokeLinecap="round" strokeLinejoin="round">
      <polygon points="12 2 2 7 12 12 22 7 12 2" />
      <polyline points="2 17 12 22 22 17" />
      <polyline points="2 12 12 17 22 12" />
    </svg>
  ),
  TagLabel: (p) => (
    <svg {...p} viewBox="0 0 24 24" fill="none" stroke="currentColor" strokeWidth="1.8" strokeLinecap="round" strokeLinejoin="round">
      <path d="M20.59 13.41l-7.17 7.17a2 2 0 0 1-2.83 0L2 12V2h10l8.59 8.59a2 2 0 0 1 0 2.82z" />
      <circle cx="7.5" cy="7.5" r="1.2" fill="currentColor" />
    </svg>
  ),
  SampleCheck: (p) => (
    <svg {...p} viewBox="0 0 24 24" fill="none" stroke="currentColor" strokeWidth="1.8" strokeLinecap="round" strokeLinejoin="round">
      <path d="M12 22s8-4 8-10V5l-8-3-8 3v7c0 6 8 10 8 10z" />
      <polyline points="9 12 11 14 15 10" />
    </svg>
  ),

  /* ---------- AUDIENCE — OEM-themed (5) ---------- */
  /* 1. Своему бренду одежды — clothing tag with logo */
  AudOwnBrand: (p) => (
    <svg {...p} viewBox="0 0 32 32" fill="none" stroke="currentColor" strokeWidth="1.6" strokeLinecap="round" strokeLinejoin="round">
      <path d="M14 3l11 11-9 9-11-11V6a3 3 0 0 1 3-3z" />
      <circle cx="9.5" cy="8.5" r="1.5" />
      <path d="M3 6l3 3" />
      <path d="M14 14l5 5" strokeWidth="1.2" opacity="0.6" />
      <path d="M16 12l5 5" strokeWidth="1.2" opacity="0.6" />
      <text x="15.5" y="18.2" fontSize="5" fontWeight="800" fill="currentColor" stroke="none" textAnchor="middle">B</text>
    </svg>
  ),

  /* 2. Селлерам WB и Ozon — parcel with barcode + check */
  AudMarketplace: (p) => (
    <svg {...p} viewBox="0 0 32 32" fill="none" stroke="currentColor" strokeWidth="1.6" strokeLinecap="round" strokeLinejoin="round">
      <path d="M16 4l11 5v14l-11 5L5 23V9z" />
      <path d="M5 9l11 5 11-5" />
      <path d="M16 14v14" />
      <path d="M9 17v6 M11.5 18v5 M14 17.5v6" strokeWidth="1.3" />
      <circle cx="23" cy="20" r="3.4" fill="currentColor" stroke="none" opacity="0.95" />
      <polyline points="21.4 20 22.6 21.2 24.6 19.2" stroke="#FFFDF7" strokeWidth="1.5" fill="none" />
    </svg>
  ),

  /* 3. Магазинам и сетям — storefront with hanger inside */
  AudStores: (p) => (
    <svg {...p} viewBox="0 0 32 32" fill="none" stroke="currentColor" strokeWidth="1.6" strokeLinecap="round" strokeLinejoin="round">
      <path d="M5 11l2-5h18l2 5" />
      <path d="M5 11v17h22V11" />
      <path d="M5 11h22" />
      <path d="M9 11v4a3 3 0 0 0 6 0v-4" strokeWidth="1.3" />
      <path d="M17 11v4a3 3 0 0 0 6 0v-4" strokeWidth="1.3" />
      {/* hanger inside */}
      <path d="M16 18v1.6" />
      <circle cx="16" cy="20.4" r="0.8" />
      <path d="M16 21.2l-5 3h10z" />
    </svg>
  ),

  /* 4. Дизайнерам и шоурумам — pencil + paper pattern (lekalo) */
  AudPattern: (p) => (
    <svg {...p} viewBox="0 0 32 32" fill="none" stroke="currentColor" strokeWidth="1.6" strokeLinecap="round" strokeLinejoin="round">
      {/* paper */}
      <path d="M6 5h14l4 4v18H6z" />
      {/* pattern shape (curved lekalo) */}
      <path d="M10 12c2 0 4 1 5 3 1-2 3-3 5-3" strokeWidth="1.3" />
      <path d="M9 18c2.5 0 5 1.5 7 4 2-2.5 4.5-4 7-4" strokeWidth="1.3" opacity="0.7" />
      {/* tiny notches */}
      <circle cx="10" cy="12" r="0.6" fill="currentColor" stroke="none" />
      <circle cx="20" cy="12" r="0.6" fill="currentColor" stroke="none" />
      <circle cx="9" cy="18" r="0.6" fill="currentColor" stroke="none" />
      <circle cx="23" cy="18" r="0.6" fill="currentColor" stroke="none" />
      {/* pencil */}
      <path d="M22 22l5 5" strokeWidth="1.6" />
      <path d="M24.5 19.5l3 3-2 2-3-3z" />
    </svg>
  ),

  /* 5. Стартапам — sample piece with sparkle (first batch) */
  AudStartup: (p) => (
    <svg {...p} viewBox="0 0 32 32" fill="none" stroke="currentColor" strokeWidth="1.6" strokeLinecap="round" strokeLinejoin="round">
      {/* t-shirt outline */}
      <path d="M9 8l4-3h6l4 3 3 3-3 3-2-1.5V26H10V12.5L8 14l-3-3z" />
      <path d="M13 5c0 1.7 1.3 3 3 3s3-1.3 3-3" strokeWidth="1.3" />
      {/* sparkle */}
      <path d="M22 5l.7 1.7L24.5 7.5l-1.8.8L22 10l-.7-1.7L19.5 7.5l1.8-.8z" fill="currentColor" stroke="none" />
      <path d="M27 11l.5 1.3L28.7 13l-1.2.5L27 15l-.5-1.5L25.3 13l1.2-.7z" fill="currentColor" stroke="none" opacity="0.7" />
    </svg>
  ),

  /* ---------- Steps icons ---------- */
  StepBrief: (p) => (
    <svg {...p} viewBox="0 0 24 24" fill="none" stroke="currentColor" strokeWidth="1.8" strokeLinecap="round" strokeLinejoin="round">
      <path d="M21 11.5a8.38 8.38 0 0 1-.9 3.8 8.5 8.5 0 0 1-7.6 4.7 8.38 8.38 0 0 1-3.8-.9L3 21l1.9-5.7a8.38 8.38 0 0 1-.9-3.8 8.5 8.5 0 0 1 4.7-7.6 8.38 8.38 0 0 1 3.8-.9h.5a8.48 8.48 0 0 1 8 8v.5z" />
      <circle cx="9" cy="11.5" r="0.7" fill="currentColor" />
      <circle cx="12" cy="11.5" r="0.7" fill="currentColor" />
      <circle cx="15" cy="11.5" r="0.7" fill="currentColor" />
    </svg>
  ),
  StepCalc: (p) => (
    <svg {...p} viewBox="0 0 24 24" fill="none" stroke="currentColor" strokeWidth="1.8" strokeLinecap="round" strokeLinejoin="round">
      <rect x="4" y="3" width="16" height="18" rx="2" />
      <line x1="4" y1="9" x2="20" y2="9" />
      <line x1="8" y1="13" x2="8" y2="13.5" />
      <line x1="12" y1="13" x2="12" y2="13.5" />
      <line x1="16" y1="13" x2="16" y2="13.5" />
      <line x1="8" y1="17" x2="8" y2="17.5" />
      <line x1="12" y1="17" x2="16" y2="17" />
    </svg>
  ),
  StepPattern: (p) => (
    <svg {...p} viewBox="0 0 24 24" fill="none" stroke="currentColor" strokeWidth="1.8" strokeLinecap="round" strokeLinejoin="round">
      <path d="M4 4h12l4 4v12H4z" />
      <path d="M7 10c2 0 4 1 5 3 1-2 3-3 5-3" />
      <circle cx="7" cy="10" r="0.7" fill="currentColor" />
      <circle cx="17" cy="10" r="0.7" fill="currentColor" />
      <path d="M7 16h10" opacity="0.5" />
    </svg>
  ),
  StepContract: (p) => (
    <svg {...p} viewBox="0 0 24 24" fill="none" stroke="currentColor" strokeWidth="1.8" strokeLinecap="round" strokeLinejoin="round">
      <path d="M14 2H6a2 2 0 0 0-2 2v16a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V8z" />
      <polyline points="14 2 14 8 20 8" />
      <path d="M8 14c1 0 2-1 3-1s2 2 3 2 2-1.5 3-1.5" />
      <line x1="8" y1="18" x2="14" y2="18" />
    </svg>
  ),
  StepSewing: (p) => (
    <svg {...p} viewBox="0 0 24 24" fill="none" stroke="currentColor" strokeWidth="1.8" strokeLinecap="round" strokeLinejoin="round">
      <rect x="3" y="9" width="18" height="9" rx="1.5" />
      <path d="M7 9V5h4v4" />
      <line x1="13" y1="13.5" x2="18" y2="13.5" strokeDasharray="1 1.6" />
      <circle cx="9" cy="13.5" r="1.6" />
    </svg>
  ),
  StepPack: (p) => (
    <svg {...p} viewBox="0 0 24 24" fill="none" stroke="currentColor" strokeWidth="1.8" strokeLinecap="round" strokeLinejoin="round">
      <rect x="1" y="6" width="14" height="12" rx="1.5" />
      <polygon points="15 9 19 9 22 12 22 18 15 18" />
      <circle cx="6" cy="20" r="1.8" />
      <circle cx="18" cy="20" r="1.8" />
    </svg>
  ),

  /* ---------- Docs ---------- */
  DocStamp: (p) => (
    <svg {...p} viewBox="0 0 24 24" fill="none" stroke="currentColor" strokeWidth="1.7" strokeLinecap="round" strokeLinejoin="round">
      <path d="M14 2H6a2 2 0 0 0-2 2v16a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V8z" />
      <polyline points="14 2 14 8 20 8" />
      <circle cx="14.5" cy="15.5" r="3" />
      <path d="M14.5 12.5v6 M11.5 15.5h6" />
    </svg>
  ),
  Barcode: (p) => (
    <svg {...p} viewBox="0 0 24 24" fill="none" stroke="currentColor" strokeWidth="1.7" strokeLinecap="round" strokeLinejoin="round">
      <path d="M4 6v12 M7 6v12 M10 6v12 M14 6v12 M17 6v12 M20 6v12" />
      <path d="M3 4h18 M3 20h18" />
    </svg>
  ),
  FabricLeaf: (p) => (
    <svg {...p} viewBox="0 0 24 24" fill="none" stroke="currentColor" strokeWidth="1.7" strokeLinecap="round" strokeLinejoin="round">
      <path d="M20 3c-8 0-14 6-14 14 0 1.6.3 3 .9 4.4" />
      <path d="M20 3c0 8-6 14-14 14" />
      <path d="M14 8c-3 1-5.5 3.5-7 7" />
    </svg>
  ),
  ShieldCheck: (p) => (
    <svg {...p} viewBox="0 0 24 24" fill="none" stroke="currentColor" strokeWidth="1.7" strokeLinecap="round" strokeLinejoin="round">
      <path d="M12 22s8-4 8-10V5l-8-3-8 3v7c0 6 8 10 8 10z" />
      <polyline points="9 12 11 14 15 10" />
    </svg>
  ),

  /* ---------- NDA shield with lock ---------- */
  ShieldLock: (p) => (
    <svg {...p} viewBox="0 0 24 24" fill="none" stroke="currentColor" strokeWidth="1.8" strokeLinecap="round" strokeLinejoin="round">
      <path d="M12 22s8-4 8-10V5l-8-3-8 3v7c0 6 8 10 8 10z" />
      <rect x="9" y="11" width="6" height="5" rx="1" />
      <path d="M10 11V9.5a2 2 0 0 1 4 0V11" />
    </svg>
  ),

  /* ---------- Form / Quiz utilities ---------- */
  Upload: (p) => (
    <svg {...p} viewBox="0 0 24 24" fill="none" stroke="currentColor" strokeWidth="1.8" strokeLinecap="round" strokeLinejoin="round">
      <path d="M21 15v4a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2v-4" />
      <polyline points="17 8 12 3 7 8" />
      <line x1="12" y1="3" x2="12" y2="15" />
    </svg>
  ),
  Link: (p) => (
    <svg {...p} viewBox="0 0 24 24" fill="none" stroke="currentColor" strokeWidth="1.8" strokeLinecap="round" strokeLinejoin="round">
      <path d="M10 13a5 5 0 0 0 7.54.54l3-3a5 5 0 0 0-7.07-7.07l-1.72 1.71" />
      <path d="M14 11a5 5 0 0 0-7.54-.54l-3 3a5 5 0 0 0 7.07 7.07l1.71-1.71" />
    </svg>
  ),
  Sparkles: (p) => (
    <svg {...p} viewBox="0 0 24 24" fill="none" stroke="currentColor" strokeWidth="1.8" strokeLinecap="round" strokeLinejoin="round">
      <path d="M12 3l1.6 4.2L18 9l-4.4 1.8L12 15l-1.6-4.2L6 9l4.4-1.8z" />
      <path d="M19 14l.8 2 2 .8-2 .8-.8 2-.8-2-2-.8 2-.8z" opacity="0.7" />
    </svg>
  ),
  Clock: (p) => (
    <svg {...p} viewBox="0 0 24 24" fill="none" stroke="currentColor" strokeWidth="1.8" strokeLinecap="round" strokeLinejoin="round">
      <circle cx="12" cy="12" r="10" />
      <polyline points="12 6 12 12 16 14" />
    </svg>
  ),

  /* ---------- Quiz category icons ---------- */
  QuizCatBodi: (p) => (
    <svg {...p} viewBox="0 0 24 24" fill="none" stroke="currentColor" strokeWidth="1.7" strokeLinecap="round" strokeLinejoin="round">
      <path d="M8.4 7.1l2.6-1.6 1-.8h0l1 .8 2.6 1.6 1.1 1.9-1.1 1.7-1.4-.5.4 4.8c.1 1.1.1 2.3.1 3.4H9.3c0-1.1 0-2.3.1-3.4l.4-4.8-1.4.5-1.1-1.7z" />
      <path d="M11 4.7c.1.8.8 1.4 1.7 1.4s1.6-.6 1.7-1.4" />
      <path d="M9.5 18.4c.9-1.5 2-2.2 3.2-2.2s2.3.7 3.2 2.2" />
      <circle cx="11.4" cy="17.8" r=".2" fill="currentColor" />
      <circle cx="14" cy="17.8" r=".2" fill="currentColor" />
    </svg>
  ),
  QuizCatSlip: (p) => (
    <svg {...p} viewBox="0 0 24 24" fill="none" stroke="currentColor" strokeWidth="1.7" strokeLinecap="round" strokeLinejoin="round">
      <path d="M8.3 5.2l2.2-.9 2.2.9h0l2.2-.9 2.2.9 1.1 2-1.1 1.6-1.3-.5.5 6.8v2.8h-2.2c0-2.2-.2-3.6-.8-5.4-.6 1.8-.8 3.2-.8 5.4h-2.2v-2.8l.5-6.8-1.3.5-1.1-1.6z" />
      <path d="M12.7 5.2v12.7" />
      <circle cx="13.4" cy="7.1" r=".2" fill="currentColor" />
      <circle cx="13.4" cy="9.1" r=".2" fill="currentColor" />
      <circle cx="13.4" cy="11.1" r=".2" fill="currentColor" />
      <circle cx="13.4" cy="13.1" r=".2" fill="currentColor" />
    </svg>
  ),
  QuizCatKonvert: (p) => (
    <svg {...p} viewBox="0 0 24 24" fill="none" stroke="currentColor" strokeWidth="1.7" strokeLinecap="round" strokeLinejoin="round">
      <path d="M12 4.2a2.4 2.4 0 0 1 2.4 2.4v.2a2.4 2.4 0 0 1-4.8 0v-.2A2.4 2.4 0 0 1 12 4.2z" />
      <path d="M4.8 9.1h14.4a2 2 0 0 1 2 2v6.2a2 2 0 0 1-2 2H4.8a2 2 0 0 1-2-2v-6.2a2 2 0 0 1 2-2z" />
      <path d="M4 10.2l8 5 8-5" />
      <path d="M6.2 17.4l4.1-2.8" opacity="0.75" />
      <path d="M17.8 17.4l-4.1-2.8" opacity="0.75" />
    </svg>
  ),
  QuizCatDress: (p) => (
    <svg {...p} viewBox="0 0 24 24" fill="none" stroke="currentColor" strokeWidth="1.7" strokeLinecap="round" strokeLinejoin="round">
      <path d="M10.3 4.3l1.3-.7h.8l1.3.7.6 2.8-2.3 1.4-2.3-1.4z" />
      <path d="M9.6 9l-1.8 5.5c-.4 1.1.5 2.1 1.6 2.1h5.2c1.1 0 2-.9 1.6-2.1L14.4 9" />
      <path d="M9.9 12.1h4.2" opacity="0.7" />
      <path d="M11.2 13l-.6 2.1" opacity="0.7" />
      <path d="M12.8 13l.6 2.1" opacity="0.7" />
    </svg>
  ),
  QuizCatBagMattress: (p) => (
    <svg {...p} viewBox="0 0 24 24" fill="none" stroke="currentColor" strokeWidth="1.7" strokeLinecap="round" strokeLinejoin="round">
      <rect x="3.5" y="8.6" width="10.3" height="8.7" rx="2.1" />
      <path d="M6 8.6v-1a1.7 1.7 0 0 1 1.7-1.7h1.9a1.7 1.7 0 0 1 1.7 1.7v1" />
      <path d="M4.8 11.6h7.7" opacity="0.7" />
      <rect x="14.7" y="11.2" width="5.8" height="5.3" rx="1.1" />
      <path d="M14.7 13.8h5.8" opacity="0.7" />
    </svg>
  ),
  QuizCatOther: (p) => (
    <svg {...p} viewBox="0 0 24 24" fill="none" stroke="currentColor" strokeWidth="1.7" strokeLinecap="round" strokeLinejoin="round">
      <circle cx="8" cy="13.8" r="2.2" />
      <rect x="11.1" y="8.8" width="5.8" height="5.1" rx="1.2" />
      <path d="M9.6 9.2l-.7.4M10 18l.7-.4" />
      <path d="M6.8 10.8l.3-.8M9.2 16.8l-.3.8" />
      <path d="M15.4 15l-2.4-.5 1.7 1.7" />
      <path d="M6.2 6.2l.6 1.3 1.3.6-1.3.6-.6 1.3-.6-1.3-1.3-.6 1.3-.6z" />
      <path d="M19.2 13.7l.4.9.9.4-.9.4-.4.9-.4-.9-.9-.4.9-.4z" opacity="0.8" />
    </svg>
  ),

  /* ---------- Quiz step icons ---------- */
  QuizItem: (p) => (
    <svg {...p} viewBox="0 0 24 24" fill="none" stroke="currentColor" strokeWidth="1.8" strokeLinecap="round" strokeLinejoin="round">
      <path d="M16 4l3 3v13H5V4z" />
      <line x1="9" y1="9" x2="15" y2="9" />
      <line x1="9" y1="13" x2="15" y2="13" />
      <line x1="9" y1="17" x2="13" y2="17" />
    </svg>
  ),
  QuizQty: (p) => (
    <svg {...p} viewBox="0 0 24 24" fill="none" stroke="currentColor" strokeWidth="1.8" strokeLinecap="round" strokeLinejoin="round">
      <rect x="3" y="8" width="18" height="13" rx="2" />
      <path d="M8 8V5a4 4 0 0 1 8 0v3" />
      <text x="12" y="17" fontSize="6" fontWeight="800" fill="currentColor" stroke="none" textAnchor="middle">×</text>
    </svg>
  ),
  QuizDate: (p) => (
    <svg {...p} viewBox="0 0 24 24" fill="none" stroke="currentColor" strokeWidth="1.8" strokeLinecap="round" strokeLinejoin="round">
      <rect x="3" y="5" width="18" height="16" rx="2" />
      <line x1="3" y1="10" x2="21" y2="10" />
      <line x1="8" y1="3" x2="8" y2="7" />
      <line x1="16" y1="3" x2="16" y2="7" />
    </svg>
  ),
  QuizPerson: (p) => (
    <svg {...p} viewBox="0 0 24 24" fill="none" stroke="currentColor" strokeWidth="1.8" strokeLinecap="round" strokeLinejoin="round">
      <path d="M20 21v-2a4 4 0 0 0-4-4H8a4 4 0 0 0-4 4v2" />
      <circle cx="12" cy="7" r="4" />
    </svg>
  ),
  Play: (p) => (
    <svg {...p} viewBox="0 0 24 24" fill="currentColor">
      <path d="M8 5v14l11-7z" />
    </svg>
  ),
};
