@tailwind base;@tailwind components;@tailwind utilities;@keyframes grid-move{0%{transform:translate(0)}to{transform:translate(10px,10px)}}@keyframes float{0%,to{transform:translateY(0) rotate(0)}50%{transform:translateY(-20px) rotate(180deg)}}@keyframes float-delayed{0%,to{transform:translateY(0) rotate(0)}50%{transform:translateY(-15px) rotate(-180deg)}}@keyframes float-slow{0%,to{transform:translateY(0) rotate(0)}50%{transform:translateY(-10px) rotate(90deg)}}@keyframes particle-float{0%,to{transform:translateY(0) translate(0);opacity:.3}25%{transform:translateY(-10px) translate(5px);opacity:.8}50%{transform:translateY(-5px) translate(-5px);opacity:.5}75%{transform:translateY(-15px) translate(3px);opacity:.7}}@keyframes quantum-spin{0%,to{transform:rotate(0) scale(1)}50%{transform:rotate(180deg) scale(1.2)}}@keyframes typing{0%{opacity:0}10%{opacity:1}to{opacity:1}}@keyframes blink-caret{0%,50%{border-color:transparent}51%,to{border-color:#0af}}@keyframes smoke-rise{0%{transform:translateY(0) scale(1) rotate(0);opacity:0}10%{opacity:.8}50%{transform:translateY(-100px) scale(1.5) rotate(5deg);opacity:.4}to{transform:translateY(-300px) scale(2.5) rotate(-5deg);opacity:0}}@keyframes text-pulse{0%,to{filter:drop-shadow(0 0 20px rgba(0,170,255,.3))}50%{filter:drop-shadow(0 0 30px rgba(0,170,255,.5))}}@keyframes pulse-glow{0%,to{box-shadow:0 0 20px #00aaff80}50%{box-shadow:0 0 35px #0afc}}@keyframes spin-slow{0%{transform:rotate(-90deg)}to{transform:rotate(270deg)}}@keyframes spin-slow-reverse{0%{transform:rotate(270deg)}to{transform:rotate(-90deg)}}@keyframes spin-fast{0%{transform:rotate(0)}to{transform:rotate(360deg)}}@keyframes tick-glow{0%,to{background-color:#facc1533;box-shadow:none;transform:scale(1)}50%{background-color:#facc15;box-shadow:0 0 8px #facc15;transform:scale(1.2)}}@keyframes fade-in{0%{opacity:0}to{opacity:1}}@keyframes fade-in-up{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}@keyframes scale-in{0%{opacity:0;transform:scale(.95)}to{opacity:1;transform:scale(1)}}@keyframes progress{0%{width:0%}to{width:var(--progress-width, 85%)}}@keyframes graph-bar{0%{transform:scaleY(0);opacity:0}to{transform:scaleY(1);opacity:1}}.animate-float{animation:float 6s ease-in-out infinite}.animate-float-delayed{animation:float-delayed 8s ease-in-out infinite;animation-delay:2s}.animate-float-slow{animation:float-slow 10s ease-in-out infinite;animation-delay:4s}.animate-spin-slow{animation:spin-slow 2s linear infinite}.animate-spin-slow-reverse{animation:spin-slow-reverse 1.8s linear infinite}.animate-spin-fast{animation:spin-fast 1.2s linear infinite}.animate-fade-in{animation:fade-in .5s ease-out forwards}.animate-fade-in-up{animation:fade-in-up .5s ease-out forwards}.animate-scale-in{animation:scale-in .3s ease-out forwards}.button-glow{animation:pulse-glow 2.5s infinite ease-in-out}.typing-animation{opacity:0;animation:typing 2s ease-in-out forwards;animation-delay:.5s}.smoke-text{position:relative;animation:text-pulse 3s ease-in-out infinite;filter:drop-shadow(0 0 20px rgba(0,170,255,.3))}.smoke-text:before{content:"";position:absolute;top:0;left:0;width:100%;height:100%;background:radial-gradient(ellipse at center bottom,rgba(0,170,255,.15) 0%,rgba(0,170,255,.05) 40%,transparent 70%);filter:blur(20px);animation:smoke-rise 8s infinite ease-out;pointer-events:none}.animate-progress{animation:progress 2s ease-out forwards;transform-origin:left center}.animate-progress-delay{animation:progress 2s ease-out forwards;animation-delay:.5s;transform-origin:left center}.animate-graph-bar{animation:graph-bar .6s ease-out forwards;transform-origin:bottom center}
