<svg viewBox="0 0 700 420" xmlns="http://www.w3.org/2000/svg">
  <!-- Title -->
  <text x="350" y="22" text-anchor="middle" font-family="'Space Mono', monospace" font-size="13" fill="#6366f1">Reflection-amplification attack</text>

  <defs>
    <marker id="ampArrThin" viewBox="0 0 10 10" refX="9" refY="5" markerWidth="6" markerHeight="6" orient="auto-start-reverse">
      <path d="M 0 0 L 10 5 L 0 10 z" fill="#6366f1"/>
    </marker>
    <marker id="ampArrFat" viewBox="0 0 10 10" refX="9" refY="5" markerWidth="6" markerHeight="6" orient="auto-start-reverse">
      <path d="M 0 0 L 10 5 L 0 10 z" fill="#d97706"/>
    </marker>
  </defs>

  <!-- Attacker box (left) -->
  <rect x="40" y="180" width="120" height="60" rx="4" fill="none" stroke="#6366f1" stroke-width="1.5"/>
  <text x="100" y="208" text-anchor="middle" font-family="'Space Mono', monospace" font-size="12" fill="#6366f1">Attacker</text>
  <text x="100" y="226" text-anchor="middle" font-family="'Space Mono', monospace" font-size="9" fill="#888">src IP = Victim</text>

  <!-- Reflectors (middle column) -->
  <rect x="290" y="60" width="120" height="50" rx="4" fill="none" stroke="#888" stroke-width="1.5"/>
  <text x="350" y="82" text-anchor="middle" font-family="'Space Mono', monospace" font-size="11" fill="#6366f1">Reflector 1</text>
  <text x="350" y="98" text-anchor="middle" font-family="'Space Mono', monospace" font-size="9" fill="#888">DNS / memcached / ...</text>

  <rect x="290" y="135" width="120" height="50" rx="4" fill="none" stroke="#888" stroke-width="1.5"/>
  <text x="350" y="157" text-anchor="middle" font-family="'Space Mono', monospace" font-size="11" fill="#6366f1">Reflector 2</text>
  <text x="350" y="173" text-anchor="middle" font-family="'Space Mono', monospace" font-size="9" fill="#888">DNS / memcached / ...</text>

  <rect x="290" y="210" width="120" height="50" rx="4" fill="none" stroke="#888" stroke-width="1.5"/>
  <text x="350" y="232" text-anchor="middle" font-family="'Space Mono', monospace" font-size="11" fill="#6366f1">Reflector 3</text>
  <text x="350" y="248" text-anchor="middle" font-family="'Space Mono', monospace" font-size="9" fill="#888">DNS / memcached / ...</text>

  <rect x="290" y="285" width="120" height="50" rx="4" fill="none" stroke="#888" stroke-width="1.5"/>
  <text x="350" y="307" text-anchor="middle" font-family="'Space Mono', monospace" font-size="11" fill="#6366f1">Reflector 4</text>
  <text x="350" y="323" text-anchor="middle" font-family="'Space Mono', monospace" font-size="9" fill="#888">DNS / memcached / ...</text>

  <!-- Victim box (right) -->
  <rect x="540" y="180" width="120" height="60" rx="4" fill="none" stroke="#d97706" stroke-width="1.5"/>
  <text x="600" y="208" text-anchor="middle" font-family="'Space Mono', monospace" font-size="12" fill="#d97706">Victim</text>
  <text x="600" y="226" text-anchor="middle" font-family="'Space Mono', monospace" font-size="9" fill="#888">overwhelmed</text>

  <!-- Attacker -> Reflectors: thin arrows -->
  <line x1="160" y1="200" x2="284" y2="85"  stroke="#6366f1" stroke-width="1"   marker-end="url(#ampArrThin)"/>
  <line x1="160" y1="205" x2="284" y2="160" stroke="#6366f1" stroke-width="1"   marker-end="url(#ampArrThin)"/>
  <line x1="160" y1="220" x2="284" y2="235" stroke="#6366f1" stroke-width="1"   marker-end="url(#ampArrThin)"/>
  <line x1="160" y1="225" x2="284" y2="310" stroke="#6366f1" stroke-width="1"   marker-end="url(#ampArrThin)"/>

  <!-- Reflectors -> Victim: fat arrows (amplification) -->
  <line x1="410" y1="85"  x2="536" y2="200" stroke="#d97706" stroke-width="4"   marker-end="url(#ampArrFat)"/>
  <line x1="410" y1="160" x2="536" y2="205" stroke="#d97706" stroke-width="4"   marker-end="url(#ampArrFat)"/>
  <line x1="410" y1="235" x2="536" y2="220" stroke="#d97706" stroke-width="4"   marker-end="url(#ampArrFat)"/>
  <line x1="410" y1="310" x2="536" y2="225" stroke="#d97706" stroke-width="4"   marker-end="url(#ampArrFat)"/>

  <!-- Annotations -->
  <text x="225" y="158" text-anchor="middle" font-family="'Space Mono', monospace" font-size="10" fill="#6366f1">tiny spoofed requests</text>
  <text x="475" y="372" text-anchor="middle" font-family="'Space Mono', monospace" font-size="10" fill="#d97706">amplified responses</text>
  <text x="475" y="388" text-anchor="middle" font-family="'Space Mono', monospace" font-size="10" fill="#d97706">(up to ~50,000×)</text>
</svg>
