html{scroll-behavior:smooth}::-webkit-scrollbar{width:8px}::-webkit-scrollbar-track{background:#0a0f1c}::-webkit-scrollbar-thumb{background:linear-gradient(180deg,#3b82f6,#8b5cf6);border-radius:4px}::-webkit-scrollbar-thumb:hover{background:linear-gradient(180deg,#2563eb,#7c3aed)}@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 slide-left{0%{transform:translate(100%)}to{transform:translate(0)}}@keyframes slide-up{0%{transform:translateY(100%);opacity:0}to{transform:translateY(0);opacity:1}}@keyframes pulse-slow{0%,to{opacity:.3;transform:scale(1)}50%{opacity:.5;transform:scale(1.05)}}@keyframes spin-slow{0%{transform:rotate(0)}to{transform:rotate(360deg)}}@keyframes float-smooth{0%,to{transform:translateY(0) translate(0)}25%{transform:translateY(-20px) translate(10px)}50%{transform:translateY(-10px) translate(-5px)}75%{transform:translateY(-15px) translate(8px)}}@keyframes float{0%,to{transform:translateY(0)}50%{transform:translateY(-10px)}}@keyframes shimmer{0%{background-position:-200% 0}to{background-position:200% 0}}.animate-fade-in{animation:fade-in .3s ease-out forwards}.animate-fade-in-up{animation:fade-in-up .6s ease-out forwards;opacity:0}.animate-scale-in{animation:scale-in .3s ease-out forwards}.animate-slide-left{animation:slide-left .3s ease-out forwards}.animate-slide-up{animation:slide-up .3s ease-out forwards}.animate-pulse-slow{animation:pulse-slow 6s ease-in-out infinite}.animate-spin-slow{animation:spin-slow 2s linear infinite}.animate-float{animation:float 3s ease-in-out infinite}.animate-float-smooth{animation:float-smooth 6s ease-in-out infinite}.animate-shimmer{background:linear-gradient(90deg,transparent,rgba(255,255,255,.1),transparent);background-size:200% 100%;animation:shimmer 2s infinite}.animation-delay-100{animation-delay:.1s}.animation-delay-200{animation-delay:.2s}.animation-delay-300{animation-delay:.3s}.animation-delay-400{animation-delay:.4s}.animation-delay-500{animation-delay:.5s}.animation-delay-1000{animation-delay:1s}.animation-delay-2000{animation-delay:2s}@media (max-width: 640px){button,a{min-height:44px;-webkit-tap-highlight-color:transparent}html{-webkit-overflow-scrolling:touch}html{-webkit-text-size-adjust:100%;-moz-text-size-adjust:100%;text-size-adjust:100%}body{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.animate-pulse-slow{animation-duration:8s}}@media (prefers-reduced-motion: reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}.glass{background:#ffffff0d;backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);border:1px solid rgba(255,255,255,.1)}@keyframes gradient-shift{0%,to{background-position:0% 50%}50%{background-position:100% 50%}}.animate-gradient{background-size:200% 200%;animation:gradient-shift 4s ease infinite}.card-hover{transition:all .3s cubic-bezier(.4,0,.2,1)}.card-hover:hover{transform:translateY(-4px)}.btn-press:active{transform:scale(.98)}button:focus-visible,a:focus-visible,input:focus-visible{outline:2px solid rgba(59,130,246,.5);outline-offset:2px}.hide-scrollbar{-ms-overflow-style:none;scrollbar-width:none}.hide-scrollbar::-webkit-scrollbar{display:none}@media (max-width: 375px){h1{font-size:2rem!important}h2{font-size:1.5rem!important}}@media (max-width: 320px){.px-4{padding-left:.75rem;padding-right:.75rem}}@supports (padding-top: env(safe-area-inset-top)){.safe-area-top{padding-top:env(safe-area-inset-top)}.safe-area-bottom{padding-bottom:env(safe-area-inset-bottom)}}input[type=text],input[type=email],input[type=search]{-webkit-appearance:none;-moz-appearance:none;appearance:none;border-radius:0}@media screen and (max-width: 768px){input[type=text],input[type=email],input[type=search]{font-size:16px}}@keyframes skeleton{0%{background-position:-200px 0}to{background-position:calc(200px + 100%) 0}}.skeleton{background:linear-gradient(90deg,#ffffff08 25%,#ffffff14,#ffffff08 75%);background-size:200px 100%;animation:skeleton 1.2s ease-in-out infinite}.ripple{position:relative;overflow:hidden}.ripple:after{content:"";position:absolute;inset:0;background:radial-gradient(circle at center,rgba(255,255,255,.1) 0%,transparent 70%);opacity:0;transform:scale(0);transition:transform .3s,opacity .3s}.ripple:active:after{opacity:1;transform:scale(2);transition:transform 0s,opacity 0s}
