Simplify CSS design to match LaunchKit minimal aesthetic

Removed over-styled elements that were added during design iterations:
- Remove pulse, icon-float, badge-pulse, server-pulse animations
- Remove diamond-spin and slide-in animations
- Remove scanline repeating-linear-gradient effects
- Simplify hover transforms from -4px/-6px to -2px
- Simplify complex multi-layer box shadows to single shadows
- Remove shine effect on primary buttons
- Clean up duplicate/corrupted CSS rules

Net result: -205 lines of CSS, cleaner and more minimal design
following LaunchKit's "purposeful restraint" philosophy.

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>
This commit is contained in:
Kieran Klaassen
2025-11-26 12:55:37 -08:00
parent 2f73463110
commit f63dab9fc0

View File

@@ -374,25 +374,10 @@ section {
overflow: hidden; overflow: hidden;
} }
.button.primary::before {
content: '';
position: absolute;
top: 0;
left: -100%;
width: 100%;
height: 100%;
background: linear-gradient(90deg, transparent, rgba(255, 255, 255, 0.2), transparent);
transition: left 0.5s;
}
.button.primary:hover::before {
left: 100%;
}
.button.primary:hover { .button.primary:hover {
background: linear-gradient(135deg, var(--color-accent-hover), var(--color-accent)); background: linear-gradient(135deg, var(--color-accent-hover), var(--color-accent));
transform: translateY(-2px) scale(1.02); transform: translateY(-2px);
box-shadow: 0 8px 24px rgba(99, 102, 241, 0.4), 0 4px 8px rgba(0, 0, 0, 0.15); box-shadow: 0 6px 16px rgba(99, 102, 241, 0.35);
} }
.button.secondary { .button.secondary {
@@ -482,15 +467,6 @@ section {
box-shadow: 0 2px 8px rgba(129, 140, 248, 0.15); box-shadow: 0 2px 8px rgba(129, 140, 248, 0.15);
} }
.eyebrow i {
animation: pulse 2s ease-in-out infinite;
}
@keyframes pulse {
0%, 100% { transform: scale(1); }
50% { transform: scale(1.1); }
}
.eyebrow:hover { .eyebrow:hover {
background: linear-gradient(135deg, var(--color-accent), var(--color-accent-light)); background: linear-gradient(135deg, var(--color-accent), var(--color-accent-light));
transform: translateY(-2px); transform: translateY(-2px);
@@ -586,14 +562,9 @@ section {
} }
.stat-card:hover { .stat-card:hover {
transform: translateY(-6px); transform: translateY(-2px);
background-image:
linear-gradient(var(--color-background), var(--color-background)),
linear-gradient(135deg, var(--color-accent), var(--color-accent-hover));
box-shadow:
0 20px 40px rgba(129, 140, 248, 0.25),
0 8px 16px rgba(0, 0, 0, 0.1);
border-color: var(--color-accent); border-color: var(--color-accent);
box-shadow: 0 8px 24px rgba(129, 140, 248, 0.2);
} }
.stat-card:hover::before { .stat-card:hover::before {
@@ -826,8 +797,8 @@ section {
.agent-card:hover { .agent-card:hover {
border-color: var(--color-accent); border-color: var(--color-accent);
transform: translateY(-4px); transform: translateY(-2px);
box-shadow: 0 12px 24px rgba(129, 140, 248, 0.15), 0 4px 8px rgba(0, 0, 0, 0.08); box-shadow: 0 8px 20px rgba(129, 140, 248, 0.15);
} }
.agent-card:hover::before { .agent-card:hover::before {
@@ -977,32 +948,10 @@ section {
opacity: 0.4; opacity: 0.4;
} }
.command-card::after {
content: '';
position: absolute;
top: 0;
left: 0;
right: 0;
bottom: 0;
background: repeating-linear-gradient(
0deg,
rgba(0, 0, 0, 0.03) 0px,
rgba(0, 0, 0, 0.03) 1px,
transparent 1px,
transparent 2px
);
pointer-events: none;
opacity: 0.3;
}
.command-card:hover { .command-card:hover {
border-color: var(--color-accent); border-color: var(--color-accent);
transform: translateY(-3px); transform: translateY(-2px);
box-shadow: box-shadow: 0 8px 20px rgba(129, 140, 248, 0.2);
0 12px 32px rgba(129, 140, 248, 0.25),
0 4px 12px rgba(0, 0, 0, 0.4),
inset 0 1px 0 rgba(255, 255, 255, 0.1);
background: linear-gradient(135deg, rgba(30, 30, 46, 0.75), rgba(24, 24, 37, 0.65));
} }
.command-card:hover .command-name { .command-card:hover .command-name {
@@ -1142,14 +1091,7 @@ section {
.skill-category h3 i { .skill-category h3 i {
color: var(--color-accent); color: var(--color-accent);
font-size: 26px; font-size: 24px;
filter: drop-shadow(0 2px 4px rgba(129, 140, 248, 0.3));
animation: icon-float 3s ease-in-out infinite;
}
@keyframes icon-float {
0%, 100% { transform: translateY(0); }
50% { transform: translateY(-3px); }
} }
.skill-card { .skill-card {
@@ -1190,11 +1132,8 @@ section {
.skill-card:hover { .skill-card:hover {
border-color: var(--color-accent); border-color: var(--color-accent);
transform: translateY(-4px); transform: translateY(-2px);
box-shadow: box-shadow: 0 8px 20px rgba(129, 140, 248, 0.15);
0 12px 24px rgba(129, 140, 248, 0.15),
0 4px 8px rgba(0, 0, 0, 0.08),
0 0 40px rgba(129, 140, 248, 0.1);
} }
.skill-card:hover::before { .skill-card:hover::before {
@@ -1228,11 +1167,8 @@ section {
} }
.skill-card.featured:hover { .skill-card.featured:hover {
box-shadow: box-shadow: 0 10px 28px rgba(129, 140, 248, 0.2);
0 16px 32px rgba(129, 140, 248, 0.3), transform: translateY(-2px);
0 0 80px rgba(129, 140, 248, 0.15),
inset 0 1px 0 rgba(255, 255, 255, 0.15);
transform: translateY(-6px);
} }
.skill-header { .skill-header {
@@ -1296,22 +1232,14 @@ section {
.skill-badge { .skill-badge {
padding: 6px 12px; padding: 6px 12px;
font-size: 11px; font-size: 11px;
font-weight: 700; font-weight: 600;
background: linear-gradient(135deg, var(--color-accent-light), var(--color-accent-lighter)); background: var(--color-accent-light);
color: var(--color-accent); color: var(--color-accent);
border-radius: 6px; border-radius: 6px;
text-transform: uppercase; text-transform: uppercase;
letter-spacing: 0.08em; letter-spacing: 0.05em;
box-shadow: 0 2px 4px rgba(129, 140, 248, 0.2);
border: 1px solid rgba(129, 140, 248, 0.3);
white-space: nowrap; white-space: nowrap;
transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1); transition: all 0.2s ease;
animation: badge-pulse 2s ease-in-out infinite;
}
@keyframes badge-pulse {
0%, 100% { box-shadow: 0 2px 4px rgba(129, 140, 248, 0.2); }
50% { box-shadow: 0 2px 8px rgba(129, 140, 248, 0.35); }
} }
.skill-badge.highlight { .skill-badge.highlight {
@@ -1322,9 +1250,8 @@ section {
} }
.skill-card:hover .skill-badge { .skill-card:hover .skill-badge {
transform: scale(1.08) rotate(-2deg); background: var(--color-accent);
box-shadow: 0 4px 12px rgba(129, 140, 248, 0.4); color: var(--color-on-accent);
animation: none;
} }
.skill-description { .skill-description {
@@ -1438,77 +1365,32 @@ section {
overflow: hidden; overflow: hidden;
} }
.mcp-card::before {
content: '';
position: absolute;
inset: 0;
background:
linear-gradient(135deg, var(--color-accent-lighter), transparent),
repeating-linear-gradient(
45deg,
transparent,
transparent 20px,
rgba(129, 140, 248, 0.01) 20px,
rgba(129, 140, 248, 0.01) 40px
);
opacity: 0;
transition: opacity 0.3s ease;
pointer-events: none;
}
.mcp-card::after { .mcp-card::after {
content: '● ACTIVE'; content: '● ACTIVE';
position: absolute; position: absolute;
top: 16px; top: 16px;
right: 16px; right: 16px;
font-size: 9px; font-size: 9px;
font-weight: 800; font-weight: 600;
letter-spacing: 0.1em; letter-spacing: 0.08em;
padding: 6px 12px; padding: 5px 10px;
background: linear-gradient(135deg, rgba(16, 185, 129, 0.25), rgba(16, 185, 129, 0.15)); background: rgba(16, 185, 129, 0.15);
color: var(--color-success); color: var(--color-success);
border: 1.5px solid rgba(16, 185, 129, 0.4); border: 1px solid rgba(16, 185, 129, 0.3);
border-radius: 16px; border-radius: 12px;
display: flex;
align-items: center;
gap: 6px;
z-index: 2; z-index: 2;
box-shadow: 0 2px 8px rgba(16, 185, 129, 0.2);
animation: server-pulse 2s ease-in-out infinite;
}
@keyframes server-pulse {
0%, 100% {
opacity: 0.8;
box-shadow: 0 0 0 0 rgba(16, 185, 129, 0.4);
}
50% {
opacity: 1;
box-shadow: 0 0 8px 2px rgba(16, 185, 129, 0.2);
}
} }
.mcp-card:hover { .mcp-card:hover {
transform: translateY(-6px); transform: translateY(-2px);
border-image: linear-gradient(135deg, var(--color-accent), var(--color-accent-hover)) 1; border-color: var(--color-accent);
box-shadow: box-shadow: 0 8px 24px rgba(129, 140, 248, 0.2);
0 2px 6px rgba(0, 0, 0, 0.15),
0 8px 16px rgba(0, 0, 0, 0.1),
0 16px 40px rgba(129, 140, 248, 0.3),
0 0 80px rgba(129, 140, 248, 0.2),
inset 0 1px 0 rgba(255, 255, 255, 0.1);
}
.mcp-card:hover::before {
opacity: 0.4;
} }
.mcp-card:hover::after { .mcp-card:hover::after {
background: linear-gradient(135deg, var(--color-success), rgba(16, 185, 129, 0.8)); background: var(--color-success);
color: white; color: white;
transform: scale(1.08) rotate(-2deg); border-color: var(--color-success);
animation: none;
box-shadow: 0 4px 12px rgba(16, 185, 129, 0.4);
} }
.mcp-header { .mcp-header {
@@ -1703,34 +1585,6 @@ section {
.mcp-tools li:hover::before { .mcp-tools li:hover::before {
opacity: 1; opacity: 1;
animation: diamond-spin 0.6s ease;
}
@keyframes diamond-spin {
0%, 100% { transform: rotate(0deg) scale(1); }
50% { transform: rotate(180deg) scale(1.2); }
}
.mcp-tools li:nth-child(1) { animation-delay: 0.05s; }
.mcp-tools li:nth-child(2) { animation-delay: 0.1s; }
.mcp-tools li:nth-child(3) { animation-delay: 0.15s; }
.mcp-tools li:nth-child(4) { animation-delay: 0.2s; }
.mcp-tools li:nth-child(5) { animation-delay: 0.25s; }
.mcp-tools li:nth-child(6) { animation-delay: 0.3s; }
.mcp-card:hover .mcp-tools li {
animation: slide-in 0.4s cubic-bezier(0.4, 0, 0.2, 1) both;
}
@keyframes slide-in {
from {
opacity: 0.5;
transform: translateX(-8px);
}
to {
opacity: 1;
transform: translateX(0);
}
} }
.mcp-tools code { .mcp-tools code {
@@ -1746,7 +1600,6 @@ section {
.mcp-tools li:hover code { .mcp-tools li:hover code {
background: rgba(129, 140, 248, 0.2); background: rgba(129, 140, 248, 0.2);
transform: scale(1.05);
} }
.mcp-note { .mcp-note {
@@ -2232,10 +2085,8 @@ section {
.promo-cta .button.primary:hover { .promo-cta .button.primary:hover {
background: rgba(255, 255, 255, 0.98); background: rgba(255, 255, 255, 0.98);
transform: translateY(-4px) scale(1.04); transform: translateY(-2px);
box-shadow: box-shadow: 0 10px 28px rgba(0, 0, 0, 0.3);
0 16px 40px rgba(0, 0, 0, 0.4),
0 8px 16px rgba(0, 0, 0, 0.25);
} }
.promo-cta .button.primary i { .promo-cta .button.primary i {
@@ -2414,12 +2265,6 @@ section {
.cta-badge i { .cta-badge i {
font-size: 16px; font-size: 16px;
animation: bolt-flash 2s ease-in-out infinite;
}
@keyframes bolt-flash {
0%, 100% { opacity: 1; }
50% { opacity: 0.6; transform: scale(1.2); }
} }
.promo-cta h2 { .promo-cta h2 {
@@ -2459,8 +2304,8 @@ section {
.promo-cta .button.primary:hover { .promo-cta .button.primary:hover {
background-color: rgba(255, 255, 255, 0.95); background-color: rgba(255, 255, 255, 0.95);
transform: translateY(-3px) scale(1.03); transform: translateY(-2px);
box-shadow: 0 12px 32px rgba(0, 0, 0, 0.3); box-shadow: 0 8px 24px rgba(0, 0, 0, 0.3);
} }
.promo-cta .button.primary i { .promo-cta .button.primary i {
@@ -2478,54 +2323,8 @@ section {
background-color: rgba(255, 255, 255, 0.15); background-color: rgba(255, 255, 255, 0.15);
border-color: rgba(255, 255, 255, 0.6); border-color: rgba(255, 255, 255, 0.6);
} }
);
pointer-events: none;
}
.promo-cta h2 { .accordion-content code {
color: white;
font-size: 48px;
font-weight: 800;
line-height: 1.15;
margin-bottom: 24px;
position: relative;
z-index: 1;
}
.promo-cta p {
color: rgba(255, 255, 255, 0.95);
font-size: 21px;
line-height: 1.6;
max-width: 700px;
margin-left: auto;
margin-right: auto;
position: relative;
z-index: 1;
}
.promo-cta .button.primary {
background-color: white;
color: var(--color-promo-end);
font-size: 18px;
padding: 18px 36px;
}
.promo-cta .button.primary:hover {
background-color: rgba(255, 255, 255, 0.95);
transform: translateY(-3px) scale(1.03);
}
.promo-cta .button.tertiary {
border-color: rgba(255, 255, 255, 0.4);
color: white;
font-size: 18px;
padding: 18px 36px;
}
.promo-cta .button.tertiary:hover {
background-color: rgba(255, 255, 255, 0.15);
border-color: rgba(255, 255, 255, 0.6);
}
background: rgba(129, 140, 248, 0.15); background: rgba(129, 140, 248, 0.15);
color: var(--color-accent); color: var(--color-accent);
padding: 3px 8px; padding: 3px 8px;
@@ -2836,13 +2635,9 @@ section {
} }
.pillar:hover { .pillar:hover {
transform: translateY(-4px) scale(1.01); transform: translateY(-2px);
background-image: border-color: var(--color-accent);
linear-gradient(var(--color-background), var(--color-background)), box-shadow: 0 8px 24px rgba(129, 140, 248, 0.2);
linear-gradient(135deg, var(--color-accent), var(--color-accent-hover));
box-shadow:
0 20px 40px rgba(129, 140, 248, 0.2),
0 8px 16px rgba(0, 0, 0, 0.1);
} }
.pillar:hover::before { .pillar:hover::before {
@@ -3010,9 +2805,9 @@ section {
} }
.compound-item:hover { .compound-item:hover {
transform: translateY(-4px) scale(1.03); transform: translateY(-2px);
border-color: var(--color-accent); border-color: var(--color-accent);
box-shadow: 0 12px 24px rgba(129, 140, 248, 0.2); box-shadow: 0 8px 20px rgba(129, 140, 248, 0.2);
} }
.compound-item:hover::before { .compound-item:hover::before {
@@ -3032,8 +2827,8 @@ section {
} }
.compound-item.highlight:hover { .compound-item.highlight:hover {
transform: translateY(-4px) scale(1.1); transform: translateY(-2px);
box-shadow: 0 16px 40px rgba(129, 140, 248, 0.5); box-shadow: 0 10px 28px rgba(129, 140, 248, 0.4);
} }
.compound-number { .compound-number {