@keyframes letterReveal{0%{opacity:0;transform:translateY(100%) skewY(8deg)}60%{opacity:1}to{opacity:1;transform:translateY(0) skewY(0)}}.reveal{opacity:0;transform:translateY(48px);transition:opacity .7s cubic-bezier(.22,1,.36,1),transform .7s cubic-bezier(.22,1,.36,1)}.reveal.from-left{transform:translate(-60px)}.reveal.from-right{transform:translate(60px)}.reveal.from-scale{transform:scale(.92)}.reveal.visible{opacity:1;transform:translate(0) scale(1)}.reveal-delay-1{transition-delay:.1s}.reveal-delay-2{transition-delay:.2s}.reveal-delay-3{transition-delay:.3s}.reveal-delay-4{transition-delay:.4s}.reveal-delay-5{transition-delay:.5s}.page-enter{opacity:0;transform:translateY(24px)}.page-enter-active{opacity:1;transform:translateY(0);transition:opacity .4s cubic-bezier(.22,1,.36,1),transform .4s cubic-bezier(.22,1,.36,1)}.page-exit{opacity:1}.page-exit-active{opacity:0;transition:opacity .2s ease}@keyframes flash-in{0%{opacity:0}30%{opacity:1}to{opacity:0}}.page-flash{animation:flash-in .45s cubic-bezier(.22,1,.36,1) forwards}@keyframes logo-draw{0%{stroke-dashoffset:400;opacity:0}to{stroke-dashoffset:0;opacity:1}}@keyframes loader-bar{0%{width:0%}to{width:100%}}@keyframes fade-out-screen{0%{opacity:1;transform:scale(1)}80%{opacity:1;transform:scale(1)}to{opacity:0;transform:scale(1.04)}}.loader-screen{animation:fade-out-screen 1.8s cubic-bezier(.22,1,.36,1) forwards}.loader-logo path,.loader-logo circle{stroke-dasharray:400;stroke-dashoffset:400;animation:logo-draw .9s cubic-bezier(.22,1,.36,1) forwards}.loader-bar-fill{animation:loader-bar 1.4s cubic-bezier(.22,1,.36,1) forwards}@keyframes blink{0%,to{opacity:1}50%{opacity:0}}.typewriter-cursor{display:inline-block;width:3px;height:.85em;background:#354ef2;margin-left:4px;vertical-align:middle;animation:blink .85s step-end infinite;box-shadow:0 0 8px #354ef2e6}html[data-theme=light] body{filter:invert(1) hue-rotate(180deg);background:#fff}html[data-theme=light] img,html[data-theme=light] video,html[data-theme=light] canvas{filter:invert(1) hue-rotate(180deg)}body{transition:filter .4s ease}@keyframes orbFloat1{0%,to{transform:translate(0) scale(1)}25%{transform:translate(30px,-40px) scale(1.06)}50%{transform:translate(-20px,30px) scale(.96)}75%{transform:translate(40px,20px) scale(1.03)}}@keyframes orbFloat2{0%,to{transform:translate(0) scale(1)}33%{transform:translate(-50px,40px) scale(1.08)}66%{transform:translate(30px,-30px) scale(.94)}}@keyframes orbFloat3{0%,to{transform:translate(0) scale(1)}40%{transform:translate(25px,50px) scale(.92)}80%{transform:translate(-35px,-25px) scale(1.07)}}.orb{position:absolute;border-radius:50%;pointer-events:none;will-change:transform;filter:blur(70px)}.orb-1{top:-8%;right:-6%;width:680px;height:680px;background:radial-gradient(circle at 40% 40%,rgba(53,78,242,.22) 0%,transparent 70%);animation:orbFloat1 20s ease-in-out infinite}.orb-2{bottom:10%;left:-8%;width:580px;height:580px;background:radial-gradient(circle at 60% 60%,rgba(100,40,240,.14) 0%,transparent 70%);animation:orbFloat2 28s ease-in-out infinite}.orb-3{top:45%;right:28%;width:460px;height:460px;background:radial-gradient(circle at 50% 50%,rgba(0,180,255,.07) 0%,transparent 70%);animation:orbFloat3 34s ease-in-out infinite}.orb-4{top:65%;right:-4%;width:380px;height:380px;background:radial-gradient(circle at 40% 40%,rgba(53,78,242,.12) 0%,transparent 70%);animation:orbFloat1 24s ease-in-out infinite reverse}.noise-overlay:after{content:"";position:fixed;top:0;right:0;bottom:0;left:0;pointer-events:none;opacity:.04;z-index:99990;background-image:url(https://grainy-gradients.vercel.app/noise.svg);background-size:180px 180px}
