← back to Animated Concepts #3compare with ground truth →
model output
Gemini 3 Flash Preview
Animated Concepts #3
A 0.90T 0.26
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>Pulsing Orbital Dots Animation</title>
7 <style>
8 /* Reset and layout */
9 * {
10 margin: 0;
11 padding: 0;
12 box-sizing: border-box;
13 }
14
15 body {
16 background-color: #1c1c1c; /* Matches the dark background in the video */
17 display: flex;
18 justify-content: center;
19 align-items: center;
20 height: 100vh;
21 overflow: hidden;
22 }
23
24 /* Container for the dots to handle rotation */
25 .loader {
26 position: relative;
27 width: 100px;
28 height: 100px;
29 display: flex;
30 justify-content: center;
31 align-items: center;
32 animation: rotate 2.4s linear infinite;
33 }
34
35 /* The dots */
36 .dot {
37 position: absolute;
38 width: 12px;
39 height: 12px;
40 background-color: #f2817d; /* Matches the coral/pink color */
41 border-radius: 50%;
42 opacity: 0;
43 }
44
45 /* Specific dot animations */
46 .dot-1 {
47 animation: move-1 2.4s ease-in-out infinite;
48 }
49
50 .dot-2 {
51 animation: move-2 2.4s ease-in-out infinite;
52 }
53
54 /*
55 Rotation animation:
56 Rotates the entire container to create the orbital effect.
57 */
58 @keyframes rotate {
59 0% {
60 transform: rotate(0deg);
61 }
62 100% {
63 transform: rotate(360deg);
64 }
65 }
66
67 /*
68 Dot 1 Movement:
69 Moves from center to left, scaling up and down.
70 Includes a delay period (0-20% and 80-100%) to match the video's timing.
71 */
72 @keyframes move-1 {
73 0%, 20%, 80%, 100% {
74 transform: translateX(0) scale(0);
75 opacity: 0;
76 }
77 50% {
78 transform: translateX(-18px) scale(1);
79 opacity: 1;
80 }
81 }
82
83 /*
84 Dot 2 Movement:
85 Moves from center to right, scaling up and down.
86 */
87 @keyframes move-2 {
88 0%, 20%, 80%, 100% {
89 transform: translateX(0) scale(0);
90 opacity: 0;
91 }
92 50% {
93 transform: translateX(18px) scale(1);
94 opacity: 1;
95 }
96 }
97 </style>
98</head>
99<body>
100
101 <div class="loader">
102 <div class="dot dot-1"></div>
103 <div class="dot dot-2"></div>
104 </div>
105
106</body>
107</html>