.pt-safe{padding-top:env(safe-area-inset-top,1rem)}.pb-safe{padding-bottom:env(safe-area-inset-bottom,1rem)}.chat-open-mobile{overflow:hidden!important;position:fixed!important;width:100%!important;height:100%!important}@supports (height:100dvh){.h-screen-safe{height:100dvh}}@supports not (height:100dvh){.h-screen-safe{height:100vh}}@media (max-width:768px){input[type=text]:focus{font-size:16px!important}}*{-webkit-tap-highlight-color:transparent;touch-action:manipulation}.scrollbar-hide{-ms-overflow-style:none;scrollbar-width:none}.scrollbar-hide::-webkit-scrollbar{display:none}@media (max-width:768px){@media (prefers-reduced-motion:reduce){*{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}button{min-height:44px;min-width:44px}body{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-rendering:optimizeSpeed}.backdrop-blur-xl{backdrop-filter:blur(8px)}.backdrop-blur-lg{backdrop-filter:blur(4px)}.mobile-reduce-motion{animation:none!important;transition:none!important}.bg-gradient-to-br{background-attachment:local}input,select,textarea{font-size:16px}.safe-area-top{padding-top:env(safe-area-inset-top)}.safe-area-bottom{padding-bottom:env(safe-area-inset-bottom)}.fixed{transform:translateZ(0);will-change:transform}}.gpu-accelerated{transform:translateZ(0);backface-visibility:hidden;perspective:1000px}@media (prefers-color-scheme:dark){.bg-black\/20{background-color:rgba(0,0,0,.3)}}.loading-skeleton{background:linear-gradient(90deg,rgba(255,255,255,.1),rgba(255,255,255,.2) 50%,rgba(255,255,255,.1));background-size:200% 100%;animation:loading 1.5s infinite}@keyframes loading{0%{background-position:200% 0}to{background-position:-200% 0}}.focus-outline:focus-visible{outline:2px solid #a855f7;outline-offset:2px}@media (max-width:640px){.grid-mobile-stack>*{grid-column:1/-1}}@keyframes spin-slow{0%{transform:rotate(0deg)}to{transform:rotate(1turn)}}.animate-spin-slow{animation:spin-slow 4s linear infinite}@keyframes glow-pulse{0%,to{opacity:.3;filter:blur(40px)}50%{opacity:.6;filter:blur(60px)}}.glow-orb{animation:glow-pulse 4s ease-in-out infinite}.ritual-card{transition:all .3s cubic-bezier(.4,0,.2,1)}.ritual-card:hover{transform:translateY(-2px)}@keyframes gradient-shift{0%,to{background-position:0 50%}50%{background-position:100% 50%}}.animated-gradient{background-size:200% 200%;animation:gradient-shift 8s ease infinite}.ritual-content-enter{opacity:0;max-height:0}.ritual-content-enter-active{opacity:1;max-height:1000px;transition:all .4s cubic-bezier(.4,0,.2,1)}.ritual-content-exit{opacity:1;max-height:1000px}.ritual-content-exit-active{opacity:0;max-height:0;transition:all .3s cubic-bezier(.4,0,.2,1)}@keyframes float{0%,to{transform:translateY(0)}50%{transform:translateY(-10px)}}.float-animation{animation:float 3s ease-in-out infinite}.shimmer{background:linear-gradient(90deg,transparent,rgba(255,255,255,.1),transparent);background-size:200% 100%;animation:shimmer 2s infinite}.mantra-glow{text-shadow:0 0 10px rgba(168,85,247,.5),0 0 20px rgba(168,85,247,.3),0 0 30px rgba(168,85,247,.1)}@media (max-width:768px){.ritual-card{transform:none!important}@keyframes spin-slow{animation-duration:6s}.glow-orb{display:none}}@media (prefers-color-scheme:dark){.ritual-card{box-shadow:0 10px 40px -10px rgba(0,0,0,.5)}}@media (prefers-reduced-motion:reduce){*,:after,:before{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}@keyframes coinFloat{0%{transform:translateY(0) rotate(0deg);opacity:1}50%{transform:translateY(-30px) rotate(180deg)}to{transform:translateY(-60px) rotate(1turn);opacity:0}}@keyframes coinSpin{0%{transform:rotateY(0deg)}to{transform:rotateY(1turn)}}@keyframes coinBounce{0%,to{transform:translateY(0) scale(1)}50%{transform:translateY(-10px) scale(1.1)}}@keyframes sparkle{0%,to{opacity:0;transform:scale(0)}50%{opacity:1;transform:scale(1)}}@keyframes pulseGlow{0%,to{box-shadow:0 0 20px rgba(251,191,36,.5)}50%{box-shadow:0 0 40px rgba(251,191,36,.8)}}@keyframes streakFire{0%,to{transform:scaleY(1) translateY(0)}25%{transform:scaleY(1.2) translateY(-2px)}75%{transform:scaleY(.9) translateY(1px)}}.coin-float{animation:coinFloat 1.5s ease-out forwards}.coin-spin{animation:coinSpin 2s linear infinite}.coin-bounce{animation:coinBounce 1s ease-in-out infinite}.coin-sparkle{position:relative}.coin-sparkle:after,.coin-sparkle:before{content:"";position:absolute;width:4px;height:4px;background:white;border-radius:50%;animation:sparkle 1.5s ease-in-out infinite}.coin-sparkle:before{top:-5px;left:50%;animation-delay:0s}.coin-sparkle:after{bottom:-5px;right:10%;animation-delay:.5s}.coin-glow{animation:pulseGlow 2s ease-in-out infinite}.streak-fire{animation:streakFire 2s ease-in-out infinite}@media (max-width:768px){@media (prefers-reduced-motion:reduce){.coin-bounce,.coin-float,.coin-glow,.coin-sparkle:after,.coin-sparkle:before,.coin-spin,.streak-fire{animation:none}}.coin-float{animation-duration:1s}.coin-spin{animation-duration:3s}.coin-bounce{animation:none;transition:transform .3s ease}.coin-bounce:active{transform:scale(.95)}}.haptic-light{-webkit-tap-highlight-color:rgba(251,191,36,.2)}.haptic-medium{-webkit-tap-highlight-color:rgba(168,85,247,.3)}@keyframes slideInRight{0%{transform:translateX(100%);opacity:0}to{transform:translateX(0);opacity:1}}@keyframes shimmer{0%{background-position:-200%}to{background-position:200%}}.achievement-slide{animation:slideInRight .5s cubic-bezier(.68,-.55,.265,1.55)}.achievement-shimmer{background:linear-gradient(90deg,transparent,rgba(255,255,255,.2),transparent);background-size:200% 100%;animation:shimmer 2s infinite}@keyframes confetti-fall{0%{transform:translateY(-100vh) rotate(0deg);opacity:1}to{transform:translateY(100vh) rotate(2turn);opacity:0}}.confetti{position:fixed;width:10px;height:10px;top:-10px;animation:confetti-fall 3s linear;z-index:100}.confetti:first-child{left:10%;animation-delay:0s;background:#f87171}.confetti:nth-child(2){left:30%;animation-delay:.2s;background:#fbbf24}.confetti:nth-child(3){left:50%;animation-delay:.4s;background:#a78bfa}.confetti:nth-child(4){left:70%;animation-delay:.6s;background:#60a5fa}.confetti:nth-child(5){left:90%;animation-delay:.8s;background:#34d399}