// 簡約線性 icons，富士藍與暖灰調
const Icon = {
  route: (c='currentColor',s=22) => (
    <svg width={s} height={s} viewBox="0 0 24 24" fill="none">
      <path d="M6 4h7a4 4 0 010 8h-2a4 4 0 000 8h7" stroke={c} strokeWidth="1.8" strokeLinecap="round" strokeLinejoin="round"/>
      <circle cx="6" cy="4" r="1.6" fill={c}/>
      <circle cx="18" cy="20" r="1.6" fill={c}/>
    </svg>
  ),
  guide: (c='currentColor',s=22) => (
    <svg width={s} height={s} viewBox="0 0 24 24" fill="none">
      <path d="M4 5.5A2 2 0 016 4h5v16H6a2 2 0 01-2-2V5.5z" stroke={c} strokeWidth="1.6" strokeLinejoin="round"/>
      <path d="M20 5.5A2 2 0 0018 4h-5v16h5a2 2 0 002-2V5.5z" stroke={c} strokeWidth="1.6" strokeLinejoin="round"/>
      <path d="M7 8h2M7 11h2M15 8h2M15 11h2" stroke={c} strokeWidth="1.5" strokeLinecap="round"/>
    </svg>
  ),
  cloud: (c='currentColor',s=22) => (
    <svg width={s} height={s} viewBox="0 0 24 24" fill="none">
      <path d="M7 18h10a4 4 0 000-8 6 6 0 00-11.7 1.6A3.5 3.5 0 007 18z" stroke={c} strokeWidth="1.6" strokeLinejoin="round"/>
    </svg>
  ),
  sun: (c='currentColor',s=28) => (
    <svg width={s} height={s} viewBox="0 0 32 32" fill="none">
      <circle cx="16" cy="16" r="5.5" stroke={c} strokeWidth="1.6"/>
      {[0,45,90,135,180,225,270,315].map(a=>(
        <line key={a} x1="16" y1="3" x2="16" y2="6.5"
          stroke={c} strokeWidth="1.6" strokeLinecap="round"
          transform={`rotate(${a} 16 16)`}/>
      ))}
    </svg>
  ),
  cloudIcon: (c='currentColor',s=28) => (
    <svg width={s} height={s} viewBox="0 0 32 32" fill="none">
      <path d="M9 23h14a5 5 0 000-10 7 7 0 00-13.5 2A4.5 4.5 0 009 23z" stroke={c} strokeWidth="1.6" strokeLinejoin="round" fill="rgba(255,255,255,0.4)"/>
    </svg>
  ),
  sunCloud: (c='currentColor',s=28) => (
    <svg width={s} height={s} viewBox="0 0 32 32" fill="none">
      <circle cx="11" cy="11" r="4" stroke={c} strokeWidth="1.5"/>
      {[0,60,120,180,240,300].map(a=>(
        <line key={a} x1="11" y1="3" x2="11" y2="5"
          stroke={c} strokeWidth="1.5" strokeLinecap="round"
          transform={`rotate(${a} 11 11)`}/>
      ))}
      <path d="M12 24h11a4 4 0 000-8 5.5 5.5 0 00-10.5 1.5A3.5 3.5 0 0012 24z"
        stroke={c} strokeWidth="1.6" strokeLinejoin="round" fill="#fff"/>
    </svg>
  ),
  rain: (c='currentColor',s=28) => (
    <svg width={s} height={s} viewBox="0 0 32 32" fill="none">
      <path d="M9 18h14a5 5 0 000-10 7 7 0 00-13.5 2A4.5 4.5 0 009 18z" stroke={c} strokeWidth="1.6"/>
      <line x1="12" y1="22" x2="11" y2="26" stroke={c} strokeWidth="1.6" strokeLinecap="round"/>
      <line x1="17" y1="22" x2="16" y2="26" stroke={c} strokeWidth="1.6" strokeLinecap="round"/>
      <line x1="22" y1="22" x2="21" y2="26" stroke={c} strokeWidth="1.6" strokeLinecap="round"/>
    </svg>
  ),
  pin: (c='currentColor',s=14) => (
    <svg width={s} height={s} viewBox="0 0 14 14" fill="none">
      <path d="M7 1a4.5 4.5 0 014.5 4.5c0 3.4-4.5 7.5-4.5 7.5S2.5 8.9 2.5 5.5A4.5 4.5 0 017 1z" stroke={c} strokeWidth="1.4"/>
      <circle cx="7" cy="5.5" r="1.6" fill={c}/>
    </svg>
  ),
  clock: (c='currentColor',s=14) => (
    <svg width={s} height={s} viewBox="0 0 14 14" fill="none">
      <circle cx="7" cy="7" r="5.5" stroke={c} strokeWidth="1.4"/>
      <path d="M7 4v3l2 1.5" stroke={c} strokeWidth="1.4" strokeLinecap="round"/>
    </svg>
  ),
  car: (c='currentColor',s=14) => (
    <svg width={s} height={s} viewBox="0 0 14 14" fill="none">
      <path d="M2.5 9V6.5l1.2-2.8a1 1 0 01.9-.7h4.8a1 1 0 01.9.7l1.2 2.8V9" stroke={c} strokeWidth="1.3" strokeLinejoin="round"/>
      <rect x="2" y="9" width="10" height="2.5" rx="0.7" stroke={c} strokeWidth="1.3"/>
      <circle cx="4.5" cy="11.5" r="0.7" fill={c}/>
      <circle cx="9.5" cy="11.5" r="0.7" fill={c}/>
    </svg>
  ),
  arrow: (c='currentColor',s=14) => (
    <svg width={s} height={s} viewBox="0 0 14 14" fill="none">
      <path d="M4 2l5 5-5 5" stroke={c} strokeWidth="1.6" strokeLinecap="round" strokeLinejoin="round"/>
    </svg>
  ),
  compass: (c='currentColor',s=16) => (
    <svg width={s} height={s} viewBox="0 0 16 16" fill="none">
      <circle cx="8" cy="8" r="6" stroke={c} strokeWidth="1.3"/>
      <path d="M8 4l1.5 3.5L8 9l-1.5-1.5L8 4z" fill={c}/>
      <path d="M8 12l-1.5-3.5L8 7l1.5 1.5L8 12z" fill={c} opacity="0.4"/>
    </svg>
  ),
  drop: (c='currentColor',s=14) => (
    <svg width={s} height={s} viewBox="0 0 14 14" fill="none">
      <path d="M7 1.5C7 1.5 3 6 3 9a4 4 0 008 0c0-3-4-7.5-4-7.5z" stroke={c} strokeWidth="1.4" strokeLinejoin="round"/>
    </svg>
  ),
  wind: (c='currentColor',s=14) => (
    <svg width={s} height={s} viewBox="0 0 14 14" fill="none">
      <path d="M2 5h7.5a2 2 0 100-4M2 9h10.5a2 2 0 110 4M2 7h4" stroke={c} strokeWidth="1.3" strokeLinecap="round"/>
    </svg>
  ),
};

window.Icon = Icon;
