<turbo-stream action="replace" target="webring_page_2"><template>
  <div id="webring_sites_grid_page_#{@page}" class="grid grid-cols-1 md:grid-cols-2 lg:grid-cols-3 gap-6 mt-6">
      <div class="not-prose group relative h-full flex flex-col bg-white/50 dark:bg-slate-800/50 backdrop-blur-sm rounded-3xl border border-slate-200/60 dark:border-slate-700/50 p-6 hover:bg-white dark:hover:bg-slate-800 hover:shadow-2xl hover:shadow-blue-500/10 hover:-translate-y-1 transition-all duration-300 animate-fade-in-up opacity-0" style="animation-delay: 0ms; animation-fill-mode: forwards;">
  <div class="absolute inset-0 rounded-3xl pointer-events-none overflow-hidden">
    <svg class="absolute inset-0 w-full h-full" xmlns="http://www.w3.org/2000/svg">
      <rect
        x="1" y="1"
        width="calc(100% - 2px)" height="calc(100% - 2px)"
        rx="1.4rem"
        fill="none"
        stroke="url(#gradient-personal)"
        stroke-width="0"
        stroke-linecap="round"
        pathLength="1"
        class="border-draw"
        style="stroke-dasharray: 1; stroke-dashoffset: 1; transition: stroke-dashoffset 0.6s ease-in-out, stroke-width 0.2s;" />
    </svg>
  </div>
  <style>
    .group:hover .border-draw {
      stroke-dashoffset: 0 !important;
      stroke-width: 2px !important;
    }
  </style>
  <div class="flex items-start gap-4">
    <div class="relative flex-shrink-0">
        <img class="w-16 h-16 rounded-2xl object-cover shadow-sm ring-1 ring-slate-200 dark:ring-slate-700" alt="Anderegg.ca" src="https://tinylytics.app/rails/active_storage/representations/proxy/eyJfcmFpbHMiOnsibWVzc2FnZSI6IkJBaHBBaDREIiwiZXhwIjpudWxsLCJwdXIiOiJibG9iX2lkIn19--4c4271a564f203d65f24557d27e7483e733956d4/eyJfcmFpbHMiOnsibWVzc2FnZSI6IkJBaDdCem9MWm05eWJXRjBTU0lJY0c1bkJqb0dSVlE2RkhKbGMybDZaVjkwYjE5c2FXMXBkRnNIYVgxcGZRPT0iLCJleHAiOm51bGwsInB1ciI6InZhcmlhdGlvbiJ9fQ==--ffb30abfec645c9b5570dbfd56e65a86017ad312/anderegg.ca-share-logo.png" />
    </div>

    <div class="flex-1 min-w-0">
        <h3 class="text-xl font-bold text-slate-900 dark:text-white truncate mb-0.5 group-hover:text-blue-600 dark:group-hover:text-blue-400 transition-colors">
          Anderegg.ca
        </h3>
        <p class="text-sm text-slate-500 dark:text-slate-400 font-medium truncate">
          anderegg.ca
        </p>

      <div class="mt-2">
        <span class="inline-flex items-center bg-blue-50 dark:bg-blue-500/10 px-2.5 py-1 rounded-full border border-blue-100 dark:border-blue-400/20">
          <span class="text-[10px] font-bold text-blue-600 dark:text-blue-400 uppercase tracking-wider leading-none">
            Personal Blog
          </span>
        </span>
      </div>
    </div>
  </div>

    <div class="mt-4 flex-1" data-controller="read-more">
      <p class="text-slate-600 dark:text-slate-300 text-sm line-clamp-3 leading-relaxed" data-read-more-target="content">
        Gavin Anderegg’s personal site. Something less boring than nothing.
      </p>

    </div>

  <div class="flex items-center justify-between mt-6 pt-4 border-t border-slate-100 dark:border-slate-700/50">
    <a target="_blank" rel="noopener" class="inline-flex items-center gap-2 px-5 py-2.5 bg-slate-900 dark:bg-white text-white dark:text-slate-900 text-sm font-bold rounded-xl hover:bg-blue-600 dark:hover:bg-blue-400 dark:hover:text-white transition-all active:scale-95" href="https://anderegg.ca">
      Visit Site
      <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 20 20" fill="currentColor" class="w-4 h-4">
        <path fill-rule="evenodd" d="M4.25 5.5a.75.75 0 00-.75.75v8.5c0 .414.336.75.75.75h8.5a.75.75 0 00.75-.75v-4a.75.75 0 011.5 0v4A2.25 2.25 0 0112.75 17h-8.5A2.25 2.25 0 012 14.75v-8.5A2.25 2.25 0 014.25 4h5a.75.75 0 010 1.5h-5z" clip-rule="evenodd" />
        <path fill-rule="evenodd" d="M6.194 12.753a.75.75 0 001.06.053L16.5 4.44v2.81a.75.75 0 001.5 0v-4.5a.75.75 0 00-.75-.75h-4.5a.75.75 0 000 1.5h2.81l-9.313 8.3c-.303.27-.327.734-.053 1.053z" clip-rule="evenodd" />
      </svg>
</a>
  </div>
</div>

      <div class="not-prose group relative h-full flex flex-col bg-white/50 dark:bg-slate-800/50 backdrop-blur-sm rounded-3xl border border-slate-200/60 dark:border-slate-700/50 p-6 hover:bg-white dark:hover:bg-slate-800 hover:shadow-2xl hover:shadow-blue-500/10 hover:-translate-y-1 transition-all duration-300 animate-fade-in-up opacity-0" style="animation-delay: 50ms; animation-fill-mode: forwards;">
  <div class="absolute inset-0 rounded-3xl pointer-events-none overflow-hidden">
    <svg class="absolute inset-0 w-full h-full" xmlns="http://www.w3.org/2000/svg">
      <rect
        x="1" y="1"
        width="calc(100% - 2px)" height="calc(100% - 2px)"
        rx="1.4rem"
        fill="none"
        stroke="url(#gradient-tech)"
        stroke-width="0"
        stroke-linecap="round"
        pathLength="1"
        class="border-draw"
        style="stroke-dasharray: 1; stroke-dashoffset: 1; transition: stroke-dashoffset 0.6s ease-in-out, stroke-width 0.2s;" />
    </svg>
  </div>
  <style>
    .group:hover .border-draw {
      stroke-dashoffset: 0 !important;
      stroke-width: 2px !important;
    }
  </style>
  <div class="flex items-start gap-4">
    <div class="relative flex-shrink-0">
        <img class="w-16 h-16 rounded-2xl object-cover shadow-sm ring-1 ring-slate-200 dark:ring-slate-700" alt="Hermes Registry" src="https://tinylytics.app/rails/active_storage/representations/proxy/eyJfcmFpbHMiOnsibWVzc2FnZSI6IkJBaHBBdGc2IiwiZXhwIjpudWxsLCJwdXIiOiJibG9iX2lkIn19--f2e993d6384e0e62bb9e9904f229fdb8a1a6b4b9/eyJfcmFpbHMiOnsibWVzc2FnZSI6IkJBaDdCem9MWm05eWJXRjBTU0lJY0c1bkJqb0dSVlE2RkhKbGMybDZaVjkwYjE5c2FXMXBkRnNIYVgxcGZRPT0iLCJleHAiOm51bGwsInB1ciI6InZhcmlhdGlvbiJ9fQ==--ffb30abfec645c9b5570dbfd56e65a86017ad312/Untitled.png" />
    </div>

    <div class="flex-1 min-w-0">
        <h3 class="text-xl font-bold text-slate-900 dark:text-white truncate mb-0.5 group-hover:text-blue-600 dark:group-hover:text-blue-400 transition-colors">
          Hermes Agent Community Registry
        </h3>
        <p class="text-sm text-slate-500 dark:text-slate-400 font-medium truncate">
          babylondreams.de
        </p>

      <div class="mt-2">
        <span class="inline-flex items-center bg-indigo-50 dark:bg-indigo-500/10 px-2.5 py-1 rounded-full border border-indigo-100 dark:border-indigo-400/20">
          <span class="text-[10px] font-bold text-indigo-600 dark:text-indigo-400 uppercase tracking-wider leading-none">
            Tech &amp; Programming
          </span>
        </span>
      </div>
    </div>
  </div>

    <div class="mt-4 flex-1" data-controller="read-more">
      <p class="text-slate-600 dark:text-slate-300 text-sm line-clamp-3 leading-relaxed" data-read-more-target="content">
        The two showcase channels here move fast. Good projects sink below the scroll line in days, and tracking
 down that one skill or plugin you half-remember means paging through hundreds of forum threads.

 So I built a registry: a static site that auto-syncs from the Community Projects Showcase and
 Plugins/Skills/Skins channels every Monday, with client-side search and filters over the whole catalog.
      </p>

        <button type="button"
                class="text-xs font-bold text-blue-600 dark:text-blue-400 hover:text-blue-700 dark:hover:text-blue-300 mt-2 transition-colors p-0 active:scale-95"
                data-action="click->read-more#toggle"
                data-read-more-target="button">
          Show more
        </button>
    </div>

  <div class="flex items-center justify-between mt-6 pt-4 border-t border-slate-100 dark:border-slate-700/50">
    <a target="_blank" rel="noopener" class="inline-flex items-center gap-2 px-5 py-2.5 bg-slate-900 dark:bg-white text-white dark:text-slate-900 text-sm font-bold rounded-xl hover:bg-blue-600 dark:hover:bg-blue-400 dark:hover:text-white transition-all active:scale-95" href="https://babylondreams.de">
      Visit Site
      <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 20 20" fill="currentColor" class="w-4 h-4">
        <path fill-rule="evenodd" d="M4.25 5.5a.75.75 0 00-.75.75v8.5c0 .414.336.75.75.75h8.5a.75.75 0 00.75-.75v-4a.75.75 0 011.5 0v4A2.25 2.25 0 0112.75 17h-8.5A2.25 2.25 0 012 14.75v-8.5A2.25 2.25 0 014.25 4h5a.75.75 0 010 1.5h-5z" clip-rule="evenodd" />
        <path fill-rule="evenodd" d="M6.194 12.753a.75.75 0 001.06.053L16.5 4.44v2.81a.75.75 0 001.5 0v-4.5a.75.75 0 00-.75-.75h-4.5a.75.75 0 000 1.5h2.81l-9.313 8.3c-.303.27-.327.734-.053 1.053z" clip-rule="evenodd" />
      </svg>
</a>
      <div class="flex flex-col items-end">
        <span class="text-[10px] font-bold text-slate-400 dark:text-slate-500 uppercase tracking-widest">Lifetime Views</span>
        <span class="text-sm font-black text-slate-700 dark:text-slate-300">55</span>
      </div>
  </div>
</div>

      <div class="not-prose group relative h-full flex flex-col bg-white/50 dark:bg-slate-800/50 backdrop-blur-sm rounded-3xl border border-slate-200/60 dark:border-slate-700/50 p-6 hover:bg-white dark:hover:bg-slate-800 hover:shadow-2xl hover:shadow-blue-500/10 hover:-translate-y-1 transition-all duration-300 animate-fade-in-up opacity-0" style="animation-delay: 100ms; animation-fill-mode: forwards;">
  <div class="absolute inset-0 rounded-3xl pointer-events-none overflow-hidden">
    <svg class="absolute inset-0 w-full h-full" xmlns="http://www.w3.org/2000/svg">
      <rect
        x="1" y="1"
        width="calc(100% - 2px)" height="calc(100% - 2px)"
        rx="1.4rem"
        fill="none"
        stroke="url(#gradient-personal)"
        stroke-width="0"
        stroke-linecap="round"
        pathLength="1"
        class="border-draw"
        style="stroke-dasharray: 1; stroke-dashoffset: 1; transition: stroke-dashoffset 0.6s ease-in-out, stroke-width 0.2s;" />
    </svg>
  </div>
  <style>
    .group:hover .border-draw {
      stroke-dashoffset: 0 !important;
      stroke-width: 2px !important;
    }
  </style>
  <div class="flex items-start gap-4">
    <div class="relative flex-shrink-0">
        <img class="w-16 h-16 rounded-2xl object-cover shadow-sm ring-1 ring-slate-200 dark:ring-slate-700" alt="Opus" src="https://tinylytics.app/rails/active_storage/representations/proxy/eyJfcmFpbHMiOnsibWVzc2FnZSI6IkJBaHBBbVVCIiwiZXhwIjpudWxsLCJwdXIiOiJibG9iX2lkIn19--42b8287c788c771321e7438527e46577aa621f35/eyJfcmFpbHMiOnsibWVzc2FnZSI6IkJBaDdCem9MWm05eWJXRjBTU0lJY0c1bkJqb0dSVlE2RkhKbGMybDZaVjkwYjE5c2FXMXBkRnNIYVgxcGZRPT0iLCJleHAiOm51bGwsInB1ciI6InZhcmlhdGlvbiJ9fQ==--ffb30abfec645c9b5570dbfd56e65a86017ad312/Sq6Si45o_400x400.png" />
    </div>

    <div class="flex-1 min-w-0">
        <h3 class="text-xl font-bold text-slate-900 dark:text-white truncate mb-0.5 group-hover:text-blue-600 dark:group-hover:text-blue-400 transition-colors">
          Opus
        </h3>
        <p class="text-sm text-slate-500 dark:text-slate-400 font-medium truncate">
          opus.ing
        </p>

      <div class="mt-2">
        <span class="inline-flex items-center bg-blue-50 dark:bg-blue-500/10 px-2.5 py-1 rounded-full border border-blue-100 dark:border-blue-400/20">
          <span class="text-[10px] font-bold text-blue-600 dark:text-blue-400 uppercase tracking-wider leading-none">
            Personal Blog
          </span>
        </span>
      </div>
    </div>
  </div>

    <div class="flex-1"></div>

  <div class="flex items-center justify-between mt-6 pt-4 border-t border-slate-100 dark:border-slate-700/50">
    <a target="_blank" rel="noopener" class="inline-flex items-center gap-2 px-5 py-2.5 bg-slate-900 dark:bg-white text-white dark:text-slate-900 text-sm font-bold rounded-xl hover:bg-blue-600 dark:hover:bg-blue-400 dark:hover:text-white transition-all active:scale-95" href="https://opus.ing">
      Visit Site
      <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 20 20" fill="currentColor" class="w-4 h-4">
        <path fill-rule="evenodd" d="M4.25 5.5a.75.75 0 00-.75.75v8.5c0 .414.336.75.75.75h8.5a.75.75 0 00.75-.75v-4a.75.75 0 011.5 0v4A2.25 2.25 0 0112.75 17h-8.5A2.25 2.25 0 012 14.75v-8.5A2.25 2.25 0 014.25 4h5a.75.75 0 010 1.5h-5z" clip-rule="evenodd" />
        <path fill-rule="evenodd" d="M6.194 12.753a.75.75 0 001.06.053L16.5 4.44v2.81a.75.75 0 001.5 0v-4.5a.75.75 0 00-.75-.75h-4.5a.75.75 0 000 1.5h2.81l-9.313 8.3c-.303.27-.327.734-.053 1.053z" clip-rule="evenodd" />
      </svg>
</a>
  </div>
</div>

      <div class="not-prose group relative h-full flex flex-col bg-white/50 dark:bg-slate-800/50 backdrop-blur-sm rounded-3xl border border-slate-200/60 dark:border-slate-700/50 p-6 hover:bg-white dark:hover:bg-slate-800 hover:shadow-2xl hover:shadow-blue-500/10 hover:-translate-y-1 transition-all duration-300 animate-fade-in-up opacity-0" style="animation-delay: 150ms; animation-fill-mode: forwards;">
  <div class="absolute inset-0 rounded-3xl pointer-events-none overflow-hidden">
    <svg class="absolute inset-0 w-full h-full" xmlns="http://www.w3.org/2000/svg">
      <rect
        x="1" y="1"
        width="calc(100% - 2px)" height="calc(100% - 2px)"
        rx="1.4rem"
        fill="none"
        stroke="url(#gradient-personal)"
        stroke-width="0"
        stroke-linecap="round"
        pathLength="1"
        class="border-draw"
        style="stroke-dasharray: 1; stroke-dashoffset: 1; transition: stroke-dashoffset 0.6s ease-in-out, stroke-width 0.2s;" />
    </svg>
  </div>
  <style>
    .group:hover .border-draw {
      stroke-dashoffset: 0 !important;
      stroke-width: 2px !important;
    }
  </style>
  <div class="flex items-start gap-4">
    <div class="relative flex-shrink-0">
        <img class="w-16 h-16 rounded-2xl object-cover shadow-sm ring-1 ring-slate-200 dark:ring-slate-700" alt="Luis Carlos Pando" src="https://tinylytics.app/rails/active_storage/representations/proxy/eyJfcmFpbHMiOnsibWVzc2FnZSI6IkJBaHBBaWdPIiwiZXhwIjpudWxsLCJwdXIiOiJibG9iX2lkIn19--86ca268b3e9193bd144f8aefe72ad06411bb3c9c/eyJfcmFpbHMiOnsibWVzc2FnZSI6IkJBaDdCem9MWm05eWJXRjBTU0lJY0c1bkJqb0dSVlE2RkhKbGMybDZaVjkwYjE5c2FXMXBkRnNIYVgxcGZRPT0iLCJleHAiOm51bGwsInB1ciI6InZhcmlhdGlvbiJ9fQ==--ffb30abfec645c9b5570dbfd56e65a86017ad312/memoji-mijo.png" />
    </div>

    <div class="flex-1 min-w-0">
        <p class="text-lg font-bold text-slate-900 dark:text-white truncate group-hover:text-blue-600 dark:group-hover:text-blue-400 transition-colors">
          luiscarlospando.com
        </p>

      <div class="mt-2">
        <span class="inline-flex items-center bg-blue-50 dark:bg-blue-500/10 px-2.5 py-1 rounded-full border border-blue-100 dark:border-blue-400/20">
          <span class="text-[10px] font-bold text-blue-600 dark:text-blue-400 uppercase tracking-wider leading-none">
            Personal Blog
          </span>
        </span>
      </div>
    </div>
  </div>

    <div class="mt-4 flex-1" data-controller="read-more">
      <p class="text-slate-600 dark:text-slate-300 text-sm line-clamp-3 leading-relaxed" data-read-more-target="content">
        This is the personal website of Luis Carlos Pando, a punk dude from Chihuahua, Mexico who loves music, tech, gaming and a whole lot more.
      </p>

    </div>

  <div class="flex items-center justify-between mt-6 pt-4 border-t border-slate-100 dark:border-slate-700/50">
    <a target="_blank" rel="noopener" class="inline-flex items-center gap-2 px-5 py-2.5 bg-slate-900 dark:bg-white text-white dark:text-slate-900 text-sm font-bold rounded-xl hover:bg-blue-600 dark:hover:bg-blue-400 dark:hover:text-white transition-all active:scale-95" href="https://luiscarlospando.com">
      Visit Site
      <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 20 20" fill="currentColor" class="w-4 h-4">
        <path fill-rule="evenodd" d="M4.25 5.5a.75.75 0 00-.75.75v8.5c0 .414.336.75.75.75h8.5a.75.75 0 00.75-.75v-4a.75.75 0 011.5 0v4A2.25 2.25 0 0112.75 17h-8.5A2.25 2.25 0 012 14.75v-8.5A2.25 2.25 0 014.25 4h5a.75.75 0 010 1.5h-5z" clip-rule="evenodd" />
        <path fill-rule="evenodd" d="M6.194 12.753a.75.75 0 001.06.053L16.5 4.44v2.81a.75.75 0 001.5 0v-4.5a.75.75 0 00-.75-.75h-4.5a.75.75 0 000 1.5h2.81l-9.313 8.3c-.303.27-.327.734-.053 1.053z" clip-rule="evenodd" />
      </svg>
</a>
  </div>
</div>

      <div class="not-prose group relative h-full flex flex-col bg-white/50 dark:bg-slate-800/50 backdrop-blur-sm rounded-3xl border border-slate-200/60 dark:border-slate-700/50 p-6 hover:bg-white dark:hover:bg-slate-800 hover:shadow-2xl hover:shadow-blue-500/10 hover:-translate-y-1 transition-all duration-300 animate-fade-in-up opacity-0" style="animation-delay: 200ms; animation-fill-mode: forwards;">
  <div class="absolute inset-0 rounded-3xl pointer-events-none overflow-hidden">
    <svg class="absolute inset-0 w-full h-full" xmlns="http://www.w3.org/2000/svg">
      <rect
        x="1" y="1"
        width="calc(100% - 2px)" height="calc(100% - 2px)"
        rx="1.4rem"
        fill="none"
        stroke="url(#gradient-personal)"
        stroke-width="0"
        stroke-linecap="round"
        pathLength="1"
        class="border-draw"
        style="stroke-dasharray: 1; stroke-dashoffset: 1; transition: stroke-dashoffset 0.6s ease-in-out, stroke-width 0.2s;" />
    </svg>
  </div>
  <style>
    .group:hover .border-draw {
      stroke-dashoffset: 0 !important;
      stroke-width: 2px !important;
    }
  </style>
  <div class="flex items-start gap-4">
    <div class="relative flex-shrink-0">
        <div class="w-16 h-16 rounded-2xl bg-gradient-to-br from-blue-500 to-indigo-600 flex items-center justify-center text-white text-2xl font-bold shadow-sm ring-1 ring-white/20">
          E
        </div>
    </div>

    <div class="flex-1 min-w-0">
        <h3 class="text-xl font-bold text-slate-900 dark:text-white truncate mb-0.5 group-hover:text-blue-600 dark:group-hover:text-blue-400 transition-colors">
          Electronic Ink
        </h3>
        <p class="text-sm text-slate-500 dark:text-slate-400 font-medium truncate">
          electronicink.xyz
        </p>

      <div class="mt-2">
        <span class="inline-flex items-center bg-blue-50 dark:bg-blue-500/10 px-2.5 py-1 rounded-full border border-blue-100 dark:border-blue-400/20">
          <span class="text-[10px] font-bold text-blue-600 dark:text-blue-400 uppercase tracking-wider leading-none">
            Personal Blog
          </span>
        </span>
      </div>
    </div>
  </div>

    <div class="mt-4 flex-1" data-controller="read-more">
      <p class="text-slate-600 dark:text-slate-300 text-sm line-clamp-3 leading-relaxed" data-read-more-target="content">
        A personal blog, mostly about things that interest me but also about systems and thinking.
      </p>

    </div>

  <div class="flex items-center justify-between mt-6 pt-4 border-t border-slate-100 dark:border-slate-700/50">
    <a target="_blank" rel="noopener" class="inline-flex items-center gap-2 px-5 py-2.5 bg-slate-900 dark:bg-white text-white dark:text-slate-900 text-sm font-bold rounded-xl hover:bg-blue-600 dark:hover:bg-blue-400 dark:hover:text-white transition-all active:scale-95" href="https://electronicink.xyz">
      Visit Site
      <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 20 20" fill="currentColor" class="w-4 h-4">
        <path fill-rule="evenodd" d="M4.25 5.5a.75.75 0 00-.75.75v8.5c0 .414.336.75.75.75h8.5a.75.75 0 00.75-.75v-4a.75.75 0 011.5 0v4A2.25 2.25 0 0112.75 17h-8.5A2.25 2.25 0 012 14.75v-8.5A2.25 2.25 0 014.25 4h5a.75.75 0 010 1.5h-5z" clip-rule="evenodd" />
        <path fill-rule="evenodd" d="M6.194 12.753a.75.75 0 001.06.053L16.5 4.44v2.81a.75.75 0 001.5 0v-4.5a.75.75 0 00-.75-.75h-4.5a.75.75 0 000 1.5h2.81l-9.313 8.3c-.303.27-.327.734-.053 1.053z" clip-rule="evenodd" />
      </svg>
</a>
      <div class="flex flex-col items-end">
        <span class="text-[10px] font-bold text-slate-400 dark:text-slate-500 uppercase tracking-widest">Lifetime Views</span>
        <span class="text-sm font-black text-slate-700 dark:text-slate-300">1,065</span>
      </div>
  </div>
</div>

      <div class="not-prose group relative h-full flex flex-col bg-white/50 dark:bg-slate-800/50 backdrop-blur-sm rounded-3xl border border-slate-200/60 dark:border-slate-700/50 p-6 hover:bg-white dark:hover:bg-slate-800 hover:shadow-2xl hover:shadow-blue-500/10 hover:-translate-y-1 transition-all duration-300 animate-fade-in-up opacity-0" style="animation-delay: 250ms; animation-fill-mode: forwards;">
  <div class="absolute inset-0 rounded-3xl pointer-events-none overflow-hidden">
    <svg class="absolute inset-0 w-full h-full" xmlns="http://www.w3.org/2000/svg">
      <rect
        x="1" y="1"
        width="calc(100% - 2px)" height="calc(100% - 2px)"
        rx="1.4rem"
        fill="none"
        stroke="url(#gradient-personal)"
        stroke-width="0"
        stroke-linecap="round"
        pathLength="1"
        class="border-draw"
        style="stroke-dasharray: 1; stroke-dashoffset: 1; transition: stroke-dashoffset 0.6s ease-in-out, stroke-width 0.2s;" />
    </svg>
  </div>
  <style>
    .group:hover .border-draw {
      stroke-dashoffset: 0 !important;
      stroke-width: 2px !important;
    }
  </style>
  <div class="flex items-start gap-4">
    <div class="relative flex-shrink-0">
        <div class="w-16 h-16 rounded-2xl bg-gradient-to-br from-blue-500 to-indigo-600 flex items-center justify-center text-white text-2xl font-bold shadow-sm ring-1 ring-white/20">
          C
        </div>
    </div>

    <div class="flex-1 min-w-0">
        <p class="text-lg font-bold text-slate-900 dark:text-white truncate group-hover:text-blue-600 dark:group-hover:text-blue-400 transition-colors">
          www.cubething.dev
        </p>

      <div class="mt-2">
        <span class="inline-flex items-center bg-blue-50 dark:bg-blue-500/10 px-2.5 py-1 rounded-full border border-blue-100 dark:border-blue-400/20">
          <span class="text-[10px] font-bold text-blue-600 dark:text-blue-400 uppercase tracking-wider leading-none">
            Personal Blog
          </span>
        </span>
      </div>
    </div>
  </div>

    <div class="flex-1"></div>

  <div class="flex items-center justify-between mt-6 pt-4 border-t border-slate-100 dark:border-slate-700/50">
    <a target="_blank" rel="noopener" class="inline-flex items-center gap-2 px-5 py-2.5 bg-slate-900 dark:bg-white text-white dark:text-slate-900 text-sm font-bold rounded-xl hover:bg-blue-600 dark:hover:bg-blue-400 dark:hover:text-white transition-all active:scale-95" href="https://www.cubething.dev">
      Visit Site
      <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 20 20" fill="currentColor" class="w-4 h-4">
        <path fill-rule="evenodd" d="M4.25 5.5a.75.75 0 00-.75.75v8.5c0 .414.336.75.75.75h8.5a.75.75 0 00.75-.75v-4a.75.75 0 011.5 0v4A2.25 2.25 0 0112.75 17h-8.5A2.25 2.25 0 012 14.75v-8.5A2.25 2.25 0 014.25 4h5a.75.75 0 010 1.5h-5z" clip-rule="evenodd" />
        <path fill-rule="evenodd" d="M6.194 12.753a.75.75 0 001.06.053L16.5 4.44v2.81a.75.75 0 001.5 0v-4.5a.75.75 0 00-.75-.75h-4.5a.75.75 0 000 1.5h2.81l-9.313 8.3c-.303.27-.327.734-.053 1.053z" clip-rule="evenodd" />
      </svg>
</a>
  </div>
</div>

      <div class="not-prose group relative h-full flex flex-col bg-white/50 dark:bg-slate-800/50 backdrop-blur-sm rounded-3xl border border-slate-200/60 dark:border-slate-700/50 p-6 hover:bg-white dark:hover:bg-slate-800 hover:shadow-2xl hover:shadow-blue-500/10 hover:-translate-y-1 transition-all duration-300 animate-fade-in-up opacity-0" style="animation-delay: 300ms; animation-fill-mode: forwards;">
  <div class="absolute inset-0 rounded-3xl pointer-events-none overflow-hidden">
    <svg class="absolute inset-0 w-full h-full" xmlns="http://www.w3.org/2000/svg">
      <rect
        x="1" y="1"
        width="calc(100% - 2px)" height="calc(100% - 2px)"
        rx="1.4rem"
        fill="none"
        stroke="url(#gradient-personal)"
        stroke-width="0"
        stroke-linecap="round"
        pathLength="1"
        class="border-draw"
        style="stroke-dasharray: 1; stroke-dashoffset: 1; transition: stroke-dashoffset 0.6s ease-in-out, stroke-width 0.2s;" />
    </svg>
  </div>
  <style>
    .group:hover .border-draw {
      stroke-dashoffset: 0 !important;
      stroke-width: 2px !important;
    }
  </style>
  <div class="flex items-start gap-4">
    <div class="relative flex-shrink-0">
        <img class="w-16 h-16 rounded-2xl object-cover shadow-sm ring-1 ring-slate-200 dark:ring-slate-700" alt="Personal" src="https://tinylytics.app/rails/active_storage/representations/proxy/eyJfcmFpbHMiOnsibWVzc2FnZSI6IkJBaHBBckVLIiwiZXhwIjpudWxsLCJwdXIiOiJibG9iX2lkIn19--975ac151957efa929453f4242834db60e0925127/eyJfcmFpbHMiOnsibWVzc2FnZSI6IkJBaDdCem9MWm05eWJXRjBTU0lJY0c1bkJqb0dSVlE2RkhKbGMybDZaVjkwYjE5c2FXMXBkRnNIYVgxcGZRPT0iLCJleHAiOm51bGwsInB1ciI6InZhcmlhdGlvbiJ9fQ==--ffb30abfec645c9b5570dbfd56e65a86017ad312/Avatar.png" />
    </div>

    <div class="flex-1 min-w-0">
        <p class="text-lg font-bold text-slate-900 dark:text-white truncate group-hover:text-blue-600 dark:group-hover:text-blue-400 transition-colors">
          scribbles.page/xtlnchhl
        </p>

      <div class="mt-2">
        <span class="inline-flex items-center bg-blue-50 dark:bg-blue-500/10 px-2.5 py-1 rounded-full border border-blue-100 dark:border-blue-400/20">
          <span class="text-[10px] font-bold text-blue-600 dark:text-blue-400 uppercase tracking-wider leading-none">
            Personal Blog
          </span>
        </span>
      </div>
    </div>
  </div>

    <div class="mt-4 flex-1" data-controller="read-more">
      <p class="text-slate-600 dark:text-slate-300 text-sm line-clamp-3 leading-relaxed" data-read-more-target="content">
        Random thoughts about anything and everything, from technology to sports cards to family life.
      </p>

    </div>

  <div class="flex items-center justify-between mt-6 pt-4 border-t border-slate-100 dark:border-slate-700/50">
    <a target="_blank" rel="noopener" class="inline-flex items-center gap-2 px-5 py-2.5 bg-slate-900 dark:bg-white text-white dark:text-slate-900 text-sm font-bold rounded-xl hover:bg-blue-600 dark:hover:bg-blue-400 dark:hover:text-white transition-all active:scale-95" href="https://scribbles.page/xtlnchhl">
      Visit Site
      <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 20 20" fill="currentColor" class="w-4 h-4">
        <path fill-rule="evenodd" d="M4.25 5.5a.75.75 0 00-.75.75v8.5c0 .414.336.75.75.75h8.5a.75.75 0 00.75-.75v-4a.75.75 0 011.5 0v4A2.25 2.25 0 0112.75 17h-8.5A2.25 2.25 0 012 14.75v-8.5A2.25 2.25 0 014.25 4h5a.75.75 0 010 1.5h-5z" clip-rule="evenodd" />
        <path fill-rule="evenodd" d="M6.194 12.753a.75.75 0 001.06.053L16.5 4.44v2.81a.75.75 0 001.5 0v-4.5a.75.75 0 00-.75-.75h-4.5a.75.75 0 000 1.5h2.81l-9.313 8.3c-.303.27-.327.734-.053 1.053z" clip-rule="evenodd" />
      </svg>
</a>
  </div>
</div>

      <div class="not-prose group relative h-full flex flex-col bg-white/50 dark:bg-slate-800/50 backdrop-blur-sm rounded-3xl border border-slate-200/60 dark:border-slate-700/50 p-6 hover:bg-white dark:hover:bg-slate-800 hover:shadow-2xl hover:shadow-blue-500/10 hover:-translate-y-1 transition-all duration-300 animate-fade-in-up opacity-0" style="animation-delay: 350ms; animation-fill-mode: forwards;">
  <div class="absolute inset-0 rounded-3xl pointer-events-none overflow-hidden">
    <svg class="absolute inset-0 w-full h-full" xmlns="http://www.w3.org/2000/svg">
      <rect
        x="1" y="1"
        width="calc(100% - 2px)" height="calc(100% - 2px)"
        rx="1.4rem"
        fill="none"
        stroke="url(#gradient-travel)"
        stroke-width="0"
        stroke-linecap="round"
        pathLength="1"
        class="border-draw"
        style="stroke-dasharray: 1; stroke-dashoffset: 1; transition: stroke-dashoffset 0.6s ease-in-out, stroke-width 0.2s;" />
    </svg>
  </div>
  <style>
    .group:hover .border-draw {
      stroke-dashoffset: 0 !important;
      stroke-width: 2px !important;
    }
  </style>
  <div class="flex items-start gap-4">
    <div class="relative flex-shrink-0">
        <div class="w-16 h-16 rounded-2xl bg-gradient-to-br from-blue-500 to-indigo-600 flex items-center justify-center text-white text-2xl font-bold shadow-sm ring-1 ring-white/20">
          J
        </div>
    </div>

    <div class="flex-1 min-w-0">
        <p class="text-lg font-bold text-slate-900 dark:text-white truncate group-hover:text-blue-600 dark:group-hover:text-blue-400 transition-colors">
          jenwiles.com
        </p>

      <div class="mt-2">
        <span class="inline-flex items-center bg-emerald-50 dark:bg-emerald-500/10 px-2.5 py-1 rounded-full border border-emerald-100 dark:border-emerald-400/20">
          <span class="text-[10px] font-bold text-emerald-600 dark:text-emerald-400 uppercase tracking-wider leading-none">
            Travel
          </span>
        </span>
      </div>
    </div>
  </div>

    <div class="mt-4 flex-1" data-controller="read-more">
      <p class="text-slate-600 dark:text-slate-300 text-sm line-clamp-3 leading-relaxed" data-read-more-target="content">
        Posts from my frequent travel, both in the US and across the globe.
      </p>

    </div>

  <div class="flex items-center justify-between mt-6 pt-4 border-t border-slate-100 dark:border-slate-700/50">
    <a target="_blank" rel="noopener" class="inline-flex items-center gap-2 px-5 py-2.5 bg-slate-900 dark:bg-white text-white dark:text-slate-900 text-sm font-bold rounded-xl hover:bg-blue-600 dark:hover:bg-blue-400 dark:hover:text-white transition-all active:scale-95" href="https://jenwiles.com">
      Visit Site
      <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 20 20" fill="currentColor" class="w-4 h-4">
        <path fill-rule="evenodd" d="M4.25 5.5a.75.75 0 00-.75.75v8.5c0 .414.336.75.75.75h8.5a.75.75 0 00.75-.75v-4a.75.75 0 011.5 0v4A2.25 2.25 0 0112.75 17h-8.5A2.25 2.25 0 012 14.75v-8.5A2.25 2.25 0 014.25 4h5a.75.75 0 010 1.5h-5z" clip-rule="evenodd" />
        <path fill-rule="evenodd" d="M6.194 12.753a.75.75 0 001.06.053L16.5 4.44v2.81a.75.75 0 001.5 0v-4.5a.75.75 0 00-.75-.75h-4.5a.75.75 0 000 1.5h2.81l-9.313 8.3c-.303.27-.327.734-.053 1.053z" clip-rule="evenodd" />
      </svg>
</a>
  </div>
</div>

      <div class="not-prose group relative h-full flex flex-col bg-white/50 dark:bg-slate-800/50 backdrop-blur-sm rounded-3xl border border-slate-200/60 dark:border-slate-700/50 p-6 hover:bg-white dark:hover:bg-slate-800 hover:shadow-2xl hover:shadow-blue-500/10 hover:-translate-y-1 transition-all duration-300 animate-fade-in-up opacity-0" style="animation-delay: 400ms; animation-fill-mode: forwards;">
  <div class="absolute inset-0 rounded-3xl pointer-events-none overflow-hidden">
    <svg class="absolute inset-0 w-full h-full" xmlns="http://www.w3.org/2000/svg">
      <rect
        x="1" y="1"
        width="calc(100% - 2px)" height="calc(100% - 2px)"
        rx="1.4rem"
        fill="none"
        stroke="url(#gradient-gaming)"
        stroke-width="0"
        stroke-linecap="round"
        pathLength="1"
        class="border-draw"
        style="stroke-dasharray: 1; stroke-dashoffset: 1; transition: stroke-dashoffset 0.6s ease-in-out, stroke-width 0.2s;" />
    </svg>
  </div>
  <style>
    .group:hover .border-draw {
      stroke-dashoffset: 0 !important;
      stroke-width: 2px !important;
    }
  </style>
  <div class="flex items-start gap-4">
    <div class="relative flex-shrink-0">
        <img class="w-16 h-16 rounded-2xl object-cover shadow-sm ring-1 ring-slate-200 dark:ring-slate-700" alt="La Garduña" src="https://tinylytics.app/rails/active_storage/representations/proxy/eyJfcmFpbHMiOnsibWVzc2FnZSI6IkJBaHBBcjRPIiwiZXhwIjpudWxsLCJwdXIiOiJibG9iX2lkIn19--837d8117421fbfc0ee9601972587bfa9b949f3f0/eyJfcmFpbHMiOnsibWVzc2FnZSI6IkJBaDdCem9MWm05eWJXRjBTU0lJYW5CbkJqb0dSVlE2RkhKbGMybDZaVjkwYjE5c2FXMXBkRnNIYVgxcGZRPT0iLCJleHAiOm51bGwsInB1ciI6InZhcmlhdGlvbiJ9fQ==--ad54ea44d4cbb79ece1ad3b7a9b52483c9ec8089/logo-garduna.jpg" />
    </div>

    <div class="flex-1 min-w-0">
        <p class="text-lg font-bold text-slate-900 dark:text-white truncate group-hover:text-blue-600 dark:group-hover:text-blue-400 transition-colors">
          xn--lagardua-j3a.es/
        </p>

      <div class="mt-2">
        <span class="inline-flex items-center bg-lime-50 dark:bg-lime-500/10 px-2.5 py-1 rounded-full border border-lime-100 dark:border-lime-400/20">
          <span class="text-[10px] font-bold text-lime-600 dark:text-lime-400 uppercase tracking-wider leading-none">
            Gaming
          </span>
        </span>
      </div>
    </div>
  </div>

    <div class="mt-4 flex-1" data-controller="read-more">
      <p class="text-slate-600 dark:text-slate-300 text-sm line-clamp-3 leading-relaxed" data-read-more-target="content">
        La página web del grupo creativo La Garduña, centrado en juegos de rol
      </p>

    </div>

  <div class="flex items-center justify-between mt-6 pt-4 border-t border-slate-100 dark:border-slate-700/50">
    <a target="_blank" rel="noopener" class="inline-flex items-center gap-2 px-5 py-2.5 bg-slate-900 dark:bg-white text-white dark:text-slate-900 text-sm font-bold rounded-xl hover:bg-blue-600 dark:hover:bg-blue-400 dark:hover:text-white transition-all active:scale-95" href="https://xn--lagardua-j3a.es/">
      Visit Site
      <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 20 20" fill="currentColor" class="w-4 h-4">
        <path fill-rule="evenodd" d="M4.25 5.5a.75.75 0 00-.75.75v8.5c0 .414.336.75.75.75h8.5a.75.75 0 00.75-.75v-4a.75.75 0 011.5 0v4A2.25 2.25 0 0112.75 17h-8.5A2.25 2.25 0 012 14.75v-8.5A2.25 2.25 0 014.25 4h5a.75.75 0 010 1.5h-5z" clip-rule="evenodd" />
        <path fill-rule="evenodd" d="M6.194 12.753a.75.75 0 001.06.053L16.5 4.44v2.81a.75.75 0 001.5 0v-4.5a.75.75 0 00-.75-.75h-4.5a.75.75 0 000 1.5h2.81l-9.313 8.3c-.303.27-.327.734-.053 1.053z" clip-rule="evenodd" />
      </svg>
</a>
  </div>
</div>

      <div class="not-prose group relative h-full flex flex-col bg-white/50 dark:bg-slate-800/50 backdrop-blur-sm rounded-3xl border border-slate-200/60 dark:border-slate-700/50 p-6 hover:bg-white dark:hover:bg-slate-800 hover:shadow-2xl hover:shadow-blue-500/10 hover:-translate-y-1 transition-all duration-300 animate-fade-in-up opacity-0" style="animation-delay: 450ms; animation-fill-mode: forwards;">
  <div class="absolute inset-0 rounded-3xl pointer-events-none overflow-hidden">
    <svg class="absolute inset-0 w-full h-full" xmlns="http://www.w3.org/2000/svg">
      <rect
        x="1" y="1"
        width="calc(100% - 2px)" height="calc(100% - 2px)"
        rx="1.4rem"
        fill="none"
        stroke="url(#gradient-personal)"
        stroke-width="0"
        stroke-linecap="round"
        pathLength="1"
        class="border-draw"
        style="stroke-dasharray: 1; stroke-dashoffset: 1; transition: stroke-dashoffset 0.6s ease-in-out, stroke-width 0.2s;" />
    </svg>
  </div>
  <style>
    .group:hover .border-draw {
      stroke-dashoffset: 0 !important;
      stroke-width: 2px !important;
    }
  </style>
  <div class="flex items-start gap-4">
    <div class="relative flex-shrink-0">
        <img class="w-16 h-16 rounded-2xl object-cover shadow-sm ring-1 ring-slate-200 dark:ring-slate-700" alt="Micro.blog" src="https://tinylytics.app/rails/active_storage/representations/proxy/eyJfcmFpbHMiOnsibWVzc2FnZSI6IkJBaHBBaE16IiwiZXhwIjpudWxsLCJwdXIiOiJibG9iX2lkIn19--f1cda1992deecd09a5faa291c3d1b783eaa4cf0a/eyJfcmFpbHMiOnsibWVzc2FnZSI6IkJBaDdCem9MWm05eWJXRjBTU0lJY0c1bkJqb0dSVlE2RkhKbGMybDZaVjkwYjE5c2FXMXBkRnNIYVgxcGZRPT0iLCJleHAiOm51bGwsInB1ciI6InZhcmlhdGlvbiJ9fQ==--ffb30abfec645c9b5570dbfd56e65a86017ad312/site-icon.png" />
    </div>

    <div class="flex-1 min-w-0">
        <p class="text-lg font-bold text-slate-900 dark:text-white truncate group-hover:text-blue-600 dark:group-hover:text-blue-400 transition-colors">
          micro.jimmitchell.org
        </p>

      <div class="mt-2">
        <span class="inline-flex items-center bg-blue-50 dark:bg-blue-500/10 px-2.5 py-1 rounded-full border border-blue-100 dark:border-blue-400/20">
          <span class="text-[10px] font-bold text-blue-600 dark:text-blue-400 uppercase tracking-wider leading-none">
            Personal Blog
          </span>
        </span>
      </div>
    </div>
  </div>

    <div class="mt-4 flex-1" data-controller="read-more">
      <p class="text-slate-600 dark:text-slate-300 text-sm line-clamp-3 leading-relaxed" data-read-more-target="content">
        Just a punk at heart. I wrangle nerds, herd cats, and sometimes write code that works. Sarcastic, but mostly harmless. Prolific abuser of ellipses… I develop the Micro.blog mnml theme and other plugins.
      </p>

        <button type="button"
                class="text-xs font-bold text-blue-600 dark:text-blue-400 hover:text-blue-700 dark:hover:text-blue-300 mt-2 transition-colors p-0 active:scale-95"
                data-action="click->read-more#toggle"
                data-read-more-target="button">
          Show more
        </button>
    </div>

  <div class="flex items-center justify-between mt-6 pt-4 border-t border-slate-100 dark:border-slate-700/50">
    <a target="_blank" rel="noopener" class="inline-flex items-center gap-2 px-5 py-2.5 bg-slate-900 dark:bg-white text-white dark:text-slate-900 text-sm font-bold rounded-xl hover:bg-blue-600 dark:hover:bg-blue-400 dark:hover:text-white transition-all active:scale-95" href="https://micro.jimmitchell.org">
      Visit Site
      <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 20 20" fill="currentColor" class="w-4 h-4">
        <path fill-rule="evenodd" d="M4.25 5.5a.75.75 0 00-.75.75v8.5c0 .414.336.75.75.75h8.5a.75.75 0 00.75-.75v-4a.75.75 0 011.5 0v4A2.25 2.25 0 0112.75 17h-8.5A2.25 2.25 0 012 14.75v-8.5A2.25 2.25 0 014.25 4h5a.75.75 0 010 1.5h-5z" clip-rule="evenodd" />
        <path fill-rule="evenodd" d="M6.194 12.753a.75.75 0 001.06.053L16.5 4.44v2.81a.75.75 0 001.5 0v-4.5a.75.75 0 00-.75-.75h-4.5a.75.75 0 000 1.5h2.81l-9.313 8.3c-.303.27-.327.734-.053 1.053z" clip-rule="evenodd" />
      </svg>
</a>
  </div>
</div>

  </div>

</template></turbo-stream>