/* Inline SVG icon set.
 *
 * No icon library — each icon is a hand-tuned 24×24 stroke SVG.
 * Stroke 1.6 reads cleaner than the lucide default 2 at small sizes.
 * Currents-color so a single icon adapts to context (button text, pill, etc.).
 */
(function () {
  const stroke = {
    width: 1.6,
    linecap: "round",
    linejoin: "round",
    fill: "none",
    stroke: "currentColor",
  };

  const svg = (paths, viewBox = "0 0 24 24") => (size = 20) => (
    <svg
      width={size}
      height={size}
      viewBox={viewBox}
      aria-hidden="true"
      focusable="false"
      style={{ display: "block" }}
    >
      <g
        fill={stroke.fill}
        stroke={stroke.stroke}
        strokeWidth={stroke.width}
        strokeLinecap={stroke.linecap}
        strokeLinejoin={stroke.linejoin}
      >
        {paths}
      </g>
    </svg>
  );

  const Icons = {
    member: svg(
      <>
        <circle cx="12" cy="8" r="3.5" />
        <path d="M5 19.5c1.6-3.4 4.2-5 7-5s5.4 1.6 7 5" />
      </>
    ),
    class: svg(
      <>
        <path d="M3 12h2l1.5-5h11L19 12h2" />
        <path d="M3 12v5h18v-5" />
        <path d="M7 17v2M17 17v2" />
      </>
    ),
    note: svg(
      <>
        <circle cx="12" cy="12" r="9" strokeDasharray="2 3" />
        <path d="M9 12h6M12 9v6" />
      </>
    ),
    bell: svg(
      <>
        <path d="M6 16V11a6 6 0 1 1 12 0v5l1.5 2H4.5L6 16Z" />
        <path d="M10 20a2 2 0 0 0 4 0" />
      </>
    ),
    search: svg(
      <>
        <circle cx="11" cy="11" r="6.5" />
        <path d="m20 20-3.5-3.5" />
      </>
    ),
    home: svg(
      <>
        <path d="M4 11 12 4l8 7v9h-5v-6h-6v6H4v-9Z" />
      </>
    ),
    book: svg(
      <>
        <path d="M5 4h12a2 2 0 0 1 2 2v14H7a2 2 0 0 1-2-2V4Z" />
        <path d="M5 18h14" />
      </>
    ),
    calendar: svg(
      <>
        <rect x="4" y="5" width="16" height="15" rx="2" />
        <path d="M4 10h16M9 3v4M15 3v4" />
      </>
    ),
    dumbbell: svg(
      <>
        <path d="M3 10v4M6 7v10M18 7v10M21 10v4M6 12h12" />
      </>
    ),
    mic: svg(
      <>
        <rect x="9" y="3" width="6" height="11" rx="3" />
        <path d="M5 11a7 7 0 0 0 14 0M12 18v3" />
      </>
    ),
    stop: svg(<rect x="6" y="6" width="12" height="12" rx="2" />),
    pin: svg(
      <>
        <path d="M12 3v6l3 4H9l3-4Z" />
        <path d="M12 13v8" />
      </>
    ),
    flag: svg(
      <>
        <path d="M5 3v18M5 4h11l-2 4 2 4H5" />
      </>
    ),
    check: svg(<path d="m5 12 4 4 10-10" />),
    x: svg(<path d="M6 6l12 12M18 6 6 18" />),
    plus: svg(<path d="M12 5v14M5 12h14" />),
    chevronRight: svg(<path d="m9 6 6 6-6 6" />),
    chevronDown: svg(<path d="m6 9 6 6 6-6" />),
    settings: svg(
      <>
        <circle cx="12" cy="12" r="3" />
        <path d="M12 3v3M12 18v3M3 12h3M18 12h3M5.5 5.5l2 2M16.5 16.5l2 2M5.5 18.5l2-2M16.5 7.5l2-2" />
      </>
    ),
    edit: svg(
      <>
        <path d="M5 19h4l10-10-4-4L5 15v4Z" />
      </>
    ),
    trash: svg(
      <>
        <path d="M5 7h14M9 7V4h6v3M7 7l1 13h8l1-13M10 11v6M14 11v6" />
      </>
    ),
    play: svg(<path d="M7 4v16l13-8Z" />),
    arrowDown: svg(<path d="M12 5v14M6 13l6 6 6-6" />),
  };

  window.CC = window.CC || {};
  window.CC.Icons = Icons;
})();
