/* eslint-disable */
// 章ボス 7体 — シルエット差別化込み (full body)
// 共通要素: 敵側カラー(マゼンタ/パープル/ダークグレー)、各章の重厚感
// 各SVGはviewBoxを統一して比較しやすく(-300 0 600 700)

const BossDefs = () => (
  <defs>
    <radialGradient id="bs-magenta-glow">
      <stop offset="0%" stopColor="#FF8FD0" stopOpacity="1" />
      <stop offset="60%" stopColor="#FF3CAA" stopOpacity="0.4" />
      <stop offset="100%" stopColor="#FF3CAA" stopOpacity="0" />
    </radialGradient>
    <linearGradient id="bs-dark" x1="0" y1="0" x2="0" y2="1">
      <stop offset="0%" stopColor="#3D1A4A" />
      <stop offset="100%" stopColor="#1A0A2A" />
    </linearGradient>
    <linearGradient id="bs-purple" x1="0" y1="0" x2="0" y2="1">
      <stop offset="0%" stopColor="#9D4ED4" />
      <stop offset="100%" stopColor="#4A1D5C" />
    </linearGradient>
    <linearGradient id="bs-mars" x1="0" y1="0" x2="0" y2="1">
      <stop offset="0%" stopColor="#C9743A" />
      <stop offset="100%" stopColor="#6B3A1F" />
    </linearGradient>
    <linearGradient id="bs-crimson" x1="0" y1="0" x2="0" y2="1">
      <stop offset="0%" stopColor="#D4264E" />
      <stop offset="100%" stopColor="#6B1428" />
    </linearGradient>
    <linearGradient id="bs-gold" x1="0" y1="0" x2="0" y2="1">
      <stop offset="0%" stopColor="#FFD86A" />
      <stop offset="100%" stopColor="#C9912C" />
    </linearGradient>
    <linearGradient id="bs-void" x1="0" y1="0" x2="0" y2="1">
      <stop offset="0%" stopColor="#1A0A2A" />
      <stop offset="100%" stopColor="#050010" />
    </linearGradient>
    <linearGradient id="bs-eyered" x1="0" y1="0" x2="0" y2="1">
      <stop offset="0%" stopColor="#FF6644" />
      <stop offset="100%" stopColor="#CC1A00" />
    </linearGradient>
    <filter id="bs-glow" x="-50%" y="-50%" width="200%" height="200%">
      <feGaussianBlur stdDeviation="4" />
      <feComposite in2="SourceGraphic" operator="over" />
    </filter>
  </defs>
);

const BossFloor = ({ w=160, color="#9D4ED4", op=0.3 }) => (
  <ellipse cx="0" cy="660" rx={w} ry={w*0.16} fill={color} opacity={op} />
);

// ── CH.1 スパイダー(蜘蛛型ドローン、控えめサイズ) ──
const Boss1 = () => (
  <svg viewBox="-300 0 600 700" width="100%" height="100%">
    <BossDefs />
    <BossFloor w={210} color="#FF3CAA" />
    {/* 8 mechanical legs */}
    <g stroke="#1A0A2A" strokeWidth="3" fill="none" strokeLinecap="round">
      <path d="M -90 380 L -200 280 L -240 360 L -260 480" stroke="#9D4ED4" strokeWidth="14" />
      <path d="M -90 400 L -180 360 L -220 460 L -240 580" stroke="#9D4ED4" strokeWidth="14" />
      <path d="M -80 420 L -170 460 L -180 560 L -160 640" stroke="#9D4ED4" strokeWidth="14" />
      <path d="M -70 440 L -130 540 L -100 620 L -80 650" stroke="#9D4ED4" strokeWidth="14" />
      <path d="M 90 380 L 200 280 L 240 360 L 260 480" stroke="#9D4ED4" strokeWidth="14" />
      <path d="M 90 400 L 180 360 L 220 460 L 240 580" stroke="#9D4ED4" strokeWidth="14" />
      <path d="M 80 420 L 170 460 L 180 560 L 160 640" stroke="#9D4ED4" strokeWidth="14" />
      <path d="M 70 440 L 130 540 L 100 620 L 80 650" stroke="#9D4ED4" strokeWidth="14" />
    </g>
    {/* body (oval armor) */}
    <ellipse cx="0" cy="430" rx="140" ry="100" fill="url(#bs-purple)" stroke="#1A0A2A" strokeWidth="3" />
    <ellipse cx="0" cy="400" rx="110" ry="70" fill="url(#bs-dark)" />
    {/* head bump */}
    <ellipse cx="0" cy="350" rx="80" ry="55" fill="url(#bs-dark)" stroke="#1A0A2A" strokeWidth="3" />
    {/* compound red eyes */}
    <circle cx="-30" cy="345" r="16" fill="url(#bs-eyered)" stroke="#1A0A2A" strokeWidth="2" />
    <circle cx="30" cy="345" r="16" fill="url(#bs-eyered)" stroke="#1A0A2A" strokeWidth="2" />
    <circle cx="-30" cy="345" r="6" fill="#ffffff" opacity="0.9" />
    <circle cx="30" cy="345" r="6" fill="#ffffff" opacity="0.9" />
    <circle cx="-55" cy="360" r="8" fill="url(#bs-eyered)" />
    <circle cx="55" cy="360" r="8" fill="url(#bs-eyered)" />
    <circle cx="-50" cy="330" r="6" fill="url(#bs-eyered)" />
    <circle cx="50" cy="330" r="6" fill="url(#bs-eyered)" />
    {/* mandibles */}
    <path d="M -30 388 L -50 410 L -36 414 Z" fill="#1A0A2A" />
    <path d="M 30 388 L 50 410 L 36 414 Z" fill="#1A0A2A" />
    {/* tech panels */}
    <rect x="-40" y="420" width="80" height="6" fill="#FF3CAA" />
    <rect x="-40" y="432" width="80" height="6" fill="#FF3CAA" />
    <circle cx="-60" cy="455" r="6" fill="#FF3CAA" />
    <circle cx="60" cy="455" r="6" fill="#FF3CAA" />
  </svg>
);

// ── CH.2 ガロン(戦車将軍) ──
const Boss2 = () => (
  <svg viewBox="-300 0 600 700" width="100%" height="100%">
    <BossDefs />
    <BossFloor w={200} color="#C9743A" />
    {/* tank treads */}
    <rect x="-240" y="540" width="480" height="80" rx="40" fill="url(#bs-dark)" stroke="#1A0A2A" strokeWidth="3" />
    <g fill="#9D4ED4" stroke="#1A0A2A" strokeWidth="2">
      {[-200,-130,-60,10,80,150].map(x=><circle key={x} cx={x} cy={580} r="22"/>)}
    </g>
    <path d="M -240 540 L 240 540" stroke="#FF3CAA" strokeWidth="3" />
    {/* tank base */}
    <rect x="-180" y="440" width="360" height="110" fill="url(#bs-mars)" stroke="#1A0A2A" strokeWidth="3" />
    <rect x="-160" y="460" width="320" height="20" fill="#1A0A2A" />
    {/* human torso */}
    <path d="M -110 300 L 110 300 L 130 440 L -130 440 Z" fill="url(#bs-mars)" stroke="#1A0A2A" strokeWidth="3" />
    <path d="M -80 320 L 80 320 L 95 420 L -95 420 Z" fill="url(#bs-dark)" />
    <circle cx="0" cy="370" r="22" fill="#FF3CAA" stroke="#1A0A2A" strokeWidth="3" />
    {/* heavy shoulder armor */}
    <path d="M -220 290 Q -250 340 -220 400 L -130 400 L -120 300 Z" fill="url(#bs-dark)" stroke="#1A0A2A" strokeWidth="3" />
    <path d="M 220 290 Q 250 340 220 400 L 130 400 L 120 300 Z" fill="url(#bs-dark)" stroke="#1A0A2A" strokeWidth="3" />
    {/* cannons */}
    <rect x="-260" y="330" width="60" height="30" rx="4" fill="#1A0A2A" stroke="#1A0A2A" strokeWidth="2" />
    <circle cx="-262" cy="345" r="14" fill="url(#bs-eyered)" filter="url(#bs-glow)" />
    <rect x="200" y="330" width="60" height="30" rx="4" fill="#1A0A2A" stroke="#1A0A2A" strokeWidth="2" />
    <circle cx="262" cy="345" r="14" fill="url(#bs-eyered)" filter="url(#bs-glow)" />
    {/* head — visored general */}
    <path d="M -56 220 L 56 220 L 76 260 L 60 300 L -60 300 L -76 260 Z" fill="url(#bs-dark)" stroke="#1A0A2A" strokeWidth="3" />
    <rect x="-50" y="252" width="100" height="14" fill="url(#bs-eyered)" />
    <rect x="-50" y="252" width="40" height="14" fill="#ffffff" opacity="0.7" />
    {/* horn-like crest */}
    <path d="M -40 220 L -56 180 L -30 200 Z" fill="#1A0A2A" />
    <path d="M 40 220 L 56 180 L 30 200 Z" fill="#1A0A2A" />
  </svg>
);

// ── CH.3 クリムゾン・パイレーツ(海賊王) ──
const Boss3 = () => (
  <svg viewBox="-300 0 600 700" width="100%" height="100%">
    <BossDefs />
    <BossFloor w={180} color="#D4264E" />
    {/* parrot drone on shoulder */}
    <g transform="translate(-180, 240)">
      <ellipse cx="0" cy="0" rx="34" ry="26" fill="url(#bs-gold)" stroke="#1A0A2A" strokeWidth="2" />
      <circle cx="-10" cy="-8" r="14" fill="url(#bs-gold)" stroke="#1A0A2A" strokeWidth="2" />
      <circle cx="-14" cy="-10" r="4" fill="url(#bs-eyered)" />
      <path d="M -22 -6 L -32 -2 L -22 4 Z" fill="#1A0A2A" />
      <path d="M 14 6 L 28 -8 M 18 12 L 36 6" stroke="url(#bs-crimson)" strokeWidth="3" />
    </g>
    {/* legs — pirate boots */}
    <path d="M -90 540 L -40 540 L -50 660 L -100 660 Z" fill="url(#bs-dark)" stroke="#1A0A2A" strokeWidth="3" />
    <path d="M 90 540 L 40 540 L 50 660 L 100 660 Z" fill="url(#bs-dark)" stroke="#1A0A2A" strokeWidth="3" />
    <rect x="-110" y="650" width="70" height="20" rx="3" fill="url(#bs-crimson)" stroke="#1A0A2A" strokeWidth="2" />
    <rect x="40" y="650" width="70" height="20" rx="3" fill="url(#bs-crimson)" stroke="#1A0A2A" strokeWidth="2" />
    {/* coat — flowing */}
    <path d="M -130 320 L -170 540 L -100 540 L -100 360 Z" fill="url(#bs-crimson)" stroke="#1A0A2A" strokeWidth="3" />
    <path d="M 130 320 L 170 540 L 100 540 L 100 360 Z" fill="url(#bs-crimson)" stroke="#1A0A2A" strokeWidth="3" />
    {/* torso */}
    <path d="M -100 280 L 100 280 L 110 440 L 100 540 L -100 540 L -110 440 Z" fill="url(#bs-dark)" stroke="#1A0A2A" strokeWidth="3" />
    {/* gold chest detail */}
    <path d="M -50 300 L 50 300 L 30 380 L -30 380 Z" fill="url(#bs-gold)" stroke="#1A0A2A" strokeWidth="2" />
    {/* belt + buckle */}
    <rect x="-90" y="440" width="180" height="16" fill="url(#bs-gold)" stroke="#1A0A2A" strokeWidth="2" />
    <rect x="-12" y="436" width="24" height="24" fill="url(#bs-crimson)" stroke="#1A0A2A" strokeWidth="2" />
    {/* shoulders */}
    <path d="M -150 275 Q -180 320 -150 360 L -100 350 L -110 280 Z" fill="url(#bs-crimson)" stroke="#1A0A2A" strokeWidth="3" />
    <path d="M 150 275 Q 180 320 150 360 L 100 350 L 110 280 Z" fill="url(#bs-crimson)" stroke="#1A0A2A" strokeWidth="3" />
    {/* arms */}
    <rect x="-150" y="350" width="40" height="180" rx="10" fill="url(#bs-dark)" stroke="#1A0A2A" strokeWidth="3" />
    <rect x="110" y="350" width="40" height="180" rx="10" fill="url(#bs-dark)" stroke="#1A0A2A" strokeWidth="3" />
    {/* cutlass */}
    <g>
      <rect x="146" y="510" width="10" height="40" fill="url(#bs-gold)" stroke="#1A0A2A" strokeWidth="2" />
      <path d="M 150 510 Q 200 460 230 380 L 222 376 Q 195 450 145 506 Z" fill="#E5E5F0" stroke="#1A0A2A" strokeWidth="2" />
    </g>
    {/* head — pirate captain w/ eyepatch */}
    <path d="M -64 210 L 64 210 L 80 260 L 70 300 L -70 300 L -80 260 Z" fill="url(#bs-dark)" stroke="#1A0A2A" strokeWidth="3" />
    {/* hat */}
    <path d="M -100 210 L 100 210 L 110 180 L 0 140 L -110 180 Z" fill="url(#bs-dark)" stroke="#1A0A2A" strokeWidth="3" />
    <path d="M -30 175 L 30 175 L 0 145 Z" fill="url(#bs-gold)" stroke="#1A0A2A" strokeWidth="2" />
    {/* skull emblem */}
    <circle cx="0" cy="178" r="10" fill="#1A0A2A" />
    <rect x="-3" y="184" width="6" height="6" fill="#1A0A2A" />
    {/* eyes */}
    <rect x="-50" y="248" width="40" height="10" fill="url(#bs-eyered)" />
    {/* eyepatch */}
    <path d="M 8 250 L 60 240 L 60 268 L 8 260 Z" fill="#1A0A2A" />
    <path d="M -20 250 L 14 252 M 14 252 L 80 240" stroke="#1A0A2A" strokeWidth="3" fill="none" />
  </svg>
);

// ── CH.4 ファントム(幻影の使者) ──
const Boss4 = () => (
  <svg viewBox="-300 0 600 700" width="100%" height="100%">
    <BossDefs />
    {/* purple mist */}
    <ellipse cx="0" cy="660" rx="200" ry="40" fill="#9D4ED4" opacity="0.4" />
    <ellipse cx="0" cy="640" rx="160" ry="20" fill="#9D4ED4" opacity="0.3" />
    {/* trailing cloak */}
    <path d="M -120 320 Q -180 480 -140 660 L 140 660 Q 180 480 120 320 Z" fill="url(#bs-purple)" stroke="#4A1D5C" strokeWidth="3" opacity="0.85" />
    <path d="M -80 320 Q -120 500 -90 660 L 90 660 Q 120 500 80 320 Z" fill="url(#bs-dark)" opacity="0.7" />
    {/* torso slim */}
    <path d="M -75 260 L 75 260 L 90 380 L 80 480 L -80 480 L -90 380 Z" fill="url(#bs-purple)" stroke="#1A0A2A" strokeWidth="3" opacity="0.9" />
    <path d="M -50 280 L 50 280 L 65 380 L 50 460 L -50 460 L -65 380 Z" fill="url(#bs-dark)" />
    {/* hollow chest core */}
    <circle cx="0" cy="370" r="22" fill="url(#bs-magenta-glow)" opacity="0.8" />
    <circle cx="0" cy="370" r="12" fill="#FF3CAA" />
    <path d="M -8 358 L 8 358 L 0 380 Z" fill="#ffffff" opacity="0.9" />
    {/* shoulders */}
    <path d="M -140 270 Q -170 310 -140 360 L -90 350 L -100 270 Z" fill="url(#bs-purple)" stroke="#1A0A2A" strokeWidth="3" opacity="0.9" />
    <path d="M 140 270 Q 170 310 140 360 L 90 350 L 100 270 Z" fill="url(#bs-purple)" stroke="#1A0A2A" strokeWidth="3" opacity="0.9" />
    {/* arms — long thin */}
    <path d="M -135 350 Q -160 420 -150 510 L -120 510 Q -100 420 -110 350 Z" fill="url(#bs-dark)" stroke="#1A0A2A" strokeWidth="3" />
    <path d="M 135 350 Q 160 420 150 510 L 120 510 Q 100 420 110 350 Z" fill="url(#bs-dark)" stroke="#1A0A2A" strokeWidth="3" />
    {/* clawed hands */}
    <path d="M -150 510 L -160 540 L -140 538 L -132 552 L -120 540 L -115 552 L -110 538 L -100 540 L -120 515 Z" fill="url(#bs-dark)" stroke="#1A0A2A" strokeWidth="2" />
    <path d="M 150 510 L 160 540 L 140 538 L 132 552 L 120 540 L 115 552 L 110 538 L 100 540 L 120 515 Z" fill="url(#bs-dark)" stroke="#1A0A2A" strokeWidth="2" />
    {/* head — masked humanoid */}
    <path d="M -62 200 L 62 200 L 82 250 L 70 290 L -70 290 L -82 250 Z" fill="url(#bs-dark)" stroke="#1A0A2A" strokeWidth="3" />
    {/* mask plate */}
    <path d="M -52 215 L 52 215 L 68 250 L 58 285 L -58 285 L -68 250 Z" fill="#E5E5F0" stroke="#1A0A2A" strokeWidth="2" />
    {/* mask emblem */}
    <path d="M 0 230 L -8 252 L 0 270 L 8 252 Z" fill="#FF3CAA" />
    <rect x="-3" y="250" width="6" height="20" fill="#FF3CAA" />
    {/* eye slits — no eyes */}
    <rect x="-46" y="244" width="22" height="4" fill="#1A0A2A" />
    <rect x="24" y="244" width="22" height="4" fill="#1A0A2A" />
    {/* hood */}
    <path d="M -90 210 Q -100 170 0 150 Q 100 170 90 210 L 78 230 Q 0 200 -78 230 Z" fill="url(#bs-dark)" stroke="#1A0A2A" strokeWidth="3" />
  </svg>
);

// ── CH.5 クイーン・サタライト(銀河の女王) ──
const Boss5 = () => (
  <svg viewBox="-300 0 600 700" width="100%" height="100%">
    <BossDefs />
    {/* saturn ring at waist */}
    <ellipse cx="0" cy="450" rx="240" ry="44" fill="none" stroke="url(#bs-gold)" strokeWidth="6" opacity="0.85" />
    <ellipse cx="0" cy="450" rx="200" ry="32" fill="none" stroke="#FF8FD0" strokeWidth="3" opacity="0.6" />
    <ellipse cx="0" cy="450" rx="270" ry="50" fill="none" stroke="#9D4ED4" strokeWidth="2" opacity="0.4" transform="rotate(-12 0 450)" />
    {/* tiny satellite drones around */}
    <circle cx="-260" cy="430" r="8" fill="url(#bs-gold)" stroke="#1A0A2A" strokeWidth="2" />
    <circle cx="240" cy="470" r="6" fill="url(#bs-gold)" stroke="#1A0A2A" strokeWidth="2" />
    <circle cx="-200" cy="500" r="5" fill="#FF3CAA" />
    <BossFloor w={180} color="#9D4ED4" op={0.4} />
    {/* long flowing skirt-cape mech */}
    <path d="M -130 450 L -180 660 L 180 660 L 130 450 Z" fill="url(#bs-purple)" stroke="#1A0A2A" strokeWidth="3" />
    <path d="M -90 450 L -120 660 L 120 660 L 90 450 Z" fill="url(#bs-dark)" />
    <path d="M -60 460 L -60 660 M -30 460 L -30 660 M 0 460 L 0 660 M 30 460 L 30 660 M 60 460 L 60 660"
          stroke="#FF3CAA" strokeWidth="2" opacity="0.6" />
    {/* torso */}
    <path d="M -95 280 L 95 280 L 115 420 L -115 420 Z" fill="url(#bs-purple)" stroke="#1A0A2A" strokeWidth="3" />
    {/* corset gold */}
    <path d="M -70 290 L 70 290 L 80 410 L -80 410 Z" fill="url(#bs-dark)" />
    <path d="M -60 300 L 60 300 L 70 400 L -70 400 Z" fill="url(#bs-gold)" />
    {/* central jewel core */}
    <ellipse cx="0" cy="350" rx="18" ry="28" fill="#FF3CAA" stroke="#1A0A2A" strokeWidth="2" />
    <ellipse cx="-4" cy="344" rx="6" ry="10" fill="#ffffff" opacity="0.7" />
    {/* shoulders — angular */}
    <path d="M -160 270 L -100 270 L -110 350 L -170 340 Z" fill="url(#bs-dark)" stroke="#1A0A2A" strokeWidth="3" />
    <path d="M 160 270 L 100 270 L 110 350 L 170 340 Z" fill="url(#bs-dark)" stroke="#1A0A2A" strokeWidth="3" />
    <path d="M -180 340 L -150 270 L -130 290 Z" fill="url(#bs-gold)" stroke="#1A0A2A" strokeWidth="2" />
    <path d="M 180 340 L 150 270 L 130 290 Z" fill="url(#bs-gold)" stroke="#1A0A2A" strokeWidth="2" />
    {/* slender arms */}
    <path d="M -160 340 L -180 500 L -150 510 L -120 350 Z" fill="url(#bs-purple)" stroke="#1A0A2A" strokeWidth="3" />
    <path d="M 160 340 L 180 500 L 150 510 L 120 350 Z" fill="url(#bs-purple)" stroke="#1A0A2A" strokeWidth="3" />
    {/* head + crown */}
    <ellipse cx="0" cy="240" rx="56" ry="62" fill="url(#bs-dark)" stroke="#1A0A2A" strokeWidth="3" />
    <rect x="-44" y="240" width="88" height="14" fill="url(#bs-eyered)" />
    {/* crown */}
    <path d="M -60 195 L -50 145 L -30 175 L -10 130 L 10 130 L 30 175 L 50 145 L 60 195 Z" fill="url(#bs-gold)" stroke="#1A0A2A" strokeWidth="3" />
    <circle cx="0" cy="155" r="8" fill="#FF3CAA" stroke="#1A0A2A" strokeWidth="2" />
    <circle cx="-30" cy="170" r="5" fill="#FF3CAA" />
    <circle cx="30" cy="170" r="5" fill="#FF3CAA" />
  </svg>
);

// ── CH.6 ジェネラル・ヴォルテックス(帝国大将軍) ──
const Boss6 = () => (
  <svg viewBox="-300 0 600 700" width="100%" height="100%">
    <BossDefs />
    <BossFloor w={220} color="#CC1A00" op={0.35} />
    {/* twin dragon shoulders */}
    <g>
      {/* left dragon head */}
      <path d="M -200 280 L -260 240 L -290 280 L -270 340 L -220 330 Z" fill="url(#bs-dark)" stroke="#1A0A2A" strokeWidth="3" />
      <circle cx="-260" cy="285" r="8" fill="url(#bs-eyered)" filter="url(#bs-glow)" />
      <path d="M -290 280 L -300 270 L -280 268 Z" fill="#1A0A2A" />
      <path d="M -250 250 L -240 230 L -226 248 Z" fill="#CC1A00" />
      {/* right dragon head */}
      <path d="M 200 280 L 260 240 L 290 280 L 270 340 L 220 330 Z" fill="url(#bs-dark)" stroke="#1A0A2A" strokeWidth="3" />
      <circle cx="260" cy="285" r="8" fill="url(#bs-eyered)" filter="url(#bs-glow)" />
      <path d="M 290 280 L 300 270 L 280 268 Z" fill="#1A0A2A" />
      <path d="M 250 250 L 240 230 L 226 248 Z" fill="#CC1A00" />
    </g>
    {/* huge torso */}
    <path d="M -140 290 L 140 290 L 175 460 L 150 580 L -150 580 L -175 460 Z" fill="url(#bs-dark)" stroke="#1A0A2A" strokeWidth="3" />
    <path d="M -100 310 L 100 310 L 130 460 L 105 560 L -105 560 L -130 460 Z" fill="url(#bs-void)" />
    {/* swirling red lines */}
    <path d="M -90 340 Q -50 380 -90 420 Q -50 460 -90 500" stroke="#CC1A00" strokeWidth="3" fill="none" />
    <path d="M 90 340 Q 50 380 90 420 Q 50 460 90 500" stroke="#CC1A00" strokeWidth="3" fill="none" />
    <path d="M -60 360 Q 0 400 60 360 M -60 440 Q 0 480 60 440" stroke="#CC1A00" strokeWidth="3" fill="none" />
    <circle cx="0" cy="420" r="28" fill="#CC1A00" stroke="#1A0A2A" strokeWidth="3" />
    <circle cx="0" cy="420" r="14" fill="#FFD86A" />
    {/* arms */}
    <rect x="-220" y="340" width="52" height="180" rx="12" fill="url(#bs-dark)" stroke="#1A0A2A" strokeWidth="3" />
    <rect x="168" y="340" width="52" height="180" rx="12" fill="url(#bs-dark)" stroke="#1A0A2A" strokeWidth="3" />
    <rect x="-225" y="510" width="62" height="36" rx="6" fill="#CC1A00" stroke="#1A0A2A" strokeWidth="3" />
    <rect x="163" y="510" width="62" height="36" rx="6" fill="#CC1A00" stroke="#1A0A2A" strokeWidth="3" />
    {/* legs — massive */}
    <path d="M -100 580 L -20 580 L -32 670 L -110 670 Z" fill="url(#bs-dark)" stroke="#1A0A2A" strokeWidth="3" />
    <path d="M 100 580 L 20 580 L 32 670 L 110 670 Z" fill="url(#bs-dark)" stroke="#1A0A2A" strokeWidth="3" />
    {/* head — horned helm */}
    <path d="M -70 200 L 70 200 L 90 250 L 80 295 L -80 295 L -90 250 Z" fill="url(#bs-dark)" stroke="#1A0A2A" strokeWidth="3" />
    {/* big horns */}
    <path d="M -70 210 L -120 130 L -90 200 Z" fill="#1A0A2A" stroke="#CC1A00" strokeWidth="2" />
    <path d="M 70 210 L 120 130 L 90 200 Z" fill="#1A0A2A" stroke="#CC1A00" strokeWidth="2" />
    {/* eye slits red */}
    <rect x="-58" y="244" width="40" height="10" fill="url(#bs-eyered)" filter="url(#bs-glow)" />
    <rect x="18" y="244" width="40" height="10" fill="url(#bs-eyered)" filter="url(#bs-glow)" />
    <rect x="-10" y="270" width="20" height="6" fill="#CC1A00" />
  </svg>
);

// ── CH.7 ダークネビュラ皇帝(銀河帝王、第1形態:王座) ──
const Boss7 = () => (
  <svg viewBox="-300 0 600 700" width="100%" height="100%">
    <BossDefs />
    {/* void aura */}
    <radialGradient id="bs7-aura">
      <stop offset="0%" stopColor="#9D4ED4" stopOpacity="0.7" />
      <stop offset="60%" stopColor="#4A1D5C" stopOpacity="0.3" />
      <stop offset="100%" stopColor="#1A0A2A" stopOpacity="0" />
    </radialGradient>
    <circle cx="0" cy="380" r="290" fill="url(#bs7-aura)" />
    {/* purple lightning */}
    <path d="M -260 80 L -200 200 L -240 220 L -160 360 M 260 80 L 200 200 L 240 220 L 160 360" stroke="#9D4ED4" strokeWidth="3" fill="none" opacity="0.6" />
    {/* throne base */}
    <path d="M -240 600 L 240 600 L 200 670 L -200 670 Z" fill="url(#bs-void)" stroke="#1A0A2A" strokeWidth="3" />
    {/* throne back */}
    <path d="M -200 200 L -180 580 L 180 580 L 200 200 Q 180 100 0 80 Q -180 100 -200 200 Z" fill="url(#bs-void)" stroke="#1A0A2A" strokeWidth="3" />
    {/* throne spikes */}
    {[-160,-100,0,100,160].map((x,i)=>(
      <path key={i} d={`M ${x} 100 L ${x-12} 60 L ${x+12} 60 Z`} fill="url(#bs-purple)" stroke="#1A0A2A" strokeWidth="2" />
    ))}
    <path d="M -10 30 L 10 30 L 0 -10 Z" fill="#FF3CAA" stroke="#1A0A2A" strokeWidth="2" />
    {/* throne armrests */}
    <path d="M -200 320 L -260 320 L -270 460 L -210 460 Z" fill="url(#bs-purple)" stroke="#1A0A2A" strokeWidth="3" />
    <path d="M 200 320 L 260 320 L 270 460 L 210 460 Z" fill="url(#bs-purple)" stroke="#1A0A2A" strokeWidth="3" />
    {/* sitting body — robed */}
    <path d="M -130 380 L -150 580 L 150 580 L 130 380 Z" fill="url(#bs-dark)" stroke="#1A0A2A" strokeWidth="3" />
    <path d="M -90 400 L -100 580 L 100 580 L 90 400 Z" fill="url(#bs-void)" />
    {/* core on chest */}
    <circle cx="0" cy="430" r="30" fill="url(#bs-magenta-glow)" />
    <circle cx="0" cy="430" r="18" fill="#FF3CAA" stroke="#1A0A2A" strokeWidth="2" />
    <circle cx="-6" cy="424" r="6" fill="#ffffff" opacity="0.9" />
    {/* shoulders — wide royal */}
    <path d="M -180 320 L -100 310 L -90 400 L -160 410 Z" fill="url(#bs-purple)" stroke="#1A0A2A" strokeWidth="3" />
    <path d="M 180 320 L 100 310 L 90 400 L 160 410 Z" fill="url(#bs-purple)" stroke="#1A0A2A" strokeWidth="3" />
    {/* arms on rests */}
    <rect x="-220" y="350" width="50" height="120" rx="8" fill="url(#bs-dark)" stroke="#1A0A2A" strokeWidth="3" />
    <rect x="170" y="350" width="50" height="120" rx="8" fill="url(#bs-dark)" stroke="#1A0A2A" strokeWidth="3" />
    {/* head — emperor mask */}
    <path d="M -64 230 L 64 230 L 84 270 L 70 320 L -70 320 L -84 270 Z" fill="url(#bs-void)" stroke="#1A0A2A" strokeWidth="3" />
    {/* royal crown — 7-pointed */}
    <path d="M -90 230 L -75 170 L -55 215 L -30 150 L 0 200 L 30 150 L 55 215 L 75 170 L 90 230 Z" fill="url(#bs-purple)" stroke="#1A0A2A" strokeWidth="3" />
    <circle cx="0" cy="195" r="9" fill="#FF3CAA" />
    {/* glowing eyes */}
    <circle cx="-26" cy="270" r="9" fill="#FF3CAA" filter="url(#bs-glow)" />
    <circle cx="26" cy="270" r="9" fill="#FF3CAA" filter="url(#bs-glow)" />
    <circle cx="0" cy="295" r="6" fill="#FF3CAA" />
  </svg>
);

const BOSSES = [Boss1, Boss2, Boss3, Boss4, Boss5, Boss6, Boss7];
window.BOSSES = BOSSES;
