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.80T 0.31
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>Opera GX Style Loader</title>
7    <style>
8        /* 
9           Analysis:
10           - Background: Very dark, almost black (#0d0d0d).
11           - Primary Color: Vibrant Red (#ff0000).
12           - Shape: A broken ring (stylized 'O') with a central dot.
13           - Animation: Constant clockwise rotation of the outer ring.
14           - Effects: Soft red glow (bloom effect) on both the ring and the dot.
15        */
16
17        body, html {
18            margin: 0;
19            padding: 0;
20            width: 100%;
21            height: 100%;
22            display: flex;
23            justify-content: center;
24            align-items: center;
25            background-color: #0d0d0d;
26            overflow: hidden;
27        }
28
29        .container {
30            position: relative;
31            width: 100px;
32            height: 100px;
33            display: flex;
34            justify-content: center;
35            align-items: center;
36        }
37
38        /* The rotating outer ring */
39        .ring {
40            position: absolute;
41            width: 44px;
42            height: 44px;
43            border-radius: 50%;
44            border: 4.5px solid #ff0000;
45            /* Create the gap in the ring */
46            border-top-color: transparent;
47            /* Glow effect */
48            box-shadow: 0 0 15px rgba(255, 0, 0, 0.4), 
49                        inset 0 0 10px rgba(255, 0, 0, 0.2);
50            filter: drop-shadow(0 0 2px #ff0000);
51            
52            /* Animation: 1 full rotation every 0.8 seconds */
53            animation: rotate 0.8s linear infinite;
54        }
55
56        /* The central static dot */
57        .dot {
58            position: absolute;
59            width: 10px;
60            height: 10px;
61            background-color: #ff0000;
62            border-radius: 50%;
63            box-shadow: 0 0 12px #ff0000, 0 0 20px rgba(255, 0, 0, 0.5);
64            /* Subtle pulse to match the video's dynamic glow */
65            animation: pulse 1.5s ease-in-out infinite;
66        }
67
68        /* Rotation Keyframes */
69        @keyframes rotate {
70            0% {
71                transform: rotate(0deg);
72            }
73            100% {
74                transform: rotate(360deg);
75            }
76        }
77
78        /* Subtle pulse for the dot to simulate light flicker */
79        @keyframes pulse {
80            0%, 100% {
81                transform: scale(1);
82                opacity: 0.9;
83            }
84            50% {
85                transform: scale(1.1);
86                opacity: 1;
87            }
88        }
89
90        /* Container positioning to match the video (slightly towards top) */
91        .wrapper {
92            transform: translateY(-150px);
93        }
94    </style>
95</head>
96<body>
97
98    <div class="wrapper">
99        <div class="container">
100            <div class="ring"></div>
101            <div class="dot"></div>
102        </div>
103    </div>
104
105</body>
106</html>