/* eslint-disable */
// Orthodox SF variant — angular, technical, navy/cyan dominant.
// Each robot is a self-contained <svg> returning ~520×620 art with consistent ground line at y=600.
// Common motifs: blue chest core (cyan glow), antenna varies by Lv, eye = visor/slit (no pupils).

const SFCore = ({ size = 18, x = 0, y = 0, intensity = 1 }) => (
  <g transform={`translate(${x},${y})`}>
    <circle r={size * 1.6} fill="url(#sf-core-glow)" opacity={0.55 * intensity} />
    <circle r={size} fill="#00C8FF" />
    <circle r={size * 0.62} fill="#9BF0FF" />
    <circle r={size * 0.28} fill="#ffffff" />
    <circle r={size} fill="none" stroke="#0E1A3A" strokeWidth="2" />
  </g>
);

const SFVisor = ({ x, y, w = 60, h = 12, color = "#00C8FF" }) => (
  <g transform={`translate(${x},${y})`}>
    <rect x={-w/2} y={-h/2} width={w} height={h} rx={h/2} fill="#0E1A3A" />
    <rect x={-w/2 + 4} y={-h/2 + 3} width={w - 8} height={h - 6} rx={(h-6)/2} fill={color} />
    <rect x={-w/2 + 4} y={-h/2 + 3} width={(w - 8) * 0.35} height={(h - 6) * 0.5} fill="#ffffff" opacity="0.8" />
  </g>
);

// Shared defs — referenced by all robots. Stamp once per SVG.
const SFDefs = () => (
  <defs>
    <radialGradient id="sf-core-glow">
      <stop offset="0%" stopColor="#9BF0FF" stopOpacity="1" />
      <stop offset="60%" stopColor="#00C8FF" stopOpacity="0.4" />
      <stop offset="100%" stopColor="#00C8FF" stopOpacity="0" />
    </radialGradient>
    <linearGradient id="sf-body" x1="0" y1="0" x2="0" y2="1">
      <stop offset="0%" stopColor="#F5FAFF" />
      <stop offset="55%" stopColor="#D3E2F0" />
      <stop offset="100%" stopColor="#7A8DA8" />
    </linearGradient>
    <linearGradient id="sf-navy" x1="0" y1="0" x2="0" y2="1">
      <stop offset="0%" stopColor="#1B2C5A" />
      <stop offset="100%" stopColor="#0E1A3A" />
    </linearGradient>
    <linearGradient id="sf-magenta" x1="0" y1="0" x2="0" y2="1">
      <stop offset="0%" stopColor="#FF6FC8" />
      <stop offset="100%" stopColor="#FF3CAA" />
    </linearGradient>
    <linearGradient id="sf-aura" x1="0" y1="0" x2="0" y2="1">
      <stop offset="0%" stopColor="#ffffff" stopOpacity="0.9" />
      <stop offset="50%" stopColor="#9BF0FF" stopOpacity="0.4" />
      <stop offset="100%" stopColor="#FF3CAA" stopOpacity="0" />
    </linearGradient>
    <filter id="sf-glow" x="-50%" y="-50%" width="200%" height="200%">
      <feGaussianBlur stdDeviation="4" />
      <feComposite in2="SourceGraphic" operator="over" />
    </filter>
  </defs>
);

// Floor shadow ellipse used on all
const SFFloor = ({ w = 140, opacity = 0.4 }) => (
  <ellipse cx="0" cy="600" rx={w} ry={w * 0.18} fill="#00C8FF" opacity={opacity * 0.4} />
);

// ── Lv.1 コア・スカウト  ──────────────────────────────────
const SFLv1 = () => (
  <svg viewBox="-260 0 520 640" width="100%" height="100%">
    <SFDefs />
    <SFFloor w={90} />
    {/* short stub antenna */}
    <line x1="0" y1="200" x2="0" y2="170" stroke="#0E1A3A" strokeWidth="6" strokeLinecap="round" />
    <circle cx="0" cy="166" r="6" fill="#00C8FF" />
    {/* head — round helmet */}
    <ellipse cx="0" cy="245" rx="78" ry="68" fill="url(#sf-body)" stroke="#0E1A3A" strokeWidth="3" />
    <path d="M -78 245 a 78 68 0 0 1 156 0" fill="url(#sf-navy)" opacity="0.92" />
    <SFVisor x={0} y={245} w={92} h={22} />
    {/* cheek vents */}
    <rect x="-72" y="262" width="14" height="4" rx="2" fill="#0E1A3A" />
    <rect x="58" y="262" width="14" height="4" rx="2" fill="#0E1A3A" />
    {/* neck */}
    <rect x="-18" y="305" width="36" height="14" fill="#0E1A3A" />
    {/* body — round chubby */}
    <path d="M -110 320 Q -130 380 -110 460 L -110 510 Q -110 540 -80 540 L 80 540 Q 110 540 110 510 L 110 460 Q 130 380 110 320 Z"
          fill="url(#sf-body)" stroke="#0E1A3A" strokeWidth="3" />
    <path d="M -110 320 Q -130 380 -110 460 L -90 460 Q -106 380 -90 320 Z" fill="url(#sf-navy)" opacity="0.4" />
    <path d="M 110 320 Q 130 380 110 460 L 90 460 Q 106 380 90 320 Z" fill="url(#sf-navy)" opacity="0.4" />
    {/* chest plate */}
    <path d="M -55 340 L 55 340 L 70 380 L 55 460 L -55 460 L -70 380 Z" fill="url(#sf-navy)" />
    <SFCore size={26} x={0} y={400} />
    {/* short arms */}
    <ellipse cx="-130" cy="400" rx="32" ry="50" fill="url(#sf-body)" stroke="#0E1A3A" strokeWidth="3" />
    <ellipse cx="130" cy="400" rx="32" ry="50" fill="url(#sf-body)" stroke="#0E1A3A" strokeWidth="3" />
    <circle cx="-130" cy="450" r="28" fill="url(#sf-navy)" stroke="#0E1A3A" strokeWidth="3" />
    <circle cx="130" cy="450" r="28" fill="url(#sf-navy)" stroke="#0E1A3A" strokeWidth="3" />
    {/* stubby legs */}
    <rect x="-58" y="540" width="44" height="56" rx="10" fill="url(#sf-navy)" stroke="#0E1A3A" strokeWidth="3" />
    <rect x="14" y="540" width="44" height="56" rx="10" fill="url(#sf-navy)" stroke="#0E1A3A" strokeWidth="3" />
    <ellipse cx="-36" cy="600" rx="30" ry="8" fill="#0E1A3A" />
    <ellipse cx="36" cy="600" rx="30" ry="8" fill="#0E1A3A" />
  </svg>
);

// ── Lv.2 ファイター・モード ─────────────────────────────
const SFLv2 = () => (
  <svg viewBox="-260 0 520 640" width="100%" height="100%">
    <SFDefs />
    <SFFloor w={110} />
    {/* V-antenna */}
    <line x1="-18" y1="180" x2="-30" y2="130" stroke="#00C8FF" strokeWidth="5" strokeLinecap="round" />
    <line x1="18" y1="180" x2="30" y2="130" stroke="#00C8FF" strokeWidth="5" strokeLinecap="round" />
    <circle cx="-30" cy="126" r="5" fill="#FF3CAA" />
    <circle cx="30" cy="126" r="5" fill="#FF3CAA" />
    {/* head — sharper */}
    <path d="M -62 200 L 62 200 L 78 240 L 70 290 L 50 310 L -50 310 L -70 290 L -78 240 Z"
          fill="url(#sf-body)" stroke="#0E1A3A" strokeWidth="3" />
    <path d="M -62 200 L 62 200 L 78 240 L -78 240 Z" fill="url(#sf-navy)" />
    <SFVisor x={0} y={262} w={108} h={18} />
    <path d="M -50 310 L 50 310 L 30 322 L -30 322 Z" fill="#0E1A3A" />
    {/* shoulder armor pads */}
    <path d="M -150 330 L -100 320 L -90 380 L -140 390 Z" fill="url(#sf-navy)" stroke="#0E1A3A" strokeWidth="3" />
    <path d="M 150 330 L 100 320 L 90 380 L 140 390 Z" fill="url(#sf-navy)" stroke="#0E1A3A" strokeWidth="3" />
    <rect x="-145" y="345" width="10" height="40" fill="#00C8FF" />
    <rect x="135" y="345" width="10" height="40" fill="#00C8FF" />
    {/* body torso */}
    <path d="M -90 322 L 90 322 L 105 420 L 95 510 L -95 510 L -105 420 Z"
          fill="url(#sf-body)" stroke="#0E1A3A" strokeWidth="3" />
    <path d="M -60 340 L 60 340 L 75 420 L 60 480 L -60 480 L -75 420 Z" fill="url(#sf-navy)" />
    <SFCore size={24} x={0} y={400} />
    {/* abdomen vents */}
    <rect x="-30" y="448" width="60" height="4" fill="#00C8FF" />
    <rect x="-30" y="458" width="60" height="4" fill="#00C8FF" />
    {/* arms with brushers */}
    <rect x="-160" y="390" width="36" height="120" rx="10" fill="url(#sf-body)" stroke="#0E1A3A" strokeWidth="3" />
    <rect x="124" y="390" width="36" height="120" rx="10" fill="url(#sf-body)" stroke="#0E1A3A" strokeWidth="3" />
    {/* booster ports on forearms */}
    <rect x="-168" y="500" width="52" height="22" rx="6" fill="url(#sf-navy)" stroke="#0E1A3A" strokeWidth="3" />
    <rect x="116" y="500" width="52" height="22" rx="6" fill="url(#sf-navy)" stroke="#0E1A3A" strokeWidth="3" />
    <circle cx="-142" cy="511" r="7" fill="#00C8FF" />
    <circle cx="142" cy="511" r="7" fill="#00C8FF" />
    {/* legs */}
    <path d="M -75 510 L -30 510 L -38 600 L -78 600 Z" fill="url(#sf-navy)" stroke="#0E1A3A" strokeWidth="3" />
    <path d="M 75 510 L 30 510 L 38 600 L 78 600 Z" fill="url(#sf-navy)" stroke="#0E1A3A" strokeWidth="3" />
    <rect x="-86" y="595" width="56" height="14" rx="3" fill="#0E1A3A" />
    <rect x="30" y="595" width="56" height="14" rx="3" fill="#0E1A3A" />
  </svg>
);

// ── Lv.3 ガーディアン・モード ────────────────────────────
const SFLv3 = () => (
  <svg viewBox="-280 0 560 640" width="100%" height="100%">
    <SFDefs />
    <SFFloor w={150} />
    {/* trident antenna */}
    <g stroke="#0E1A3A" strokeWidth="4" strokeLinecap="round" fill="none">
      <line x1="0" y1="190" x2="0" y2="120" />
      <line x1="0" y1="140" x2="-22" y2="110" />
      <line x1="0" y1="140" x2="22" y2="110" />
    </g>
    <circle cx="0" cy="116" r="6" fill="#00C8FF" />
    <circle cx="-22" cy="106" r="5" fill="#00C8FF" />
    <circle cx="22" cy="106" r="5" fill="#00C8FF" />
    {/* heavy helmet */}
    <path d="M -82 210 L 82 210 L 100 250 L 92 308 L 70 330 L -70 330 L -92 308 L -100 250 Z"
          fill="url(#sf-navy)" stroke="#0E1A3A" strokeWidth="3" />
    <path d="M -68 232 L 68 232 L 82 268 L -82 268 Z" fill="url(#sf-body)" />
    <SFVisor x={0} y={272} w={108} h={16} color="#00C8FF" />
    <rect x="-92" y="290" width="14" height="30" fill="#00C8FF" />
    <rect x="78" y="290" width="14" height="30" fill="#00C8FF" />
    {/* massive shoulder armor */}
    <path d="M -190 330 Q -200 360 -180 410 L -120 410 L -110 340 Z" fill="url(#sf-navy)" stroke="#0E1A3A" strokeWidth="3" />
    <path d="M 190 330 Q 200 360 180 410 L 120 410 L 110 340 Z" fill="url(#sf-navy)" stroke="#0E1A3A" strokeWidth="3" />
    <rect x="-175" y="350" width="40" height="6" fill="#00C8FF" />
    <rect x="135" y="350" width="40" height="6" fill="#00C8FF" />
    {/* heavy torso */}
    <path d="M -110 330 L 110 330 L 130 440 L 115 530 L -115 530 L -130 440 Z"
          fill="url(#sf-body)" stroke="#0E1A3A" strokeWidth="3" />
    <path d="M -110 330 L -50 330 L -60 440 L -130 440 Z" fill="url(#sf-navy)" opacity="0.5" />
    <path d="M 110 330 L 50 330 L 60 440 L 130 440 Z" fill="url(#sf-navy)" opacity="0.5" />
    <SFCore size={28} x={0} y={400} />
    {/* shield on left arm */}
    <g transform="translate(-180, 460)">
      <path d="M 0 -80 L 60 -60 L 60 60 Q 30 100 0 100 Q -30 100 -60 60 L -60 -60 Z"
            fill="url(#sf-navy)" stroke="#0E1A3A" strokeWidth="3" />
      <path d="M 0 -60 L 36 -42 L 36 42 Q 18 70 0 70 Q -18 70 -36 42 L -36 -42 Z"
            fill="none" stroke="#00C8FF" strokeWidth="3" />
      <SFCore size={14} x={0} y={0} intensity={0.7} />
    </g>
    {/* right arm */}
    <rect x="120" y="400" width="46" height="140" rx="12" fill="url(#sf-body)" stroke="#0E1A3A" strokeWidth="3" />
    <rect x="116" y="528" width="54" height="28" rx="6" fill="url(#sf-navy)" stroke="#0E1A3A" strokeWidth="3" />
    {/* legs — heavy */}
    <path d="M -88 530 L -20 530 L -30 605 L -90 605 Z" fill="url(#sf-navy)" stroke="#0E1A3A" strokeWidth="3" />
    <path d="M 88 530 L 20 530 L 30 605 L 90 605 Z" fill="url(#sf-navy)" stroke="#0E1A3A" strokeWidth="3" />
    <rect x="-100" y="600" width="70" height="16" rx="3" fill="#0E1A3A" />
    <rect x="30" y="600" width="70" height="16" rx="3" fill="#0E1A3A" />
  </svg>
);

// ── Lv.4 アサルト・モード ─────────────────────────────────
const SFLv4 = () => (
  <svg viewBox="-300 -20 600 660" width="100%" height="100%">
    <SFDefs />
    <SFFloor w={130} opacity={0.5} />
    {/* swept-back antenna */}
    <path d="M 0 180 Q 30 130 80 100" stroke="#FF3CAA" strokeWidth="5" strokeLinecap="round" fill="none" />
    <circle cx="80" cy="100" r="6" fill="#FF3CAA" />
    {/* head — angular & predatory */}
    <path d="M -64 195 L 64 195 L 88 240 L 70 295 L 30 318 L -30 318 L -70 295 L -88 240 Z"
          fill="url(#sf-body)" stroke="#0E1A3A" strokeWidth="3" />
    <path d="M -64 195 L 64 195 L 88 240 L 0 232 L -88 240 Z" fill="url(#sf-navy)" />
    <path d="M -50 248 L -10 254 L -14 280 L -50 274 Z" fill="#FF3CAA" />
    <path d="M 50 248 L 10 254 L 14 280 L 50 274 Z" fill="#FF3CAA" />
    {/* twin slit eyes */}
    <path d="M -50 248 L -10 254 L -14 270 L -50 264 Z" fill="#ffffff" opacity="0.9" />
    <path d="M 50 248 L 10 254 L 14 270 L 50 264 Z" fill="#ffffff" opacity="0.9" />
    {/* wings on back */}
    <g opacity="0.95">
      <path d="M -100 360 Q -240 320 -270 240 Q -190 300 -110 320 Z" fill="url(#sf-navy)" stroke="#0E1A3A" strokeWidth="3" />
      <path d="M 100 360 Q 240 320 270 240 Q 190 300 110 320 Z" fill="url(#sf-navy)" stroke="#0E1A3A" strokeWidth="3" />
      <path d="M -240 280 L -200 290 M -210 250 L -180 270" stroke="#FF3CAA" strokeWidth="3" />
      <path d="M 240 280 L 200 290 M 210 250 L 180 270" stroke="#FF3CAA" strokeWidth="3" />
    </g>
    {/* torso — slim */}
    <path d="M -82 320 L 82 320 L 100 420 L 88 510 L -88 510 L -100 420 Z"
          fill="url(#sf-body)" stroke="#0E1A3A" strokeWidth="3" />
    <path d="M -52 340 L 52 340 L 70 420 L 52 488 L -52 488 L -70 420 Z" fill="url(#sf-navy)" />
    <SFCore size={26} x={0} y={400} />
    <path d="M -40 440 L 40 440 L 30 470 L -30 470 Z" fill="none" stroke="#FF3CAA" strokeWidth="2" />
    {/* arms with beam-sword hilts */}
    <rect x="-150" y="350" width="32" height="120" rx="10" fill="url(#sf-body)" stroke="#0E1A3A" strokeWidth="3" />
    <rect x="118" y="350" width="32" height="120" rx="10" fill="url(#sf-body)" stroke="#0E1A3A" strokeWidth="3" />
    <rect x="-160" y="466" width="52" height="26" rx="6" fill="url(#sf-navy)" stroke="#0E1A3A" strokeWidth="3" />
    <rect x="108" y="466" width="52" height="26" rx="6" fill="url(#sf-navy)" stroke="#0E1A3A" strokeWidth="3" />
    {/* beam swords */}
    <g>
      <rect x="-140" y="492" width="10" height="34" fill="#0E1A3A" />
      <rect x="-140" y="380" width="10" height="115" fill="url(#sf-magenta)" filter="url(#sf-glow)" opacity="0.9" />
      <rect x="-138" y="380" width="6" height="115" fill="#ffffff" opacity="0.7" />
    </g>
    <g>
      <rect x="130" y="492" width="10" height="34" fill="#0E1A3A" />
      <rect x="130" y="380" width="10" height="115" fill="url(#sf-magenta)" filter="url(#sf-glow)" opacity="0.9" />
      <rect x="132" y="380" width="6" height="115" fill="#ffffff" opacity="0.7" />
    </g>
    {/* legs */}
    <path d="M -75 510 L -22 510 L -36 605 L -85 605 Z" fill="url(#sf-navy)" stroke="#0E1A3A" strokeWidth="3" />
    <path d="M 75 510 L 22 510 L 36 605 L 85 605 Z" fill="url(#sf-navy)" stroke="#0E1A3A" strokeWidth="3" />
    <rect x="-90" y="600" width="60" height="14" rx="3" fill="#0E1A3A" />
    <rect x="30" y="600" width="60" height="14" rx="3" fill="#0E1A3A" />
  </svg>
);

// ── Lv.5 スカイ・モード ────────────────────────────────
const SFLv5 = () => (
  <svg viewBox="-320 -40 640 680" width="100%" height="100%">
    <SFDefs />
    <SFFloor w={150} opacity={0.55} />
    {/* arrow antenna */}
    <path d="M 0 170 L 0 90 M -20 110 L 0 90 L 20 110" stroke="#00C8FF" strokeWidth="5" strokeLinecap="round" fill="none" />
    {/* head — aero crest */}
    <path d="M -68 200 L 68 200 L 90 245 L 60 320 L -60 320 L -90 245 Z"
          fill="url(#sf-body)" stroke="#0E1A3A" strokeWidth="3" />
    <path d="M -68 200 L 68 200 L 90 245 L -90 245 Z" fill="url(#sf-navy)" />
    <SFVisor x={0} y={270} w={120} h={18} color="#FF3CAA" />
    {/* MASSIVE WINGS */}
    <g opacity="0.95">
      <path d="M -90 360 L -310 310 L -300 410 L -90 420 Z" fill="url(#sf-navy)" stroke="#0E1A3A" strokeWidth="3" />
      <path d="M 90 360 L 310 310 L 300 410 L 90 420 Z" fill="url(#sf-navy)" stroke="#0E1A3A" strokeWidth="3" />
      <path d="M -300 320 L -130 360 M -290 365 L -110 380" stroke="#FF3CAA" strokeWidth="3" />
      <path d="M 300 320 L 130 360 M 290 365 L 110 380" stroke="#FF3CAA" strokeWidth="3" />
      {/* engine nozzles */}
      <rect x="-310" y="380" width="40" height="20" rx="4" fill="#0E1A3A" />
      <rect x="-302" y="384" width="24" height="12" fill="#FF3CAA" />
      <rect x="270" y="380" width="40" height="20" rx="4" fill="#0E1A3A" />
      <rect x="278" y="384" width="24" height="12" fill="#FF3CAA" />
    </g>
    {/* torso */}
    <path d="M -90 320 L 90 320 L 110 430 L 95 520 L -95 520 L -110 430 Z"
          fill="url(#sf-body)" stroke="#0E1A3A" strokeWidth="3" />
    <path d="M -60 330 L 60 330 L 78 430 L 60 500 L -60 500 L -78 430 Z" fill="url(#sf-navy)" />
    <SFCore size={32} x={0} y={410} />
    {/* engine pods on torso */}
    <rect x="-30" y="475" width="60" height="20" rx="4" fill="#0E1A3A" />
    <rect x="-24" y="479" width="48" height="12" fill="#FF3CAA" />
    {/* arms held back */}
    <path d="M -100 350 L -130 350 L -140 470 L -110 480 Z" fill="url(#sf-body)" stroke="#0E1A3A" strokeWidth="3" />
    <path d="M 100 350 L 130 350 L 140 470 L 110 480 Z" fill="url(#sf-body)" stroke="#0E1A3A" strokeWidth="3" />
    {/* legs become engine pods */}
    <path d="M -78 520 L -18 520 L -32 605 L -90 615 Z" fill="url(#sf-navy)" stroke="#0E1A3A" strokeWidth="3" />
    <path d="M 78 520 L 18 520 L 32 605 L 90 615 Z" fill="url(#sf-navy)" stroke="#0E1A3A" strokeWidth="3" />
    <rect x="-90" y="600" width="58" height="18" rx="3" fill="#FF3CAA" />
    <rect x="32" y="600" width="58" height="18" rx="3" fill="#FF3CAA" />
  </svg>
);

// ── Lv.6 ギャラクシー・モード ─────────────────────────────
const SFLv6 = () => (
  <svg viewBox="-340 -60 680 700" width="100%" height="100%">
    <SFDefs />
    {/* halo ring behind */}
    <ellipse cx="0" cy="380" rx="290" ry="80" fill="none" stroke="#9BF0FF" strokeWidth="2" opacity="0.4" />
    <ellipse cx="0" cy="380" rx="240" ry="60" fill="none" stroke="#FF3CAA" strokeWidth="2" opacity="0.35" transform="rotate(-15 0 380)" />
    <SFFloor w={170} opacity={0.6} />
    {/* crown antenna — 3 prong with orbs */}
    <line x1="0" y1="190" x2="0" y2="110" stroke="#9BF0FF" strokeWidth="4" />
    <line x1="-32" y1="160" x2="-50" y2="100" stroke="#9BF0FF" strokeWidth="4" />
    <line x1="32" y1="160" x2="50" y2="100" stroke="#9BF0FF" strokeWidth="4" />
    <circle cx="0" cy="100" r="9" fill="#FF3CAA" />
    <circle cx="-50" cy="94" r="7" fill="#00C8FF" />
    <circle cx="50" cy="94" r="7" fill="#00C8FF" />
    {/* head — regal */}
    <path d="M -72 200 L 72 200 L 96 250 L 80 318 L -80 318 L -96 250 Z"
          fill="url(#sf-navy)" stroke="#0E1A3A" strokeWidth="3" />
    <path d="M -62 222 L 62 222 L 78 256 L -78 256 Z" fill="url(#sf-body)" />
    <SFVisor x={0} y={260} w={120} h={18} color="#9BF0FF" />
    {/* horn-like ear plates */}
    <path d="M -96 260 L -120 270 L -110 310 L -88 300 Z" fill="#FF3CAA" stroke="#0E1A3A" strokeWidth="2" />
    <path d="M 96 260 L 120 270 L 110 310 L 88 300 Z" fill="#FF3CAA" stroke="#0E1A3A" strokeWidth="2" />
    {/* massive shoulders */}
    <path d="M -180 320 Q -220 360 -200 430 L -130 430 L -120 330 Z" fill="url(#sf-navy)" stroke="#0E1A3A" strokeWidth="3" />
    <path d="M 180 320 Q 220 360 200 430 L 130 430 L 120 330 Z" fill="url(#sf-navy)" stroke="#0E1A3A" strokeWidth="3" />
    <circle cx="-165" cy="375" r="14" fill="#00C8FF" />
    <circle cx="165" cy="375" r="14" fill="#00C8FF" />
    {/* torso — broad with fluorescent lines */}
    <path d="M -120 320 L 120 320 L 145 440 L 125 540 L -125 540 L -145 440 Z"
          fill="url(#sf-body)" stroke="#0E1A3A" strokeWidth="3" />
    <path d="M -85 340 L 85 340 L 105 440 L 88 510 L -88 510 L -105 440 Z" fill="url(#sf-navy)" />
    {/* fluorescent piping */}
    <path d="M -85 340 L -85 380 L -60 400 L -60 480 M 85 340 L 85 380 L 60 400 L 60 480"
          stroke="#9BF0FF" strokeWidth="3" fill="none" />
    {/* OVERSIZED CORE */}
    <SFCore size={44} x={0} y={420} />
    {/* arms */}
    <rect x="-150" y="430" width="42" height="130" rx="12" fill="url(#sf-body)" stroke="#0E1A3A" strokeWidth="3" />
    <rect x="108" y="430" width="42" height="130" rx="12" fill="url(#sf-body)" stroke="#0E1A3A" strokeWidth="3" />
    <rect x="-160" y="555" width="62" height="28" rx="6" fill="url(#sf-navy)" stroke="#0E1A3A" strokeWidth="3" />
    <rect x="98" y="555" width="62" height="28" rx="6" fill="url(#sf-navy)" stroke="#0E1A3A" strokeWidth="3" />
    {/* legs */}
    <path d="M -100 540 L -22 540 L -34 615 L -100 615 Z" fill="url(#sf-navy)" stroke="#0E1A3A" strokeWidth="3" />
    <path d="M 100 540 L 22 540 L 34 615 L 100 615 Z" fill="url(#sf-navy)" stroke="#0E1A3A" strokeWidth="3" />
    <rect x="-110" y="610" width="80" height="18" rx="3" fill="#0E1A3A" />
    <rect x="30" y="610" width="80" height="18" rx="3" fill="#0E1A3A" />
  </svg>
);

// ── Lv.7 インフィニティ・モード ─────────────────────────
const SFLv7 = () => (
  <svg viewBox="-360 -100 720 740" width="100%" height="100%">
    <SFDefs />
    {/* aura halo */}
    <circle cx="0" cy="380" r="320" fill="url(#sf-aura)" opacity="0.6" />
    <circle cx="0" cy="180" r="110" fill="none" stroke="#ffffff" strokeWidth="2" opacity="0.5" />
    <circle cx="0" cy="180" r="92" fill="none" stroke="#9BF0FF" strokeWidth="3" opacity="0.7" />
    {/* floating — small platform of light */}
    <ellipse cx="0" cy="610" rx="120" ry="20" fill="#9BF0FF" opacity="0.4" />
    <ellipse cx="0" cy="610" rx="80" ry="12" fill="#ffffff" opacity="0.55" />
    {/* infinity crown — 5 prong */}
    <g stroke="#ffffff" strokeWidth="4" fill="none" strokeLinecap="round">
      <line x1="0" y1="160" x2="0" y2="60" />
      <line x1="-30" y1="180" x2="-58" y2="90" />
      <line x1="30" y1="180" x2="58" y2="90" />
      <line x1="-60" y1="200" x2="-100" y2="140" />
      <line x1="60" y1="200" x2="100" y2="140" />
    </g>
    <circle cx="0" cy="56" r="10" fill="#FF3CAA" />
    <circle cx="-58" cy="86" r="7" fill="#9BF0FF" />
    <circle cx="58" cy="86" r="7" fill="#9BF0FF" />
    <circle cx="-100" cy="136" r="6" fill="#00C8FF" />
    <circle cx="100" cy="136" r="6" fill="#00C8FF" />
    {/* head — divine helmet */}
    <path d="M -78 210 L 78 210 L 104 256 L 90 326 L -90 326 L -104 256 Z"
          fill="url(#sf-body)" stroke="#0E1A3A" strokeWidth="3" />
    <path d="M -78 210 L 78 210 L 104 256 L -104 256 Z" fill="url(#sf-navy)" />
    <SFVisor x={0} y={272} w={130} h={20} color="#ffffff" />
    {/* radiant cheek lines */}
    <path d="M -90 300 L -70 320 M 90 300 L 70 320" stroke="#FF3CAA" strokeWidth="3" />
    {/* radiant wings */}
    <g opacity="0.95">
      <path d="M -110 380 Q -290 340 -340 240 Q -260 320 -130 350 Z" fill="url(#sf-body)" stroke="#0E1A3A" strokeWidth="3" />
      <path d="M 110 380 Q 290 340 340 240 Q 260 320 130 350 Z" fill="url(#sf-body)" stroke="#0E1A3A" strokeWidth="3" />
      <path d="M -300 270 L -150 340 M -280 310 L -140 360 M -260 350 L -130 380" stroke="#9BF0FF" strokeWidth="2" />
      <path d="M 300 270 L 150 340 M 280 310 L 140 360 M 260 350 L 130 380" stroke="#9BF0FF" strokeWidth="2" />
    </g>
    {/* massive shoulders */}
    <path d="M -180 330 Q -210 380 -180 440 L -130 440 L -120 340 Z" fill="url(#sf-navy)" stroke="#0E1A3A" strokeWidth="3" />
    <path d="M 180 330 Q 210 380 180 440 L 130 440 L 120 340 Z" fill="url(#sf-navy)" stroke="#0E1A3A" strokeWidth="3" />
    <circle cx="-152" cy="385" r="12" fill="#FF3CAA" />
    <circle cx="152" cy="385" r="12" fill="#FF3CAA" />
    {/* torso */}
    <path d="M -120 330 L 120 330 L 150 450 L 130 550 L -130 550 L -150 450 Z"
          fill="url(#sf-body)" stroke="#0E1A3A" strokeWidth="3" />
    <path d="M -80 345 L 80 345 L 108 445 L 90 520 L -90 520 L -108 445 Z" fill="url(#sf-navy)" />
    <path d="M -80 345 L -80 400 L -50 420 L -50 510 M 80 345 L 80 400 L 50 420 L 50 510"
          stroke="#9BF0FF" strokeWidth="3" fill="none" />
    {/* mega core with halo */}
    <circle cx="0" cy="430" r="68" fill="#ffffff" opacity="0.4" />
    <SFCore size={50} x={0} y={430} intensity={1.4} />
    {/* arms */}
    <rect x="-150" y="430" width="40" height="100" rx="10" fill="url(#sf-body)" stroke="#0E1A3A" strokeWidth="3" />
    <rect x="110" y="430" width="40" height="100" rx="10" fill="url(#sf-body)" stroke="#0E1A3A" strokeWidth="3" />
    {/* hands — open, light orbs */}
    <circle cx="-130" cy="552" r="22" fill="url(#sf-navy)" stroke="#0E1A3A" strokeWidth="3" />
    <circle cx="130" cy="552" r="22" fill="url(#sf-navy)" stroke="#0E1A3A" strokeWidth="3" />
    <circle cx="-130" cy="552" r="10" fill="#FF3CAA" />
    <circle cx="130" cy="552" r="10" fill="#FF3CAA" />
    {/* legs — tapered, floating */}
    <path d="M -85 550 L -18 550 L -28 600 L -75 600 Z" fill="url(#sf-navy)" stroke="#0E1A3A" strokeWidth="3" />
    <path d="M 85 550 L 18 550 L 28 600 L 75 600 Z" fill="url(#sf-navy)" stroke="#0E1A3A" strokeWidth="3" />
    <path d="M -75 600 L -55 600 L -50 615 L -60 622 L -78 618 Z" fill="#9BF0FF" />
    <path d="M 75 600 L 55 600 L 50 615 L 60 622 L 78 618 Z" fill="#9BF0FF" />
  </svg>
);

const SF_ROBOTS = [SFLv1, SFLv2, SFLv3, SFLv4, SFLv5, SFLv6, SFLv7];

window.SF_ROBOTS = SF_ROBOTS;
