@keyframes slideUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes pulse{0%,to{opacity:.4}50%{opacity:.8}}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}@keyframes ambientCrabR{0%{opacity:0;transform:scaleX(-1) translate(0)}5%{opacity:.25}50%{opacity:.15;transform:scaleX(-1) translate(-220px) translateY(20px)}95%{opacity:.25}to{opacity:0;transform:scaleX(-1) translate(-60px) translateY(35px)}}@keyframes ambientCrabL{0%{opacity:0;transform:scaleX(1) translate(0)}5%{opacity:.25}50%{opacity:.15;transform:scaleX(1) translate(220px) translateY(-20px)}95%{opacity:.25}to{opacity:0;transform:scaleX(1) translate(60px) translateY(-35px)}}@keyframes shimmer{0%{background-position:-200px 0}to{background-position:200px 0}}.skeleton{background:linear-gradient(90deg,var(--bg-secondary) 25%,var(--bg-tertiary) 50%,var(--bg-secondary) 75%);background-size:400px 100%;animation:shimmer 1.5s infinite;border-radius:8px}.page-enter{opacity:0;transform:translateY(8px)}.page-enter-active{opacity:1;transform:translateY(0);transition:opacity .2s ease,transform .2s ease}.page-exit{opacity:1;transform:translateY(0)}.page-exit-active{opacity:0;transform:translateY(-8px);transition:opacity .2s ease,transform .2s ease}*{margin:0;padding:0;box-sizing:border-box}::-webkit-scrollbar{width:4px}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb{border-radius:4px}
