← back to Animated Concepts #3compare with ground truth →
model output
GPT-5.4
Animated Concepts #3
A 0.79T 0.19
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>Two Dot Loader Recreation</title>
7<style>
8 :root{
9 --bg:#1f1f1f;
10 --dot:#ff7f73;
11 --size:14px;
12 --dist:42px;
13 --dur:1.8s;
14 }
15
16 html,body{
17 margin:0;
18 width:100%;
19 height:100%;
20 background:var(--bg);
21 overflow:hidden;
22 }
23
24 body{
25 display:grid;
26 place-items:center;
27 }
28
29 .loader{
30 position:relative;
31 width:120px;
32 height:120px;
33 }
34
35 .dot{
36 position:absolute;
37 left:50%;
38 top:50%;
39 width:var(--size);
40 height:var(--size);
41 margin-left:calc(var(--size) / -2);
42 margin-top:calc(var(--size) / -2);
43 border-radius:50%;
44 background:radial-gradient(circle at 35% 35%, #ff9a90 0 28%, var(--dot) 55%, #f56f66 100%);
45 box-shadow:0 0 4px rgba(255,127,115,.18);
46 animation:orbit var(--dur) ease-in-out infinite;
47 }
48
49 .dot.b{
50 animation-delay:calc(var(--dur) / -2);
51 }
52
53 @keyframes orbit{
54 0%{
55 transform:translate(-4px,-15px) scale(.42);
56 opacity:.95;
57 }
58 12%{
59 transform:translate(0,-21px) scale(1);
60 opacity:1;
61 }
62 25%{
63 transform:translate(21px,0) scale(1);
64 opacity:1;
65 }
66 37.5%{
67 transform:translate(0,21px) scale(1);
68 opacity:1;
69 }
70 50%{
71 transform:translate(-21px,0) scale(1);
72 opacity:1;
73 }
74 62%{
75 transform:translate(-4px,15px) scale(.42);
76 opacity:.95;
77 }
78 100%{
79 transform:translate(-4px,-15px) scale(.42);
80 opacity:.95;
81 }
82 }
83</style>
84</head>
85<body>
86 <div class="loader" aria-label="loading animation">
87 <div class="dot a"></div>
88 <div class="dot b"></div>
89 </div>
90</body>
91</html>