// Tidvattnaren — icon set
const Icon = {
  Drop: ({ size = 18, fill }) => (
    <svg width={size} height={size} viewBox="0 0 24 24" fill="none">
      <path d="M12 3 C 8 9, 5 12.5, 5 16 a7 7 0 0 0 14 0 c 0 -3.5 -3 -7 -7 -13 z"
            fill={fill || 'currentColor'} stroke="currentColor" strokeWidth="0" />
      <path d="M9 14.5 c 0 2 1.5 3.5 3 3.5"
            stroke="rgba(255,255,255,0.55)" strokeWidth="1.6" strokeLinecap="round" fill="none" />
    </svg>
  ),
  DropOutline: ({ size = 18 }) => (
    <svg width={size} height={size} viewBox="0 0 24 24" fill="none">
      <path d="M12 3 C 8 9, 5 12.5, 5 16 a7 7 0 0 0 14 0 c 0 -3.5 -3 -7 -7 -13 z"
            stroke="currentColor" strokeWidth="1.7" strokeLinejoin="round" fill="none" />
    </svg>
  ),
  Leaf: ({ size = 18 }) => (
    <svg width={size} height={size} viewBox="0 0 24 24" fill="none">
      <path d="M20 4 C 11 4, 4 10, 4 18 c 0 1, 0.3 2, 0.7 2.7 C 12 21, 20 14, 20 4 z"
            stroke="currentColor" strokeWidth="1.7" strokeLinejoin="round" fill="none" />
      <path d="M5 20 C 9 16, 13 12, 17 8" stroke="currentColor" strokeWidth="1.4" strokeLinecap="round" fill="none"/>
    </svg>
  ),
  Sprout: ({ size = 18 }) => (
    <svg width={size} height={size} viewBox="0 0 24 24" fill="none">
      <path d="M12 21 V 13" stroke="currentColor" strokeWidth="1.7" strokeLinecap="round"/>
      <path d="M12 13 C 12 9, 9 7, 5 7 C 5 11, 8 13, 12 13 z"
            stroke="currentColor" strokeWidth="1.7" strokeLinejoin="round" fill="none"/>
      <path d="M12 13 C 12 9, 15 7, 19 7 C 19 11, 16 13, 12 13 z"
            stroke="currentColor" strokeWidth="1.7" strokeLinejoin="round" fill="none"/>
    </svg>
  ),
  Sun: ({ size = 18 }) => (
    <svg width={size} height={size} viewBox="0 0 24 24" fill="none">
      <circle cx="12" cy="12" r="4.2" stroke="currentColor" strokeWidth="1.7"/>
      {[0,45,90,135,180,225,270,315].map(a => {
        const r1 = 7, r2 = 9.6;
        const x1 = 12 + Math.cos(a*Math.PI/180)*r1;
        const y1 = 12 + Math.sin(a*Math.PI/180)*r1;
        const x2 = 12 + Math.cos(a*Math.PI/180)*r2;
        const y2 = 12 + Math.sin(a*Math.PI/180)*r2;
        return <line key={a} x1={x1} y1={y1} x2={x2} y2={y2} stroke="currentColor" strokeWidth="1.7" strokeLinecap="round"/>;
      })}
    </svg>
  ),
  Cloud: ({ size = 18 }) => (
    <svg width={size} height={size} viewBox="0 0 24 24" fill="none">
      <path d="M7 18 h 11 a 4 4 0 0 0 0 -8 a 5.5 5.5 0 0 0 -10.7 1 A 4 4 0 0 0 7 18 z"
            stroke="currentColor" strokeWidth="1.7" strokeLinejoin="round" fill="none"/>
    </svg>
  ),
  CloudSun: ({ size = 18 }) => (
    <svg width={size} height={size} viewBox="0 0 24 24" fill="none">
      <circle cx="8" cy="8" r="3" stroke="currentColor" strokeWidth="1.5" fill="none"/>
      <path d="M8 3.5 V 2 M 8 13.5 V 14 M 3.5 8 H 2 M 12.5 8 H 14 M 4.8 4.8 L 4 4 M 11.2 4.8 L 12 4"
            stroke="currentColor" strokeWidth="1.4" strokeLinecap="round"/>
      <path d="M11 19 h 8 a 3.2 3.2 0 0 0 0 -6.4 a 4.5 4.5 0 0 0 -8.6 0.6 A 3.2 3.2 0 0 0 11 19 z"
            stroke="currentColor" strokeWidth="1.7" fill="var(--bg-card)"/>
    </svg>
  ),
  CloudRain: ({ size = 18 }) => (
    <svg width={size} height={size} viewBox="0 0 24 24" fill="none">
      <path d="M7 14 h 11 a 4 4 0 0 0 0 -8 a 5.5 5.5 0 0 0 -10.7 1 A 4 4 0 0 0 7 14 z"
            stroke="currentColor" strokeWidth="1.7" strokeLinejoin="round" fill="none"/>
      <path d="M9 17 L 8 20 M 13 17 L 12 20 M 17 17 L 16 20"
            stroke="currentColor" strokeWidth="1.7" strokeLinecap="round"/>
    </svg>
  ),
  Snooze: ({ size = 16 }) => (
    <svg width={size} height={size} viewBox="0 0 24 24" fill="none">
      <path d="M8 7 h 7 l -7 10 h 7" stroke="currentColor" strokeWidth="1.7" strokeLinejoin="round" strokeLinecap="round"/>
    </svg>
  ),
  Clock: ({ size = 16 }) => (
    <svg width={size} height={size} viewBox="0 0 24 24" fill="none">
      <circle cx="12" cy="12" r="8" stroke="currentColor" strokeWidth="1.6"/>
      <path d="M12 8 V 12 L 14.5 13.5" stroke="currentColor" strokeWidth="1.6" strokeLinecap="round"/>
    </svg>
  ),
  ChevronRight: ({ size = 16 }) => (
    <svg width={size} height={size} viewBox="0 0 24 24" fill="none">
      <path d="M9 5 L 16 12 L 9 19" stroke="currentColor" strokeWidth="2" strokeLinecap="round" strokeLinejoin="round"/>
    </svg>
  ),
  ChevronDown: ({ size = 16 }) => (
    <svg width={size} height={size} viewBox="0 0 24 24" fill="none">
      <path d="M5 9 L 12 16 L 19 9" stroke="currentColor" strokeWidth="2" strokeLinecap="round" strokeLinejoin="round"/>
    </svg>
  ),
  Plus: ({ size = 16 }) => (
    <svg width={size} height={size} viewBox="0 0 24 24" fill="none">
      <path d="M12 5 V 19 M 5 12 H 19" stroke="currentColor" strokeWidth="2" strokeLinecap="round"/>
    </svg>
  ),
  Check: ({ size = 14 }) => (
    <svg width={size} height={size} viewBox="0 0 24 24" fill="none">
      <path d="M5 12 L 10 17 L 19 7" stroke="currentColor" strokeWidth="2.4" strokeLinecap="round" strokeLinejoin="round"/>
    </svg>
  ),
  Flame: ({ size = 16 }) => (
    <svg width={size} height={size} viewBox="0 0 24 24" fill="none">
      <path d="M12 3 c 1 4, 5 5, 5 11 a 5 5 0 0 1 -10 0 c 0 -3 2 -4 2 -7 c 0 -1.5 1 -3 3 -4 z"
            stroke="currentColor" strokeWidth="1.7" strokeLinejoin="round" fill="none"/>
    </svg>
  ),
  Bell: ({ size = 16 }) => (
    <svg width={size} height={size} viewBox="0 0 24 24" fill="none">
      <path d="M6 17 V 11 a 6 6 0 0 1 12 0 V 17 l 1 1.5 H 5 z" stroke="currentColor" strokeWidth="1.6" strokeLinejoin="round" fill="none"/>
      <path d="M10 20.5 a 2 2 0 0 0 4 0" stroke="currentColor" strokeWidth="1.6" strokeLinecap="round"/>
    </svg>
  ),
  Sparkle: ({ size = 16 }) => (
    <svg width={size} height={size} viewBox="0 0 24 24" fill="none">
      <path d="M12 4 L 13.5 10.5 L 20 12 L 13.5 13.5 L 12 20 L 10.5 13.5 L 4 12 L 10.5 10.5 z" fill="currentColor"/>
    </svg>
  ),
  Settings: ({ size = 18 }) => (
    <svg width={size} height={size} viewBox="0 0 24 24" fill="none">
      <circle cx="12" cy="12" r="2.6" stroke="currentColor" strokeWidth="1.6"/>
      <path d="M12 3 v 2 M 12 19 v 2 M 3 12 h 2 M 19 12 h 2 M 5.5 5.5 l 1.4 1.4 M 17.1 17.1 l 1.4 1.4 M 5.5 18.5 l 1.4 -1.4 M 17.1 6.9 l 1.4 -1.4"
            stroke="currentColor" strokeWidth="1.6" strokeLinecap="round"/>
    </svg>
  ),
  X: ({ size = 16 }) => (
    <svg width={size} height={size} viewBox="0 0 24 24" fill="none">
      <path d="M6 6 L 18 18 M 18 6 L 6 18" stroke="currentColor" strokeWidth="2" strokeLinecap="round"/>
    </svg>
  ),
  Home: ({ size = 22, filled = false }) => (
    <svg width={size} height={size} viewBox="0 0 24 24" fill="none">
      <path d="M4 11 L 12 4 L 20 11 V 20 H 14 V 14 H 10 V 20 H 4 z"
            stroke="currentColor" strokeWidth="1.8" strokeLinejoin="round" fill={filled ? 'currentColor' : 'none'}/>
    </svg>
  ),
  Send: ({ size = 18 }) => (
    <svg width={size} height={size} viewBox="0 0 24 24" fill="none">
      <path d="M3 12 L 21 4 L 14 21 L 11 13 L 3 12 z"
            stroke="currentColor" strokeWidth="1.8" strokeLinejoin="round" fill="currentColor"/>
    </svg>
  ),
  Chat: ({ size = 22, filled = false }) => (
    <svg width={size} height={size} viewBox="0 0 24 24" fill="none">
      <path d="M4 5 h 16 a 2 2 0 0 1 2 2 v 9 a 2 2 0 0 1 -2 2 h -8 l -5 4 v -4 H 4 a 2 2 0 0 1 -2 -2 V 7 a 2 2 0 0 1 2 -2 z"
            stroke="currentColor" strokeWidth="1.8" strokeLinejoin="round" fill={filled ? 'currentColor' : 'none'}/>
    </svg>
  ),
  Trash: ({ size = 16 }) => (
    <svg width={size} height={size} viewBox="0 0 24 24" fill="none">
      <path d="M5 7 H 19 M 8 7 V 4 H 16 V 7 M 7 7 L 8 20 H 16 L 17 7"
            stroke="currentColor" strokeWidth="1.6" strokeLinejoin="round" fill="none"/>
    </svg>
  ),
  Plants: ({ size = 22, filled = false }) => (
    <svg width={size} height={size} viewBox="0 0 24 24" fill="none">
      <path d="M12 21 V 11" stroke="currentColor" strokeWidth="1.8" strokeLinecap="round"/>
      <path d="M12 11 C 12 7, 9 5, 5 5 C 5 9, 8 11, 12 11 z"
            stroke="currentColor" strokeWidth="1.8" strokeLinejoin="round" fill={filled ? 'currentColor' : 'none'}/>
      <path d="M12 14 C 12 10, 15 8, 19 8 C 19 12, 16 14, 12 14 z"
            stroke="currentColor" strokeWidth="1.8" strokeLinejoin="round" fill={filled ? 'currentColor' : 'none'}/>
    </svg>
  ),
};

window.Icon = Icon;
