@import"https://fonts.googleapis.com/css2?family=Space+Grotesk:wght@300;400;500;600;700&display=swap";*{margin:0;padding:0;box-sizing:border-box}body{font-family:Space Grotesk,sans-serif;overflow-x:hidden;background:#0a0a0a}::-webkit-scrollbar{width:8px}::-webkit-scrollbar-track{background:#1a1a1a}::-webkit-scrollbar-thumb{background:linear-gradient(45deg,#667eea,#764ba2);border-radius:10px}.animated-bg{position:fixed;top:0;left:0;width:100%;height:100%;background:linear-gradient(45deg,#0a0a0a,#1a1a2e);overflow:hidden}.floating-shapes{position:absolute;width:100%;height:100%}.shape{position:absolute;background:linear-gradient(135deg,#667eea,#764ba2);filter:blur(40px);opacity:.3;animation:float 20s infinite ease-in-out;border-radius:50%}@keyframes float{0%,to{transform:translateY(0) rotate(0)}33%{transform:translateY(-30px) rotate(120deg)}66%{transform:translateY(30px) rotate(240deg)}}.glow-text{text-shadow:0 0 20px rgba(102,126,234,.5),0 0 40px rgba(102,126,234,.3),0 0 60px rgba(102,126,234,.2)}.project-card{position:relative;background:linear-gradient(135deg,#1a1a2e,#16213e);border:1px solid transparent;transition:all .5s cubic-bezier(.175,.885,.32,1.275);overflow:hidden}.project-card:before{content:"";position:absolute;top:0;left:0;width:100%;height:100%;background:linear-gradient(45deg,transparent,rgba(102,126,234,.1),transparent);transform:translate(-100%);transition:transform .6s}.project-card:hover:before{transform:translate(100%)}.project-card:hover{transform:translateY(-10px) scale(1.02);border:1px solid #667eea;box-shadow:0 20px 40px #667eea4d}.tech-icon{transition:all .3s;cursor:pointer}.tech-icon:hover{transform:translateY(-5px) scale(1.2);filter:drop-shadow(0 10px 20px rgba(102,126,234,.5))}.nav-item{position:relative;transition:color .3s}.nav-item:after{content:"";position:absolute;bottom:-5px;left:50%;transform:translate(-50%);width:0;height:2px;background:linear-gradient(90deg,#667eea,#764ba2);transition:width .3s}.nav-item:hover:after,.nav-item.active:after{width:100%}.typing-text{border-right:3px solid #667eea;animation:blink 1s infinite}@keyframes blink{0%,50%{border-color:#667eea}51%,to{border-color:transparent}}.pulse-btn{animation:pulse 2s infinite}@keyframes pulse{0%{box-shadow:0 0 #667eeab3}70%{box-shadow:0 0 0 20px #667eea00}to{box-shadow:0 0 #667eea00}}.reveal{opacity:0;transform:translateY(30px);transition:all .8s ease}.reveal.active{opacity:1;transform:translateY(0)}
