@@ -30,146 +30,134 @@ export const AdditionalFeaturesSection = ({
30
30
visible : {
31
31
opacity : 1 ,
32
32
transition : {
33
- staggerChildren : 0.2 ,
33
+ staggerChildren : 0.1 ,
34
34
} ,
35
35
} ,
36
36
}
37
37
38
38
const itemVariants = {
39
- hidden : { y : 50 , opacity : 0 } ,
39
+ hidden : { y : 30 , opacity : 0 } ,
40
40
visible : {
41
41
y : 0 ,
42
42
opacity : 1 ,
43
- transition : { duration : 0.6 , ease : 'easeOut' } ,
43
+ transition : { duration : 0.3 , ease : 'easeOut' } ,
44
44
} ,
45
45
}
46
46
47
47
return (
48
48
< section
49
49
id = { id }
50
- className = "relative flex min-h-screen w-full flex-col items-center justify -center overflow-hidden bg-background-1 py-16"
50
+ className = "relative w-full flex-col items-center overflow-hidden bg-background-1 py-16"
51
51
ref = { ref }
52
52
>
53
53
< div className = "container mx-auto px-4" >
54
- < div className = "mb-16 text-center " >
54
+ < div className = "mb-14 max-w-3xl text-left " >
55
55
< motion . div
56
- initial = { { opacity : 0 , y : - 20 } }
57
- animate = { inView ? { opacity : 1 , y : 0 } : { opacity : 0 , y : - 20 } }
58
- transition = { { duration : 0.6 } }
59
- className = "mb-4 inline-block rounded-full bg-human-3/10 px-4 py-1 text-sm font-medium text-human-3"
56
+ initial = { { opacity : 0 , y : - 10 } }
57
+ animate = { inView ? { opacity : 1 , y : 0 } : { opacity : 0 , y : - 10 } }
58
+ transition = { { duration : 0.3 } }
59
+ className = "mb-2 inline-block rounded-full bg-human-3/10 px-4 py-1 text-sm font-medium text-human-3"
60
60
>
61
61
More Features
62
62
</ motion . div >
63
63
< motion . h2
64
- className = "mb-6 text-3xl font-bold md:text-4xl lg:text-5xl"
65
- initial = { { opacity : 0 , y : - 20 } }
66
- animate = { inView ? { opacity : 1 , y : 0 } : { opacity : 0 , y : - 20 } }
67
- transition = { { duration : 0.6 , delay : 0.1 } }
64
+ className = "mb-4 text-3xl font-bold md:text-4xl lg:text-5xl"
65
+ initial = { { opacity : 0 , y : - 10 } }
66
+ animate = { inView ? { opacity : 1 , y : 0 } : { opacity : 0 , y : - 10 } }
67
+ transition = { { duration : 0.3 , delay : 0.1 } }
68
68
>
69
69
Explore other ways to use Maia
70
70
</ motion . h2 >
71
71
< motion . p
72
- className = "mx-auto max-w-2xl text-lg text-primary/80"
73
- initial = { { opacity : 0 , y : - 20 } }
74
- animate = { inView ? { opacity : 1 , y : 0 } : { opacity : 0 , y : - 20 } }
75
- transition = { { duration : 0.6 , delay : 0.2 } }
72
+ className = "max-w-2xl text-lg text-primary/80"
73
+ initial = { { opacity : 0 , y : - 10 } }
74
+ animate = { inView ? { opacity : 1 , y : 0 } : { opacity : 0 , y : - 10 } }
75
+ transition = { { duration : 0.3 , delay : 0.2 } }
76
76
>
77
77
Maia offers a range of innovative tools to help you understand human
78
78
chess and improve your skills
79
79
</ motion . p >
80
80
</ div >
81
81
82
82
< motion . div
83
- className = "grid gap-8 md:grid-cols-3"
83
+ className = "grid gap-6 md:grid-cols-3"
84
84
variants = { containerVariants }
85
85
initial = "hidden"
86
86
animate = { inView ? 'visible' : 'hidden' }
87
87
>
88
88
{ /* Openings Feature */ }
89
89
< motion . div
90
- className = "flex flex-col rounded-lg bg-background-2 p-6 shadow-lg transition-transform duration-300 hover:scale-105 "
90
+ className = "hover:scale-102 flex flex-col rounded-lg bg-background-2 p-5 shadow-lg transition-transform duration-200 "
91
91
variants = { itemVariants }
92
92
>
93
- < div className = "mb-4 flex h-12 w-12 items-center justify-center rounded-full bg-human-3/10 p-3 " >
94
- < div className = "h-6 w-6 text-human-3" >
93
+ < div className = "mb-4 flex h-12 w-12 items-center justify-center rounded-full bg-human-3/10 p-2 " >
94
+ < div className = "h-7 w-7 text-human-3" >
95
95
< StarIcon />
96
96
</ div >
97
97
</ div >
98
98
< h3 className = "mb-3 text-xl font-bold" > Openings Practice</ h3 >
99
- < p className = "mb-6 flex-grow text-primary/80" >
99
+ < p className = "mb-5 flex-grow text-primary/80" >
100
100
Drill chess openings against Maia models calibrated to specific
101
101
rating levels, allowing you to practice against opponents similar
102
102
to those you'll face.
103
103
</ p >
104
104
< Link
105
105
href = "/openings"
106
- className = "mt-auto inline-flex items-center justify-center rounded-md bg-background-3 px-4 py-2 font-medium transition duration-200 hover:bg-background-4"
106
+ className = "mt-auto inline-flex items-center justify-center rounded-md bg-background-3 px-5 py-3 font-medium transition duration-200 hover:bg-background-4"
107
107
>
108
108
Practice Openings
109
109
</ Link >
110
110
</ motion . div >
111
111
112
112
{ /* Hand & Brain Feature */ }
113
113
< motion . div
114
- className = "flex flex-col rounded-lg bg-background-2 p-6 shadow-lg transition-transform duration-300 hover:scale-105 "
114
+ className = "hover:scale-102 flex flex-col rounded-lg bg-background-2 p-5 shadow-lg transition-transform duration-200 "
115
115
variants = { itemVariants }
116
116
>
117
- < div className = "mb-4 flex h-12 w-12 items-center justify-center rounded-full bg-engine-3/10 p-3 " >
118
- < div className = "h-6 w-6 text-engine-3" >
117
+ < div className = "mb-4 flex h-12 w-12 items-center justify-center rounded-full bg-engine-3/10 p-2 " >
118
+ < div className = "h-7 w-7 text-engine-3" >
119
119
< TuringIcon />
120
120
</ div >
121
121
</ div >
122
122
< h3 className = "mb-3 text-xl font-bold" > Hand & Brain </ h3 >
123
- < p className = "mb-6 flex-grow text-primary/80" >
123
+ < p className = "mb-5 flex-grow text-primary/80" >
124
124
Team up with Maia in this collaborative chess variant. You can be
125
125
the "Hand" making moves while Maia is the
126
126
"Brain" selecting pieces, or vice versa.
127
127
</ p >
128
128
< button
129
129
onClick = { startHandBrainGame }
130
- className = "mt-auto inline-flex items-center justify-center rounded-md bg-background-3 px-4 py-2 font-medium transition duration-200 hover:bg-background-4"
130
+ className = "mt-auto inline-flex items-center justify-center rounded-md bg-background-3 px-5 py-3 font-medium transition duration-200 hover:bg-background-4"
131
131
>
132
132
Play Hand & Brain
133
133
</ button >
134
134
</ motion . div >
135
135
136
136
{ /* Bot or Not Feature */ }
137
137
< motion . div
138
- className = "flex flex-col rounded-lg bg-background-2 p-6 shadow-lg transition-transform duration-300 hover:scale-105 "
138
+ className = "hover:scale-102 flex flex-col rounded-lg bg-background-2 p-5 shadow-lg transition-transform duration-200 "
139
139
variants = { itemVariants }
140
140
>
141
- < div className = "mb-4 flex h-12 w-12 items-center justify-center rounded-full bg-human-4/10 p-3 " >
142
- < div className = "h-6 w-6 text-human-4" >
141
+ < div className = "mb-4 flex h-12 w-12 items-center justify-center rounded-full bg-human-4/10 p-2 " >
142
+ < div className = "h-7 w-7 text-human-4" >
143
143
< TuringIcon />
144
144
</ div >
145
145
</ div >
146
146
< h3 className = "mb-3 text-xl font-bold" > Bot or Not</ h3 >
147
- < p className = "mb-6 flex-grow text-primary/80" >
147
+ < p className = "mb-5 flex-grow text-primary/80" >
148
148
Test your ability to distinguish between human and AI chess play.
149
149
This Turing test for chess helps you understand the differences
150
150
between human and engine moves.
151
151
</ p >
152
152
< Link
153
153
href = "/turing"
154
- className = "mt-auto inline-flex items-center justify-center rounded-md bg-background-3 px-4 py-2 font-medium transition duration-200 hover:bg-background-4"
154
+ className = "mt-auto inline-flex items-center justify-center rounded-md bg-background-3 px-5 py-3 font-medium transition duration-200 hover:bg-background-4"
155
155
>
156
156
Try Bot or Not
157
157
</ Link >
158
158
</ motion . div >
159
159
</ motion . div >
160
160
</ div >
161
-
162
- { /* Decorative elements */ }
163
- < motion . div
164
- className = "absolute -bottom-20 left-10 h-40 w-40 rounded-full bg-background-3/20"
165
- animate = { { opacity : inView ? [ 0.2 , 0.5 , 0.2 ] : 0.2 } }
166
- transition = { { repeat : Infinity , duration : 5 } }
167
- />
168
- < motion . div
169
- className = "absolute right-10 top-10 h-60 w-60 rounded-full bg-background-3/10"
170
- animate = { { opacity : inView ? [ 0.1 , 0.3 , 0.1 ] : 0.1 } }
171
- transition = { { repeat : Infinity , duration : 6 , delay : 1 } }
172
- />
173
161
</ section >
174
162
)
175
163
}
0 commit comments