perf: lighthouse optimizations - inline critical CSS, lazy-load routes, WebP images, fix CLS and contrast
This commit is contained in:
44
css/animate.custom.css
Normal file
44
css/animate.custom.css
Normal 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;
|
||||
}
|
||||
@@ -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 {
|
||||
|
||||
@@ -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');
|
||||
}
|
||||
|
||||
|
||||
@@ -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;
|
||||
|
||||
Reference in New Issue
Block a user