@tailwind base;@tailwind components;@tailwind utilities;body{font-family:Inter,sans-serif;background-color:#f8fafc}.dark body{background-color:#0f172a}::-webkit-scrollbar{width:8px;height:8px}::-webkit-scrollbar-track{background:#f1f5f9}.dark ::-webkit-scrollbar-track{background:#1e293b}::-webkit-scrollbar-thumb{background:#cbd5e1;border-radius:4px}.dark ::-webkit-scrollbar-thumb{background:#475569}::-webkit-scrollbar-thumb:hover{background:#94a3b8}.dark ::-webkit-scrollbar-thumb:hover{background:#64748b}@keyframes menu-open{0%{opacity:0;transform:scale(.9) translateY(-8px)}to{opacity:1;transform:scale(1) translateY(0)}}.animate-menu-open{animation:menu-open .2s cubic-bezier(.16,1,.3,1)}@keyframes menu-open-center{0%{opacity:0;transform:translate(-50%) scale(.9) translateY(-8px)}to{opacity:1;transform:translate(-50%) scale(1) translateY(0)}}.animate-menu-open-center{animation:menu-open-center .2s cubic-bezier(.16,1,.3,1)}@keyframes modal-3d-open{0%{opacity:0;transform:perspective(800px) rotateX(-15deg) scale(.9) translateY(30px)}to{opacity:1;transform:perspective(800px) rotateX(0) scale(1) translateY(0)}}@keyframes modal-backdrop{0%{opacity:0}to{opacity:1}}.animate-modal-3d{animation:modal-3d-open .35s cubic-bezier(.16,1,.3,1)}.animate-backdrop{animation:modal-backdrop .25s ease-out}@keyframes modal-3d-close{0%{opacity:1;transform:perspective(800px) rotateX(0) scale(1) translateY(0)}to{opacity:0;transform:perspective(800px) rotateX(10deg) scale(.9) translateY(30px)}}@keyframes modal-backdrop-close{0%{opacity:1}to{opacity:0}}.animate-modal-3d-close{animation:modal-3d-close .25s cubic-bezier(.4,0,1,1) forwards}.animate-backdrop-close{animation:modal-backdrop-close .25s ease-in forwards}@keyframes slide-in-right{0%{transform:translate(100%)}to{transform:translate(0)}}.animate-slide-in-right{animation:slide-in-right .3s cubic-bezier(.32,.72,0,1) forwards}.login-blob{position:absolute;border-radius:50%;filter:blur(80px);opacity:.4}.login-blob-1{width:400px;height:400px;background:radial-gradient(circle,#6366f1,transparent 70%);top:-10%;left:-10%;animation:blob-float-1 12s ease-in-out infinite}.login-blob-2{width:350px;height:350px;background:radial-gradient(circle,#8b5cf6,transparent 70%);bottom:-10%;right:-10%;animation:blob-float-2 15s ease-in-out infinite}.login-blob-3{width:300px;height:300px;background:radial-gradient(circle,#3b82f6,transparent 70%);top:50%;left:50%;transform:translate(-50%,-50%);animation:blob-float-3 18s ease-in-out infinite}@keyframes blob-float-1{0%,to{transform:translate(0) scale(1)}33%{transform:translate(80px,60px) scale(1.1)}66%{transform:translate(-40px,100px) scale(.95)}}@keyframes blob-float-2{0%,to{transform:translate(0) scale(1)}33%{transform:translate(-70px,-50px) scale(1.15)}66%{transform:translate(50px,-80px) scale(.9)}}@keyframes blob-float-3{0%,to{transform:translate(-50%,-50%) scale(1)}33%{transform:translate(-30%,-60%) scale(1.1)}66%{transform:translate(-70%,-40%) scale(.95)}}@keyframes lab-portal-fade{0%{opacity:0}10%{opacity:1}85%{opacity:1}to{opacity:0}}.animate-lab-portal-fade{animation:lab-portal-fade 2s ease-in-out forwards}@keyframes lab-ring{0%{transform:translate(-50%,-50%) scale(.4);opacity:0}20%{opacity:1}to{transform:translate(-50%,-50%) scale(2.5);opacity:0}}.animate-lab-ring{animation:lab-ring 1.8s ease-out infinite}@keyframes lab-spin{0%{transform:translate(-50%,-50%) rotate(0)}to{transform:translate(-50%,-50%) rotate(360deg)}}.animate-lab-spin{animation:lab-spin 8s linear infinite}@keyframes lab-spin-reverse{0%{transform:translate(-50%,-50%) rotate(360deg)}to{transform:translate(-50%,-50%) rotate(0)}}.animate-lab-spin-reverse{animation:lab-spin-reverse 12s linear infinite}@keyframes lab-orbit{0%{transform:translate(-50%,-50%) rotate(0)}to{transform:translate(-50%,-50%) rotate(360deg)}}.animate-lab-orbit{animation:lab-orbit 3s linear infinite}@keyframes lab-orbit-reverse{0%{transform:translate(-50%,-50%) rotate(0)}to{transform:translate(-50%,-50%) rotate(-360deg)}}.animate-lab-orbit-reverse{animation:lab-orbit-reverse 5s linear infinite}@keyframes lab-flask-appear{0%{opacity:0;transform:scale(.3) rotate(-20deg);filter:blur(15px)}60%{opacity:1;transform:scale(1.1) rotate(5deg);filter:blur(0)}to{opacity:1;transform:scale(1) rotate(0);filter:blur(0)}}.animate-lab-flask-appear{animation:lab-flask-appear .9s cubic-bezier(.16,1,.3,1)}@keyframes lab-text-appear{0%{opacity:0;transform:translateY(15px)}to{opacity:1;transform:translateY(0)}}.animate-lab-text-appear{animation:lab-text-appear .6s ease-out .4s backwards}@keyframes lab-dot{0%,60%,to{opacity:.2}30%{opacity:1}}.animate-lab-dot{animation:lab-dot 1.4s ease-in-out infinite}@keyframes lab-smoke{0%{transform:translateY(20px) translate(0) scale(.4);opacity:0}20%{opacity:.9}60%{transform:translateY(-30px) translate(-6px) scale(1);opacity:.6}to{transform:translateY(-70px) translate(8px) scale(1.6);opacity:0}}.animate-lab-smoke{animation:lab-smoke 2.5s ease-out infinite}@keyframes lab-project-open{0%{opacity:0;transform:scale(.96);filter:blur(8px)}60%{opacity:1;filter:blur(0)}to{opacity:1;transform:scale(1);filter:blur(0)}}.animate-lab-project-open{animation:lab-project-open .45s cubic-bezier(.16,1,.3,1)}@keyframes lab-project-bar{0%{opacity:0;transform:translateY(-12px)}to{opacity:1;transform:translateY(0)}}.animate-lab-project-bar{animation:lab-project-bar .4s cubic-bezier(.16,1,.3,1) backwards}@keyframes lab-bubble{0%{transform:translateY(0) scale(.5);opacity:0}20%{opacity:1;transform:translateY(-2px) scale(1)}80%{opacity:.9}to{transform:translateY(-18px) scale(.7);opacity:0}}.animate-lab-bubble{animation:lab-bubble 2s ease-in infinite}
