@keyframes fadeUp{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}@keyframes pop{0%{opacity:0;transform:scale(.82)}to{opacity:1;transform:scale(1)}}@keyframes pulseBlue{0%{box-shadow:0 0 #2563eb66}70%{box-shadow:0 0 0 22px #2563eb00}to{box-shadow:0 0 #2563eb00}}@keyframes spin{to{transform:rotate(360deg)}}@keyframes shimmer{0%{background-position:-200px 0}to{background-position:200px 0}}.fade-up{animation:fadeUp .38s ease-out}.pop{animation:pop .35s cubic-bezier(.34,1.56,.64,1)}.pulse-blue{animation:pulseBlue 2s ease-out infinite}.spin{animation:spin 1s linear infinite}.press{transition:transform .15s ease,box-shadow .15s ease,background-color .15s ease}.press:active{transform:scale(.97)}.glass{background:#ffffffc7;backdrop-filter:blur(20px) saturate(180%);-webkit-backdrop-filter:blur(20px) saturate(180%);border:1px solid rgba(255,255,255,.6)}.glass-dark{background:#0f172a8c;backdrop-filter:blur(16px) saturate(160%);-webkit-backdrop-filter:blur(16px) saturate(160%);border:1px solid rgba(255,255,255,.08)}.elev-1{box-shadow:0 1px 2px #0f172a0a,0 2px 8px #0f172a0a}.elev-2{box-shadow:0 2px 4px #0f172a0a,0 12px 24px -8px #0f172a1a}.elev-3{box-shadow:0 4px 8px #0f172a0f,0 20px 40px -12px #0f172a2e}.skeleton{background:linear-gradient(90deg,#eef1f6 25%,#f6f8fb 37%,#eef1f6 63%);background-size:400px 100%;animation:shimmer 1.4s ease-in-out infinite}
