html{scroll-behavior:smooth}@keyframes fadeInUp{0%{opacity:0;transform:translateY(30px)}to{opacity:1;transform:translateY(0)}}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes slideInFromLeft{0%{opacity:0;transform:translateX(-30px)}to{opacity:1;transform:translateX(0)}}@keyframes pulse{0%,to{opacity:1}50%{opacity:.5}}@keyframes bounce{0%,to{transform:translateY(0)}50%{transform:translateY(-10px)}}.gradient-text{background:linear-gradient(135deg,#8b5cf6,#06b6d4);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.hover-lift{transition:transform .3s ease,box-shadow .3s ease}.hover-lift:hover{transform:translateY(-8px);box-shadow:0 20px 40px rgba(139,92,246,.3)}.glow-purple{box-shadow:0 0 20px rgba(139,92,246,.5)}.glow-cyan{box-shadow:0 0 20px rgba(6,182,212,.5)}.grid-pattern{background-image:linear-gradient(rgba(139,92,246,.05) 1px,transparent 0),linear-gradient(90deg,rgba(139,92,246,.05) 1px,transparent 0);background-size:50px 50px}.gradient-border{position:relative;background:linear-gradient(135deg,#8b5cf6,#06b6d4);padding:2px;border-radius:1rem}.gradient-border-content{background:#1a1a24;border-radius:calc(1rem - 2px);padding:2rem}@keyframes buttonPulse{0%{box-shadow:0 0 0 0 rgba(139,92,246,.7)}70%{box-shadow:0 0 0 10px rgba(139,92,246,0)}to{box-shadow:0 0 0 0 rgba(139,92,246,0)}}.button-pulse{animation:buttonPulse 2s infinite}@keyframes typingDot{0%,60%,to{transform:translateY(0);opacity:1}30%{transform:translateY(-10px);opacity:.7}}.typing-dot{animation:typingDot 1.4s infinite}.typing-dot:nth-child(2){animation-delay:.2s}.typing-dot:nth-child(3){animation-delay:.4s}.scroll-reveal{opacity:0;transform:translateY(30px);transition:opacity .6s ease,transform .6s ease}.scroll-reveal.revealed{opacity:1;transform:translateY(0)}::-webkit-scrollbar{width:10px}::-webkit-scrollbar-track{background:#0a0a0f}::-webkit-scrollbar-thumb{background:linear-gradient(135deg,#8b5cf6,#06b6d4);border-radius:5px}::-webkit-scrollbar-thumb:hover{background:linear-gradient(135deg,#7c3aed,#0891b2)}@media (max-width:768px){h1{font-size:2rem!important}h2{font-size:1.75rem!important}h3{font-size:1.5rem!important}}.skeleton{background:linear-gradient(90deg,#1a1a24,#2a2a34 50%,#1a1a24);background-size:200% 100%;animation:shimmer 1.5s infinite}@keyframes shimmer{0%{background-position:-200% 0}to{background-position:200% 0}}:focus-visible{outline:2px solid #8b5cf6;outline-offset:2px}@media print{.no-print{display:none!important}}