← back to Animated Concepts #3compare with ground truth →
model output
Gemini 3 Flash Preview
Animated Concepts #3
A 0.82T 0.32
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 Line Loader</title>
7 <style>
8 /*
9 Analysis:
10 - Background: Dark charcoal (#1e1e1e)
11 - Color: Salmon / Light Coral (#f28b82)
12 - Shapes: 4 small squares in a vertical line
13 - Motion: A 360-degree rotation that "snaps" or slows down at 45-degree intervals.
14 */
15
16 body {
17 background-color: #1e1e1e;
18 display: flex;
19 justify-content: center;
20 align-items: center;
21 height: 100vh;
22 margin: 0;
23 overflow: hidden;
24 }
25
26 .loader {
27 display: flex;
28 flex-direction: column;
29 /* Gap between the squares */
30 gap: 6px;
31 /*
32 The video shows a 1.5s segment where it moves from diagonal to vertical.
33 A 2s total duration for a full 360-degree cycle with 90-degree 'snaps'
34 matches the perceived physics of the animation.
35 */
36 animation: spin 2.5s cubic-bezier(0.77, 0, 0.175, 1) infinite;
37 }
38
39 .square {
40 width: 12px;
41 height: 12px;
42 background-color: #f28b82;
43 /* Subtle rounding to match the anti-aliasing in the video */
44 border-radius: 1.5px;
45 }
46
47 @keyframes spin {
48 /*
49 We use specific degree increments to recreate the "pause"
50 observed at the diagonal and vertical positions.
51 */
52 0% {
53 transform: rotate(0deg);
54 }
55 25% {
56 transform: rotate(90deg);
57 }
58 50% {
59 transform: rotate(180deg);
60 }
61 75% {
62 transform: rotate(270deg);
63 }
64 100% {
65 transform: rotate(360deg);
66 }
67 }
68 </style>
69</head>
70<body>
71
72 <div class="loader">
73 <div class="square"></div>
74 <div class="square"></div>
75 <div class="square"></div>
76 <div class="square"></div>
77 </div>
78
79</body>
80</html>