@keyframes menuSheetUp{0%{transform:translateY(100%);opacity:.8}to{transform:translateY(0);opacity:1}}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes notifBadgePop{0%{transform:scale(0);opacity:0}60%{transform:scale(1.2)}to{transform:scale(1);opacity:1}}@keyframes scaleIn{0%{opacity:0;transform:scale(.96) translateY(6px)}to{opacity:1;transform:scale(1) translateY(0)}}@keyframes saga-rainbow-spin{0%{--saga-angle:0deg}to{--saga-angle:360deg}}@keyframes saga-edge-breathe{0%,to{opacity:.35}50%{opacity:.65}}@keyframes saga-ring-pulse{0%,to{transform:scale(1)}50%{transform:scale(1.12)}}@keyframes saga-float{0%,to{transform:translateY(0)}50%{transform:translateY(-6px)}}@keyframes saga-blob-morph-1{0%{border-radius:30% 70% 70% 30%/30% 30% 70% 70%;transform:translate(0) scale(1)}25%{border-radius:58% 42% 36% 64%/45% 68% 32% 55%;transform:translate(5%,-8%) scale(1.05)}50%{border-radius:40% 60% 55% 45%/65% 35% 65% 35%;transform:translate(-3%,5%) scale(.95)}75%{border-radius:65% 35% 48% 52%/38% 62% 38% 62%;transform:translate(8%,3%) scale(1.08)}to{border-radius:30% 70% 70% 30%/30% 30% 70% 70%;transform:translate(0) scale(1)}}@keyframes saga-blob-morph-2{0%{border-radius:60% 40% 45% 55%/55% 45% 55% 45%;transform:translate(0) scale(1.02)}25%{border-radius:35% 65% 70% 30%/40% 60% 40% 60%;transform:translate(-6%,4%) scale(.98)}50%{border-radius:50% 50% 35% 65%/70% 30% 70% 30%;transform:translate(4%,-6%) scale(1.06)}75%{border-radius:42% 58% 60% 40%/48% 52% 48% 52%;transform:translate(-3%,-2%) scale(.96)}to{border-radius:60% 40% 45% 55%/55% 45% 55% 45%;transform:translate(0) scale(1.02)}}@keyframes saga-blob-morph-3{0%{border-radius:45% 55% 60% 40%/50% 50% 50% 50%;transform:translate(3%,2%) scale(1)}33%{border-radius:70% 30% 40% 60%/35% 65% 35% 65%;transform:translate(-5%,7%) scale(1.1)}66%{border-radius:38% 62% 52% 48%/60% 40% 60% 40%;transform:translate(6%,-4%) scale(.92)}to{border-radius:45% 55% 60% 40%/50% 50% 50% 50%;transform:translate(3%,2%) scale(1)}}@keyframes saga-blob-drift{0%{transform:rotate(0deg)}to{transform:rotate(1turn)}}@keyframes shimmer{0%{background-position:-200% 0}to{background-position:200% 0}}@keyframes overlayFade{0%{opacity:0}to{opacity:1}}@keyframes modalScale{0%{opacity:0;transform:scale(.96) translateY(8px)}to{opacity:1;transform:scale(1) translateY(0)}}@keyframes cardDropIn{0%{opacity:.6;transform:scale(.96)}to{opacity:1;transform:scale(1)}}@keyframes scenePulse{0%,to{opacity:.3}50%{opacity:.7}}@keyframes slideUp{0%{opacity:0;transform:translateY(16px) scale(.96)}to{opacity:1;transform:translateY(0) scale(1)}}@keyframes slideDown{0%{opacity:0;transform:translateY(-16px) scale(.96)}to{opacity:1;transform:translateY(0) scale(1)}}@keyframes slideOut{0%{opacity:1;transform:translateY(0) scale(1)}to{opacity:0;transform:translateY(16px) scale(.96)}}@keyframes slideOutUp{0%{opacity:1;transform:translateY(0) scale(1)}to{opacity:0;transform:translateY(-16px) scale(.96)}}@keyframes toastCountdown{0%{width:100%}to{width:0}}@keyframes chatToastIn{0%{opacity:0;transform:translateX(40px) scale(.92);filter:blur(4px)}to{opacity:1;transform:translateX(0) scale(1);filter:blur(0)}}@keyframes chatToastOut{0%{opacity:1;transform:translateX(0) scale(1);filter:blur(0)}to{opacity:0;transform:translateX(60px) scale(.9);filter:blur(4px)}}@keyframes chatToastProgress{0%{width:100%}to{width:0}}@keyframes btnPress{0%{transform:scale(1)}40%{transform:scale(.95)}70%{transform:scale(1.02)}to{transform:scale(1)}}@keyframes shake{0%,to{transform:translateX(0)}20%,60%{transform:translateX(-4px)}40%,80%{transform:translateX(4px)}}@keyframes rowCollapse{to{opacity:0;max-height:0;padding-top:0;padding-bottom:0;margin-top:0;margin-bottom:0;overflow:hidden}}@keyframes btnSuccess{0%{box-shadow:0 0 0 0 rgba(16,185,129,.4)}50%{box-shadow:0 0 0 6px rgba(16,185,129,.15)}to{box-shadow:0 0 0 0 rgba(16,185,129,0)}}@keyframes staggerIn{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}@keyframes statusPulse{0%,to{box-shadow:0 0 0 0 currentColor}50%{box-shadow:0 0 0 4px transparent}}@keyframes subtlePulse{0%,to{opacity:1}50%{opacity:.6}}@keyframes widgetJiggle{0%{transform:rotate(0deg)}25%{transform:rotate(-.8deg)}50%{transform:rotate(0deg)}75%{transform:rotate(.8deg)}to{transform:rotate(0deg)}}@keyframes splashBgPan{0%{background-position:0 50%}50%{background-position:100% 50%}to{background-position:0 50%}}@keyframes splashLogoReveal{0%{opacity:0;transform:scale(.85);filter:blur(12px)}60%{opacity:1;transform:scale(1.02);filter:blur(0)}to{opacity:1;transform:scale(1);filter:blur(0)}}@keyframes splashGlowPulse{0%,to{opacity:.4;transform:scale(1)}50%{opacity:.8;transform:scale(1.05)}}@keyframes splashRingExpand{0%{opacity:0;transform:scale(.6)}50%{opacity:.3}to{opacity:0;transform:scale(2.2)}}@keyframes splashTextReveal{0%{opacity:0;transform:translateY(8px);letter-spacing:.3em}to{opacity:1;transform:translateY(0);letter-spacing:.18em}}@keyframes splashDotBounce{0%,80%,to{opacity:.3;transform:translateY(0)}40%{opacity:1;transform:translateY(-4px)}}@keyframes splashOrbitSpin{0%{transform:rotate(0deg)}to{transform:rotate(1turn)}}@keyframes splashFadeOut{0%{opacity:1}to{opacity:0;pointer-events:none}}@keyframes viewSlideIn{0%{opacity:0;transform:translateX(8px)}to{opacity:1;transform:translateX(0)}}@keyframes viewSlideOut{0%{opacity:1;transform:translateX(0)}to{opacity:0;transform:translateX(-8px)}}@keyframes skeletonShimmer{0%{background-position:-200% 0}to{background-position:200% 0}}@keyframes onbFadeIn{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}@keyframes ptrSpin{to{transform:rotate(1turn)}}@keyframes sheetSlideUp{0%{opacity:0;transform:translateY(100%)}to{opacity:1;transform:translateY(0)}}@keyframes sheetSlideDown{0%{opacity:1;transform:translateY(0)}to{opacity:0;transform:translateY(100%)}}@keyframes slideInFromRight{0%{opacity:0;transform:translateX(30px)}to{opacity:1;transform:translateX(0)}}@keyframes slideInFromLeft{0%{opacity:0;transform:translateX(-30px)}to{opacity:1;transform:translateX(0)}}@keyframes fabMenuPop{0%{opacity:0;transform:scale(.8) translateY(.5rem)}to{opacity:1;transform:scale(1) translateY(0)}}@keyframes ptrBarSlide{0%{background-position:200% 0}to{background-position:-200% 0}}@keyframes landingLogoPower{0%{opacity:1;transform:scale(1);filter:brightness(1) drop-shadow(0 0 0 rgba(255,255,255,0))}30%{opacity:1;transform:scale(1.8);filter:brightness(1.6) drop-shadow(0 0 40px rgba(255,255,255,.35))}55%{opacity:1;transform:scale(1.9);filter:brightness(1.5) drop-shadow(0 0 60px rgba(255,255,255,.25))}to{opacity:0;transform:scale(2.2);filter:brightness(1.8) drop-shadow(0 0 80px rgba(255,255,255,0))}}@keyframes landingContentOut{0%{opacity:1;transform:translateY(0) scale(1)}to{opacity:0;transform:translateY(-20px) scale(.98)}}@keyframes overlayFadeAway{0%{opacity:1;transform:scale(1);filter:brightness(1)}50%{opacity:.6;transform:scale(1.01);filter:brightness(1.1)}to{opacity:0;transform:scale(1.02);filter:brightness(1.2) blur(2px)}}@keyframes dashReveal{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}