<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 900 220" width="900" height="220">
<defs>
<linearGradient id="bg" x1="0%" y1="0%" x2="100%" y2="100%">
<stop offset="0%" style="stop-color:#0d1117"/>
<stop offset="100%" style="stop-color:#161b22"/>
</linearGradient>
<linearGradient id="accent" x1="0%" y1="0%" x2="100%" y2="0%">
<stop offset="0%" style="stop-color:#238636"/>
<stop offset="100%" style="stop-color:#2ea043"/>
</linearGradient>
<linearGradient id="pulse-grad" x1="0%" y1="0%" x2="100%" y2="0%">
<stop offset="0%" style="stop-color:#238636;stop-opacity:0"/>
<stop offset="50%" style="stop-color:#3fb950;stop-opacity:1"/>
<stop offset="100%" style="stop-color:#238636;stop-opacity:0"/>
</linearGradient>
<filter id="glow">
<feGaussianBlur stdDeviation="2.5" result="blur"/>
<feMerge><feMergeNode in="blur"/><feMergeNode in="SourceGraphic"/></feMerge>
</filter>
<filter id="glow-strong">
<feGaussianBlur stdDeviation="4" result="blur"/>
<feMerge><feMergeNode in="blur"/><feMergeNode in="SourceGraphic"/></feMerge>
</filter>
<clipPath id="clip"><rect width="900" height="220" rx="12"/></clipPath>
</defs>
<!-- Background -->
<rect width="900" height="220" rx="12" fill="url(#bg)"/>
<!-- Subtle grid lines -->
<g stroke="#21262d" stroke-width="0.5" opacity="0.6" clip-path="url(#clip)">
<line x1="0" y1="44" x2="900" y2="44"/>
<line x1="0" y1="88" x2="900" y2="88"/>
<line x1="0" y1="132" x2="900" y2="132"/>
<line x1="0" y1="176" x2="900" y2="176"/>
<line x1="180" y1="0" x2="180" y2="220"/>
<line x1="360" y1="0" x2="360" y2="220"/>
<line x1="540" y1="0" x2="540" y2="220"/>
<line x1="720" y1="0" x2="720" y2="220"/>
</g>
<!-- Animated scanning pulse line -->
<rect x="0" y="0" width="300" height="2" rx="1" fill="url(#pulse-grad)" clip-path="url(#clip)">
<animateTransform attributeName="transform" type="translate" from="-300 108" to="1200 108" dur="3s" repeatCount="indefinite"/>
</rect>
<!-- Left side: icon area -->
<!-- Tractor / skid-steer icon built from paths -->
<g transform="translate(48, 60)" filter="url(#glow)">
<!-- Body -->
<rect x="10" y="20" width="56" height="38" rx="4" fill="#238636" opacity="0.9"/>
<!-- Cab -->
<rect x="20" y="8" width="36" height="24" rx="3" fill="#2ea043"/>
<!-- Window -->
<rect x="25" y="12" width="26" height="16" rx="2" fill="#0d1117" opacity="0.7"/>
<!-- Arm -->
<rect x="52" y="4" width="8" height="30" rx="2" fill="#3fb950" transform="rotate(-15 56 20)"/>
<!-- Bucket -->
<rect x="58" y="2" width="18" height="10" rx="3" fill="#3fb950">
<animateTransform attributeName="transform" type="rotate" from="0 67 7" to="-20 67 7" dur="2s" repeatCount="indefinite" calcMode="spline" keySplines="0.4 0 0.6 1; 0.4 0 0.6 1" values="0 67 7;-20 67 7;0 67 7"/>
</rect>
<!-- Tracks -->
<rect x="4" y="52" width="68" height="12" rx="6" fill="#161b22" stroke="#30363d" stroke-width="1.5"/>
<!-- Track segments animated -->
<g clip-path="url(#clip)">
<rect x="8" y="54" width="8" height="8" rx="1" fill="#30363d">
<animate attributeName="x" from="8" to="68" dur="1s" repeatCount="indefinite"/>
</rect>
<rect x="22" y="54" width="8" height="8" rx="1" fill="#30363d">
<animate attributeName="x" from="22" to="68" dur="1s" repeatCount="indefinite"/>
</rect>
<rect x="36" y="54" width="8" height="8" rx="1" fill="#30363d">
<animate attributeName="x" from="36" to="-6" dur="1s" repeatCount="indefinite"/>
</rect>
<rect x="50" y="54" width="8" height="8" rx="1" fill="#30363d">
<animate attributeName="x" from="50" to="-6" dur="1s" repeatCount="indefinite"/>
</rect>
</g>
<!-- Wheels -->
<circle cx="10" cy="58" r="8" fill="#21262d" stroke="#3fb950" stroke-width="1.5"/>
<circle cx="10" cy="58" r="3" fill="#3fb950"/>
<circle cx="66" cy="58" r="8" fill="#21262d" stroke="#3fb950" stroke-width="1.5"/>
<circle cx="66" cy="58" r="3" fill="#3fb950"/>
</g>
<!-- Divider -->
<line x1="160" y1="30" x2="160" y2="190" stroke="#30363d" stroke-width="1"/>
<!-- Title -->
<text x="188" y="85" font-family="'SF Mono', 'Fira Code', monospace" font-size="42" font-weight="700" fill="#f0f6fc" letter-spacing="-1">git-steer</text>
<!-- Tagline -->
<text x="190" y="112" font-family="'SF Mono', 'Fira Code', monospace" font-size="14" fill="#8b949e" letter-spacing="0.5">Self-hosting GitHub autonomy engine • v0.3.0</text>
<!-- Green accent bar under title -->
<rect x="188" y="120" width="0" height="3" rx="1.5" fill="url(#accent)">
<animate attributeName="width" from="0" to="460" dur="1.2s" fill="freeze" calcMode="spline" keySplines="0.4 0 0.2 1"/>
</rect>
<!-- Feature pills -->
<g transform="translate(188, 142)">
<!-- Pill 1 -->
<rect x="0" y="0" width="120" height="24" rx="12" fill="#238636" opacity="0.2" stroke="#238636" stroke-width="1"/>
<text x="60" y="16" font-family="'SF Mono', 'Fira Code', monospace" font-size="11" fill="#3fb950" text-anchor="middle">Rate-Limited API</text>
<!-- Pill 2 -->
<rect x="128" y="0" width="106" height="24" rx="12" fill="#1f6feb" opacity="0.2" stroke="#1f6feb" stroke-width="1"/>
<text x="181" y="16" font-family="'SF Mono', 'Fira Code', monospace" font-size="11" fill="#58a6ff" text-anchor="middle">ETag Caching</text>
<!-- Pill 3 -->
<rect x="242" y="0" width="126" height="24" rx="12" fill="#6e40c9" opacity="0.2" stroke="#6e40c9" stroke-width="1"/>
<text x="305" y="16" font-family="'SF Mono', 'Fira Code', monospace" font-size="11" fill="#bc8cff" text-anchor="middle">GraphQL Batching</text>
<!-- Pill 4 -->
<rect x="376" y="0" width="112" height="24" rx="12" fill="#b08800" opacity="0.2" stroke="#9e6a03" stroke-width="1"/>
<text x="432" y="16" font-family="'SF Mono', 'Fira Code', monospace" font-size="11" fill="#e3b341" text-anchor="middle">Chunked Sweep</text>
</g>
<!-- Bottom bar: architecture summary -->
<rect x="0" y="186" width="900" height="34" rx="0" fill="#161b22" opacity="0.8" clip-path="url(#clip)"/>
<rect x="0" y="186" width="900" height="1" fill="#30363d"/>
<!-- Mac node -->
<circle cx="232" cy="203" r="5" fill="#3fb950" filter="url(#glow)">
<animate attributeName="opacity" values="1;0.4;1" dur="2.5s" repeatCount="indefinite"/>
</circle>
<text x="243" y="207" font-family="'SF Mono', 'Fira Code', monospace" font-size="11" fill="#8b949e">Mac → MCP Server → GitHub API → Actions Runners</text>
<!-- Status dot - GitHub API -->
<circle cx="388" cy="203" r="3" fill="#3fb950">
<animate attributeName="opacity" values="1;0.3;1" dur="1.8s" repeatCount="indefinite" begin="0.4s"/>
</circle>
<!-- Status dot - Actions -->
<circle cx="504" cy="203" r="3" fill="#3fb950">
<animate attributeName="opacity" values="1;0.3;1" dur="1.8s" repeatCount="indefinite" begin="0.8s"/>
</circle>
<circle cx="590" cy="203" r="3" fill="#3fb950">
<animate attributeName="opacity" values="1;0.3;1" dur="1.8s" repeatCount="indefinite" begin="1.2s"/>
</circle>
<!-- Corner badge -->
<rect x="818" y="12" width="70" height="22" rx="11" fill="#0d1117" stroke="#238636" stroke-width="1"/>
<text x="853" y="27" font-family="'SF Mono', 'Fira Code', monospace" font-size="11" fill="#3fb950" text-anchor="middle">v0.3.0</text>
</svg>