@keyframes liquid-flow{0%{background-position:0% 50%}50%{background-position:100% 50%}to{background-position:0% 50%}}.liquid-bg{background:linear-gradient(-45deg,#1e3a8a,#312e81,#1e1b4b,#0f172a);background-size:400% 400%;animation:liquid-flow 15s ease infinite;position:relative;overflow:hidden}.liquid-bg:before{content:"";position:absolute;inset:0;background-image:radial-gradient(circle at 20% 80%,rgba(147,51,234,.3) 0%,transparent 50%),radial-gradient(circle at 80% 20%,rgba(59,130,246,.3) 0%,transparent 50%),radial-gradient(circle at 40% 40%,rgba(168,85,247,.2) 0%,transparent 50%);animation:liquid-flow 20s ease-in-out infinite reverse}@keyframes float-bubble{0%{transform:translateY(100vh) translate(0) scale(.8);opacity:0}10%{opacity:.8}90%{opacity:.8}to{transform:translateY(-100vh) translate(50px) scale(1.2);opacity:0}}.bubble{position:absolute;border-radius:50%;background:radial-gradient(circle at 30% 30%,rgba(255,255,255,.3),transparent);backdrop-filter:blur(5px);animation:float-bubble var(--duration, 10s) infinite ease-in-out;animation-delay:var(--delay, 0s)}@keyframes heartbeat{0%,to{transform:scale(1)}50%{transform:scale(1.05)}}.emoji-heartbeat{animation:heartbeat 2s ease-in-out infinite;animation-delay:var(--heartbeat-delay, 0s)}@keyframes emoji-glow{0%,to{filter:drop-shadow(0 0 10px rgba(147,51,234,.6))}50%{filter:drop-shadow(0 0 20px rgba(168,85,247,.8))}}.emoji-glow{filter:drop-shadow(0 0 10px rgba(147,51,234,.6));transition:all .3s ease}.emoji-glow:hover{animation:emoji-glow 1s ease-in-out infinite;transform:translateY(-5px)}@keyframes ripple{0%{transform:scale(0);opacity:1}to{transform:scale(4);opacity:0}}.ripple{position:absolute;border-radius:50%;background:#ef44444d;animation:ripple .6s ease-out;pointer-events:none}@keyframes light-path{0%{stroke-dashoffset:1000;opacity:0}50%{opacity:1}to{stroke-dashoffset:0;opacity:1}}.success-path{stroke-dasharray:1000;stroke-dashoffset:1000;animation:light-path 1s ease-out forwards}@keyframes bottle-bob{0%,to{transform:translateY(0) rotate(-5deg)}50%{transform:translateY(-10px) rotate(5deg)}}.message-bottle{animation:bottle-bob 3s ease-in-out infinite}@keyframes particle-explode{0%{transform:translate(0) scale(1);opacity:1}to{transform:translate(var(--x, 0),var(--y, 0)) scale(0);opacity:0}}.victory-particle{position:absolute;width:8px;height:8px;background:var(--particle-color, #fbbf24);border-radius:50%;animation:particle-explode 1s ease-out forwards}.glass-panel{background:#ffffff14;backdrop-filter:blur(20px);border:1px solid rgba(255,255,255,.2);box-shadow:0 8px 32px #1f268766,inset 0 0 0 1px #ffffff1a}.emoji-dragging{opacity:.5;transform:scale(1.2);cursor:grabbing}@keyframes magnetic-snap{0%{transform:scale(1)}50%{transform:scale(1.3)}to{transform:scale(1)}}.emoji-snap{animation:magnetic-snap .3s ease-out}.theme-morning{--bg-primary: #fef3c7;--bg-secondary: #fed7aa;--accent: #f59e0b}.theme-day{--bg-primary: #dbeafe;--bg-secondary: #bfdbfe;--accent: #3b82f6}.theme-evening{--bg-primary: #e9d5ff;--bg-secondary: #d8b4fe;--accent: #9333ea}.theme-night{--bg-primary: #1e1b4b;--bg-secondary: #312e81;--accent: #6366f1}@media (max-width: 768px){.emoji-container{font-size:2.5rem;padding:.75rem}.glass-panel{backdrop-filter:blur(10px)}}@media (prefers-reduced-motion: reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}::-webkit-scrollbar{width:8px;height:8px}::-webkit-scrollbar-track{background:#0000001a;border-radius:4px}::-webkit-scrollbar-thumb{background:#9333ea80;border-radius:4px}::-webkit-scrollbar-thumb:hover{background:#9333eab3}@keyframes bounce-in{0%{opacity:0;transform:scale(0) rotate(-180deg)}50%{transform:scale(1.2) rotate(90deg)}to{opacity:1;transform:scale(1) rotate(0)}}@keyframes emoji-add{0%{transform:scale(0) rotate(-180deg);opacity:0}50%{transform:scale(1.2) rotate(90deg)}to{transform:scale(1) rotate(0);opacity:1}}@keyframes scale-in{0%{opacity:0;transform:scale(.9)}to{opacity:1;transform:scale(1)}}@keyframes fade-in{0%{opacity:0}to{opacity:1}}@keyframes slide-up{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.animate-bounce-in{animation:bounce-in .5s ease-out forwards;opacity:0}.animate-emoji-add{animation:emoji-add .3s ease-out}.animate-scale-in{animation:scale-in .3s ease-out}.animate-fade-in{animation:fade-in .5s ease-out}.animate-slide-up{animation:slide-up .6s ease-out}
