@keyframes search-backdrop-in{0%{opacity:0}to{opacity:1}}@keyframes search-palette-in{0%{opacity:0;transform:translateY(-12px) scale(.96);filter:blur(8px)}60%{opacity:1;filter:blur(0)}to{opacity:1;transform:translateY(0) scale(1);filter:blur(0)}}@keyframes float-gentle{0%,to{transform:translateY(0)}50%{transform:translateY(-6px)}}@keyframes qpoint-pulse{0%,to{transform:scale(1);opacity:.6}50%{transform:scale(1.2);opacity:.2}}@keyframes curve-draw{0%{stroke-dashoffset:var(--dash-length,2000)}to{stroke-dashoffset:0}}.animate-float{animation:float-gentle 4s ease-in-out infinite}.animate-qpoint-pulse{animation:qpoint-pulse 2s ease-in-out infinite}.animate-curve-draw{stroke-dasharray:var(--dash-length,2000);stroke-dashoffset:var(--dash-length,2000);animation:curve-draw var(--draw-duration,1.5s) var(--draw-delay,0s) cubic-bezier(.16,1,.3,1) forwards}@keyframes cell-fade{0%{opacity:0}to{opacity:var(--cell-opacity,1)}}.animate-cell-fade{opacity:0;animation:cell-fade .6s var(--cell-delay,0s) ease-out forwards}@keyframes line-draw{0%{stroke-dashoffset:var(--line-length,1500)}to{stroke-dashoffset:0}}.animate-line-draw{stroke-dasharray:var(--line-length,1500);stroke-dashoffset:var(--line-length,1500);animation:line-draw .8s cubic-bezier(.33,1,.68,1) .3s forwards}@keyframes hero-in{0%{opacity:0;transform:translateY(40px)}to{opacity:1;transform:translateY(0)}}@keyframes scroll-bounce{0%,to{transform:translateY(0)}50%{transform:translateY(6px)}}@keyframes letter-reveal{0%{opacity:0;filter:blur(12px);transform:translateY(20px)}60%{opacity:1;filter:blur(2px);transform:translateY(2px)}to{opacity:1;filter:blur(0);transform:translateY(0)}}@keyframes clip-reveal{0%{clip-path:circle(0 at 50% 50%)}to{clip-path:circle(100% at 50% 50%)}}@keyframes scroll-pulse{0%{transform:scaleY(0);opacity:0}50%{transform:scaleY(1);opacity:1}to{transform:scaleY(0);opacity:0}}@keyframes line-expand{0%{transform:scaleX(0)}to{transform:scaleX(1)}}@keyframes count-up{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}@keyframes marquee-left{0%{transform:translateX(0)}to{transform:translateX(-50%)}}@keyframes marquee-right{0%{transform:translateX(-50%)}to{transform:translateX(0)}}@keyframes famFloat{0%,to{transform:translateY(0) rotate(var(--rot,0deg))}50%{transform:translateY(-4px) rotate(var(--rot,0deg))}}@keyframes aboutFloat{0%,to{transform:translate(0) rotate(var(--rot,-.6deg))}33%{transform:translate(.9px,-1.1px) rotate(calc(var(--rot, -.6deg) + .12deg))}66%{transform:translate(-1.2px,.8px) rotate(calc(var(--rot, -.6deg) - .09deg))}}@keyframes about-plus-pulse{0%,to{box-shadow:0 12px 28px rgba(4,0,255,.3),0 0 0 0 rgba(4,0,255,.4)}50%{box-shadow:0 12px 28px rgba(4,0,255,.3),0 0 0 14px rgba(4,0,255,0)}}@keyframes about-buzz{0%{transform:translate(0) rotate(var(--rot))}25%{transform:translate(-3px,2px) rotate(var(--rot))}50%{transform:translate(3px,-1px) rotate(var(--rot))}75%{transform:translate(-2px,-2px) rotate(var(--rot))}to{transform:translate(2px,1px) rotate(var(--rot))}}@keyframes palette-fade-in{0%{opacity:0}to{opacity:1}}@keyframes palette-rise{0%{opacity:0;transform:translateY(16px) scale(.97)}to{opacity:1;transform:translateY(0) scale(1)}}@keyframes contact-check-pop{0%{opacity:0;transform:scale(.5)}to{opacity:1;transform:scale(1)}}@keyframes mobile-menu-in{0%{opacity:0;transform:translateY(-8px)}to{opacity:1;transform:translateY(0)}}@keyframes mobile-menu-item{0%{opacity:0;transform:translateX(-12px)}to{opacity:1;transform:translateX(0)}}@keyframes egg-shake{0%,to{transform:translateX(0)}15%{transform:translateX(-8px) rotate(-2deg)}30%{transform:translateX(6px) rotate(1.5deg)}45%{transform:translateX(-4px) rotate(-1deg)}60%{transform:translateX(3px) rotate(.5deg)}75%{transform:translateX(-1px)}}@keyframes egg-flash{0%{opacity:0;transform:scaleY(.3)}40%{opacity:1;transform:scaleY(1.05)}to{opacity:1;transform:scaleY(1)}}@keyframes bucket-slide-in{0%{transform:translateY(-100%);opacity:0}to{transform:translateY(0);opacity:1}}@keyframes bucket-scroll{0%{transform:translateX(0)}to{transform:translateX(-50%)}}@keyframes bucket-overlay-in{0%{opacity:0}to{opacity:1}}@keyframes bucket-pulse{0%,to{transform:scale(1);border-color:rgba(4,0,255,.3)}50%{transform:scale(1.15);border-color:rgba(4,0,255,.7)}}@keyframes blink-slow{0%,to{opacity:.25}50%{opacity:.7}}@keyframes minitel-type{0%{opacity:0}to{opacity:1}}@keyframes minitel-blink{0%,to{opacity:1}50%{opacity:0}}@keyframes cassandre-eyes{0%,to{transform:scale(1)}20%{transform:scale(1.3) rotate(-5deg)}40%{transform:scale(.9) rotate(5deg)}60%{transform:scale(1.2) rotate(-3deg)}80%{transform:scale(1.05)}}@keyframes hater-bg-shift{0%{filter:hue-rotate(0deg)}to{filter:hue-rotate(60deg)}}@keyframes hater-flash{0%{opacity:0;background:#fff}30%{opacity:1;background:red}to{opacity:1;background:transparent}}@keyframes hater-line-in{0%{opacity:0;transform:translateY(30px) scale(.5) rotate(10deg)}60%{opacity:1;transform:translateY(-5px) scale(1.05)}to{opacity:1;transform:translateY(0) scale(1)}}@keyframes credits-overlay-in{0%{opacity:0}to{opacity:1}}@keyframes credits-fade-up{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}@keyframes credits-scroll-left{0%{transform:translateX(0)}to{transform:translateX(-50%)}}@keyframes credits-scroll-right{0%{transform:translateX(-50%)}to{transform:translateX(0)}}