@tailwind base;@tailwind components;@tailwind utilities;html,body,#root{overflow-x:hidden;max-width:100vw;width:100%}@keyframes drift-up{0%{transform:translateY(100vh) scale(.5);opacity:0}10%{opacity:1;scale:1}90%{opacity:1;scale:1}to{transform:translateY(-20vh) scale(.5);opacity:0}}.animate-drift-up{animation:drift-up linear infinite}@keyframes shine-sweep{0%{transform:translate(-150%) skew(-15deg)}50%,to{transform:translate(150%) skew(-15deg)}}.animate-shine-sweep{animation:shine-sweep 3s ease-in-out infinite}@keyframes nebulaBreath1{0%,to{transform:scale(1) translate(0);opacity:.08}50%{transform:scale(1.25) translate(-3%,4%);opacity:.13}}@keyframes nebulaBreath2{0%,to{transform:scale(1) translate(0);opacity:.07}50%{transform:scale(1.3) translate(5%,-5%);opacity:.12}}@keyframes nebulaBreath3{0%,to{transform:scale(1) translate(0);opacity:.05}50%{transform:scale(1.2) translate(-4%,3%);opacity:.09}}.animate-nebulaBreath1{animation:nebulaBreath1 10s ease-in-out infinite}.animate-nebulaBreath2{animation:nebulaBreath2 14s ease-in-out infinite}.animate-nebulaBreath3{animation:nebulaBreath3 12s ease-in-out infinite}@keyframes shootingStar{0%{opacity:0;transform:translate(0) scaleX(0)}5%{opacity:1}70%{opacity:.8}to{opacity:0;transform:translate(120px) scaleX(1)}}.animate-shootingStar{animation:shootingStar 1.2s ease-out forwards}.scroll-progress-bar{position:fixed;top:0;left:0;height:2px;background:linear-gradient(90deg,#22d3a0,#3b82f6,#a855f7);z-index:9999;transition:width .1s linear;box-shadow:0 0 8px #22d3a099}.custom-cursor{pointer-events:none;position:fixed;width:16px;height:16px;border-radius:50%;background:#22d3a0b3;box-shadow:0 0 12px #22d3a0b3,0 0 24px #3b82f666;z-index:99999;transition:transform .15s ease,opacity .3s ease;transform:translate(-50%,-50%)}.custom-cursor.hovering{transform:translate(-50%,-50%) scale(2.5);background:#3b82f680}.custom-cursor-trail{pointer-events:none;position:fixed;width:6px;height:6px;border-radius:50%;background:#a855f780;z-index:99998;transition:left .08s ease,top .08s ease;transform:translate(-50%,-50%)}@keyframes toastIn{0%{transform:translateY(120%);opacity:0}to{transform:translateY(0);opacity:1}}@keyframes toastOut{0%{opacity:1}to{opacity:0;transform:translateY(30px)}}.toast-in{animation:toastIn .6s cubic-bezier(.16,1,.3,1) forwards}.toast-out{animation:toastOut .4s ease-in forwards}
