VibeCoderzVibeCoderz
Telegram
All Prompts
Animated System Capabilities Feature Grid preview
featuresectiontailwindanimatedresponsivegrid

Animated System Capabilities Feature Grid

Секция с анимированной сеткой возможностей: отображает технические возможности продукта с помощью анимированного фона и карточек. Идеально для демонстрации.

Prompt

<div class="bg-[#e4e4e7] font-['Inter',sans-serif] text-gray-800 flex flex-col items-center justify-center min-h-screen relative overflow-x-hidden antialiased selection:bg-blue-500/30 py-16 px-4 sm:px-8">

    <!-- Subtle Lamp Lighting -->
    <div class="absolute top-0 left-1/2 -translate-x-1/2 w-[800px] h-[600px] bg-white/80 blur-[120px] rounded-full pointer-events-none z-0"></div>

    <!-- Circuit Board Background (SVG) -->
    <div class="absolute inset-0 flex items-center justify-center pointer-events-none z-0 overflow-hidden opacity-50">
        <svg class="min-w-[1400px] h-[900px]" viewBox="0 0 1400 900" fill="none" xmlns="http://www.w3.org/2000/svg">
            <defs>
                <filter id="glow" x="-20%" y="-20%" width="140%" height="140%">
                    <feGaussianBlur stdDeviation="3" result="blur" />
                    <feComposite in="SourceGraphic" in2="blur" operator="over" />
                </filter>
                <linearGradient id="chipGrad" x1="0" y1="0" x2="0" y2="1">
                    <stop offset="0%" stop-color="#ffffff" />
                    <stop offset="100%" stop-color="#f4f4f5" />
                </linearGradient>
                <filter id="chipShadow" x="-100%" y="-100%" width="300%" height="300%">
                    <feDropShadow dx="0" dy="25" stdDeviation="20" flood-color="#000" flood-opacity="0.15"/>
                </filter>
            </defs>
            
            <!-- Top Left -->
            <g stroke="#d4d4d8" stroke-width="1.5">
                <line x1="120" y1="210" x2="160" y2="210" />
                <line x1="120" y1="220" x2="160" y2="220" />
                <line x1="120" y1="230" x2="160" y2="230" />
            </g>
            <rect x="160" y="195" width="70" height="50" rx="6" fill="url(#chipGrad)" stroke="rgba(0,0,0,0.12)" stroke-width="1" filter="url(#chipShadow)" />
            <circle cx="170" cy="205" r="1.5" fill="#a1a1aa"><animate attributeName="opacity" values="0.2;1;0.2" dur="1.5s" repeatCount="indefinite"/></circle>
            <circle cx="215" cy="220" r="2.5" fill="#ef4444" filter="url(#glow)"><animate attributeName="opacity" values="0.3;1;0.3" dur="2s" repeatCount="indefinite"/></circle>
            <path d="M 215 220 H 350 L 480 350 H 550" stroke="#d4d4d8" stroke-width="1.5" fill="none" />
            <path d="M 215 220 H 350 L 480 350 H 550" stroke="#3b82f6" stroke-width="1.5" fill="none" stroke-dasharray="60 600" stroke-dashoffset="600"><animate attributeName="stroke-dashoffset" values="600;-60" dur="3s" repeatCount="indefinite" /></path>

            <!-- Bottom Left -->
            <g stroke="#d4d4d8" stroke-width="1.5">
                <line x1="120" y1="670" x2="160" y2="670" />
                <line x1="120" y1="680" x2="160" y2="680" />
                <line x1="120" y1="690" x2="160" y2="690" />
            </g>
            <rect x="160" y="655" width="70" height="50" rx="6" fill="url(#chipGrad)" stroke="rgba(0,0,0,0.12)" stroke-width="1" filter="url(#chipShadow)" />
            <circle cx="170" cy="665" r="1.5" fill="#a1a1aa"><animate attributeName="opacity" values="0.2;1;0.2" dur="2s" repeatCount="indefinite"/></circle>
            <circle cx="215" cy="680" r="2.5" fill="#3b82f6" filter="url(#glow)"><animate attributeName="opacity" values="0.3;1;0.3" dur="2.5s" repeatCount="indefinite"/></circle>
            <path d="M 215 680 H 350 L 480 550 H 550" stroke="#d4d4d8" stroke-width="1.5" fill="none" />
            <path d="M 215 680 H 350 L 480 550 H 550" stroke="#3b82f6" stroke-width="1.5" fill="none" stroke-dasharray="60 600" stroke-dashoffset="600"><animate attributeName="stroke-dashoffset" values="600;-60" dur="3.5s" repeatCount="indefinite" /></path>

            <!-- Top Right -->
            <g stroke="#d4d4d8" stroke-width="1.5">
                <line x1="1280" y1="210" x2="1240" y2="210" />
                <line x1="1280" y1="220" x2="1240" y2="220" />
                <line x1="1280" y1="230" x2="1240" y2="230" />
            </g>
            <rect x="1170" y="195" width="70" height="50" rx="6" fill="url(#chipGrad)" stroke="rgba(0,0,0,0.12)" stroke-width="1" filter="url(#chipShadow)" />
            <circle cx="1230" cy="205" r="1.5" fill="#a1a1aa"><animate attributeName="opacity" values="0.2;1;0.2" dur="1.7s" repeatCount="indefinite"/></circle>
            <circle cx="1185" cy="220" r="2.5" fill="#10b981" filter="url(#glow)"><animate attributeName="opacity" values="0.3;1;0.3" dur="3s" repeatCount="indefinite"/></circle>
            <path d="M 1185 220 H 1050 L 920 350 H 850" stroke="#d4d4d8" stroke-width="1.5" fill="none" />
            <path d="M 1185 220 H 1050 L 920 350 H 850" stroke="#3b82f6" stroke-width="1.5" fill="none" stroke-dasharray="60 600" stroke-dashoffset="600"><animate attributeName="stroke-dashoffset" values="600;-60" dur="4s" repeatCount="indefinite" /></path>
        </svg>
    </div>

    <!-- Header Area -->
    <div class="relative z-10 w-full max-w-5xl mx-auto mb-16 flex flex-col items-center">
        <div class="flex items-center justify-center gap-5 mb-8">
            <div class="flex gap-1.5 opacity-60" style="box-shadow: inset 0 1px 1px rgba(255,255,255,1);">
                <div class="dot-light w-1 h-1 rounded-full bg-black opacity-20 transition-all duration-300"></div>
                <div class="dot-light w-1 h-1 rounded-full bg-black opacity-20 transition-all duration-300"></div>
                <div class="dot-light w-1 h-1 rounded-full bg-black opacity-20 transition-all duration-300"></div>
            </div>
            
            <div class="w-14 h-14 bg-gradient-to-b from-[#ffffff] to-[#f4f4f5] rounded-2xl flex items-center justify-center relative overflow-hidden" style="box-shadow: inset 0 2px 5px rgba(0,0,0,0.02), inset 0 0 0 1px rgba(0,0,0,0.04), 0 10px 15px -3px rgba(0,0,0,0.05), 0 25px 30px -5px rgba(0,0,0,0.08), 0 50px 60px -10px rgba(0,0,0,0.12);">
                <div class="absolute inset-0 opacity-10" style="background-image: radial-gradient(circle at 1px 1px, black 1px, transparent 0); background-size: 4px 4px;"></div>
                <iconify-icon icon="solar:network-linear" style="stroke-width: 1.5;" class="text-2xl text-[#3b82f6] relative z-10" style="filter: drop-shadow(0 0 6px rgba(59,130,246,0.4));"></iconify-icon>
            </div>

            <div class="flex gap-1.5 opacity-60" style="box-shadow: inset 0 1px 1px rgba(255,255,255,1);">
                <div class="dot-light w-1 h-1 rounded-full bg-black opacity-20 transition-all duration-300"></div>
                <div class="dot-light w-1 h-1 rounded-full bg-black opacity-20 transition-all duration-300"></div>
                <div class="dot-light w-1 h-1 rounded-full bg-black opacity-20 transition-all duration-300"></div>
            </div>
        </div>

        <div class="text-center h-20">
            <h1 class="text-3xl sm:text-4xl font-light text-[#18181b] tracking-tight mb-3" style="text-shadow: 0 1px 2px rgba(0,0,0,0.05);">
                <span id="typewriter"></span><span class="animate-pulse">_</span>
            </h1>
            <p class="text-base text-[#52525b] font-light max-w-lg mx-auto">Engineered for durability and velocity. Deploy your applications worldwide without maintaining infrastructure.</p>
        </div>
    </div>

    <!-- Features Grid -->
    <div class="relative z-10 w-full max-w-5xl mx-auto grid grid-cols-1 md:grid-cols-3 gap-6 lg:gap-8">
        
        <!-- Feature 1 -->
        <div class="relative p-8 rounded-3xl bg-gradient-to-b from-[#18181b] to-[#09090b] flex flex-col shadow-[inset_0_1px_0_rgba(255,255,255,0.1),inset_0_0_0_1px_rgba(255,255,255,0.05),0_10px_15px_-3px_rgba(0,0,0,0.2),0_25px_30px_-5px_rgba(0,0,0,0.3),0_50px_60px_-10px_rgba(0,0,0,0.4)] hover:shadow-[inset_0_1px_0_rgba(255,255,255,0.1),inset_0_0_0_1px_rgba(255,255,255,0.05),0_20px_25px_-5px_rgba(0,0,0,0.25),0_40px_50px_-10px_rgba(0,0,0,0.35),0_70px_80px_-15px_rgba(0,0,0,0.45)] transition-all duration-500 ease-out hover:-translate-y-2">
            <div class="flex items-center gap-3 mb-4">
                <iconify-icon icon="solar:routing-2-linear" style="stroke-width: 1.5;" class="text-2xl text-[#a1a1aa]"></iconify-icon>
                <h3 class="text-lg font-normal text-white">Worldwide Routing</h3>
            </div>
            <div class="text-4xl tracking-tight font-light text-white mb-1">45<span class="text-xl text-[#a1a1aa] font-light">ms</span></div>
            <p class="text-sm text-[#a1a1aa] font-light mb-8">Mean latency through smart route optimization.</p>
            
            <button type="button" class="w-full bg-gradient-to-b from-[#27272a] to-[#18181b] hover:from-[#3f3f46] hover:to-[#27272a] rounded-xl py-3 text-sm font-light transition-all active:scale-[0.98] text-white mb-8" style="box-shadow: inset 0 1px 1px rgba(255,255,255,0.1), inset 0 -1px 2px rgba(0,0,0,0.2), 0 5px 10px -2px rgba(0,0,0,0.3), 0 0 0 1px rgba(255,255,255,0.05);">Explore Topology</button>
            
            <div class="h-px w-full mb-8" style="background: linear-gradient(90deg, transparent, rgba(255,255,255,0.1), transparent);"></div>
            
            <ul class="space-y-4 flex-1">
                <li class="flex items-start gap-3 text-sm font-light text-[#a1a1aa]">
                    <iconify-icon icon="solar:alt-arrow-right-linear" style="stroke-width: 1.5;" class="text-lg text-[#71717a] shrink-0 mt-0.5"></iconify-icon> Distributed DNS resolution
                </li>
                <li class="flex items-start gap-3 text-sm font-light text-[#a1a1aa]">
                    <iconify-icon icon="solar:alt-arrow-right-linear" style="stroke-width: 1.5;" class="text-lg text-[#71717a] shrink-0 mt-0.5"></iconify-icon> Cross-region failover
                </li>
                <li class="flex items-start gap-3 text-sm font-light text-[#a1a1aa]">
                    <iconify-icon icon="solar:alt-arrow-right-linear" style="stroke-width: 1.5;" class="text-lg text-[#71717a] shrink-0 mt-0.5"></iconify-icon> Built-in threat mitigation
                </li>
            </ul>
        </div>

        <!-- Feature 2 (Highlighted) -->
        <div class="relative p-8 rounded-3xl bg-gradient-to-b from-[#18181b] to-[#09090b] flex flex-col md:-translate-y-4 shadow-[inset_0_1px_0_rgba(255,255,255,0.1),inset_0_0_0_1px_rgba(59,130,246,0.4),0_10px_15px_-3px_rgba(37,99,235,0.1),0_25px_30px_-5px_rgba(37,99,235,0.15),0_50px_60px_-10px_rgba(37,99,235,0.2),0_100px_120px_-20px_rgba(37,99,235,0.3)] hover:shadow-[inset_0_1px_0_rgba(255,255,255,0.1),inset_0_0_0_1px_rgba(59,130,246,0.4),0_20px_25px_-5px_rgba(37,99,235,0.15),0_40px_50px_-10px_rgba(37,99,235,0.25),0_70px_80px_-15px_rgba(37,99,235,0.35),0_120px_140px_-20px_rgba(37,99,235,0.45)] transition-all duration-500 ease-out hover:-translate-y-2 md:hover:-translate-y-6">
            <!-- Corner Dots -->
            <div class="absolute top-4 left-4 w-1 h-1 rounded-full bg-blue-500/40 shadow-[0_0_4px_rgba(59,130,246,0.4)] animate-pulse"></div>
            <div class="absolute top-4 right-4 w-1 h-1 rounded-full bg-blue-500/40 shadow-[0_0_4px_rgba(59,130,246,0.4)] animate-pulse" style="animation-delay: 0.5s"></div>
            <div class="absolute bottom-4 left-4 w-1 h-1 rounded-full bg-blue-500/40 shadow-[0_0_4px_rgba(59,130,246,0.4)] animate-pulse" style="animation-delay: 1s"></div>
            <div class="absolute bottom-4 right-4 w-1 h-1 rounded-full bg-blue-500/40 shadow-[0_0_4px_rgba(59,130,246,0.4)] animate-pulse" style="animation-delay: 1.5s"></div>

            <div class="flex items-center gap-3 mb-4">
                <iconify-icon icon="solar:server-path-linear" style="stroke-width: 1.5;" class="text-2xl text-[#3b82f6]"></iconify-icon>
                <h3 class="text-lg font-normal text-white">Perimeter Compute</h3>
                <span class="ml-auto px-2.5 py-1 rounded-full bg-blue-500/10 text-[#3b82f6] text-xs font-normal tracking-wide border border-blue-500/20">MAIN</span>
            </div>
            <div class="text-4xl tracking-tight font-light text-white mb-1">0<span class="text-xl text-[#a1a1aa] font-light">ms</span></div>
            <p class="text-sm text-[#a1a1aa] font-light mb-8">Zero cold starts through isolate-based design.</p>
            
            <button type="button" class="w-full bg-gradient-to-b from-[#2563eb] to-[#1d4ed8] hover:from-[#3b82f6] hover:to-[#2563eb] text-white rounded-xl py-3 text-sm font-light transition-all active:scale-[0.98] relative overflow-hidden mb-8" style="box-shadow: inset 0 1px 1px rgba(255,255,255,0.3), inset 0 -2px 4px rgba(0,0,0,0.3), 0 10px 15px -3px rgba(37,99,235,0.3), 0 25px 30px -5px rgba(37,99,235,0.4), 0 0 0 1px rgba(29,78,216,0.8); text-shadow: 0 1px 2px rgba(0,0,0,0.2);">View Environments</button>
            
            <div class="h-px w-full mb-8" style="background: linear-gradient(90deg, transparent, rgba(59,130,246,0.3), transparent);"></div>
            
            <ul class="space-y-4 flex-1">
                <li class="flex items-start gap-3 text-sm font-light text-[#a1a1aa]">
                    <iconify-icon icon="solar:bolt-linear" style="stroke-width: 1.5;" class="text-lg text-[#3b82f6] shrink-0 mt-0.5"></iconify-icon> Wasm integration
                </li>
                <li class="flex items-start gap-3 text-sm font-light text-[#a1a1aa]">
                    <iconify-icon icon="solar:bolt-linear" style="stroke-width: 1.5;" class="text-lg text-[#3b82f6] shrink-0 mt-0.5"></iconify-icon> Global state replication
                </li>
                <li class="flex items-start gap-3 text-sm font-light text-[#a1a1aa]">
                    <iconify-icon icon="solar:bolt-linear" style="stroke-width: 1.5;" class="text-lg text-[#3b82f6] shrink-0 mt-0.5"></iconify-icon> Sub-millisecond purging
                </li>
                <li class="flex items-start gap-3 text-sm font-light text-[#a1a1aa]">
                    <iconify-icon icon="solar:bolt-linear" style="stroke-width: 1.5;" class="text-lg text-[#3b82f6] shrink-0 mt-0.5"></iconify-icon> Continuous data streams
                </li>
            </ul>
        </div>

        <!-- Feature 3 -->
        <div class="relative p-8 rounded-3xl bg-gradient-to-b from-[#18181b] to-[#09090b] flex flex-col shadow-[inset_0_1px_0_rgba(255,255,255,0.1),inset_0_0_0_1px_rgba(255,255,255,0.05),0_10px_15px_-3px_rgba(0,0,0,0.2),0_25px_30px_-5px_rgba(0,0,0,0.3),0_50px_60px_-10px_rgba(0,0,0,0.4)] hover:shadow-[inset_0_1px_0_rgba(255,255,255,0.1),inset_0_0_0_1px_rgba(255,255,255,0.05),0_20px_25px_-5px_rgba(0,0,0,0.25),0_40px_50px_-10px_rgba(0,0,0,0.35),0_70px_80px_-15px_rgba(0,0,0,0.45)] transition-all duration-500 ease-out hover:-translate-y-2">
            <div class="flex items-center gap-3 mb-4">
                <iconify-icon icon="solar:lock-keyhole-linear" style="stroke-width: 1.5;" class="text-2xl text-[#a1a1aa]"></iconify-icon>
                <h3 class="text-lg font-normal text-white">Absolute Security</h3>
            </div>
            <div class="text-4xl tracking-tight font-light text-white mb-1">E2E<span class="text-xl text-[#a1a1aa] font-light"></span></div>
            <p class="text-sm text-[#a1a1aa] font-light mb-8">All traffic verified at the boundary.</p>
            
            <button type="button" class="w-full bg-gradient-to-b from-[#27272a] to-[#18181b] hover:from-[#3f3f46] hover:to-[#27272a] rounded-xl py-3 text-sm font-light transition-all active:scale-[0.98] text-white mb-8" style="box-shadow: inset 0 1px 1px rgba(255,255,255,0.1), inset 0 -1px 2px rgba(0,0,0,0.2), 0 5px 10px -2px rgba(0,0,0,0.3), 0 0 0 1px rgba(255,255,255,0.05);">View Specs</button>
            
            <div class="h-px w-full mb-8" style="background: linear-gradient(90deg, transparent, rgba(255,255,255,0.1), transparent);"></div>
            
            <ul class="space-y-4 flex-1">
                <li class="flex items-start gap-3 text-sm font-light text-[#a1a1aa]">
                    <iconify-icon icon="solar:shield-check-linear" style="stroke-width: 1.5;" class="text-lg text-[#71717a] shrink-0 mt-0.5"></iconify-icon> mTLS setup
                </li>
                <li class="flex items-start gap-3 text-sm font-light text-[#a1a1aa]">
                    <iconify-icon icon="solar:shield-check-linear" style="stroke-width: 1.5;" class="text-lg text-[#71717a] shrink-0 mt-0.5"></iconify-icon> Identity-based routing
                </li>
                <li class="flex items-start gap-3 text-sm font-light text-[#a1a1aa]">
                    <iconify-icon icon="solar:shield-check-linear" style="stroke-width: 1.5;" class="text-lg text-[#71717a] shrink-0 mt-0.5"></iconify-icon> Auto-renewing certificates
                </li>
                <li class="flex items-start gap-3 text-sm font-light text-[#a1a1aa]">
                    <iconify-icon icon="solar:shield-check-linear" style="stroke-width: 1.5;" class="text-lg text-[#71717a] shrink-0 mt-0.5"></iconify-icon> Fine-grained permissions
                </li>
            </ul>
        </div>

    </div>

    <!-- Scripts for Animations -->
    <script>
        // Typewriter Effect
        const phrases = ["Worldwide Network", "Immediate Processing", "Zero-Trust Boundary"];
        let pIdx = 0, cIdx = 0, isDeleting = false;
        const tw = document.getElementById('typewriter');
        function type() {
            const current = phrases[pIdx];
            if (isDeleting) {
                tw.textContent = current.substring(0, cIdx - 1);
                cIdx--;
            } else {
                tw.textContent = current.substring(0, cIdx + 1);
                cIdx++;
            }
            
            let speed = isDeleting ? 40 : 80;
            if (!isDeleting && cIdx === current.length) {
                speed = 2500;
                isDeleting = true;
            } else if (isDeleting && cIdx === 0) {
                isDeleting = false;
                pIdx = (pIdx + 1) % phrases.length;
                speed = 500;
            }
            setTimeout(type, speed);
        }
        type();

        // Dots Lights Loop
        const dots = document.querySelectorAll('.dot-light');
        let dotIdx = 0;
        setInterval(() => {
            dots.forEach(d => {
                d.style.opacity = '0.2';
                d.style.boxShadow = '0 0 0px rgba(59,130,246,0)';
            });
            if(dots[dotIdx]) {
                dots[dotIdx].style.opacity = '0.8';
                dots[dotIdx].style.boxShadow = '0 0 6px rgba(59,130,246,0.5)';
            }
            if(dots[5 - dotIdx]) {
                dots[5 - dotIdx].style.opacity = '0.8';
                dots[5 - dotIdx].style.boxShadow = '0 0 6px rgba(59,130,246,0.5)';
            }
            dotIdx = (dotIdx + 1) % 3;
        }, 300);
    </script>
</div>
All Prompts