← back to CSS Wavescompare with ground truth →
model output
Gemini 3 Flash Preview
CSS Waves
A 0.77T 0.27
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>Fluid Wave Animation</title>
7 <style>
8 /*
9 Analysis:
10 - Background: Dark charcoal gray (#2c2c2c).
11 - Container: A white square with slightly rounded corners.
12 - Liquid: A soft blue (#bcd9f5) that moves with a rolling wave motion.
13 - Animation Technique: A large, slightly rounded square rotating inside an overflow-hidden container.
14 - Timing: Approximately 4 seconds for a full 360-degree rotation cycle.
15 */
16
17 * {
18 margin: 0;
19 padding: 0;
20 box-sizing: border-box;
21 }
22
23 body {
24 display: flex;
25 justify-content: center;
26 align-items: center;
27 min-height: 100vh;
28 background-color: #2c2c2c; /* Matches the dark background in the video */
29 }
30
31 .card {
32 position: relative;
33 width: 320px;
34 height: 320px;
35 background-color: #ffffff;
36 border-radius: 6px; /* Subtle rounding of the main white container */
37 overflow: hidden; /* Clips the rotating wave shape */
38 box-shadow: 0 10px 30px rgba(0, 0, 0, 0.2);
39 }
40
41 .liquid {
42 position: absolute;
43 /*
44 The 'wave' is a large square shape.
45 As it rotates, the rounded corners create the peak/swell,
46 and the flat sides create the troughs.
47 */
48 width: 600px;
49 height: 600px;
50 background-color: #bcd9f5;
51
52 /* Positioning the shape so only the top portion is visible inside the card */
53 left: -140px;
54 bottom: -465px;
55
56 /*
57 43% radius creates a 'superellipse' or rounded square.
58 This specific curve provides the smooth liquid rolling effect
59 observed in the video.
60 */
61 border-radius: 43%;
62
63 /* Linear animation ensures a smooth, non-stop rolling motion */
64 animation: rotate-wave 4s linear infinite;
65 transform-origin: center center;
66 }
67
68 @keyframes rotate-wave {
69 0% {
70 transform: rotate(0deg);
71 }
72 100% {
73 transform: rotate(360deg);
74 }
75 }
76
77 /*
78 Optional: To match the video's loop perfectly,
79 we use a single solid color layer as there are no visible
80 gradients or secondary transparency layers in the reference.
81 */
82 </style>
83</head>
84<body>
85
86 <div class="card">
87 <!-- The rotating shape that mimics fluid motion -->
88 <div class="liquid"></div>
89 </div>
90
91</body>
92</html>