/* Extracted from index.php */
@keyframes smooth-float-gpu {
        0%, 100% {
            transform: translateY(0) translateZ(0);
        }
        50% {
            transform: translateY(-10px) translateZ(0);
        }
    }

    @keyframes typing { from { width: 0 } to { width: 100% } }
    @keyframes blink { from, to { border-color: transparent } 50% { border-color: #3b82f6 } }
    @keyframes pulse-soft { 0%, 100% { opacity: 1; filter: brightness(1.2); } 50% { opacity: 0.7; filter: brightness(1); } }
    @keyframes scanline { 0% { transform: translateY(-100%); } 100% { transform: translateY(100%); } }
    @keyframes spin-slow { from { transform: rotate(0deg); } to { transform: rotate(360deg); } }
    @keyframes spin-reverse { from { transform: rotate(360deg); } to { transform: rotate(0deg); } }
    @keyframes blink-led { 0%, 100% { opacity: 1; background-color: #10b981; box-shadow: 0 0 8px #10b981; } 50% { opacity: 0.3; background-color: #064e3b; box-shadow: none; } }
    @keyframes move-packet { 0% { left: 0%; opacity: 0; } 10% { opacity: 1; } 90% { opacity: 1; } 100% { left: 100%; opacity: 0; } }
    @keyframes move-packet-vertical { 0% { top: 0%; opacity: 0; } 10% { opacity: 1; } 90% { opacity: 1; } 100% { top: 100%; opacity: 0; } }

    .float-only-bottom {
        animation: smooth-float-gpu 4.2s ease-in-out infinite;
        will-change: transform;
        backface-visibility: hidden;
        perspective: 1000px;
    }

    .hstdr-animate-typing { overflow: hidden; white-space: nowrap; animation: typing 3s steps(40, end); }
    .hstdr-animate-blink { border-right: 2px solid #3b82f6; animation: blink 0.7s infinite; }
    .hstdr-animate-pulse-soft { animation: pulse-soft 2.15s ease-in-out infinite; }
    .hstdr-animate-scanline { animation: scanline 8.4s linear infinite; }
    .hstdr-animate-spin-slow { animation: spin-slow 8.5s linear infinite; }
    .hstdr-animate-spin-reverse { animation: spin-reverse 6.3s linear infinite; }
    .hstdr-animate-blink-led { animation: blink-led 1.6s step-start infinite; }
    .hstdr-animate-packet { animation: move-packet 3.15s linear infinite; }
    .hstdr-animate-packet-delayed { animation: move-packet 3.15s linear infinite 1.5s; }
    .hstdr-animate-packet-vertical { animation: move-packet-vertical 4.2s linear infinite 0.55s; }
