← back to Loaders (WIP)compare with ground truth →
model output
Gemini 3 Flash Preview
Loaders (WIP)
A 0.95T 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>Loading Animation</title>
7 <style>
8 /*
9 Analysis of the video:
10 - Background Color: #e74c3c (Flat UI Alizarin Red)
11 - Dot Color: White (#ffffff)
12 - Layout: 3 dots centered horizontally, positioned in the upper half.
13 - Animation: A sequential pulse of opacity (0.4 to 1.0) moving left to right.
14 - Timing: Approximately 1.5s for a full sequence loop.
15 */
16
17 * {
18 margin: 0;
19 padding: 0;
20 box-sizing: border-box;
21 }
22
23 body {
24 background-color: #e74c3c;
25 display: flex;
26 justify-content: center;
27 align-items: center;
28 /* In the video, the dots are slightly higher than center,
29 but standard web implementation centers them perfectly. */
30 height: 100vh;
31 overflow: hidden;
32 }
33
34 .loader {
35 display: flex;
36 gap: 8px; /* Precise spacing between dots */
37 /* Positioning adjustment to match video screenshots higher alignment */
38 transform: translateY(-200px);
39 }
40
41 .dot {
42 width: 10px;
43 height: 10px;
44 background-color: #ffffff;
45 border-radius: 50%;
46 opacity: 0.3;
47 /*
48 The animation uses a 1.4s duration.
49 The ease-in-out timing function creates the soft pulsing look.
50 */
51 animation: pulse 1.4s infinite ease-in-out both;
52 }
53
54 /*
55 Staggering the delays creates the "wave" effect seen in the video.
56 0.2s increments provide a smooth transition from one dot to the next.
57 */
58 .dot:nth-child(1) {
59 animation-delay: -0.32s;
60 }
61
62 .dot:nth-child(2) {
63 animation-delay: -0.16s;
64 }
65
66 .dot:nth-child(3) {
67 animation-delay: 0s;
68 }
69
70 @keyframes pulse {
71 0%, 80%, 100% {
72 opacity: 0.3;
73 transform: scale(1);
74 }
75 40% {
76 opacity: 1;
77 transform: scale(1.1); /* Slight scale matches the "blooming" feel of the light */
78 }
79 }
80 </style>
81</head>
82<body>
83
84 <div class="loader">
85 <div class="dot"></div>
86 <div class="dot"></div>
87 <div class="dot"></div>
88 </div>
89
90</body>
91</html>