Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
111 changes: 51 additions & 60 deletions web-app/css/styles.css
Original file line number Diff line number Diff line change
Expand Up @@ -1419,57 +1419,54 @@ body {

.projects-grid {
display: grid;
grid-template-columns: repeat(auto-fill, minmax(210px, 1fr));
gap: 0.85rem;
grid-template-columns: repeat(auto-fill, minmax(240px, 1fr));
gap: 1.2rem;
margin-top: 2rem;
align-items: stretch;
}

.project-card {
position: relative;
display: grid;
grid-template-columns: auto 1fr;
align-items: start;
column-gap: 0.8rem;
row-gap: 0.2rem;
background: transparent;
padding: 0.95rem 1rem;
border-radius: 10px;
text-align: left;
border: 1px solid transparent;
box-shadow: none;
transition: background-color 0.2s ease, border-color 0.2s ease, box-shadow 0.2s ease, transform 0.2s ease;
cursor: pointer;
display: flex;
flex-direction: column;
align-items: flex-start;
width: 100%;
box-sizing: border-box;

background: rgba(255,255,255,0.03);
padding: 1.2rem;
border-radius: 16px;

border: 1px solid rgba(255,255,255,0.08);

transition: all 0.25s ease;
overflow: hidden;
animation: fadeIn 0.6s ease;
z-index: 1;

min-height: 220px;
}

.project-card::after {
content: 'launch';
grid-column: 2;
margin-top: auto;
display: inline-block;

color: var(--accent-color);
font-size: 0.78rem;
font-size: 0.8rem;
font-weight: 700;
letter-spacing: 0.02em;
opacity: 0.78;
transition: opacity 0.2s ease, transform 0.2s ease;

opacity: 0.8;
transition: transform 0.2s ease, opacity 0.2s ease;
}

/* Gradient border on hover */
.project-card::before {
content: 'β—‰';
grid-row: 1 / span 3;
color: var(--accent-color);
font-size: 0.95rem;
line-height: 1.7;
opacity: 0.9;
display: none;
}

.project-card:hover {
transform: translateY(-2px);
background: color-mix(in srgb, var(--surface-color) 74%, transparent);
border-color: var(--border-color);
box-shadow: 0 12px 28px rgba(15, 23, 42, 0.08);
transform: translateY(-4px);
border-color: rgba(34, 197, 94, 0.3);
box-shadow: 0 10px 30px rgba(0,0,0,0.08);
}

.project-card:hover::after {
Expand All @@ -1485,53 +1482,47 @@ body {
.card-icon {
width: 72px;
height: 72px;
margin: 0 auto 1rem;

display: flex;
align-items: center;
justify-content: center;
border-radius: 20px;
background: linear-gradient(135deg, rgba(34, 197, 94, 0.12), rgba(74, 222, 128, 0.10));
transition: all 0.4s cubic-bezier(0.34, 1.56, 0.64, 1);
font-size: 2.25rem;
filter: drop-shadow(0 10px 15px rgba(0,0,0,0.2));

background: linear-gradient(
135deg,
rgba(34, 197, 94, 0.12),
rgba(74, 222, 128, 0.10)
);

margin-bottom: 1rem;

font-size: 2rem;
}

.card-icon svg { width: 34px; height: 34px; stroke-width: 2.2; }
.card-icon svg {
width: 34px;
height: 34px;
}

.project-card:hover .card-icon {
animation: none;
}

.project-card h3 {
grid-column: 2;
font-size: 0.98rem;
line-height: 1.25;
margin-bottom: 0.18rem;
color: var(--text-color);
font-weight: 700;
font-size: 1.05rem;
margin-bottom: 0.5rem;
line-height: 1.3;
}

.project-card p {
grid-column: 2;
font-size: 0.9rem;
line-height: 1.5;
color: var(--text-secondary);
margin-bottom: 0;
font-size: 0.84rem;
line-height: 1.35;
margin-bottom: 1rem;
}

.btn-play {
grid-column: 2;
justify-self: start;
background: transparent;
color: var(--accent-color);
border: none;
padding: 0;
border-radius: 0;
cursor: pointer;
font-size: 0;
font-weight: 700;
transition: color 0.2s ease;
width: auto;
display: none;
}

.project-card:hover .btn-play {
Expand Down
9 changes: 1 addition & 8 deletions web-app/index.html
Original file line number Diff line number Diff line change
Expand Up @@ -955,14 +955,7 @@ <h3>Simon Says</h3>
</div>

<!-- MATH -->
<div class="project-card" data-category="math" data-project="fibonacci"
data-tags="math,sequence,series,loops,recursion">
<div class="card-icon math-icon-fibonacci">
<i data-lucide="sparkles"></i>
</div>
<h3>Fibonacci Series</h3>
<p>Generate Fibonacci sequences!</p>
<button class="btn-play">Try It</button>

<div class="project-card" data-category="games" data-project="math-quiz" data-tags="game,math,quiz,mcq,lives,streak">
<div class="card-icon game-icon-brain"><i data-lucide="brain"></i></div>
<h3>Math Quiz</h3><p>MCQ quiz with lives, streaks & difficulty levels!</p><button class="btn-play">Try It</button>
Expand Down
Loading
Loading