:root{--ease-spring:cubic-bezier(0.34, 1.56, 0.64, 1);--ease-out:cubic-bezier(0.22, 1, 0.36, 1)}.btn,.call-btn,.call-minimize-btn,.call-pill,.chip,.composer-tool-btn,.features-fab,.icon-btn,.inbox-item,.mp-add-btn,.mp-ctrl-btn,.popup-btn,.rail-btn,.room-tile,.room-tile-open-btn,.send-btn,.stat-card,.topbar-avatar-btn{transition:transform .14s var(--ease-out),box-shadow .2s var(--ease-out),background-color .18s ease,border-color .18s ease,opacity .15s ease;-webkit-tap-highlight-color:transparent}.btn:active,.call-btn:active,.call-minimize-btn:active,.call-pill:active,.chip:active,.composer-tool-btn:active,.features-fab:active,.mp-add-btn:active,.mp-ctrl-btn:active,.popup-btn:active,.room-tile-open-btn:active,.send-btn:active{transform:scale(.93)}.icon-btn:active,.rail-btn:active,.topbar-avatar-btn:active{transform:scale(.9)}.inbox-item:active,.room-tile:active,.stat-card:active{transform:scale(.985)}.btn-primary:hover{transform:translateY(-1px)}.btn-primary:active{transform:scale(.97)}.ripple-host{position:relative;overflow:hidden}.ripple-ink{position:absolute;border-radius:50%;transform:scale(0);background:currentColor;opacity:.18;pointer-events:none;animation:ripple .5s var(--ease-out)}@keyframes ripple{to{transform:scale(2.4);opacity:0}}@keyframes fade-up{from{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}@keyframes pop-in{from{opacity:0;transform:scale(.96)}to{opacity:1;transform:scale(1)}}@keyframes bubble-in{from{opacity:0;transform:translateY(8px) scale(.97)}to{opacity:1;transform:translateY(0) scale(1)}}#appView>.topbar{animation:fade-up .28s var(--ease-out) both}#appView>.dashboard-wrap{animation:fade-up .34s var(--ease-out) both}.room-shell{animation:pop-in .26s var(--ease-out)}.activity-item,.inbox-item,.now-playing-card,.room-tile,.stat-card{animation:fade-up .3s var(--ease-out) both}.message-row{animation:bubble-in .22s var(--ease-out) both}.modal-card{animation:pop-in .24s var(--ease-spring) both}.skeleton{position:relative;overflow:hidden;background:var(--ink-800);border-radius:10px}.skeleton::after{content:"";position:absolute;inset:0;transform:translateX(-100%);background:linear-gradient(90deg,transparent,rgba(255,255,255,.12),transparent);animation:shimmer 1.3s infinite}@keyframes shimmer{to{transform:translateX(100%)}}.skeleton-row{display:flex;align-items:center;gap:12px;padding:12px 4px}.skeleton-avatar{width:40px;height:40px;border-radius:50%;flex-shrink:0}.skeleton-lines{flex:1;display:flex;flex-direction:column;gap:8px}.skeleton-line{height:11px}.skeleton-line.short{width:45%}.chat-loading-spinner{width:26px;height:26px;margin:8px auto;border-radius:50%;border:2.5px solid var(--ink-700);border-top-color:var(--ink-400);animation:chatSpin .7s linear infinite}@keyframes chatSpin{to{transform:rotate(360deg)}}@media (prefers-reduced-motion:reduce){.chat-loading-spinner{animation:none}}.room-header,.topbar{transition:box-shadow .25s ease,background-color .2s ease}.room-header.is-scrolled,.topbar.is-scrolled{box-shadow:0 6px 20px -8px rgba(0,0,0,.28)}*{scrollbar-width:thin;scrollbar-color:var(--ink-700) transparent}::-webkit-scrollbar{width:7px;height:7px}::-webkit-scrollbar-track{background:0 0}::-webkit-scrollbar-thumb{background:var(--ink-700);border-radius:999px}::-webkit-scrollbar-thumb:hover{background:var(--ink-400)}input,textarea{transition:border-color .18s ease,box-shadow .18s ease,background-color .18s ease}.room-composer input:focus,input[type=email]:focus,input[type=password]:focus,input[type=text]:focus,textarea:focus{outline:0;border-color:var(--lime-500,#8863ee);box-shadow:0 0 0 4px rgba(122,82,232,.16)}.send-btn{transition:transform .16s var(--ease-spring),box-shadow .2s ease,filter .2s ease}.send-btn:hover{filter:brightness(1.05)}.call-pill-dot,.online-dot,.stat-dot{box-shadow:0 0 0 2px var(--ink-900),0 0 8px currentColor}.empty-state{animation:fade-up .3s var(--ease-out) both;line-height:1.5}.message-row .message-bubble{transition:transform .14s var(--ease-out)}.message-row .message-bubble:active{transform:scale(.98)}