// Lucide-style line icons drawn inline so we never pull a runtime icon lib.
// Stroke 1.75, currentColor, 24x24 viewBox by default.
const Icon = ({ d, size = 20, className = '', stroke = 1.75, children, ...rest }) => (
);
const I = {
Logo: ({ size = 28 }) => (
// Brushstroke + magnifier — "墨鉴" mark
),
Search: (p) => ,
Upload: (p) => ,
Download: (p) => ,
File: (p) => ,
FileText: (p) => ,
Check: (p) => ,
CheckCircle: (p) => ,
AlertTriangle: (p) => ,
AlertCircle: (p) => ,
Info: (p) => ,
Shield: (p) => ,
ShieldCheck: (p) => ,
Lock: (p) => ,
Clock: (p) => ,
Sparkles: (p) => ,
Brain: (p) => ,
Activity: (p) => ,
Layers: (p) => ,
BarChart: (p) => ,
Radar: (p) => ,
Target: (p) => ,
Cpu: (p) => ,
Chevron: (p) => ,
ChevronDown: (p) => ,
ArrowRight: (p) => ,
ArrowUpRight: (p) => ,
X: (p) => ,
Plus: (p) => ,
Menu: (p) => ,
Quote: (p) => ,
Refresh: (p) => ,
Wallet: (p) => ,
QrCode: (p) => ,
Eye: (p) => ,
Edit: (p) => ,
Trash: (p) => ,
Filter: (p) => ,
MessageSquare: (p) => ,
Code: (p) => ,
UserCheck: (p) => ,
Beaker: (p) => ,
Microscope: (p) => ,
Mail: (p) => ,
MessageSquare: (p) => ,
Code: (p) => ,
UserCheck: (p) => ,
Sliders: (p) => ,
Globe: (p) => ,
Book: (p) => ,
University: (p) => ,
Spinner: ({ size = 16, className = '' }) => (
),
Dot: ({ className = '' }) => ,
};
window.I = I;
window.Icon = Icon;