.magnetic-hover{transition:all .4s cubic-bezier(.25,.8,.25,1)}.glass-3d-animated{background:rgba(255,255,255,.6);backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);border:1px solid rgba(255,255,255,.25);border-radius:40px;position:relative;overflow:hidden;box-shadow:0 4px 24px rgba(31,38,135,.08),inset 0 0 60px rgba(255,255,255,.08),inset 0 1px 0 rgba(255,255,255,.3);transition:all .5s cubic-bezier(.25,.46,.45,.94)}.glass-3d-animated>*{position:relative;z-index:10}.feature-icon-float{animation:float 8s ease-in-out infinite}@keyframes float{0%,to{transform:translateY(0) rotate(0deg)}50%{transform:translateY(-4px) rotate(.5deg)}}.feature-icon-glow{filter:drop-shadow(0 0 12px rgba(59,130,246,.15));transition:filter .3s ease}@media (prefers-reduced-motion:reduce){.feature-icon-float,.glass-3d-animated:before{animation:none!important}.magnetic-hover{transition:none!important}}.gpu-optimized{will-change:transform,opacity;transform:translateZ(0)}.glass-3d-animated:focus-visible{outline:2px solid #3b82f6;outline-offset:4px;border-radius:8px}.ease-out-expo{transition-timing-function:cubic-bezier(.16,1,.3,1)}.ease-out-back{transition-timing-function:cubic-bezier(.34,1.56,.64,1)}.ease-out-elastic{transition-timing-function:cubic-bezier(.68,-.6,.32,1.6)}.compose-transition{transition:opacity .3s ease,transform .3s ease}.hero-to-chat{animation:slideUp .5s ease-out}@keyframes slideUp{0%{transform:translateY(20px);opacity:0}to{transform:translateY(0);opacity:1}}.chat-to-hero{animation:fadeIn .4s ease-out}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.quick-action-hover{transition:all .2s ease}.quick-action-hover:hover{transform:translateY(-2px);box-shadow:0 4px 12px rgba(0,0,0,.1)}.session-item-enter{animation:slideInLeft .3s ease-out}@keyframes slideInLeft{0%{transform:translateX(-10px);opacity:0}to{transform:translateX(0);opacity:1}}.empty-state-pulse{animation:gentlePulse 2s ease-in-out infinite}@keyframes gentlePulse{0%,to{transform:scale(1);opacity:.8}50%{transform:scale(1.05);opacity:1}}.sidebar-scroll{scroll-behavior:smooth;scrollbar-width:thin;scrollbar-color:rgba(0,0,0,.1) transparent}.sidebar-scroll::-webkit-scrollbar{width:4px}.sidebar-scroll::-webkit-scrollbar-track{background:transparent}.sidebar-scroll::-webkit-scrollbar-thumb{background-color:rgba(0,0,0,.1);border-radius:2px}.sidebar-scroll::-webkit-scrollbar-thumb:hover{background-color:rgba(0,0,0,.2)}@media (min-width:768px){.compose-sidebar-desktop{transition:none!important;transform:none!important;overflow:hidden!important}}.music-player-appear{animation:playerSpringBounce .6s cubic-bezier(.68,-.55,.265,1.55);transform-origin:center}@keyframes playerSpringBounce{0%{transform:scale(.5);opacity:0}50%{transform:scale(1.05);opacity:1}70%{transform:scale(.97)}to{transform:scale(1);opacity:1}}.cassette-reel{position:relative;width:56px;height:56px;background:radial-gradient(circle at 30% 30%,rgba(255,255,255,.95),rgba(255,214,244,.7));box-shadow:inset 0 6px 12px rgba(255,255,255,.6),inset 0 -4px 12px rgba(255,106,165,.25),0 10px 18px rgba(255,177,216,.22)}.cassette-reel,.cassette-reel-ring{border-radius:9999px;display:flex;align-items:center;justify-content:center}.cassette-reel-ring{width:36px;height:36px;border:4px solid rgba(255,140,196,.45);background:radial-gradient(circle,rgba(255,255,255,.9),rgba(255,169,207,.6))}.cassette-reel-center{width:12px;height:12px;border-radius:9999px;background:linear-gradient(135deg,rgba(255,255,255,.95),rgba(244,114,182,.7));box-shadow:0 2px 4px rgba(244,114,182,.35)}.cassette-reel-spin{animation:cassetteReelSpin 1.8s linear infinite}@keyframes cassetteReelSpin{to{transform:rotate(1turn)}}.cassette-tape-track{flex:1;height:12px;border-radius:9999px;background:linear-gradient(145deg,rgba(255,255,255,.92),rgba(223,226,255,.7));box-shadow:inset 0 3px 10px rgba(169,175,255,.25);overflow:hidden;position:relative}.cassette-tape-progress{position:absolute;inset:0;background:linear-gradient(90deg,rgba(255,182,212,.9),rgba(181,206,255,.95));box-shadow:inset 0 0 12px rgba(255,255,255,.6);transition:width .6s ease}.compose-letter-arrival{animation:cardFromEnvelope .8s cubic-bezier(.25,1.1,.45,1) both}.avatar-pulse-ring{position:absolute;inset:2px;border-radius:9999px;transform-origin:center;animation:avatarPulse 1.8s ease-out infinite;pointer-events:none}@keyframes avatarPulse{0%{transform:scale(1);opacity:.55}70%{transform:scale(1.28);opacity:0}to{transform:scale(1.28);opacity:0}}@keyframes cardFromEnvelope{0%{transform:translateY(-40px) scale(.7);opacity:0}60%{transform:translateY(8px) scale(1.03);opacity:1}to{transform:translateY(0) scale(1);opacity:1}}