// Inline SVG icons — minimal, mono-leaning, 1.5px stroke
const Ico = ({ children, size = 16, ...rest }) => (
  <svg width={size} height={size} viewBox="0 0 24 24" fill="none"
       stroke="currentColor" strokeWidth="1.6" strokeLinecap="square"
       strokeLinejoin="miter" {...rest}>
    {children}
  </svg>
);

const I = {
  Cube: (p) => <Ico {...p}><path d="M12 3 3 7.5v9L12 21l9-4.5v-9L12 3Z"/><path d="M3 7.5 12 12l9-4.5"/><path d="M12 12v9"/></Ico>,
  Stack: (p) => <Ico {...p}><path d="M3 7l9-4 9 4-9 4-9-4Z"/><path d="M3 12l9 4 9-4"/><path d="M3 17l9 4 9-4"/></Ico>,
  Plus: (p) => <Ico {...p}><path d="M12 5v14M5 12h14"/></Ico>,
  Check: (p) => <Ico {...p}><path d="M4 12l5 5L20 6"/></Ico>,
  X: (p) => <Ico {...p}><path d="M6 6l12 12M18 6 6 18"/></Ico>,
  Shuffle: (p) => <Ico {...p}><path d="M16 3h5v5"/><path d="M21 3 13 11"/><path d="M16 21h5v-5"/><path d="M21 21l-7-7"/><path d="M3 7s2 0 4 2"/><path d="M3 17s5 0 9-7"/></Ico>,
  Arrow: (p) => <Ico {...p}><path d="M5 12h14M13 5l7 7-7 7"/></Ico>,
  ExternalLink: (p) => <Ico {...p}><path d="M14 4h6v6"/><path d="M20 4 10 14"/><path d="M19 14v5a1 1 0 0 1-1 1H5a1 1 0 0 1-1-1V6a1 1 0 0 1 1-1h5"/></Ico>,
  Copy: (p) => <Ico {...p}><rect x="9" y="9" width="11" height="11"/><path d="M5 15V5a1 1 0 0 1 1-1h10"/></Ico>,
  Search: (p) => <Ico {...p}><circle cx="11" cy="11" r="6"/><path d="M20 20l-4-4"/></Ico>,
  Bell: (p) => <Ico {...p}><path d="M6 9a6 6 0 0 1 12 0c0 4 2 5 2 7H4c0-2 2-3 2-7Z"/><path d="M10 19a2 2 0 0 0 4 0"/></Ico>,
  Sparkle: (p) => <Ico {...p}><path d="M12 3v6M12 15v6M3 12h6M15 12h6"/></Ico>,
  Terminal: (p) => <Ico {...p}><rect x="3" y="4" width="18" height="16"/><path d="M7 9l3 3-3 3"/><path d="M13 15h5"/></Ico>,
  Doc: (p) => <Ico {...p}><path d="M6 3h9l5 5v13H6V3Z"/><path d="M14 3v6h6"/></Ico>,
  Clock: (p) => <Ico {...p}><circle cx="12" cy="12" r="9"/><path d="M12 7v5l3 2"/></Ico>,
  Folder: (p) => <Ico {...p}><path d="M3 7l3-3h5l2 2h8v13H3V7Z"/></Ico>,
  Globe: (p) => <Ico {...p}><circle cx="12" cy="12" r="9"/><path d="M3 12h18M12 3a14 14 0 0 1 0 18M12 3a14 14 0 0 0 0 18"/></Ico>,
  Lock: (p) => <Ico {...p}><rect x="4" y="11" width="16" height="10"/><path d="M8 11V8a4 4 0 0 1 8 0v3"/></Ico>,
  Eye: (p) => <Ico {...p}><path d="M2 12s4-7 10-7 10 7 10 7-4 7-10 7S2 12 2 12Z"/><circle cx="12" cy="12" r="3"/></Ico>,
  Sun: (p) => <Ico {...p}><circle cx="12" cy="12" r="4"/><path d="M12 2v3M12 19v3M2 12h3M19 12h3M5 5l2 2M17 17l2 2M5 19l2-2M17 7l2-2"/></Ico>,
  Moon: (p) => <Ico {...p}><path d="M20 14A8 8 0 1 1 10 4a7 7 0 0 0 10 10Z"/></Ico>,
  Tag: (p) => <Ico {...p}><path d="M3 12V3h9l9 9-9 9-9-9Z"/><circle cx="8" cy="8" r="1.4"/></Ico>,
  Zap: (p) => <Ico {...p}><path d="M13 2 4 14h6l-1 8 9-12h-6l1-8Z"/></Ico>,
  GitBranch: (p) => <Ico {...p}><circle cx="6" cy="6" r="2"/><circle cx="6" cy="18" r="2"/><circle cx="18" cy="8" r="2"/><path d="M6 8v8M6 14a8 8 0 0 0 8-6"/></Ico>,
  // Service-specific glyphs (abstract, original)
  Container: (p) => <Ico {...p}><rect x="3" y="9" width="4" height="6"/><rect x="9" y="9" width="4" height="6"/><rect x="15" y="9" width="4" height="6"/><path d="M3 6h18"/></Ico>,
  Database: (p) => <Ico {...p}><ellipse cx="12" cy="6" rx="8" ry="3"/><path d="M4 6v6c0 1.7 3.6 3 8 3s8-1.3 8-3V6"/><path d="M4 12v6c0 1.7 3.6 3 8 3s8-1.3 8-3v-6"/></Ico>,
  Lightning: (p) => <Ico {...p}><path d="M13 2 4 13h6l-1 9 10-13h-6l0-7Z"/></Ico>,
  Route: (p) => <Ico {...p}><circle cx="6" cy="6" r="2.5"/><circle cx="18" cy="18" r="2.5"/><path d="M8 6h6a4 4 0 0 1 0 8h-4a4 4 0 0 0 0 8h6"/></Ico>,
  Brain: (p) => <Ico {...p}><path d="M9 4a3 3 0 0 0-3 3v1a3 3 0 0 0-2 5 3 3 0 0 0 2 5v1a3 3 0 0 0 6 0V4a3 3 0 0 0-3-3Z"/><path d="M15 4a3 3 0 0 1 3 3v1a3 3 0 0 1 2 5 3 3 0 0 1-2 5v1a3 3 0 0 1-6 0"/></Ico>,
  Layers: (p) => <Ico {...p}><path d="M12 3 2 8l10 5 10-5-10-5Z"/><path d="M2 13l10 5 10-5"/></Ico>,
  Mail: (p) => <Ico {...p}><rect x="3" y="5" width="18" height="14"/><path d="M3 7l9 6 9-6"/></Ico>,
  Queue: (p) => <Ico {...p}><rect x="3" y="6" width="5" height="12"/><rect x="10" y="6" width="5" height="12"/><rect x="17" y="6" width="4" height="12"/></Ico>,
  Storage: (p) => <Ico {...p}><rect x="3" y="4" width="18" height="6"/><rect x="3" y="14" width="18" height="6"/><circle cx="7" cy="7" r="0.8" fill="currentColor"/><circle cx="7" cy="17" r="0.8" fill="currentColor"/></Ico>,
  Shield: (p) => <Ico {...p}><path d="M12 3l8 3v6c0 5-4 8-8 9-4-1-8-4-8-9V6l8-3Z"/></Ico>,
  Cloud: (p) => <Ico {...p}><path d="M7 18a4 4 0 0 1-1-7.9A6 6 0 0 1 18 10a4 4 0 0 1-1 8H7Z"/></Ico>,
  Code: (p) => <Ico {...p}><path d="M8 6 2 12l6 6"/><path d="M16 6l6 6-6 6"/><path d="M14 4l-4 16"/></Ico>,
  Compass: (p) => <Ico {...p}><circle cx="12" cy="12" r="9"/><path d="M15.5 8.5l-2 5-5 2 2-5 5-2Z"/></Ico>,
  Megaphone: (p) => <Ico {...p}><path d="M3 11v2l11 6V5L3 11Z"/><path d="M14 8a4 4 0 0 1 0 8"/><path d="M7 14v4a2 2 0 0 0 4 0v-2"/></Ico>,
  LogOut: (p) => <Ico {...p}><path d="M10 4H5a1 1 0 0 0-1 1v14a1 1 0 0 0 1 1h5"/><path d="M16 8l4 4-4 4"/><path d="M20 12H10"/></Ico>,
  User: (p) => <Ico {...p}><circle cx="12" cy="8" r="4"/><path d="M4 21a8 8 0 0 1 16 0"/></Ico>,
};

window.I = I;
