← back to Animated Concepts #3compare with ground truth →
model output
Claude Sonnet 4.6
Animated Concepts #3
A 0.85T 0.22
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>Diamond Animation</title>
7<style>
8 * { margin: 0; padding: 0; box-sizing: border-box; }
9
10 body {
11 background-color: #2a2a2a;
12 width: 100vw;
13 height: 100vh;
14 display: flex;
15 align-items: center;
16 justify-content: center;
17 overflow: hidden;
18 }
19
20 .container {
21 position: relative;
22 width: 100px;
23 height: 100px;
24 display: flex;
25 align-items: center;
26 justify-content: center;
27 }
28
29 .diamond {
30 position: absolute;
31 background-color: #f07070;
32 transform: rotate(45deg);
33 }
34
35 .center {
36 width: 22px;
37 height: 22px;
38 animation: centerPulse 1.6s ease-in-out infinite;
39 }
40
41 .dot {
42 width: 8px;
43 height: 8px;
44 }
45
46 .top {
47 animation: topMove 1.6s ease-in-out infinite;
48 }
49
50 .bottom {
51 animation: bottomMove 1.6s ease-in-out infinite;
52 }
53
54 .left {
55 animation: leftMove 1.6s ease-in-out infinite;
56 }
57
58 .right {
59 animation: rightMove 1.6s ease-in-out infinite;
60 }
61
62 @keyframes centerPulse {
63 0% { width: 22px; height: 22px; }
64 50% { width: 6px; height: 6px; }
65 100% { width: 22px; height: 22px; }
66 }
67
68 @keyframes topMove {
69 0% { transform: rotate(45deg) translate(0, 0); top: -28px; left: calc(50% - 4px); }
70 50% { transform: rotate(45deg) translate(0, 0); top: -18px; left: calc(50% - 4px); }
71 100% { transform: rotate(45deg) translate(0, 0); top: -28px; left: calc(50% - 4px); }
72 }
73
74 @keyframes bottomMove {
75 0% { transform: rotate(45deg) translate(0, 0); bottom: -28px; left: calc(50% - 4px); }
76 50% { transform: rotate(45deg) translate(0, 0); bottom: -18px; left: calc(50% - 4px); }
77 100% { transform: rotate(45deg) translate(0, 0); bottom: -28px; left: calc(50% - 4px); }
78 }
79
80 @keyframes leftMove {
81 0% { transform: rotate(45deg) translate(0, 0); left: -28px; top: calc(50% - 4px); }
82 50% { transform: rotate(45deg) translate(0, 0); left: -18px; top: calc(50% - 4px); }
83 100% { transform: rotate(45deg) translate(0, 0); left: -28px; top: calc(50% - 4px); }
84 }
85
86 @keyframes rightMove {
87 0% { transform: rotate(45deg) translate(0, 0); right: -28px; top: calc(50% - 4px); }
88 50% { transform: rotate(45deg) translate(0, 0); right: -18px; top: calc(50% - 4px); }
89 100% { transform: rotate(45deg) translate(0, 0); right: -28px; top: calc(50% - 4px); }
90 }
91</style>
92</head>
93<body>
94 <div class="container">
95 <div class="diamond center"></div>
96 <div class="diamond dot top"></div>
97 <div class="diamond dot bottom"></div>
98 <div class="diamond dot left"></div>
99 <div class="diamond dot right"></div>
100 </div>
101
102 <script>
103 // The animation uses CSS only, but we can verify timing here
104 // All animations are 1.6s ease-in-out infinite
105 // Center diamond pulses large->small->large
106 // Surrounding dots move in->out->in in sync
107 </script>
108</body>
109</html>