Skip to content

Commit 4bd72ef

Browse files
fix: improve feature card readability and contrast (#319) (#502)
1 parent ad238cf commit 4bd72ef

1 file changed

Lines changed: 101 additions & 11 deletions

File tree

apps/web/src/pages/LandingPage.css

Lines changed: 101 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -73,36 +73,35 @@
7373
gap: 1.75rem;
7474
padding: 4rem 0 5rem;
7575
}
76-
7776
.feature-card {
77+
position: relative;
78+
overflow: hidden;
7879
padding: 2.4rem;
7980
min-height: 140px;
8081
border-radius: var(--radius-xl);
8182
box-shadow: var(--shadow-lg);
8283
background: var(--bg-card);
8384
border: 1px solid var(--border);
84-
transition: transform 0.35s ease, border-color 0.35s ease, box-shadow 0.35s ease;
85+
transition: transform 0.35s ease, border-color 0.35s ease, box-shadow 0.35s ease, background 0.35s ease;
8586
}
8687

8788
.feature-card:hover {
88-
transform: translateY(-8px);
89-
border-color: rgba(99, 102, 241, 0.4);
90-
box-shadow: 0 26px 50px -18px rgba(0, 0, 0, 0.35);
89+
transform: translateY(-6px);
90+
border-color: rgba(99, 102, 241, 0.55);
91+
box-shadow: 0 26px 50px -18px rgba(99, 102, 241, 0.3);
9192
}
9293

93-
.feature-icon {
94-
font-size: 2.3rem;
95-
margin-bottom: 1.4rem;
96-
}
94+
9795

9896
.feature-card h3 {
9997
font-size: 1.4rem;
10098
margin-bottom: 0.9rem;
99+
color: var(--text-primary);
101100
}
102-
103101
.feature-card p {
102+
font-size: 0.97rem;
104103
color: var(--text-secondary);
105-
line-height: 1.7;
104+
line-height: 1.75;
106105
}
107106

108107
.footer {
@@ -147,3 +146,94 @@
147146
opacity: 0.6;
148147
}
149148
}
149+
150+
151+
.dark .feature-card h3 {
152+
color: #f1f5f9;
153+
}
154+
155+
.dark .feature-card p {
156+
color: #cbd5e1;
157+
}
158+
159+
160+
:root:not(.dark) .feature-card h3 {
161+
color: #0f172a;
162+
}
163+
164+
:root:not(.dark) .feature-card p {
165+
color: #475569;
166+
}
167+
168+
:root:not(.dark) .feature-card {
169+
box-shadow: 0 4px 24px rgba(99, 102, 241, 0.10),
170+
0 1.5px 6px rgba(0,0,0,0.07);
171+
border-color: rgba(99, 102, 241, 0.18);
172+
}
173+
174+
:root:not(.dark) .feature-card:hover {
175+
box-shadow: 0 8px 32px rgba(99, 102, 241, 0.18),
176+
0 2px 8px rgba(0,0,0,0.08);
177+
border-color: rgba(99, 102, 241, 0.45);
178+
}
179+
180+
181+
.dark .feature-card {
182+
border-color: rgba(255, 255, 255, 0.18);
183+
box-shadow: 0 4px 24px rgba(0, 0, 0, 0.35);
184+
}
185+
186+
.feature-card::before {
187+
content: '';
188+
position: absolute;
189+
top: 0;
190+
left: 0;
191+
right: 0;
192+
height: 2px;
193+
background: linear-gradient(90deg, #6366f1, #a855f7, #6366f1);
194+
opacity: 0;
195+
transition: opacity 0.35s ease;
196+
}
197+
198+
.feature-card:hover::before {
199+
opacity: 1;
200+
}
201+
202+
203+
.feature-icon {
204+
font-size: 2rem;
205+
margin-bottom: 1.4rem;
206+
display: inline-flex;
207+
align-items: center;
208+
justify-content: center;
209+
width: 52px;
210+
height: 52px;
211+
border-radius: 14px;
212+
background: rgba(99, 102, 241, 0.12);
213+
border: 1px solid rgba(99, 102, 241, 0.2);
214+
}
215+
216+
217+
.dark .feature-icon {
218+
background: rgba(99, 102, 241, 0.15);
219+
border-color: rgba(99, 102, 241, 0.25);
220+
}
221+
222+
223+
:root:not(.dark) .feature-icon {
224+
background: rgba(99, 102, 241, 0.08);
225+
border-color: rgba(99, 102, 241, 0.15);
226+
}
227+
228+
229+
.dark .feature-card:hover {
230+
background: rgba(99, 102, 241, 0.06);
231+
box-shadow: 0 0 0 1px rgba(99, 102, 241, 0.2),
232+
0 26px 50px -18px rgba(99, 102, 241, 0.35);
233+
}
234+
235+
:root:not(.dark) .feature-card:hover {
236+
background: rgba(255, 255, 255, 0.95);
237+
box-shadow: 0 8px 32px rgba(99, 102, 241, 0.18),
238+
0 0 0 1px rgba(99, 102, 241, 0.15);
239+
}

0 commit comments

Comments
 (0)