@keyframes reveal {
    from {
        transform: translateY(75px) scale(0.9);
    }

    to {
        transform: translateY(0) scale(1);
    }
}

.animation {
    /* Animace se spustí jen při skrolování do výhledu */
    animation: reveal linear both;
    animation-timeline: view();

    /* Nastavíme, kdy přesně se má animace začít a skončit */
    /* 'entry 10%' znamená: začni, když je 10 % prvku vespod vidět */
    /* 'contain 40%' znamená: ukonči animaci, než prvek přejde do středu */
    animation-range: entry 10% contain 40%;
}

@keyframes shift {
    from {
        transform: translateY(50px);
    }

    to {
        transform: translateY(0);
    }
}

.shift-animation {
    /* Animace se spustí jen při skrolování do výhledu */
    animation: shift linear both;
    animation-timeline: view();

    /* Nastavíme, kdy přesně se má animace začít a skončit */
    /* 'entry 10%' znamená: začni, když je 10 % prvku vespod vidět */
    /* 'contain 40%' znamená: ukonči animaci, než prvek přejde do středu */
    animation-range: entry 10% contain 40%;
}

/* Blikající kurzor */
.blink {
    animation: blinker 0.8s linear infinite;
}

@keyframes blinker {
    50% {
        opacity: 0;
    }
}