@keyframes fadeInUp{0%{opacity:0;transform:translateY(15px)}to{opacity:1;transform:translateY(0)}}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes blink{0%,to{opacity:1}50%{opacity:0}}@keyframes pulse-slow{0%,to{opacity:1}50%{opacity:.5}}@keyframes scaleElastic{0%{transform:scale(.95)}50%{transform:scale(1.05)}to{transform:scale(1)}}@keyframes rotateIn{0%{opacity:0;transform:rotate(-90deg) scale(.8)}to{opacity:1;transform:rotate(0) scale(1)}}@keyframes slideUp{0%{opacity:0;transform:translateY(30px)}to{opacity:1;transform:translateY(0)}}@keyframes slideLeft{0%{opacity:0;transform:translate(30px)}to{opacity:1;transform:translate(0)}}@keyframes wiggle{0%,to{transform:rotate(0)}25%{transform:rotate(-3deg)}75%{transform:rotate(3deg)}}@keyframes glow{0%,to{box-shadow:0 0 5px #007aff80}50%{box-shadow:0 0 20px #007affcc}}.animate-fadeInUp{animation:fadeInUp .5s cubic-bezier(.16,1,.3,1)}.animate-fadeIn{animation:fadeIn .3s ease}.animate-pulse-slow{animation:pulse-slow 2s cubic-bezier(.4,0,.6,1) infinite}.animate-slideUp{animation:slideUp .4s cubic-bezier(.16,1,.3,1)}.animate-wiggle{animation:wiggle .5s ease-in-out}.animate-glow{animation:glow 2s ease-in-out infinite}.hover-lift{transition:transform .3s cubic-bezier(.16,1,.3,1),box-shadow .3s cubic-bezier(.16,1,.3,1)}.hover-lift:hover{transform:translateY(-2px) scale(1.01);box-shadow:0 12px 30px #0000001a}.bubble-expand{transition:all .65s cubic-bezier(.16,1,.3,1)}.agent-scroll::-webkit-scrollbar{width:6px}.agent-scroll::-webkit-scrollbar-track{background:transparent}.agent-scroll::-webkit-scrollbar-thumb{background:#0000001a;border-radius:10px;transition:background .2s}.agent-scroll::-webkit-scrollbar-thumb:hover{background:#0003}.glass-effect{backdrop-filter:blur(20px) saturate(180%);-webkit-backdrop-filter:blur(20px) saturate(180%);background:#fffffff5;border:1px solid rgba(255,255,255,.5)}.gradient-text{background:linear-gradient(135deg,#667eea,#764ba2);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.typing-cursor{display:inline-block;width:2px;height:18px;background:#007aff;margin-left:4px;animation:blink 1s step-end infinite}.skeleton-shimmer{background-color:#e6e8eb!important;background-image:linear-gradient(105deg,#fff0 20%,#fff9,#fff0 80%)!important;background-repeat:no-repeat;background-size:800px 100%;animation:shimmer 1.5s infinite linear}.dark .skeleton-shimmer{background-color:#27272a99!important;background-image:linear-gradient(105deg,#fff0 20%,#ffffff26,#fff0 80%)!important}@keyframes shimmer{0%{background-position:-800px 0}to{background-position:800px 0}}@media(max-width:768px){.bubble-expand{width:calc(100vw - 32px)!important}.bubble-expand.expanded{width:100vw!important;height:100vh!important;border-radius:0!important;right:0!important;bottom:0!important}}@media(prefers-color-scheme:dark){.glass-effect{background:#1e1e1ef5;border:1px solid rgba(255,255,255,.1)}.agent-scroll::-webkit-scrollbar-thumb{background:#ffffff1a}.agent-scroll::-webkit-scrollbar-thumb:hover{background:#fff3}}@supports (padding: max(0px)){.agent-panel-mobile{padding-bottom:max(20px,env(safe-area-inset-bottom))}}.gpu-accelerate{will-change:transform,opacity;transform:translateZ(0);-webkit-transform:translateZ(0)}.no-select{user-select:none;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none}.tap-effect{transition:transform .1s cubic-bezier(.4,0,1,1)}.tap-effect:active{transform:scale(.96)}.status-indicator{position:relative}.status-indicator:before{content:"";position:absolute;top:-2px;right:-2px;width:8px;height:8px;background:#34c759;border-radius:50%;border:2px solid white;animation:pulse-slow 2s infinite}.message-tail:after{content:"";position:absolute;bottom:0;right:-6px;width:0;height:0;border-left:6px solid transparent;border-right:6px solid transparent;border-bottom:8px solid currentColor;transform:rotate(45deg)}
