feat: optimize event capturing and playback accuracy
This commit is contained in:
@@ -7,16 +7,19 @@
|
||||
--font-heading: 'Inter', system-ui, sans-serif;
|
||||
--font-body: 'Inter', system-ui, sans-serif;
|
||||
|
||||
--color-primary: #001a4d; /* Deep Blue */
|
||||
--color-primary: #001a4d;
|
||||
/* Deep Blue */
|
||||
--color-primary-dark: #000d26;
|
||||
--color-primary-light: #e6ebf5;
|
||||
|
||||
--color-saturated: #011dff; /* Saturated Blue Accent */
|
||||
--color-saturated: #011dff;
|
||||
/* Saturated Blue Accent */
|
||||
|
||||
--color-secondary: #003d82;
|
||||
--color-secondary-light: #0056b3;
|
||||
|
||||
--color-accent: #82ed20; /* Sustainability Green */
|
||||
--color-accent: #82ed20;
|
||||
/* Sustainability Green */
|
||||
--color-accent-dark: #6bc41a;
|
||||
--color-accent-light: #f0f9e6;
|
||||
|
||||
@@ -40,76 +43,107 @@
|
||||
--animate-slide-up: slide-up 0.6s ease-out;
|
||||
--animate-slow-zoom: slow-zoom 20s linear infinite;
|
||||
--animate-reveal: reveal 0.8s cubic-bezier(0.16, 1, 0.3, 1) forwards;
|
||||
--animate-slight-fade-in-from-bottom: slight-fade-in-from-bottom 0.8s
|
||||
cubic-bezier(0.16, 1, 0.3, 1) forwards;
|
||||
--animate-slight-fade-in-from-bottom: slight-fade-in-from-bottom 0.8s cubic-bezier(0.16, 1, 0.3, 1) forwards;
|
||||
--animate-gradient-x: gradient-x 15s ease infinite;
|
||||
|
||||
@keyframes gradient-x {
|
||||
|
||||
0%,
|
||||
100% {
|
||||
background-position: 0% 50%;
|
||||
}
|
||||
|
||||
50% {
|
||||
background-position: 100% 50%;
|
||||
}
|
||||
}
|
||||
|
||||
@keyframes fade-in {
|
||||
from {
|
||||
opacity: 0;
|
||||
}
|
||||
|
||||
to {
|
||||
opacity: 1;
|
||||
}
|
||||
}
|
||||
|
||||
@keyframes slide-up {
|
||||
from {
|
||||
opacity: 0;
|
||||
transform: translateY(20px);
|
||||
}
|
||||
|
||||
to {
|
||||
opacity: 1;
|
||||
transform: translateY(0);
|
||||
}
|
||||
}
|
||||
|
||||
@keyframes slow-zoom {
|
||||
from {
|
||||
transform: scale(1);
|
||||
}
|
||||
|
||||
to {
|
||||
transform: scale(1.1);
|
||||
}
|
||||
}
|
||||
|
||||
@keyframes reveal {
|
||||
from {
|
||||
opacity: 0;
|
||||
transform: translateY(20px);
|
||||
filter: blur(8px);
|
||||
}
|
||||
|
||||
to {
|
||||
opacity: 1;
|
||||
transform: translateY(0);
|
||||
filter: blur(0);
|
||||
}
|
||||
}
|
||||
|
||||
@keyframes slight-fade-in-from-bottom {
|
||||
from {
|
||||
opacity: 0;
|
||||
transform: translateY(10px);
|
||||
filter: blur(4px);
|
||||
}
|
||||
|
||||
to {
|
||||
opacity: 1;
|
||||
transform: translateY(0);
|
||||
filter: blur(0);
|
||||
}
|
||||
}
|
||||
|
||||
@keyframes float {
|
||||
0% {
|
||||
transform: translate(0, 0) scale(1);
|
||||
}
|
||||
|
||||
33% {
|
||||
transform: translate(2%, 4%) scale(1.1);
|
||||
}
|
||||
|
||||
66% {
|
||||
transform: translate(-3%, 2%) scale(0.9);
|
||||
}
|
||||
|
||||
100% {
|
||||
transform: translate(0, 0) scale(1);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@layer base {
|
||||
|
||||
.bg-primary a,
|
||||
.bg-primary-dark a {
|
||||
@apply text-white/90 hover:text-white transition-colors;
|
||||
}
|
||||
|
||||
body {
|
||||
@apply text-base md:text-lg antialiased;
|
||||
text-rendering: optimizeLegibility;
|
||||
@@ -132,18 +166,23 @@
|
||||
h1 {
|
||||
@apply text-3xl md:text-5xl lg:text-6xl leading-[1.1];
|
||||
}
|
||||
|
||||
h2 {
|
||||
@apply text-2xl md:text-4xl lg:text-5xl leading-[1.2];
|
||||
}
|
||||
|
||||
h3 {
|
||||
@apply text-xl md:text-2xl lg:text-3xl leading-[1.3];
|
||||
}
|
||||
|
||||
h4 {
|
||||
@apply text-lg md:text-xl lg:text-2xl leading-[1.4];
|
||||
}
|
||||
|
||||
h5 {
|
||||
@apply text-base md:text-lg leading-[1.5];
|
||||
}
|
||||
|
||||
h6 {
|
||||
@apply text-sm md:text-base leading-[1.6];
|
||||
}
|
||||
@@ -202,18 +241,23 @@
|
||||
.glass-panel {
|
||||
@apply bg-white/80 backdrop-blur-md border border-white/20 shadow-lg;
|
||||
}
|
||||
|
||||
.image-overlay-gradient {
|
||||
@apply absolute inset-0 bg-gradient-to-t from-black/90 via-black/40 to-transparent;
|
||||
}
|
||||
|
||||
.premium-card {
|
||||
@apply bg-white rounded-3xl shadow-sm transition-all duration-500 hover:shadow-2xl hover:-translate-y-1;
|
||||
}
|
||||
|
||||
.sticky-narrative-container {
|
||||
@apply grid grid-cols-1 lg:grid-cols-12 gap-12 lg:gap-20;
|
||||
}
|
||||
|
||||
.sticky-narrative-sidebar {
|
||||
@apply lg:col-span-4 lg:sticky lg:top-32 h-fit;
|
||||
}
|
||||
|
||||
.sticky-narrative-content {
|
||||
@apply lg:col-span-8;
|
||||
}
|
||||
@@ -221,7 +265,8 @@
|
||||
|
||||
/* Custom Utilities */
|
||||
@utility touch-target {
|
||||
min-height: 48px; /* Increased for better touch-first feel */
|
||||
min-height: 48px;
|
||||
/* Increased for better touch-first feel */
|
||||
min-width: 48px;
|
||||
display: inline-flex;
|
||||
align-items: center;
|
||||
@@ -276,4 +321,4 @@
|
||||
@utility content-visibility-auto {
|
||||
content-visibility: auto;
|
||||
contain-intrinsic-size: 1px 1000px;
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user