<?xml version="1.0" encoding="UTF-8"?>
<svg viewBox="0 0 880 680" xmlns="http://www.w3.org/2000/svg" style="max-width: 100%; height: auto;">
  <defs>
    <!-- Arrow markers -->
    <marker id="arrow" markerWidth="10" markerHeight="10" refX="9" refY="3" orient="auto" markerUnits="strokeWidth">
      <path d="M0,0 L0,6 L9,3 z" fill="#2563EB">
    </marker>

    <!-- Drop shadow for depth -->
    <filter id="shadow" x="-20%" y="-20%" width="140%" height="140%">
      <feGaussianBlur in="SourceAlpha" stdDeviation="2">
      <feOffset dx="1" dy="1" result="offsetblur">
      <feComponentTransfer>
        <feFuncA type="linear" slope="0.2">
      </feComponentTransfer>
      <feMerge>
        <feMergeNode/>
        <feMergeNode in="SourceGraphic">
      </feMerge>
    </filter>
  </defs>



  <!-- Beautiful gradient definitions for depth -->
  

  <!-- White background with subtle border -->
  <rect x="0" y="0" width="880" height="680" fill="#F9FAFB" stroke="#9CA3AF" stroke-width="2" rx="8">

  <!-- Content container with proper margins -->
  <g transform="translate(40, 40)">
  

  <!-- Title -->
  <text x="400" y="30" text-anchor="middle" font-family="system-ui, -apple-system, sans-serif" font-size="24" font-weight="bold" fill="#4B5563" filter="url(#textShadow)">Module Dependency Graph</text>

  <!-- main.rs (Entry Point) -->
  <rect x="350" y="50" width="100" height="40" fill="url(#mainGradient)" stroke="#2563EB" stroke-width="2" rx="8" opacity="0.9" filter="url(#shadow)">
  <text x="400" y="75" text-anchor="middle" font-family="system-ui, -apple-system, sans-serif" font-size="16" font-weight="bold" fill="#4B5563" filter="url(#textShadow)">main.rs</text>

  <!-- Arrow to bootstrap -->
  <line x1="400" y1="90" x2="400" y2="120" stroke="#666" stroke-width="2" marker-end="url(#arrow)" opacity="0.6">

  <!-- bootstrap/ -->
  <rect x="330" y="120" width="140" height="40" fill="url(#coreGradient)" stroke="#2563EB" stroke-width="2" rx="8" opacity="0.9" filter="url(#shadow)">
  <text x="400" y="145" text-anchor="middle" font-family="system-ui, -apple-system, sans-serif" font-size="14" font-weight="bold" fill="#4B5563" filter="url(#textShadow)">bootstrap/</text>

  <!-- Arrows from bootstrap to core modules -->
  <line x1="350" y1="160" x2="200" y2="210" stroke="#666" stroke-width="2" marker-end="url(#arrow)" opacity="0.6">
  <line x1="400" y1="160" x2="400" y2="210" stroke="#666" stroke-width="2" marker-end="url(#arrow)" opacity="0.6">
  <line x1="450" y1="160" x2="600" y2="210" stroke="#666" stroke-width="2" marker-end="url(#arrow)" opacity="0.6">

  <!-- Core Layer -->
  <!-- package_manager/ -->
  <rect x="120" y="210" width="160" height="40" fill="url(#coreGradient)" stroke="#2563EB" stroke-width="2" rx="8" opacity="0.9" filter="url(#shadow)">
  <text x="200" y="235" text-anchor="middle" font-family="system-ui, -apple-system, sans-serif" font-size="14" fill="#4B5563" filter="url(#textShadow)">package_manager/</text>

  <!-- config/ -->
  <rect x="320" y="210" width="160" height="40" fill="url(#coreGradient)" stroke="#2563EB" stroke-width="2" rx="8" opacity="0.9" filter="url(#shadow)">
  <text x="400" y="235" text-anchor="middle" font-family="system-ui, -apple-system, sans-serif" font-size="14" fill="#4B5563" filter="url(#textShadow)">config/</text>

  <!-- database/ -->
  <rect x="520" y="210" width="160" height="40" fill="url(#coreGradient)" stroke="#2563EB" stroke-width="2" rx="8" opacity="0.9" filter="url(#shadow)">
  <text x="600" y="235" text-anchor="middle" font-family="system-ui, -apple-system, sans-serif" font-size="14" fill="#4B5563" filter="url(#textShadow)">database/</text>

  <!-- Convergence arrows to session -->
  <line x1="400" y1="250" x2="400" y2="290" stroke="#666" stroke-width="2" opacity="0.5">
  <line x1="600" y1="250" x2="450" y2="290" stroke="#666" stroke-width="2" opacity="0.5">

  <!-- session/ -->
  <rect x="350" y="290" width="100" height="40" fill="url(#serviceGradient)" stroke="#2563EB" stroke-width="2" rx="8" opacity="0.9" filter="url(#shadow)">
  <text x="400" y="315" text-anchor="middle" font-family="system-ui, -apple-system, sans-serif" font-size="14" fill="#4B5563" filter="url(#textShadow)">session/</text>

  <!-- web_server/ and bidirectional arrow with session -->
  <rect x="180" y="290" width="120" height="40" fill="url(#serviceGradient)" stroke="#2563EB" stroke-width="2" rx="8" opacity="0.9" filter="url(#shadow)">
  <text x="240" y="315" text-anchor="middle" font-family="system-ui, -apple-system, sans-serif" font-size="14" fill="#4B5563" filter="url(#textShadow)">web_server/</text>

  <line x1="300" y1="310" x2="350" y2="310" stroke="#666" stroke-width="2" marker-end="url(#arrow)" opacity="0.6">
  <line x1="350" y1="320" x2="300" y2="320" stroke="#666" stroke-width="2" marker-end="url(#arrow)" opacity="0.6">

  <!-- Arrow from package_manager to web_server -->
  <line x1="200" y1="250" x2="240" y2="290" stroke="#666" stroke-width="2" marker-end="url(#arrow)" opacity="0.6">

  <!-- Service Layer branches -->
  <line x1="240" y1="330" x2="140" y2="380" stroke="#666" stroke-width="2" marker-end="url(#arrow)" opacity="0.6">
  <line x1="240" y1="330" x2="260" y2="380" stroke="#666" stroke-width="2" marker-end="url(#arrow)" opacity="0.6">
  <line x1="240" y1="330" x2="380" y2="380" stroke="#666" stroke-width="2" marker-end="url(#arrow)" opacity="0.6">
  <line x1="400" y1="330" x2="500" y2="380" stroke="#666" stroke-width="2" marker-end="url(#arrow)" opacity="0.6">

  <!-- Feature Modules -->
  <!-- channels/ -->
  <rect x="80" y="380" width="100" height="40" fill="url(#leafGradient)" stroke="#2563EB" stroke-width="2" rx="8" opacity="0.9" filter="url(#shadow)">
  <text x="130" y="405" text-anchor="middle" font-family="system-ui, -apple-system, sans-serif" font-size="14" fill="#4B5563" filter="url(#textShadow)">channels/</text>

  <!-- bot/ -->
  <rect x="210" y="380" width="100" height="40" fill="url(#leafGradient)" stroke="#2563EB" stroke-width="2" rx="8" opacity="0.9" filter="url(#shadow)">
  <text x="260" y="405" text-anchor="middle" font-family="system-ui, -apple-system, sans-serif" font-size="14" fill="#4B5563" filter="url(#textShadow)">bot/</text>

  <!-- basic/ -->
  <rect x="340" y="380" width="100" height="40" fill="url(#leafGradient)" stroke="#2563EB" stroke-width="2" rx="8" opacity="0.9" filter="url(#shadow)">
  <text x="390" y="405" text-anchor="middle" font-family="system-ui, -apple-system, sans-serif" font-size="14" fill="#4B5563" filter="url(#textShadow)">basic/</text>

  <!-- auth/ -->
  <rect x="470" y="380" width="100" height="40" fill="url(#leafGradient)" stroke="#2563EB" stroke-width="2" rx="8" opacity="0.9" filter="url(#shadow)">
  <text x="520" y="405" text-anchor="middle" font-family="system-ui, -apple-system, sans-serif" font-size="14" fill="#4B5563" filter="url(#textShadow)">auth/</text>

  <!-- Convergence to LLM -->
  <line x1="130" y1="420" x2="340" y2="470" stroke="#666" stroke-width="2" opacity="0.5">
  <line x1="260" y1="420" x2="340" y2="470" stroke="#666" stroke-width="2" opacity="0.5">
  <line x1="390" y1="420" x2="390" y2="470" stroke="#666" stroke-width="2" marker-end="url(#arrow)" opacity="0.6">
  <line x1="520" y1="420" x2="430" y2="470" stroke="#666" stroke-width="2" opacity="0.5">

  <!-- llm/ -->
  <rect x="340" y="470" width="100" height="40" fill="url(#serviceGradient)" stroke="#2563EB" stroke-width="2" rx="8" opacity="0.9" filter="url(#shadow)">
  <text x="390" y="495" text-anchor="middle" font-family="system-ui, -apple-system, sans-serif" font-size="14" fill="#4B5563" filter="url(#textShadow)">llm/</text>

  <!-- Arrow to context -->
  <line x1="390" y1="510" x2="390" y2="540" stroke="#666" stroke-width="2" marker-end="url(#arrow)" opacity="0.6">

  <!-- context/ -->
  <rect x="340" y="540" width="100" height="40" fill="url(#leafGradient)" stroke="#2563EB" stroke-width="2" rx="8" opacity="0.9" filter="url(#shadow)">
  <text x="390" y="565" text-anchor="middle" font-family="system-ui, -apple-system, sans-serif" font-size="14" fill="#4B5563" filter="url(#textShadow)">context/</text>

  <!-- Legend -->
  <g id="legend" transform="translate(580, 480)">
    <text x="0" y="0" font-family="system-ui, -apple-system, sans-serif" font-size="14" font-weight="bold" fill="#4B5563" filter="url(#textShadow)">Layers:</text>

    <rect x="0" y="10" width="15" height="15" fill="url(#mainGradient)" stroke="#2563EB" stroke-width="2" rx="2" opacity="0.8" filter="url(#shadow)">
    <text x="20" y="22" font-family="system-ui, -apple-system, sans-serif" font-size="14" fill="#4B5563" filter="url(#textShadow)">Entry Point</text>

    <rect x="0" y="30" width="15" height="15" fill="url(#coreGradient)" stroke="#2563EB" stroke-width="2" rx="2" opacity="0.8" filter="url(#shadow)">
    <text x="20" y="42" font-family="system-ui, -apple-system, sans-serif" font-size="14" fill="#4B5563" filter="url(#textShadow)" font-weight="600">Core System</text>

    <rect x="0" y="50" width="15" height="15" fill="url(#serviceGradient)" stroke="#2563EB" stroke-width="2" rx="2" opacity="0.8" filter="url(#shadow)">
    <text x="20" y="62" font-family="system-ui, -apple-system, sans-serif" font-size="14" fill="#4B5563" filter="url(#textShadow)">Services</text>

    <rect x="0" y="70" width="15" height="15" fill="url(#leafGradient)" stroke="#2563EB" stroke-width="2" rx="2" opacity="0.8" filter="url(#shadow)">
    <text x="20" y="82" font-family="system-ui, -apple-system, sans-serif" font-size="14" fill="#4B5563" filter="url(#textShadow)">Features</text>
  </g>

  <!-- Dependency Flow Note -->
  <text x="50" y="580" font-family="system-ui, -apple-system, sans-serif" font-size="14" fill="#4B5563" filter="url(#textShadow)">Arrows indicate compile-time dependencies</text>


  </g>

</svg>