// Minimal line-icon set — 16x16 stroke icons in a formal, hairline style.
// All icons use currentColor and 1.25 stroke.

const Ico = ({ children, size = 16, style }) => (
  <svg
    width={size}
    height={size}
    viewBox="0 0 16 16"
    fill="none"
    stroke="currentColor"
    strokeWidth="1.25"
    strokeLinecap="round"
    strokeLinejoin="round"
    style={{ display: 'inline-block', verticalAlign: 'middle', ...style }}
  >
    {children}
  </svg>
);

const I = {
  // navigation
  chevronDown: (p) => <Ico {...p}><path d="M4 6l4 4 4-4"/></Ico>,
  chevronRight: (p) => <Ico {...p}><path d="M6 4l4 4-4 4"/></Ico>,
  chevronLeft: (p) => <Ico {...p}><path d="M10 4L6 8l4 4"/></Ico>,
  close: (p) => <Ico {...p}><path d="M4 4l8 8M12 4l-8 8"/></Ico>,
  search: (p) => <Ico {...p}><circle cx="7" cy="7" r="4"/><path d="M13 13l-3-3"/></Ico>,
  plus: (p) => <Ico {...p}><path d="M8 3v10M3 8h10"/></Ico>,
  minus: (p) => <Ico {...p}><path d="M3 8h10"/></Ico>,
  check: (p) => <Ico {...p}><path d="M3 8l3 3 7-7"/></Ico>,
  more: (p) => <Ico {...p}><circle cx="3" cy="8" r="0.8" fill="currentColor"/><circle cx="8" cy="8" r="0.8" fill="currentColor"/><circle cx="13" cy="8" r="0.8" fill="currentColor"/></Ico>,

  // tools (left rail)
  pointer: (p) => <Ico {...p}><path d="M3 2l4 11 2-4 4-2z"/></Ico>,
  pen: (p) => <Ico {...p}><path d="M2 14l3-1 8-8-2-2-8 8-1 3z"/><path d="M9 4l2 2"/></Ico>,
  shape: (p) => <Ico {...p}><rect x="2" y="2" width="7" height="7"/><circle cx="11" cy="11" r="3"/></Ico>,
  text: (p) => <Ico {...p}><path d="M3 3h10M8 3v10M6 13h4"/></Ico>,
  image: (p) => <Ico {...p}><rect x="2" y="2" width="12" height="12"/><circle cx="6" cy="6" r="1.2"/><path d="M2 11l3-3 4 4 2-2 3 3"/></Ico>,
  brush: (p) => <Ico {...p}><path d="M11 2l3 3-6 6-3-3z"/><path d="M5 8l-3 6 6-3"/></Ico>,
  eyedropper: (p) => <Ico {...p}><path d="M10 2l4 4-2 2-1-1-5 5-3 1 1-3 5-5-1-1z"/></Ico>,
  hand: (p) => <Ico {...p}><path d="M5 8V4a1 1 0 012 0v4M7 8V3a1 1 0 012 0v5M9 8V4a1 1 0 012 0v5M11 8v-2a1 1 0 012 0v6a4 4 0 01-4 4H7a4 4 0 01-4-4V9a1 1 0 012 0v1"/></Ico>,
  zoom: (p) => <Ico {...p}><circle cx="7" cy="7" r="4"/><path d="M13 13l-3-3M5 7h4M7 5v4"/></Ico>,
  crop: (p) => <Ico {...p}><path d="M4 1v11h11M1 4h11v11"/></Ico>,
  frame: (p) => <Ico {...p}><path d="M4 1v14M12 1v14M1 4h14M1 12h14"/></Ico>,

  // panels
  layers: (p) => <Ico {...p}><path d="M8 2l6 3-6 3-6-3zM2 8l6 3 6-3M2 11l6 3 6-3"/></Ico>,
  swatch: (p) => <Ico {...p}><rect x="2" y="2" width="5" height="5"/><rect x="9" y="2" width="5" height="5"/><rect x="2" y="9" width="5" height="5"/><rect x="9" y="9" width="5" height="5"/></Ico>,
  sparkle: (p) => <Ico {...p}><path d="M8 2l1.5 3.5L13 7l-3.5 1.5L8 12l-1.5-3.5L3 7l3.5-1.5z"/></Ico>,
  align: (p) => <Ico {...p}><path d="M2 3h12M2 8h8M2 13h12"/></Ico>,
  grid: (p) => <Ico {...p}><path d="M2 6h12M2 10h12M6 2v12M10 2v12"/></Ico>,
  lock: (p) => <Ico {...p}><rect x="3" y="7" width="10" height="7"/><path d="M5 7V5a3 3 0 016 0v2"/></Ico>,
  unlock: (p) => <Ico {...p}><rect x="3" y="7" width="10" height="7"/><path d="M5 7V5a3 3 0 015.5-1.5"/></Ico>,
  eye: (p) => <Ico {...p}><path d="M1 8s2.5-5 7-5 7 5 7 5-2.5 5-7 5-7-5-7-5z"/><circle cx="8" cy="8" r="2"/></Ico>,
  eyeOff: (p) => <Ico {...p}><path d="M2 2l12 12M6 6a2 2 0 002.8 2.8M1 8s2.5-5 7-5c1.3 0 2.5.3 3.5.9M15 8s-1 2-3 3.5"/></Ico>,

  // top bar
  folder: (p) => <Ico {...p}><path d="M1 3h4l2 2h8v9H1z"/></Ico>,
  save: (p) => <Ico {...p}><path d="M2 2h9l3 3v9H2z"/><path d="M4 2v4h7V2M4 14v-5h8v5"/></Ico>,
  share: (p) => <Ico {...p}><circle cx="12" cy="3" r="2"/><circle cx="4" cy="8" r="2"/><circle cx="12" cy="13" r="2"/><path d="M6 7l4-3M6 9l4 3"/></Ico>,
  users: (p) => <Ico {...p}><circle cx="6" cy="5" r="2.5"/><path d="M1 14a5 5 0 0110 0"/><circle cx="12" cy="6" r="2"/><path d="M11 14a4 4 0 014-3"/></Ico>,
  bell: (p) => <Ico {...p}><path d="M4 6a4 4 0 018 0v3l1 3H3l1-3zM6 13a2 2 0 004 0"/></Ico>,
  settings: (p) => <Ico {...p}><circle cx="8" cy="8" r="2"/><path d="M8 1v2M8 13v2M1 8h2M13 8h2M3 3l1.5 1.5M11.5 11.5L13 13M3 13l1.5-1.5M11.5 4.5L13 3"/></Ico>,
  history: (p) => <Ico {...p}><circle cx="8" cy="8" r="6"/><path d="M8 4v4l3 2M2 4l1 3"/></Ico>,
  export: (p) => <Ico {...p}><path d="M8 2v9M4 6l4-4 4 4M2 13h12"/></Ico>,
  import: (p) => <Ico {...p}><path d="M8 11V2M4 7l4 4 4-4M2 13h12"/></Ico>,

  // modules
  vector: (p) => <Ico {...p}><rect x="1" y="1" width="3" height="3"/><rect x="12" y="1" width="3" height="3"/><rect x="1" y="12" width="3" height="3"/><rect x="12" y="12" width="3" height="3"/><path d="M4 2h8M2 4v8M14 4v8M4 14h8"/></Ico>,
  photo: (p) => <Ico {...p}><rect x="1" y="2" width="14" height="12"/><circle cx="5" cy="6" r="1.5"/><path d="M1 12l4-4 3 3 3-3 4 4"/></Ico>,
  publish: (p) => <Ico {...p}><rect x="2" y="1" width="12" height="14"/><path d="M4 4h5M4 7h8M4 10h8M4 13h6"/></Ico>,
  ui: (p) => <Ico {...p}><rect x="1" y="2" width="14" height="12"/><path d="M1 6h14M4 2v4"/></Ico>,
  ai: (p) => <Ico {...p}><path d="M8 1l1.5 4.5L14 7l-4.5 1.5L8 13l-1.5-4.5L2 7l4.5-1.5z"/></Ico>,
  brand: (p) => <Ico {...p}><path d="M2 3v10l6 2 6-2V3l-6-2z"/><path d="M8 1v14"/></Ico>,
  collab: (p) => <Ico {...p}><path d="M3 5a5 5 0 018.5 3.5L14 11l-2.5-0.5A5 5 0 013 5z"/><path d="M6 5h4M6 7h3"/></Ico>,
  print: (p) => <Ico {...p}><rect x="3" y="1" width="10" height="4"/><rect x="1" y="5" width="14" height="7"/><rect x="3" y="10" width="10" height="5"/></Ico>,
  cloud: (p) => <Ico {...p}><path d="M4 12a3 3 0 010-6 4 4 0 017.5-1A3 3 0 0113 11z"/></Ico>,
  admin: (p) => <Ico {...p}><path d="M8 1l6 3v4c0 3.5-2.5 6-6 7-3.5-1-6-3.5-6-7V4z"/><path d="M6 8l1.5 1.5L10.5 6"/></Ico>,

  // states
  circle: (p) => <Ico {...p}><circle cx="8" cy="8" r="6"/></Ico>,
  dot: (p) => <Ico {...p}><circle cx="8" cy="8" r="3" fill="currentColor"/></Ico>,
  square: (p) => <Ico {...p}><rect x="3" y="3" width="10" height="10"/></Ico>,
  triangle: (p) => <Ico {...p}><path d="M8 3l5 9H3z"/></Ico>,
  info: (p) => <Ico {...p}><circle cx="8" cy="8" r="6"/><path d="M8 7v4M8 5v0.5"/></Ico>,
  warn: (p) => <Ico {...p}><path d="M8 2l6 11H2zM8 7v3M8 11.5v0.5"/></Ico>,
  ok: (p) => <Ico {...p}><circle cx="8" cy="8" r="6"/><path d="M5 8l2 2 4-4"/></Ico>,

  // devanagari flourish (placeholder mark)
  mark: (p) => <Ico {...p}><path d="M2 3h12M4 3v10c0 1 1 2 4 2s4-1 4-2V3"/></Ico>,

  // misc
  filter: (p) => <Ico {...p}><path d="M2 3h12l-4 6v5l-4-2V9z"/></Ico>,
  sort: (p) => <Ico {...p}><path d="M4 3v10M2 11l2 2 2-2M12 13V3M14 5l-2-2-2 2"/></Ico>,
  link: (p) => <Ico {...p}><path d="M7 9l2-2M5 11l-2-2a2 2 0 010-3l1-1a2 2 0 013 0l2 2M9 5l2-2a2 2 0 013 0l1 1a2 2 0 010 3l-2 2"/></Ico>,
  copy: (p) => <Ico {...p}><rect x="4" y="4" width="10" height="10"/><path d="M2 12V2h10"/></Ico>,
  trash: (p) => <Ico {...p}><path d="M2 4h12M6 4V2h4v2M4 4l1 10h6l1-10"/></Ico>,
  refresh: (p) => <Ico {...p}><path d="M2 8a6 6 0 0110-4.5L14 5M14 8a6 6 0 01-10 4.5L2 11M14 2v3h-3M2 14v-3h3"/></Ico>,
  home: (p) => <Ico {...p}><path d="M2 8l6-5 6 5v6H2z"/><path d="M6 14V9h4v5"/></Ico>,
  bookmark: (p) => <Ico {...p}><path d="M3 2v12l5-3 5 3V2z"/></Ico>,
  arrow: (p) => <Ico {...p}><path d="M3 8h10M9 4l4 4-4 4"/></Ico>,
  play: (p) => <Ico {...p}><path d="M4 3v10l9-5z"/></Ico>,
  align_l: (p) => <Ico {...p}><path d="M2 2v12M4 5h8M4 11h5"/></Ico>,
  align_c: (p) => <Ico {...p}><path d="M8 2v12M4 5h8M5.5 11h5"/></Ico>,
  align_r: (p) => <Ico {...p}><path d="M14 2v12M4 5h8M7 11h5"/></Ico>,
  bold: (p) => <Ico {...p}><path d="M4 2h4a2.5 2.5 0 010 5H4zM4 7h5a2.5 2.5 0 010 5H4z"/></Ico>,
  italic: (p) => <Ico {...p}><path d="M6 2h6M4 14h6M10 2L6 14"/></Ico>,
  underline: (p) => <Ico {...p}><path d="M4 2v6a4 4 0 008 0V2M3 14h10"/></Ico>,
};

window.I = I;
window.Ico = Ico;
