/* Basic animations */ @keyframes fadeIn { 0% { opacity: 0; } 100% { opacity: 1; } } @keyframes slideInRight { 0% { transform: translateX(-20px); opacity: 0; } 100% { transform: translateX(0); opacity: 1; } } @keyframes slideInBottom { 0% { transform: translateY(15px); opacity: 0; } 100% { transform: translateY(0); opacity: 1; } } @keyframes scaleIn { 0% { transform: scale(0.92); opacity: 0; } 100% { transform: scale(1); opacity: 1; } } @keyframes gentle-shimmer { 0% { background-position: 0% 50%; } 100% { background-position: 200% 50%; } } @keyframes subtle-pulse { 0% { transform: scale(1); opacity: 0.95; } 50% { transform: scale(1.01); opacity: 1; } 100% { transform: scale(1); opacity: 0.95; } } @keyframes borderPulse { 0% { border-color: rgba(99, 102, 241, 0.3); } 50% { border-color: rgba(99, 102, 241, 0.7); } 100% { border-color: rgba(99, 102, 241, 0.3); } } /* Slide transitions */ @keyframes slideOutLeft { 0% { transform: translateX(0); opacity: 1; } 100% { transform: translateX(-50px); opacity: 0; } } @keyframes slideOutRight { 0% { transform: translateX(0); opacity: 1; } 100% { transform: translateX(50px); opacity: 0; } } @keyframes slideInLeft { 0% { transform: translateX(50px); opacity: 0; } 100% { transform: translateX(0); opacity: 1; } } @keyframes zoomIn { 0% { transform: scale(0.85); opacity: 0; } 100% { transform: scale(1); opacity: 1; } } @keyframes zoomOut { 0% { transform: scale(1); opacity: 1; } 100% { transform: scale(0.85); opacity: 0; } } @keyframes rotateIn { 0% { transform: perspective(1000px) rotateY(10deg); opacity: 0; } 100% { transform: perspective(1000px) rotateY(0); opacity: 1; } } @keyframes fadeInScale { 0% { transform: scale(0.9); opacity: 0; } 100% { transform: scale(1); opacity: 1; } } @keyframes slideUpFade { 0% { transform: translateY(20px); opacity: 0; } 100% { transform: translateY(0); opacity: 1; } } /* Modern hover effects */ .card { transition: all 0.3s cubic-bezier(0.25, 0.8, 0.25, 1); } /* Update highlight word animation to avoid orange */ .highlight-word { background: linear-gradient(90deg, var(--highlight), var(--primary-color)); background-clip: text; -webkit-background-clip: text; color: transparent; background-size: 200% auto; animation: gentle-shimmer 4s linear infinite; font-weight: 600; } /* Title animations for all slides */ .slidev-layout h1 { animation: fadeIn 0.8s ease-out forwards, slideInBottom 0.8s ease-out forwards; } /* List item animations */ .slidev-layout ul li, .slidev-layout ol li { opacity: 0; animation: slideInRight 0.5s ease-out forwards; } /* Stagger the animation delay for list items */ .slidev-layout ul li:nth-child(1), .slidev-layout ol li:nth-child(1) { animation-delay: 0.2s; } .slidev-layout ul li:nth-child(2), .slidev-layout ol li:nth-child(2) { animation-delay: 0.35s; } .slidev-layout ul li:nth-child(3), .slidev-layout ol li:nth-child(3) { animation-delay: 0.5s; } .slidev-layout ul li:nth-child(4), .slidev-layout ol li:nth-child(4) { animation-delay: 0.65s; } .slidev-layout ul li:nth-child(5), .slidev-layout ol li:nth-child(5) { animation-delay: 0.8s; } .slidev-layout ul li:nth-child(n+6), .slidev-layout ol li:nth-child(n+6) { animation-delay: 0.95s; } /* Table animation - fixing table appearance */ .slidev-layout table { animation: fadeIn 0.8s ease-out forwards; } .slidev-layout table th { opacity: 0; animation: fadeIn 0.7s ease-out forwards; animation-delay: 0.3s; } .slidev-layout table td { opacity: 0; animation: fadeIn 0.7s ease-out forwards; } /* Staggered rows with shorter delays */ .slidev-layout table tr:nth-child(1) td { animation-delay: 0.4s; } .slidev-layout table tr:nth-child(2) td { animation-delay: 0.5s; } .slidev-layout table tr:nth-child(3) td { animation-delay: 0.6s; } .slidev-layout table tr:nth-child(4) td { animation-delay: 0.7s; } .slidev-layout table tr:nth-child(5) td { animation-delay: 0.8s; } .slidev-layout table tr:nth-child(n+6) td { animation-delay: 0.9s; } /* Code block animations */ .slidev-layout pre { opacity: 1; animation: none; } /* Blockquote animations for key insights */ .slidev-layout blockquote { opacity: 0; animation: fadeIn 1s ease-out forwards, slideInBottom 1s ease-out forwards; animation-delay: 1s; } /* Special intro slide animations */ .slidev-layout.intro h1 { animation: fadeIn 1.5s ease-out forwards, subtle-pulse 6s ease-in-out infinite 1.5s; } /* Section headers */ .slidev-layout h2 { opacity: 0; animation: fadeIn 0.8s ease-out forwards, slideInBottom 0.8s ease-out forwards; animation-delay: 0.2s; } /* Add typing effect for code comment lines */ .slidev-layout pre .line-comment { overflow: hidden; white-space: nowrap; animation: typing 1s steps(40, end) forwards; animation-delay: 1.5s; } /* Add hover effects for interactive elements */ .slidev-layout table tr:hover td { background-color: rgba(8, 38, 82, 0.2); transition: background-color 0.3s ease; } .slidev-layout pre:hover { animation: borderGlow 2s infinite; } /* Card animations */ .card { animation: fadeIn 0.5s ease-out forwards, scaleIn 0.5s ease-out forwards; } /* Stagger card animations */ .two-column .card:nth-child(1) { animation-delay: 0.3s; } .two-column .card:nth-child(2) { animation-delay: 0.5s; } .grid-3 .card:nth-child(1) { animation-delay: 0.3s; } .grid-3 .card:nth-child(2) { animation-delay: 0.4s; } .grid-3 .card:nth-child(3) { animation-delay: 0.5s; } .grid-3 .card:nth-child(4) { animation-delay: 0.6s; } /* Add special animations for key insight blocks */ .key-insight { position: relative; overflow: hidden; animation: fadeIn 1s ease-out forwards, slideInBottom 1s ease-out forwards; animation-delay: 0.8s; } /* Better list animations */ .better-list li { transition: all 0.3s ease; } .better-list li:hover { transform: translateX(5px); background: rgba(19, 21, 33, 0.95); border-left-width: 5px; } .animate-pulse { animation: subtle-pulse 6s ease-in-out infinite; } /* Apply slide transitions */ .slidev-vclick-prior { transition: all 0.5s ease; } .slidev-vclick-target { animation: fadeInScale 0.6s ease forwards; } /* Enhanced container animations */ .card { animation: fadeInScale 0.5s ease-out forwards; transition: all 0.3s cubic-bezier(0.25, 0.8, 0.25, 1); } /* Modern text animations */ .animated-text { animation: slideUpFade 0.7s ease-out forwards; opacity: 0; } .delay-1 { animation-delay: 0.2s; } .delay-2 { animation-delay: 0.4s; } .delay-3 { animation-delay: 0.6s; } .delay-4 { animation-delay: 0.8s; } .delay-5 { animation-delay: 1s; } /* Container entrance animations */ .container-fade-in { animation: fadeIn 1s ease forwards; opacity: 0; } .container-slide-up { animation: slideUpFade 0.8s ease-out forwards; opacity: 0; } .container-zoom-in { animation: zoomIn 0.8s ease-out forwards; opacity: 0; } .container-rotate-in { animation: rotateIn 0.9s ease-out forwards; opacity: 0; } /* Staggered container content */ .stagger-container > *:nth-child(1) { animation-delay: 0.1s; } .stagger-container > *:nth-child(2) { animation-delay: 0.3s; } .stagger-container > *:nth-child(3) { animation-delay: 0.5s; } .stagger-container > *:nth-child(4) { animation-delay: 0.7s; } .stagger-container > *:nth-child(5) { animation-delay: 0.9s; } /* Enhanced list animations */ .enhanced-list li { animation: slideInRight 0.5s ease-out forwards; opacity: 0; } .enhanced-list li:nth-child(1) { animation-delay: 0.2s; } .enhanced-list li:nth-child(2) { animation-delay: 0.35s; } .enhanced-list li:nth-child(3) { animation-delay: 0.5s; } .enhanced-list li:nth-child(4) { animation-delay: 0.65s; } .enhanced-list li:nth-child(5) { animation-delay: 0.8s; }