<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 1200 750" role="img" aria-label="Loop Engineering cover">
  <defs>
    <linearGradient id="bg" x1="0%" y1="0%" x2="0%" y2="100%">
      <stop offset="0%" stop-color="#0a1220"/>
      <stop offset="100%" stop-color="#060a12"/>
    </linearGradient>
    <filter id="glow" x="-60%" y="-60%" width="220%" height="220%">
      <feGaussianBlur stdDeviation="10" result="b"/>
      <feMerge>
        <feMergeNode in="b"/>
        <feMergeNode in="SourceGraphic"/>
      </feMerge>
    </filter>
  </defs>

  <rect width="1200" height="750" fill="url(#bg)"/>

  <!-- subtle grid -->
  <g stroke="#16202f" stroke-width="1">
    <path d="M0,125 H1200"/><path d="M0,250 H1200"/><path d="M0,375 H1200"/><path d="M0,500 H1200"/><path d="M0,625 H1200"/>
    <path d="M150,0 V750"/><path d="M300,0 V750"/><path d="M450,0 V750"/><path d="M600,0 V750"/><path d="M750,0 V750"/><path d="M900,0 V750"/><path d="M1050,0 V750"/>
  </g>

  <!-- the loop -->
  <g transform="translate(820,430)">
    <!-- glowing circular loop with arrowhead gap at upper-left -->
    <path d="M 0,-170 A 170,170 0 1 1 -120,-120" fill="none" stroke="#2dd4bf" stroke-width="18" stroke-linecap="round" filter="url(#glow)"/>
    <polygon points="-90,-150 -104,-104 -136,-136" fill="#2dd4bf" filter="url(#glow)"/>
    <!-- inner dashed orbit -->
    <circle r="108" fill="none" stroke="#22303a" stroke-width="2" stroke-dasharray="6 8"/>

    <!-- nodes on loop: trigger (top), execute (right), verify (bottom, framed), state (left) -->
    <g transform="translate(0,-170)">
      <circle r="16" fill="#2dd4bf" filter="url(#glow)"/>
      <text y="-32" text-anchor="middle" font-family="ui-monospace, Consolas, monospace" font-size="22" font-weight="600" letter-spacing="3" fill="#8b98a5">TRIGGER</text>
    </g>
    <g transform="translate(170,0)">
      <circle r="16" fill="#2dd4bf" filter="url(#glow)"/>
      <text x="34" y="8" font-family="ui-monospace, Consolas, monospace" font-size="22" font-weight="600" letter-spacing="3" fill="#8b98a5">EXECUTE</text>
    </g>
    <g transform="translate(0,170)">
      <rect x="-40" y="-40" width="80" height="80" rx="9" fill="#0d1626" stroke="#f2f5f7" stroke-width="5"/>
      <circle r="20" fill="#2dd4bf" filter="url(#glow)"/>
      <circle r="8" fill="#0d1626"/>
      <text x="58" y="8" font-family="ui-monospace, Consolas, monospace" font-size="22" font-weight="600" letter-spacing="3" fill="#2dd4bf">VERIFY</text>
    </g>
    <g transform="translate(-170,0)">
      <circle r="16" fill="#2dd4bf" filter="url(#glow)"/>
      <text x="-34" y="8" text-anchor="end" font-family="ui-monospace, Consolas, monospace" font-size="22" font-weight="600" letter-spacing="3" fill="#8b98a5">STATE</text>
    </g>
  </g>

  <!-- copy -->
  <text x="70" y="120" font-family="'Segoe UI', system-ui, sans-serif" font-size="80" font-weight="700" letter-spacing="-1" fill="#f2f5f7">Loop Engineering</text>
  <text x="73" y="178" font-family="ui-monospace, 'Cascadia Code', Consolas, monospace" font-size="27" font-weight="600" letter-spacing="6" fill="#2dd4bf">AGENT LOOP &#8226; VERIFIER &#8226; MEMORY</text>

  <text x="70" y="690" font-family="ui-monospace, 'Cascadia Code', Consolas, monospace" font-size="26" font-weight="600" letter-spacing="6" fill="#2dd4bf">RUN UNTIL PROVEN DONE</text>
  <text x="1130" y="690" text-anchor="end" font-family="ui-monospace, 'Cascadia Code', Consolas, monospace" font-size="26" font-weight="600" letter-spacing="6" fill="#8b98a5">BUDGET &#8226; STOP CONDITION</text>
</svg>
