animation2code benchmark
For best compatibility, please view this dashboard in a Chrome browser.
← back to CSS3 loading animations

model output

Gemini 3 Flash Preview

CSS3 loading animations

A 0.76T 0.27
compare with ground truth →
1<!DOCTYPE html>
2<html lang="en">
3<head>
4    <meta charset="UTF-8">
5    <meta name="viewport" content="width=device-width, initial-scale=1.0">
6    <title>Square Pulse Loader</title>
7    <style>
8        /* Base styles to match the video background and layout */
9        body, html {
10            margin: 0;
11            padding: 0;
12            width: 100%;
13            height: 100%;
14            display: flex;
15            justify-content: center;
16            align-items: flex-start; /* Positioned at the top like in the video */
17            background-color: #121212;
18            overflow: hidden;
19        }
20
21        /* Container for the loader */
22        .loader-container {
23            margin-top: 20px; /* Offset from the top */
24            display: flex;
25            gap: 5px; /* Spacing between squares */
26            align-items: center;
27        }
28
29        /* The individual squares */
30        .square {
31            width: 7px;
32            height: 7px;
33            background-color: #a3e635; /* Vibrant lime green from video */
34            border-radius: 1px; /* Very slight rounding */
35            opacity: 0.3;
36            transform: scale(0.9);
37            animation: pulse-wave 1.4s infinite ease-in-out;
38        }
39
40        /* Staggered animation delays to create the wave effect */
41        .square:nth-child(1) {
42            animation-delay: 0s;
43        }
44        .square:nth-child(2) {
45            animation-delay: 0.2s;
46        }
47        .square:nth-child(3) {
48            animation-delay: 0.4s;
49        }
50
51        /* 
52           The animation mimics the "breathing" and "expanding" movement.
53           The scaling and opacity changes create the motion-blur look seen 
54           in frames like 00:00.500.
55        */
56        @keyframes pulse-wave {
57            0%, 80%, 100% {
58                transform: scale(0.9);
59                opacity: 0.3;
60            }
61            40% {
62                transform: scale(1.6); /* Expansion peak */
63                opacity: 1; /* Brightness peak */
64            }
65        }
66
67        /* High-quality rendering hints */
68        .square {
69            will-change: transform, opacity;
70            -webkit-font-smoothing: antialiased;
71        }
72    </style>
73</head>
74<body>
75
76    <div class="loader-container">
77        <div class="square"></div>
78        <div class="square"></div>
79        <div class="square"></div>
80    </div>
81
82    <script>
83        /**
84         * The animation is handled entirely via CSS for performance 
85         * and to match the smooth timing shown in the video frames.
86         */
87    </script>
88</body>
89</html>