perf: lighthouse optimizations - inline critical CSS, lazy-load routes, WebP images, fix CLS and contrast

This commit is contained in:
2026-02-08 11:22:36 +01:00
parent 013d591e75
commit c66c80adcc
23 changed files with 448 additions and 101 deletions

44
css/animate.custom.css Normal file
View File

@@ -0,0 +1,44 @@
:root {
--animate-duration: 1s;
}
.animate__animated {
animation-duration: var(--animate-duration);
animation-fill-mode: both;
}
.animate__faster {
animation-duration: calc(var(--animate-duration) / 2);
}
@keyframes fadeIn {
0% { opacity: 0; }
to { opacity: 1; }
}
.animate__fadeIn {
animation-name: fadeIn;
}
@keyframes fadeOut {
0% { opacity: 1; }
to { opacity: 0; }
}
.animate__fadeOut {
animation-name: fadeOut;
}
@keyframes heartBeat {
0% { transform: scale(1); }
14% { transform: scale(1.3); }
28% { transform: scale(1); }
42% { transform: scale(1.3); }
70% { transform: scale(1); }
}
.animate__heartBeat {
animation-name: heartBeat;
animation-duration: calc(var(--animate-duration) * 1.3);
animation-timing-function: ease-in-out;
}

View File

@@ -215,7 +215,7 @@ app-header .logo {
app-header .logo-img {
height: 28px;
width: auto;
width: 100px;
}
app-header .logo-dark {
@@ -299,6 +299,8 @@ app-footer {
border-top: 1px solid var(--color-border);
padding: var(--space-lg) 0;
margin-top: auto;
min-height: 5.5rem;
contain: layout style;
}
app-footer .footer-inner {

View File

@@ -13,7 +13,7 @@
font-family: 'Inter';
font-style: normal;
font-weight: 400;
font-display: swap;
font-display: optional;
src: url('../assets/fonts/Inter-Regular.woff2') format('woff2');
}
@@ -21,7 +21,7 @@
font-family: 'Inter';
font-style: normal;
font-weight: 500;
font-display: swap;
font-display: optional;
src: url('../assets/fonts/Inter-Medium.woff2') format('woff2');
}
@@ -29,7 +29,7 @@
font-family: 'Inter';
font-style: normal;
font-weight: 600;
font-display: swap;
font-display: optional;
src: url('../assets/fonts/Inter-SemiBold.woff2') format('woff2');
}
@@ -37,7 +37,7 @@
font-family: 'Inter';
font-style: normal;
font-weight: 700;
font-display: swap;
font-display: optional;
src: url('../assets/fonts/Inter-Bold.woff2') format('woff2');
}

View File

@@ -26,7 +26,7 @@
--color-text: #1A1A1A;
--color-text-secondary: #4A4A4A;
--color-text-muted: #8A8A8A;
--color-text-muted: #737373;
--color-border: #D0D0D0;
--color-border-focus: #555555;
@@ -118,7 +118,7 @@
--color-text: #F0F0F0;
--color-text-secondary: #C0C0C0;
--color-text-muted: #808080;
--color-text-muted: #949494;
--color-border: #3A3A3A;
--color-border-focus: #AAAAAA;
@@ -151,7 +151,7 @@
--color-text: #F0F0F0;
--color-text-secondary: #C0C0C0;
--color-text-muted: #808080;
--color-text-muted: #949494;
--color-border: #3A3A3A;
--color-border-focus: #AAAAAA;
@@ -182,7 +182,7 @@
--color-text: #1A1A1A;
--color-text-secondary: #4A4A4A;
--color-text-muted: #8A8A8A;
--color-text-muted: #737373;
--color-border: #D0D0D0;
--color-border-focus: #555555;